Greetings all. I’ve used Openhab 1 for a long time, but am just getting started with Openhab 2.
Almost everything is working very well (yay!), but a few issues remain. The weather binding is the most annoying. No matter how I install the binding, it will work fine (populating items from Weather underground, just as OH1), but will uninstall itself on the next Openhab restart. I’m not sure how to debug this.
2017-01-04 16:16:54.861 [ERROR] [org.quartz.core.JobRunShell ] - Job Weather.weatherJob-folsom threw an unhandled Exception:
java.lang.NoClassDefFoundError: com/fasterxml/jackson/core/JsonFactory
at org.openhab.binding.weather.internal.parser.JsonWeatherParser.parseInto(JsonWeatherParser.java:36)
at org.openhab.binding.weather.internal.provider.AbstractWeatherProvider.executeRequest(AbstractWeatherProvider.java:127)
at org.openhab.binding.weather.internal.provider.AbstractWeatherProvider.getWeather(AbstractWeatherProvider.java:68)
at org.openhab.binding.weather.internal.scheduler.WeatherJob.execute(WeatherJob.java:49)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)[102:org.eclipse.smarthome.core.scheduler:0.9.0.b2]
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)[102:org.eclipse.smarthome.core.scheduler:0.9.0.b2]
Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.core.JsonFactory cannot be found by org.openhab.binding.weather_1.9.0.b5
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:439)[org.eclipse.osgi-3.10.101.v20150820-1432.jar:]
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:352)[org.eclipse.osgi-3.10.101.v20150820-1432.jar:]
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:344)[org.eclipse.osgi-3.10.101.v20150820-1432.jar:]
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)[org.eclipse.osgi-3.10.101.v20150820-1432.jar:]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)[:1.8.0_60]
... 6 more
If I install the binding again (via UI, Karaf, etc), it works fine.
So… what am I missing? Is there a way to defer the binding load? Start order? Anything else?
In this file all the bindings, ui, persistence etc. are defined and installed (or uninstalled) at startup. Maybe the weather binding is missing there, try to edit the file manually.
Hi, thanks very much for the quick reply. I think I found my confusion thanks to your comment. In the org.openhab.addons.cfg file, the binding line looked like
binding = weather,zwave,samsungtv,ntp
I had added that because the binding name is ‘org.openhab.binding.weather/1.9.0.b5’, so the “obvious” binding name is weather. However, your comment re/ the addons.cfg file lead to a search where I found this thread: