seit dem Wochenende habe ich auf Basis eines Raspi 2 B openHab laufen. Hier ein par Daten dazu:
Code: Alles auswählen
###############################################################################
############### bigbrother ##################################################
###############################################################################
## Ip = 192.168.201.199
## Release = Raspbian GNU/Linux 10 (buster)
## Kernel = Linux 4.19.93-v7+
## Platform = Raspberry Pi 2 Model B Rev 1.1
## Uptime = 0 day(s). 0:0:27
## CPU Usage = 35.79% avg over 4 cpu(s) (4 core(s) x 1 socket(s))
## CPU Load = 1m: 1.09, 5m: 0.26, 15m: 0.09
## Memory = Free: 0.68GB (72%), Used: 0.26GB (28%), Total: 0.95GB
## Swap = Free: 0.09GB (100%), Used: 0.00GB (0%), Total: 0.09GB
## Root = Free: 11.33GB (82%), Used: 2.45GB (18%), Total: 14.40GB
## Updates = 0 apt updates available.
## Sessions = 1 session(s)
## Processes = 111 running processes of 32768 maximum processes
###############################################################################
Welcome to __ _____ ____ _
____ ____ ___ ____ / / / / | / __ )(_)___ _____
/ __ \/ __ \/ _ \/ __ \/ /_/ / /| | / __ / / __ `/ __ \
/ /_/ / /_/ / __/ / / / __ / ___ |/ /_/ / / /_/ / / / /
\____/ .___/\___/_/ /_/_/ /_/_/ |_/_____/_/\__,_/_/ /_/
/_/
openHAB 2.5.1-2 (Release Build)
Da ich eine SolarEdge-Solar-Anlage betreibe, habe ich auch das SolarLog- und das SolarEdge-Binding installiert, das dazugehörende Thing mit key und standort-id versehen und siehe da, auch dies wurde mir nach der Channel-Definition sauber angezeigt (SolarLog- nicht, aber SolarEdge schon).
Heute morgen dann die Ernüchterung. Von den fünf Things die ich in einem Raum hatte, wurde mir nur noch eines angezeigt. Das gleiche galt für die anderen Standorte. Viele Channels waren hier verschwunden. Meine Vermutung war, daß dies mit einem Fehler in einem Solaredge-Binding zusammenhängen könnte. Also löschte ich die entsprechenden Things der Bindings SolarEdge und Solar-Log (das hatte ich gestern schon nicht ans Laufen bekommen, da es eine HTTP-URL verlangte, mein Modbus aber nur TCP anbietet), bootete den Raspi durch und siehe da, die Channels im Control-Bereich waren alle wieder da.
Als nächstes erstellte ich zur Diagnose erneut ein Thing über das SolarEdge-Binding, konigurierte es korrekt und wähle die CHannels aus und auch hierbei landeten die Daten korrekterweise im Control-Bereich, wenn auch nicht alle Werte korrekt sind. Dann schaute ich mir das openhab.log-File an und entdeckte dabei die folgende Exception:
Code: Alles auswählen
2020-01-27 13:27:15.569 [ERROR] [ore.common.registry.AbstractRegistry] - Cannot inform the listener "org.eclipse.smarthome.core.thing.internal.ChannelItemProvider$2@3d12e0" about the "ADDED" event: Error creating a dimension Class instance for name 'Percent'.
java.lang.IllegalArgumentException: Error creating a dimension Class instance for name 'Percent'.
at org.eclipse.smarthome.core.types.util.UnitUtils.parseDimension(UnitUtils.java:89) ~[bundleFile:?]
at org.eclipse.smarthome.core.library.items.NumberItem.<init>(NumberItem.java:75) ~[bundleFile:?]
at org.eclipse.smarthome.core.library.CoreItemFactory.createItem(CoreItemFactory.java:81) ~[bundleFile:?]
at org.eclipse.smarthome.core.library.CoreItemFactory.createItem(CoreItemFactory.java:1) ~[bundleFile:?]
at org.eclipse.smarthome.core.thing.internal.ChannelItemProvider.createItemForLink(ChannelItemProvider.java:241) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ChannelItemProvider.access$2(ChannelItemProvider.java:227) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ChannelItemProvider$2.added(ChannelItemProvider.java:348) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ChannelItemProvider$2.added(ChannelItemProvider.java:1) ~[?:?]
at org.eclipse.smarthome.core.common.registry.AbstractRegistry.notifyListeners(AbstractRegistry.java:346) [bundleFile:?]
at org.eclipse.smarthome.core.common.registry.AbstractRegistry.notifyListenersAboutAddedElement(AbstractRegistry.java:379) [bundleFile:?]
at org.eclipse.smarthome.core.thing.link.ItemChannelLinkRegistry.notifyListenersAboutAddedElement(ItemChannelLinkRegistry.java:121) [bundleFile:?]
at org.eclipse.smarthome.core.thing.link.ItemChannelLinkRegistry.notifyListenersAboutAddedElement(ItemChannelLinkRegistry.java:1) [bundleFile:?]
at org.eclipse.smarthome.core.common.registry.AbstractRegistry.added(AbstractRegistry.java:157) [bundleFile:?]
at org.eclipse.smarthome.core.common.registry.AbstractRegistry.added(AbstractRegistry.java:1) [bundleFile:?]
at org.eclipse.smarthome.core.common.registry.AbstractProvider.notifyListeners(AbstractProvider.java:56) [bundleFile:?]
at org.eclipse.smarthome.core.common.registry.AbstractProvider.notifyListeners(AbstractProvider.java:75) [bundleFile:?]
at org.eclipse.smarthome.core.common.registry.AbstractProvider.notifyListenersAboutAddedElement(AbstractProvider.java:79) [bundleFile:?]
at org.eclipse.smarthome.core.common.registry.AbstractManagedProvider.add(AbstractManagedProvider.java:64) [bundleFile:?]
at org.eclipse.smarthome.core.common.registry.AbstractRegistry.add(AbstractRegistry.java:325) [bundleFile:?]
at org.eclipse.smarthome.core.thing.link.ThingLinkManager$3.createLinkIfNotAdvanced(ThingLinkManager.java:224) [bundleFile:?]
at org.eclipse.smarthome.core.thing.link.ThingLinkManager$3.added(ThingLinkManager.java:211) [bundleFile:?]
at org.eclipse.smarthome.core.thing.link.ThingLinkManager$3.added(ThingLinkManager.java:1) [bundleFile:?]
at org.eclipse.smarthome.core.common.registry.AbstractProvider.notifyListeners(AbstractProvider.java:56) [bundleFile:?]
at org.eclipse.smarthome.core.common.registry.AbstractProvider.notifyListeners(AbstractProvider.java:75) [bundleFile:?]
at org.eclipse.smarthome.core.common.registry.AbstractProvider.notifyListenersAboutAddedElement(AbstractProvider.java:79) [bundleFile:?]
at org.eclipse.smarthome.core.common.registry.AbstractManagedProvider.add(AbstractManagedProvider.java:64) [bundleFile:?]
at org.eclipse.smarthome.core.common.registry.AbstractRegistry.add(AbstractRegistry.java:325) [bundleFile:?]
at org.eclipse.smarthome.io.rest.core.internal.thing.ThingResource.create(ThingResource.java:237) [bundleFile:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_222]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_222]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_222]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_222]
at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81) [bundleFile:?]
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144) [bundleFile:?]
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161) [bundleFile:?]
at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:160) [bundleFile:?]
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99) [bundleFile:?]
at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389) [bundleFile:?]
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347) [bundleFile:?]
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102) [bundleFile:?]
at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326) [bundleFile:?]
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) [bundleFile:?]
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) [bundleFile:?]
at org.glassfish.jersey.internal.Errors.process(Errors.java:315) [bundleFile:?]
at org.glassfish.jersey.internal.Errors.process(Errors.java:297) [bundleFile:?]
at org.glassfish.jersey.internal.Errors.process(Errors.java:267) [bundleFile:?]
at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317) [bundleFile:?]
at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305) [bundleFile:?]
at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154) [bundleFile:?]
at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473) [bundleFile:?]
at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427) [bundleFile:?]
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388) [bundleFile:?]
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341) [bundleFile:?]
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228) [bundleFile:?]
at com.eclipsesource.jaxrs.publisher.internal.ServletContainerBridge.service(ServletContainerBridge.java:76) [bundleFile:?]
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:852) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:544) [bundleFile:9.4.20.v20190813]
at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71) [bundleFile:?]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:536) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1581) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1307) [bundleFile:9.4.20.v20190813]
at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:293) [bundleFile:?]
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:482) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1549) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1204) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [bundleFile:9.4.20.v20190813]
at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80) [bundleFile:?]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.server.Server.handle(Server.java:494) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:374) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:268) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:426) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:320) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:158) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:367) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:782) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:918) [bundleFile:9.4.20.v20190813]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_222]
==> /var/log/openhab2/events.log <==
Der Verbesserungsvorschlag: dem oben beschriebenen Verhalten nach bricht anscheinend der Darstellung-Prozess der Channel-Informationen bei einem Fehler eines Channels/Things/Bindings ab. Vielleicht kann das Exception-Handling an der entsprechenden Stelle so modifiziert werden, daß die nicht fehlerhaften Channels weiter angezeigt werden. Als Java-Entwickler könnte ich mich in Zukunft einbringen, aber soweit bin ich noch nicht.
Viele Grüße,
Thomas