Update to Openhab 3.1.0 breaks Homematic Binding

I’ve upgraded my docker container from 3.1.0.M5 to 3.1.0 went smoothly except for the Homematic Binding. Some of my Homematic things are shown as Config:Error, mostly Homematic IP devices. The error says that device-id “xyz” is not found on gateway-id “abc”. Reverting back to 3.1.0.M5 solves the issue and everything works as expected. (Also the 3.1.0.RC1 had the same issue)
I’m using Raspberrymatic for the Homematic CCU in Version 3.57.5.20210525. Docker is running on Ubuntu 20.04 with the latest updates.
I’ve no idea what went wrong or where I can look for a more detailed error log.
Also trying the 3.2.0-snapshot version didn’t helped.

Can someone lead my into the right direction or give me some tipps on what I can do?

Thanks.

Hi Jochen,

I have tried it with a fresh container with 3.1.0 and could not reproduce the problem. I will now try to create a container with M5 and then upgrade.

Can you please post the error messages from openhab.log. Maybe it will be necessary to enable TRACE log mode.

Hi @MHerbst,

here is my logfile which I copied directly after upgrading to 3.1.0:

2021-07-01 08:37:04.209 [INFO ] [org.openhab.ui.internal.UIService   ] - Started UI on port 50031
2021-07-01 08:37:06.798 [INFO ] [.core.internal.i18n.I18nProviderImpl] - Time zone set to 'Europe/Berlin'.
2021-07-01 08:37:06.802 [INFO ] [.core.internal.i18n.I18nProviderImpl] - Locale set to 'en_DE'.
2021-07-01 08:37:06.803 [INFO ] [.core.internal.i18n.I18nProviderImpl] - Measurement system set to 'SI'.
2021-07-01 08:37:10.812 [INFO ] [.core.model.lsp.internal.ModelServer] - Started Language Server Protocol (LSP) service on port 5007
2021-07-01 08:37:14.261 [INFO ] [e.automation.internal.RuleEngineImpl] - Rule engine started.
2021-07-01 08:38:16.672 [WARN ] [ty.util.ssl.SslContextFactory.config] - Trusting all certificates configured for Client@7ec55790[provider=null,keyStore=null,trustStore=null]
2021-07-01 08:38:16.673 [WARN ] [ty.util.ssl.SslContextFactory.config] - No Client EndPointIdentificationAlgorithm configured for Client@7ec55790[provider=null,keyStore=null,trustStore=null]
2021-07-01 08:38:16.814 [WARN ] [ty.util.ssl.SslContextFactory.config] - Trusting all certificates configured for Client@671f3966[provider=null,keyStore=null,trustStore=null]
2021-07-01 08:38:16.815 [WARN ] [ty.util.ssl.SslContextFactory.config] - No Client EndPointIdentificationAlgorithm configured for Client@671f3966[provider=null,keyStore=null,trustStore=null]
2021-07-01 08:38:17.301 [INFO ] [o.internal.handler.AstroThingHandler] - Scheduled Positional job astro:sun:System_AstroSun every 300 seconds
2021-07-01 08:38:19.408 [INFO ] [ery.KM200GatewayDiscoveryParticipant] - Discovered a KMXXX gateway with name: 'iCom [gateway_617411074]' id: '617411074'
2021-07-01 08:38:19.446 [INFO ] [ery.KM200GatewayDiscoveryParticipant] - Discovered a KMXXX gateway with name: 'iCom [gateway_819412167]' id: '819412167'
2021-07-01 08:38:19.507 [INFO ] [g.discovery.internal.PersistentInbox] - Added new thing 'hue:group:ecb5fa31a6f5:0' to inbox.
2021-07-01 08:38:31.880 [INFO ] [ternal.communicator.client.RpcClient] - Interface 'CUXD' on gateway '3014F711A0001F58A9A712FA' not available, disabling support
2021-07-01 08:38:31.978 [INFO ] [ommunicator.AbstractHomematicGateway] - HmGatewayInfo[id=CCU,type=CCU2,firmware=3.57.5.20210525,address=PEQ1944314,rf=true,wired=true,hmip=true,cuxd=false,group=true]
2021-07-01 08:38:42.996 [INFO ] [g.discovery.internal.PersistentInbox] - Added new thing 'homematic:HM-RCV-50:3014F711A0001F58A9A712FA:BidCoS-RF' to inbox.
2021-07-01 08:38:44.095 [INFO ] [g.discovery.internal.PersistentInbox] - Added new thing 'homematic:HMW-RCV-50:3014F711A0001F58A9A712FA:BidCoS-Wir' to inbox.
2021-07-01 08:38:44.415 [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-01 08:38:45.237 [WARN ] [ommunicator.parser.GetParamsetParser] - Can't set value for datapoint 'GEQ0008421:1#NEXT_TRANSMISSION'
2021-07-01 08:38:48.274 [WARN ] [ommunicator.parser.GetParamsetParser] - Can't set value for datapoint 'HEQ0405485:1#NEXT_TRANSMISSION'
2021-07-01 08:38:49.097 [WARN ] [ommunicator.parser.GetParamsetParser] - Can't set value for datapoint 'IEQ0065177:1#NEXT_TRANSMISSION'
2021-07-01 08:38:50.525 [WARN ] [ommunicator.parser.GetParamsetParser] - Can't set value for datapoint 'JEQ0271097:M_-1#DIRECT_LINK_DEACTIVATE'
2021-07-01 08:38:50.526 [WARN ] [ommunicator.parser.GetParamsetParser] - Can't set value for datapoint 'JEQ0271097:M_-1#CENTRAL_ADDRESS'
2021-07-01 08:38:54.040 [WARN ] [ommunicator.parser.GetParamsetParser] - Can't set value for datapoint 'IEQ0065553:1#NEXT_TRANSMISSION'
2021-07-01 08:38:54.220 [WARN ] [ommunicator.parser.GetParamsetParser] - Can't set value for datapoint 'KEQ0054881:M_-1#DIRECT_LINK_DEACTIVATE'
2021-07-01 08:38:54.221 [WARN ] [ommunicator.parser.GetParamsetParser] - Can't set value for datapoint 'KEQ0054881:M_-1#CENTRAL_ADDRESS'
2021-07-01 08:38:54.794 [WARN ] [ommunicator.parser.GetParamsetParser] - Can't set value for datapoint 'JEQ0015421:M_-1#DIRECT_LINK_DEACTIVATE'
2021-07-01 08:38:54.795 [WARN ] [ommunicator.parser.GetParamsetParser] - Can't set value for datapoint 'JEQ0015421:M_-1#CENTRAL_ADDRESS'
2021-07-01 08:38:54.886 [WARN ] [ommunicator.parser.GetParamsetParser] - Can't set value for datapoint 'IEQ0064814:1#NEXT_TRANSMISSION'
2021-07-01 08:38:55.004 [WARN ] [ommunicator.parser.GetParamsetParser] - Can't set value for datapoint 'IEQ0064936:1#NEXT_TRANSMISSION'
2021-07-01 08:38:59.329 [WARN ] [ommunicator.parser.GetParamsetParser] - Can't set value for datapoint 'HEQ0406283:1#NEXT_TRANSMISSION'
2021-07-01 08:39:01.591 [WARN ] [ommunicator.parser.GetParamsetParser] - Can't set value for datapoint 'IEQ0064540:1#NEXT_TRANSMISSION'
2021-07-01 08:39:02.751 [WARN ] [ommunicator.parser.GetParamsetParser] - Can't set value for datapoint 'IEQ0458628:M_-1#CENTRAL_ADDRESS'
2021-07-01 08:39:02.878 [WARN ] [ommunicator.parser.GetParamsetParser] - Can't set value for datapoint 'LEQ0169925:M_-1#DIRECT_LINK_DEACTIVATE'
2021-07-01 08:39:02.879 [WARN ] [ommunicator.parser.GetParamsetParser] - Can't set value for datapoint 'LEQ0169925:M_-1#CENTRAL_ADDRESS'
2021-07-01 08:39:03.074 [WARN ] [ommunicator.parser.GetParamsetParser] - Can't set value for datapoint 'IEQ0065655:1#NEXT_TRANSMISSION'
2021-07-01 08:39:04.560 [WARN ] [ommunicator.parser.GetParamsetParser] - Can't set value for datapoint 'HEQ0405501:1#NEXT_TRANSMISSION'

The error i see in the UI for some of my things is:

Status: OFFLINE
CONFIGURATION_ERROR
Device with address '002CDD8.....' not found on gateway '3014F711A0001F5.......' 

Some background details:

  • I started with the 3.0 version and configured everything via the UI, no config files. :wink:
  • I’ve more than 100 Homematic devices: wired, wireless, IP and non IP
  • on my CCU there is no firewall active nor there is a firewall between the Homematic CCU and the Docker Container.

Thanks for your support
Jochen

I would assume that the NPE causes also the other problems. I have changed the coding and added an additional null check.

You can download a test version of the binding from here GitHub - MHerbst/openhab-addons-test

May I ask what NPE is?

I’ll try out the test version tomorrow evening. Thanks in advance.

May I ask what NPE is?

Of course: NPE = NullPointerException

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.

Can you check the state in the Karaf Console with:

bundle:list | grep omematic

Are there any messages in openhab.log?

It will not appear in the Main UI under bindings.

I only tested my changes with the debugger. Can try it tomorrow in a docker container.

I have tried it in a openHAB docker container and performed the following steps:

  1. removed the installed Homematic binding
  2. copied the jar to the addons folder
  3. restarted the container
  4. execute feature:install ... in the Karaf console
  5. Homematic binding starts immediately (could see it with log:tail)

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'

Did you install my test version of the binding? It will work with 3.1.

If this does not help you could go back to 3.1 M5.

Hi @MHerbst,
i tried it today again. I can’t get the test version to run.

bundle:list | grep omematic

returns nothing.

Here are my steps in detail:

  1. Take the current running docker container with 3.1.0.M5
  2. Logon via Web and uninstall the Homematic Binding
  3. Download the jar file via wget directly to the addons folder.
  4. Edit the compose file → Change image to 3.1.0
  5. Reboot the container
  6. Logon to the karaf console
  7. execute feature:install openhab-transport-upnp
  8. Check via log:tail and grep omeatic
  9. No luck

I’m I getting here something wrong?

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.

Good evening Martin and Jochen

@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.

Thanks and regards, Urs

Hi Urs,

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.

Cheers
Martin

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) [?:?]

Hope this helps for the moment…

Yes, that’s exactly the problem that I mentioned. More information are here:

Hi Martin

To the HmIP-SWDM in the Log is:

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).

Thanks and regards, Urs

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.

Hello Martin

I installed the JAR …

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.

Thank you for your great commitment.

Greetings, Urs

1 Like