Hi,
i tried to install the new version of the Homematic Binding by following your tutorial:
Uninstall the Homematic binding
Stop openHAB
Clean the cache
Copy the test jar into the addons folder
Start openHAB
if the binding does not start, you may have to install manually two additional bundles via the Karaf console:
feature:install openhab-transport-upnp
I used openhab.3.2.0-snapshot as the version for the system.
I didn’t get the Homematic to show up automatically as described in the Howto.
I do also get a NPE.
All my Homematic wired devices are not found by OH any more. They do still work in the pivCCU UI.
The OH error log only shows a hint to one of the devices.
Is there a way to downgrade the plugin itself as a quick fix ?
I’m on a clock here, the WAF is dropping with WARP2.
2021-07-05 11:52:12.001 [ERROR] [very.HomematicDeviceDiscoveryService] - null
java.lang.NullPointerException: null
at org.openhab.binding.homematic.internal.type.HomematicTypeGeneratorImpl.generateConfigDescription(HomematicTypeGeneratorImpl.java:358) ~[?:?]
at org.openhab.binding.homematic.internal.type.HomematicTypeGeneratorImpl.createThingType(HomematicTypeGeneratorImpl.java:234) ~[?:?]
at org.openhab.binding.homematic.internal.type.HomematicTypeGeneratorImpl.generate(HomematicTypeGeneratorImpl.java:181) ~[?:?]
at org.openhab.binding.homematic.internal.handler.HomematicBridgeHandler.onDeviceLoaded(HomematicBridgeHandler.java:330) ~[?:?]
at org.openhab.binding.homematic.internal.communicator.AbstractHomematicGateway.loadAllDeviceMetadata(AbstractHomematicGateway.java:415) ~[?:?]
at org.openhab.binding.homematic.internal.discovery.HomematicDeviceDiscoveryService.lambda$0(HomematicDeviceDiscoveryService.java:209) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at java.lang.Thread.run(Thread.java:829) [?:?]
2021-07-05 11:52:12.148 [WARN ] [ommunicator.parser.GetParamsetParser] - Can't set value for datapoint 'MEQ0809164:M_-1#CENTRAL_ADDRESS'
Hmm I changed the image to 3.1.0 before I removed and replaced the binding. Maybe this is the problem.
If bundle:list does not show the binding at all, then it was not loaded from the addons folder. Even before installing the upnp feature it should be visible if you execute bundle:list.
You should also check that the addons folder is correctly mapped and that the rights are correct. Mabe the docker user is not allowed to access the add-on.
@Martin: For now, many thanks for version 3.1.0 (stable).
In this version my Raspberymatic is now running fine on my RPi4.
However, I have to confirm or report two errors:
Can’t set value for datapoint ‘00155BE9A4386E: 0 # UPDATE_PENDING’ (HmIP-SWDM).
However, I do not see any errors in operation.
Unfortunately my CCU2 (original HM 2.59.7) no longer works properly with 3.1.0.
Perhaps this has a connection with the problem mentioned by [jochenfröhlich] ?
All components via wire (HMW-LGW-O-DR-GS-EU and several HMW-IO-12-Sw14-DR) as well as my rain sensor (HM-Sen-RD-O) and my (GATEWAY-EXTRAS-CCU2) are no longer recognized by the binding.
Scanning can no longer find the modules either.
As a layman, I haven’t dared to do your manual update yet.
Nevertheless, I would like to contribute my incompetent part.
regarding your first problem: according to the official documentation the HmIP-SWDM does not have an UPDATE_PENDING data point. Only CONFIG_PENDING, which is read only. Can you please attach the error message from openhab.log?
Now to the second problem: please check your openhab.log. Are there any NullPointerException messages? If yes, please post the excerpt from openhab.log. If it is the same position in the code, then the manual update can probably solve the problem.
Aint got time for testing right now… but here is an old log:
2021-06-28 08:57:21.594 [ERROR] [very.HomematicDeviceDiscoveryService] - null
java.lang.NullPointerException: null
at org.openhab.binding.homematic.internal.type.HomematicTypeGeneratorImpl.generateConfigDescription(HomematicTypeGeneratorImpl.java:358) ~[?:?]
at org.openhab.binding.homematic.internal.type.HomematicTypeGeneratorImpl.createThingType(HomematicTypeGeneratorImpl.java:234) ~[?:?]
at org.openhab.binding.homematic.internal.type.HomematicTypeGeneratorImpl.generate(HomematicTypeGeneratorImpl.java:181) ~[?:?]
at org.openhab.binding.homematic.internal.handler.HomematicBridgeHandler.onDeviceLoaded(HomematicBridgeHandler.java:330) ~[?:?]
at org.openhab.binding.homematic.internal.communicator.AbstractHomematicGateway.loadAllDeviceMetadata(AbstractHomematicGateway.java:415) ~[?:?]
at org.openhab.binding.homematic.internal.discovery.HomematicDeviceDiscoveryService.lambda$0(HomematicDeviceDiscoveryService.java:209) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at java.lang.Thread.run(Thread.java:829) [?:?]
2021-07-10 15:48:20.552 [WARN ] [ommunicator.parser.GetParamsetParser] - Can't set value for datapoint '00155BE9A4386E:0#UPDATE_PENDING'
2021-07-10 15:54:20.573 [WARN ] [ommunicator.parser.GetParamsetParser] - Can't set value for datapoint '00155BE9A4386E:0#UPDATE_PENDING'
2021-07-10 16:00:20.583 [WARN ] [ommunicator.parser.GetParamsetParser] - Can't set value for datapoint '00155BE9A4386E:0#UPDATE_PENDING'
2021-07-10 16:06:20.550 [WARN ] [ommunicator.parser.GetParamsetParser] - Can't set value for datapoint '00155BE9A4386E:0#UPDATE_PENDING'
2021-07-10 16:12:42.881 [WARN ] [ommunicator.parser.GetParamsetParser] - Can't set value for datapoint '00155BE9A4386E:0#UPDATE_PENDING'
After a restart and a scan of the Homematic Binding I get the following log:
2021-07-10 17:09:41.091 [INFO ] [b.core.model.script.*** SECURITY ***] - SECURITY Log: Restart System! - finished
2021-07-10 17:12:20.241 [WARN ] [ommunicator.parser.GetParamsetParser] - Can't set value for datapoint '00155BE9A4386E:0#UPDATE_PENDING'
2021-07-10 17:12:41.602 [WARN ] [very.HomematicDeviceDiscoveryService] - Failed to set Homematic controller in install mode
java.io.IOException: -1 setInstallMode: unknown.method name (sending setInstallMode()
true
60
1
)
at org.openhab.binding.homematic.internal.communicator.parser.RpcResponseParser.parse(RpcResponseParser.java:50) ~[?:?]
at org.openhab.binding.homematic.internal.communicator.client.BinRpcClient.sendMessage(BinRpcClient.java:82) ~[?:?]
at org.openhab.binding.homematic.internal.communicator.client.BinRpcClient.sendMessage(BinRpcClient.java:94) ~[?:?]
at org.openhab.binding.homematic.internal.communicator.client.BinRpcClient.sendMessage(BinRpcClient.java:94) ~[?:?]
at org.openhab.binding.homematic.internal.communicator.client.BinRpcClient.sendMessage(BinRpcClient.java:94) ~[?:?]
at org.openhab.binding.homematic.internal.communicator.client.BinRpcClient.sendMessage(BinRpcClient.java:70) ~[?:?]
at org.openhab.binding.homematic.internal.communicator.client.RpcClient.setInstallMode(RpcClient.java:396) ~[?:?]
at org.openhab.binding.homematic.internal.communicator.AbstractHomematicGateway.setInstallMode(AbstractHomematicGateway.java:596) ~[?:?]
at org.openhab.binding.homematic.internal.discovery.HomematicDeviceDiscoveryService.enableInstallMode(HomematicDeviceDiscoveryService.java:109) ~[?:?]
at org.openhab.binding.homematic.internal.discovery.HomematicDeviceDiscoveryService.startScan(HomematicDeviceDiscoveryService.java:90) ~[?:?]
at org.openhab.core.config.discovery.AbstractDiscoveryService.startScan(AbstractDiscoveryService.java:194) ~[?:?]
at org.openhab.core.config.discovery.internal.DiscoveryServiceRegistryImpl.startScan(DiscoveryServiceRegistryImpl.java:377) ~[?:?]
at org.openhab.core.config.discovery.internal.DiscoveryServiceRegistryImpl.startScans(DiscoveryServiceRegistryImpl.java:353) ~[?:?]
at org.openhab.core.config.discovery.internal.DiscoveryServiceRegistryImpl.startScan(DiscoveryServiceRegistryImpl.java:211) ~[?:?]
at org.openhab.core.io.rest.core.internal.discovery.DiscoveryResource.scan(DiscoveryResource.java:105) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:179) ~[bundleFile:3.4.3]
at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96) ~[bundleFile:3.4.3]
at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:201) ~[bundleFile:3.4.3]
at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:104) ~[bundleFile:3.4.3]
at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:59) ~[bundleFile:3.4.3]
at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:96) ~[bundleFile:3.4.3]
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) ~[bundleFile:3.4.3]
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) ~[bundleFile:3.4.3]
at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:265) ~[bundleFile:3.4.3]
at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:234) ~[bundleFile:3.4.3]
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:208) ~[bundleFile:3.4.3]
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160) ~[bundleFile:3.4.3]
at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:225) ~[bundleFile:3.4.3]
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:298) ~[bundleFile:3.4.3]
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:217) ~[bundleFile:3.4.3]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) ~[bundleFile:3.1.0]
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:273) ~[bundleFile:3.4.3]
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:791) ~[bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:550) ~[bundleFile:9.4.40.v20210413]
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.40.v20210413]
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:602) ~[bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) ~[bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624) ~[bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) ~[bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1435) ~[bundleFile:9.4.40.v20210413]
at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:294) ~[bundleFile:?]
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) ~[bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501) ~[bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594) ~[bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) ~[bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1350) ~[bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) ~[bundleFile:9.4.40.v20210413]
at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:82) ~[bundleFile:?]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.server.Server.handle(Server.java:516) ~[bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388) ~[bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633) [bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380) [bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277) [bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) [bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) [bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) [bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336) [bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313) [bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171) [bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129) [bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:383) [bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:882) [bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1036) [bundleFile:9.4.40.v20210413]
at java.lang.Thread.run(Thread.java:829) [?:?]
2021-07-10 17:12:41.627 [WARN ] [very.HomematicDeviceDiscoveryService] - Failed to set Homematic controller in install mode
java.io.IOException: Received no data from the Homematic gateway
at org.openhab.binding.homematic.internal.communicator.client.XmlRpcClient.send(XmlRpcClient.java:115) ~[?:?]
at org.openhab.binding.homematic.internal.communicator.client.XmlRpcClient.sendMessage(XmlRpcClient.java:77) ~[?:?]
at org.openhab.binding.homematic.internal.communicator.client.RpcClient.setInstallMode(RpcClient.java:396) ~[?:?]
at org.openhab.binding.homematic.internal.communicator.virtual.InstallModeVirtualDatapoint.handleCommand(InstallModeVirtualDatapoint.java:62) ~[?:?]
at org.openhab.binding.homematic.internal.communicator.AbstractHomematicGateway.setInstallMode(AbstractHomematicGateway.java:581) ~[?:?]
at org.openhab.binding.homematic.internal.discovery.HomematicDeviceDiscoveryService.enableInstallMode(HomematicDeviceDiscoveryService.java:109) ~[?:?]
at org.openhab.binding.homematic.internal.discovery.HomematicDeviceDiscoveryService.startScan(HomematicDeviceDiscoveryService.java:90) ~[?:?]
at org.openhab.core.config.discovery.AbstractDiscoveryService.startScan(AbstractDiscoveryService.java:194) ~[?:?]
at org.openhab.core.config.discovery.internal.DiscoveryServiceRegistryImpl.startScan(DiscoveryServiceRegistryImpl.java:377) ~[?:?]
at org.openhab.core.config.discovery.internal.DiscoveryServiceRegistryImpl.startScans(DiscoveryServiceRegistryImpl.java:353) ~[?:?]
at org.openhab.core.config.discovery.internal.DiscoveryServiceRegistryImpl.startScan(DiscoveryServiceRegistryImpl.java:211) ~[?:?]
at org.openhab.core.io.rest.core.internal.discovery.DiscoveryResource.scan(DiscoveryResource.java:105) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:179) ~[bundleFile:3.4.3]
at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96) ~[bundleFile:3.4.3]
at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:201) ~[bundleFile:3.4.3]
at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:104) ~[bundleFile:3.4.3]
at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:59) ~[bundleFile:3.4.3]
at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:96) ~[bundleFile:3.4.3]
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) ~[bundleFile:3.4.3]
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) ~[bundleFile:3.4.3]
at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:265) ~[bundleFile:3.4.3]
at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:234) ~[bundleFile:3.4.3]
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:208) ~[bundleFile:3.4.3]
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160) ~[bundleFile:3.4.3]
at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:225) ~[bundleFile:3.4.3]
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:298) ~[bundleFile:3.4.3]
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:217) ~[bundleFile:3.4.3]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) ~[bundleFile:3.1.0]
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:273) ~[bundleFile:3.4.3]
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:791) ~[bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:550) ~[bundleFile:9.4.40.v20210413]
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.40.v20210413]
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:602) ~[bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) ~[bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624) ~[bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) ~[bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1435) ~[bundleFile:9.4.40.v20210413]
at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:294) ~[bundleFile:?]
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) ~[bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501) ~[bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594) ~[bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) ~[bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1350) ~[bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) ~[bundleFile:9.4.40.v20210413]
at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:82) ~[bundleFile:?]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.server.Server.handle(Server.java:516) ~[bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388) ~[bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633) [bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380) [bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277) [bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) [bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) [bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) [bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336) [bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313) [bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171) [bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129) [bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:383) [bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:882) [bundleFile:9.4.40.v20210413]
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1036) [bundleFile:9.4.40.v20210413]
at java.lang.Thread.run(Thread.java:829) [?:?]
2021-07-10 17:12:41.713 [WARN ] [ommunicator.parser.GetParamsetParser] - Can't set value for datapoint '00155BE9A4386E:0#UPDATE_PENDING'
2021-07-10 17:12:42.469 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception:
java.lang.IllegalArgumentException: Illegal status REMOVED. The thing was in state UNINITIALIZED and not in REMOVING
at org.openhab.core.thing.internal.ThingManagerImpl$1.ensureValidStatus(ThingManagerImpl.java:229) ~[?:?]
at org.openhab.core.thing.internal.ThingManagerImpl$1.statusUpdated(ThingManagerImpl.java:193) ~[?:?]
at org.openhab.core.thing.binding.BaseThingHandler.updateStatus(BaseThingHandler.java:343) ~[?:?]
at org.openhab.core.thing.binding.BaseThingHandler.updateStatus(BaseThingHandler.java:367) ~[?:?]
at org.openhab.core.thing.binding.BaseThingHandler.handleRemoval(BaseThingHandler.java:86) ~[?:?]
at org.openhab.binding.homematic.internal.handler.HomematicThingHandler.handleRemoval(HomematicThingHandler.java:557) ~[?:?]
at org.openhab.binding.homematic.internal.handler.HomematicBridgeHandler.setOfflineStatus(HomematicBridgeHandler.java:202) ~[?:?]
at org.openhab.binding.homematic.internal.discovery.HomematicDeviceDiscoveryService.lambda$0(HomematicDeviceDiscoveryService.java:215) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at java.lang.Thread.run(Thread.java:829) [?:?]
2021-07-10 17:12:42.602 [INFO ] [ng.homematic.internal.misc.MiscUtils] - Address 'HU-Hue Bulb W2' contains invalid characters, new Address 'HU-Hue_Bulb_W2'
2021-07-10 17:12:42.603 [INFO ] [ng.homematic.internal.misc.MiscUtils] - Address 'HU-Hue Bulb W2' contains invalid characters, new Address 'HU-Hue_Bulb_W2'
2021-07-10 17:12:42.604 [INFO ] [ng.homematic.internal.misc.MiscUtils] - Address 'HU-Hue Bulb W2' contains invalid characters, new Address 'HU-Hue_Bulb_W2'
2021-07-10 17:12:42.604 [INFO ] [ng.homematic.internal.misc.MiscUtils] - Address 'HU-Hue Bulb W1' contains invalid characters, new Address 'HU-Hue_Bulb_W1'
2021-07-10 17:12:42.605 [INFO ] [ng.homematic.internal.misc.MiscUtils] - Address 'HU-Hue Bulb W1' contains invalid characters, new Address 'HU-Hue_Bulb_W1'
2021-07-10 17:12:42.605 [INFO ] [ng.homematic.internal.misc.MiscUtils] - Address 'HU-Hue Bulb W1' contains invalid characters, new Address 'HU-Hue_Bulb_W1'
2021-07-10 17:12:42.606 [INFO ] [ng.homematic.internal.misc.MiscUtils] - Address 'HU-Hue Bulb C1' contains invalid characters, new Address 'HU-Hue_Bulb_C1'
2021-07-10 17:12:42.607 [INFO ] [ng.homematic.internal.misc.MiscUtils] - Address 'HU-Hue Bulb C1' contains invalid characters, new Address 'HU-Hue_Bulb_C1'
2021-07-10 17:12:42.607 [INFO ] [ng.homematic.internal.misc.MiscUtils] - Address 'HU-Hue Bulb C1' contains invalid characters, new Address 'HU-Hue_Bulb_C1'
2021-07-10 17:12:42.848 [INFO ] [ng.homematic.internal.misc.MiscUtils] - Address 'HU-Hue Bulb W1' contains invalid characters, new Address 'HU-Hue_Bulb_W1'
2021-07-10 17:12:42.850 [INFO ] [ng.homematic.internal.misc.MiscUtils] - Address 'HU-Hue Bulb W2' contains invalid characters, new Address 'HU-Hue_Bulb_W2'
2021-07-10 17:12:42.851 [INFO ] [ng.homematic.internal.misc.MiscUtils] - Address 'HU-Hue Bulb C1' contains invalid characters, new Address 'HU-Hue_Bulb_C1'
2021-07-10 17:12:47.040 [ERROR] [very.HomematicDeviceDiscoveryService] - null
java.lang.NullPointerException: null
at org.openhab.binding.homematic.internal.type.HomematicTypeGeneratorImpl.generateConfigDescription(HomematicTypeGeneratorImpl.java:358) ~[?:?]
at org.openhab.binding.homematic.internal.type.HomematicTypeGeneratorImpl.createThingType(HomematicTypeGeneratorImpl.java:234) ~[?:?]
at org.openhab.binding.homematic.internal.type.HomematicTypeGeneratorImpl.generate(HomematicTypeGeneratorImpl.java:181) ~[?:?]
at org.openhab.binding.homematic.internal.handler.HomematicBridgeHandler.onDeviceLoaded(HomematicBridgeHandler.java:330) ~[?:?]
at org.openhab.binding.homematic.internal.communicator.AbstractHomematicGateway.loadAllDeviceMetadata(AbstractHomematicGateway.java:415) ~[?:?]
at org.openhab.binding.homematic.internal.discovery.HomematicDeviceDiscoveryService.lambda$0(HomematicDeviceDiscoveryService.java:209) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at java.lang.Thread.run(Thread.java:829) [?:?]
Correction of my first message:
The rain sensor is found through the binding.
However, no data change is recognized.
(recognized on the CCU2, but no longer in OpenHAB).
There seem to be more than one problem :-(. The first ones look like some general communication problems. Are all required ports open in the firewall(s)? Where are you running openHAB (operating system, docker?). If the machine has more than one IP address, you should set the callback address in the bridge configuration.
The last error is definitely caused by a bug introduced in 3.1. This one is solved in the add-on jar, that I have published.
I would recommend to install this jar first, check ports and addresses and then try it again. If the communication problems remain, I would need a more detailed log output.
Perfect! Almost all of my problems are gone.
The gateway is back, the wired components work and the rain sensor reports reliably.
The only thing left is the log message:
2021-07-10 18:42:20.846 [WARN ] [ommunicator.parser.GetParamsetParser] - Can’t set value for datapoint ‘00155BE9A4386E:0#UPDATE_PENDING’
This is not a problem at all.
My log file can live with it very well.
I will have a closer look at this UPDATE_PENDING warning. Maybe it is CCU2-specific, because I have never seen it in my environment (CCU3 resp. Raspberrymatic).
However, the address is clearly from my HmIP SWDM - Shutter-Contact.
This runs on my RaspberryPi4 as CCU3 under Raspberrymatic (V 3.59.6.20210703).
The RPi4 has a antenna HmIP-RFUSB.
I (as a layperson) don’t see any connection with my CCU2.
First off, thanks for the great discussion and the work on the homematic binding.
I had similar issues as described above and some more, but found a workaround, so here goes.
First the problem itself:
I’ve experienced similar problems with the binding after updating to OH 3.1 (and meanwhile to 3.2), i.e. I got the "device-id “xyz” is not found on gateway-id “abc" error described above by @jochenfroehlich . But in addition some of my homematic things stopped updating their states, at random time intervals and, at least for me, in an unpredictable manner. Especially for door/window contacts, that’s quite problematic and it disrupts graphing and persistence based rules. This made my homematic devices close to useless in openhab, of course.
I’m very new to Openhab and also only have very rudimentary knowledge of Linux based systems, let alone programming in Java or Python.For the same reason I’m a little careful with manually installing addons etc.
I found a workaround in periodically disabling and reenabling the CCU thing via rule. I had been doing the same for weeks via the UI button, whenever I noticed the issue coming up again. This way, it’s much easier and I don’t have to monitor my system several times a day, at least.
I’m aware that manually installing the newer version of the binding is a better solution, but for newbies like me, this rule based workaround may also be a viable option, for a limited time at least. The rule itself is posted here:
Also, enabling and disabling things via rule may in itself be quite useful and I found it pretty hard to find a working solution for this in Openhab 3, since there seem to have been some changes. The REST requests for disabling/enabling things that worked in OH2 don’t work in OH 3 anymore (see above link).
Anyway, I hope this post still fits the topic here. It certainly was a revelation to get the rule running and have this automatic workaround until there is an official new version of the homematic binding available.
RaspberryMatic (3.61.7.20220226) in binding HomeMatic (openHAB 3.3.0.M2) “homematic.things” no longer works.
With the previously used “homematic.things” file, the binding with RaspberryMatic no longer works.
Only the parts “Bridge” and “GATEWAY-EXTRAS” still work correctly.
Error message: Incorrect or missing configuration.
Remedy: Delete all HM components of the CCU3(RaspberryMatic) in the “homematic.things” file and add all components manually (in the inbox) after a first restart of the system.
After another restart everything works again…
I left the bridge and gateway extras portion; so I didn’t have to rename my “HW_HomeMatic.items” file.
PS: All HM components in the CCU2 (original) continue to work without problems.
Despite my little glitch, a big thank you to the development team (Martin) for the constant further development of the system and the HomeMatic connection.