[deconz] Issues with automatic discovery of bridge and sensors and timeouts (all things go OFFLINE and ONLINE again)

Now that’s really fast! Great work. Will test as soon as it is merged.

BTW, regarding documentation again … I was looking for a description on how to install a Snapshot build of an addon. I found something in the FAQ, but unfortunately the link pointing to the snapshot builds is not working for me.

I found a *.kar file, which looks like the correct one at https://ci.openhab.org/job/openHAB-Distribution. Is this the right place to download the latest builds?

The build server has been moved. The linked FAQs seems to be outdated. Have a look here: https://ci.openhab.org/job/openHAB2-Bundles/lastBuild/

I’ve tried now with the new version (2.5.0.201901142229) but without success.
I can read power or consumption, but not both together. As soon as I add the second item, the first is not read anymore - first I add power and got 29W - next I added consumption and got 10178Wh, but when switching off the device, power is not updated anymore, only consumption is updated:

2019-01-19 18:52:04.550 [hingStatusInfoChangedEvent] - 'deconz:powersensor:homeserver:bitronsd01_w1' changed from UNINITIALIZED to INITIALIZING
2019-01-19 18:52:04.555 [hingStatusInfoChangedEvent] - 'deconz:powersensor:homeserver:bitronsd01_w1' changed from INITIALIZING to OFFLINE (CONFIGURATION_PENDING)
2019-01-19 18:52:04.576 [hingStatusInfoChangedEvent] - 'deconz:powersensor:homeserver:bitronsd01_w1' changed from OFFLINE (CONFIGURATION_PENDING) to ONLINE
2019-01-19 18:52:04.584 [vent.ItemStateChangedEvent] - bitronsd01_watt changed from NULL to 29 W
2019-01-19 18:52:39.425 [hingStatusInfoChangedEvent] - 'deconz:consumptionsensor:homeserver:bitronsd01_c1' changed from UNINITIALIZED to INITIALIZING
2019-01-19 18:52:39.431 [hingStatusInfoChangedEvent] - 'deconz:consumptionsensor:homeserver:bitronsd01_c1' changed from INITIALIZING to OFFLINE (CONFIGURATION_PENDING)
2019-01-19 18:52:39.442 [hingStatusInfoChangedEvent] - 'deconz:consumptionsensor:homeserver:bitronsd01_c1' changed from OFFLINE (CONFIGURATION_PENDING) to ONLINE
2019-01-19 18:53:31.860 [.ItemChannelLinkAddedEvent] - Link 'bitronsd01_cons-deconz:consumptionsensor:homeserver:bitronsd01_c1:consumption' has been added.
2019-01-19 18:53:31.870 [vent.ItemStateChangedEvent] - bitronsd01_cons changed from NULL to 10178 Wh
2019-01-19 18:53:32.732 [vent.ItemStateChangedEvent] - bitronsd01_cons changed from 10178 Wh to 10179 Wh
2019-01-19 18:53:52.730 [vent.ItemStateChangedEvent] - bitronsd01_cons changed from 10179 Wh to 10180 Wh
2019-01-19 18:53:56.389 [ome.event.ItemCommandEvent] - Item 'bitronsd01_onoff' received command OFF
2019-01-19 18:53:56.401 [nt.ItemStatePredictedEvent] - bitronsd01_onoff predicted to become OFF
2019-01-19 18:53:56.442 [vent.ItemStateChangedEvent] - bitronsd01_onoff changed from ON to OFF

Shouldn’t it work with this config?

Bridge deconz:deconz:homeserver [ host="192.168.1.67", apikey="6B223453D9" ] {
    powersensor            bitronsd01_w1     "Bitron SD01 W"       [ id="2" ] 	
	consumptionsensor      bitronsd01_c1     "Bitron SD01 Wh"      [ id="2" ] 
    
} 
...
Number:Power   bitronsd01_watt  "B Verbrauch    [%.0f %unit%]"      {channel="deconz:powersensor:homeserver:bitronsd01_w1:power"} 
Number:Energy  bitronsd01_cons  "B Cons         [%.0f %unit%]"      {channel="deconz:consumptionsensor:homeserver:bitronsd01_c1:consumption"}

While playing with Deconz I wrote this for node red while the binding is getting fixed. It allows for unit conversion and will output to your mqtt server. Update your websocket address, units and mqtt. It uses uniqueid vs id since id can change.

[{"id":"7da00429.467ddc","type":"tab","label":"Deconz","disabled":false,"info":""},{"id":"6c9ab41.87c244c","type":"websocket in","z":"7da00429.467ddc","name":"Deconz","server":"","client":"cb1bee35.eb442","x":110,"y":80,"wires":[["b537cf10.2e873"]]},{"id":"b537cf10.2e873","type":"json","z":"7da00429.467ddc","name":"","property":"payload","action":"","pretty":false,"x":170,"y":220,"wires":[["5064334c.3fb76c"]]},{"id":"17a1b949.a767e7","type":"mqtt out","z":"7da00429.467ddc","name":"Publish sensor","topic":"","qos":"0","retain":"false","broker":"8a5b5094.2f7bb","x":1200,"y":220,"wires":[]},{"id":"2f04891b.f65796","type":"switch","z":"7da00429.467ddc","name":"Identify switch","property":"payload.state.buttonevent","propertyType":"msg","rules":[{"t":"nnull"},{"t":"else"}],"checkall":"false","repair":false,"outputs":2,"x":380,"y":380,"wires":[["848b7ecb.3f579"],["5387bab1.f228f4"]]},{"id":"ae621788.d2ae48","type":"switch","z":"7da00429.467ddc","name":"identify motion","property":"payload.state.presence","propertyType":"msg","rules":[{"t":"nnull"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":382,"y":60,"wires":[["cd490f7.3ef7bf"],["3eea8388.f5890c"]]},{"id":"3eea8388.f5890c","type":"switch","z":"7da00429.467ddc","name":"identify lightlevel","property":"payload.state.lightlevel","propertyType":"msg","rules":[{"t":"nnull"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":382,"y":100,"wires":[["50266bb1.a35cd4"],["11247bba.98cb54"]]},{"id":"11247bba.98cb54","type":"switch","z":"7da00429.467ddc","name":"identify contact","property":"payload.state.open","propertyType":"msg","rules":[{"t":"nnull"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":382,"y":140,"wires":[["cf24f527.dd1b18"],["454d7e92.076"]]},{"id":"454d7e92.076","type":"switch","z":"7da00429.467ddc","name":"identify temperature","property":"payload.state.temperature","propertyType":"msg","rules":[{"t":"nnull"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":402,"y":180,"wires":[["363ce753.462ff8"],["22fe5d5e.172e62"]]},{"id":"22fe5d5e.172e62","type":"switch","z":"7da00429.467ddc","name":"identify humidity","property":"payload.state.humidity","propertyType":"msg","rules":[{"t":"nnull"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":382,"y":220,"wires":[["46fcd980.827238"],["97504059.d326f"]]},{"id":"848b7ecb.3f579","type":"function","z":"7da00429.467ddc","name":"Deconz/switch/{{uniqueid}}","func":"var newmsg = {};\nvar mac = msg.payload.uniqueid.substring(0, 23);\nnewmsg.payload = {};\nnewmsg.topic = {};\nnewmsg.topic = \"Deconz/switch/\"+mac;\nnewmsg.payload = msg.payload.state.buttonevent;\nreturn newmsg;","outputs":1,"noerr":0,"x":640,"y":380,"wires":[["17a1b949.a767e7"]]},{"id":"cd490f7.3ef7bf","type":"function","z":"7da00429.467ddc","name":"Deconz/motion/{{uniqueid}}","func":"var newmsg = {};\nvar mac = msg.payload.uniqueid.substring(0, 23);\nnewmsg.payload = {};\nnewmsg.topic = {};\nnewmsg.topic = \"Deconz/motion/\"+mac;\nif(msg.payload.state.presence === false){\n    newmsg.payload = \"CLOSED\";\n}else{\n    newmsg.payload = \"OPEN\";\n}\nreturn newmsg;","outputs":1,"noerr":0,"x":640,"y":60,"wires":[["17a1b949.a767e7"]]},{"id":"50266bb1.a35cd4","type":"function","z":"7da00429.467ddc","name":"Deconz/lightlevel/{{uniqueid}}","func":"var newmsg = {};\nvar mac = msg.payload.uniqueid.substring(0, 23);\nnewmsg.payload = {};\nnewmsg.topic = {};\nnewmsg.topic = \"Deconz/lightlevel/\"+mac;\nnewmsg.payload = msg.payload.state.lux;\n\nreturn newmsg;","outputs":1,"noerr":0,"x":640,"y":100,"wires":[["17a1b949.a767e7"]]},{"id":"cf24f527.dd1b18","type":"function","z":"7da00429.467ddc","name":"Deconz/contact/{{uniqueid}}","func":"var newmsg = {};\nvar mac = msg.payload.uniqueid.substring(0, 23);\nnewmsg.payload = {};\nnewmsg.topic = {};\nnewmsg.topic = \"Deconz/contact/\"+mac;\nif(msg.payload.state.open === false){\n    newmsg.payload = \"CLOSED\";\n}else{\n    newmsg.payload = \"OPEN\";\n}\nreturn newmsg;","outputs":1,"noerr":0,"x":640,"y":140,"wires":[["17a1b949.a767e7"]]},{"id":"363ce753.462ff8","type":"function","z":"7da00429.467ddc","name":"Deconz/temperature/{{uniqueid}}","func":"var newmsg = {};\nvar mac = msg.payload.uniqueid.substring(0, 23);\nnewmsg.payload = {};\nnewmsg.topic = {};\nnewmsg.topic = \"Deconz/temperature/\"+mac;\nnewmsg.payload = msg.payload.state.temperature/100;\n\nreturn newmsg;","outputs":1,"noerr":0,"x":650,"y":180,"wires":[["9995ee21.7f2db"]]},{"id":"46fcd980.827238","type":"function","z":"7da00429.467ddc","name":"Deconz/humidity/{{uniqueid}}","func":"var newmsg = {};\nvar mac = msg.payload.uniqueid.substring(0, 23);\nnewmsg.payload = {};\nnewmsg.topic = {};\nnewmsg.topic = \"Deconz/humidity/\"+mac;\nnewmsg.payload = (msg.payload.state.humidity)/100;\n\nreturn newmsg;","outputs":1,"noerr":0,"x":640,"y":220,"wires":[["17a1b949.a767e7"]]},{"id":"c4e35c62.82d46","type":"function","z":"7da00429.467ddc","name":"Deconz/fire/{{uniqueid}}","func":"var newmsg = {};\nvar mac = msg.payload.uniqueid.substring(0, 23);\nnewmsg.payload = {};\nnewmsg.topic = {};\nnewmsg.topic = \"Deconz/fire/\"+mac;\nif(msg.payload.state.presence === false){\n    newmsg.payload = \"CLOSED\";\n}else{\n    newmsg.payload = \"OPEN\";\n}\nreturn newmsg;","outputs":1,"noerr":0,"x":630,"y":260,"wires":[["17a1b949.a767e7"]]},{"id":"97504059.d326f","type":"switch","z":"7da00429.467ddc","name":"identify smoke","property":"payload.state.fire","propertyType":"msg","rules":[{"t":"nnull"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":380,"y":260,"wires":[["c4e35c62.82d46"],["2394b58e.c137ca"]]},{"id":"70feef3e.8a7d5","type":"function","z":"7da00429.467ddc","name":"Deconz/gas/{{uniqueid}}","func":"var newmsg = {};\nvar mac = msg.payload.uniqueid.substring(0, 23);\nnewmsg.payload = {};\nnewmsg.topic = {};\nnewmsg.topic = \"Deconz/gas/\"+mac;\nif(msg.payload.state.presence === false){\n    newmsg.payload = \"CLOSED\";\n}else{\n    newmsg.payload = \"OPEN\";\n}\nreturn newmsg;","outputs":1,"noerr":0,"x":630,"y":300,"wires":[["17a1b949.a767e7"]]},{"id":"2394b58e.c137ca","type":"switch","z":"7da00429.467ddc","name":"identify gas","property":"payload.state.alarm","propertyType":"msg","rules":[{"t":"nnull"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":370,"y":300,"wires":[["70feef3e.8a7d5"],["479c9f1d.3d94c"]]},{"id":"479c9f1d.3d94c","type":"switch","z":"7da00429.467ddc","name":"identify pressure","property":"payload.state.pressure","propertyType":"msg","rules":[{"t":"nnull"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":380,"y":340,"wires":[["6fb7b2bf.6366fc"],["2f04891b.f65796"]]},{"id":"6fb7b2bf.6366fc","type":"function","z":"7da00429.467ddc","name":"Deconz/pressure/{{uniqueid}}","func":"var newmsg = {};\nvar mac = msg.payload.uniqueid.substring(0, 23);\nnewmsg.payload = {};\nnewmsg.topic = {};\nnewmsg.topic = \"Deconz/pressure/\"+mac;\nnewmsg.payload = msg.payload.state.pressure/10;\n\nreturn newmsg;","outputs":1,"noerr":0,"x":640,"y":340,"wires":[["cc8c59b9.6f9508"]]},{"id":"9995ee21.7f2db","type":"unit-converter","z":"7da00429.467ddc","category":"temperature","inputUnit":"C","outputUnit":"F","inputField":"payload","outputField":"payload","inputFieldType":"msg","outputFieldType":"msg","name":"Temp Convert","x":900,"y":220,"wires":[["17a1b949.a767e7"]]},{"id":"cc8c59b9.6f9508","type":"unit-converter","z":"7da00429.467ddc","category":"pressure","inputUnit":"kPa","outputUnit":"torr","inputField":"payload","outputField":"payload","inputFieldType":"msg","outputFieldType":"msg","name":"Press Convert","x":900,"y":300,"wires":[["17a1b949.a767e7"]]},{"id":"5064334c.3fb76c","type":"switch","z":"7da00429.467ddc","name":"Is Config","property":"payload.config","propertyType":"msg","rules":[{"t":"nnull"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":360,"y":20,"wires":[["4ab28ba.80e9f74"],["ae621788.d2ae48"]]},{"id":"4ab28ba.80e9f74","type":"function","z":"7da00429.467ddc","name":"Deconz/battery/{{uniqueid}}","func":"// Needs to be adjusted\nvar newmsg = {};\nvar mac = msg.payload.uniqueid.substring(0, 23);\nnewmsg.payload = {};\nnewmsg.topic = {};\nnewmsg.topic = \"Deconz/battery/\"+mac;\nnewmsg.payload = msg.payload.config.battery;\n\nreturn newmsg;","outputs":1,"noerr":0,"x":640,"y":20,"wires":[["17a1b949.a767e7"]]},{"id":"5387bab1.f228f4","type":"switch","z":"7da00429.467ddc","name":"Identify Daylight","property":"payload.state.status","propertyType":"msg","rules":[{"t":"nnull"},{"t":"else"}],"checkall":"false","repair":false,"outputs":2,"x":380,"y":420,"wires":[["634af866.19d1e8"],[]]},{"id":"634af866.19d1e8","type":"function","z":"7da00429.467ddc","name":"Deconz/daylight/{{uniqueid}}","func":"var newmsg = {};\nvar mac = msg.payload.uniqueid.substring(0, 23);\nnewmsg.payload = {};\nnewmsg.topic = {};\nnewmsg.topic = \"Deconz/switch/\"+mac;\nif(msg.payload.state.status === 100){\n    newmsg.payload = \"NADIR\";\n}\nif(msg.payload.state.status === 110){\n    newmsg.payload = \"NIGHT_END\";\n}\nif(msg.payload.state.status === 120){\n        newmsg.payload = \"NAUTICAL_DAWN\";\n}\nif(msg.payload.state.status === 130){\n    newmsg.payload = \"DAWN\";\n}\nif(msg.payload.state.status === 140){\n    newmsg.payload = \"SUNRISE_START\";\n}\nif(msg.payload.state.status === 150){\n    newmsg.payload = \"SUNRISE_END\";\n}\nif(msg.payload.state.status === 160){\n    newmsg.payload = \"GOLDENHOUR1\";\n}\nif(msg.payload.state.status === 170){\n    newmsg.payload = \"GOLDENHOUR2\";\n}\nif(msg.payload.state.status === 180){\n    newmsg.payload = \"SUNSET_START\";\n}\nif(msg.payload.state.status === 190){\n    newmsg.payload = \"SUNSET_END\";\n}\nif(msg.payload.state.status === 200){\n    newmsg.payload = \"SUNSET_END\";\n}\nif(msg.payload.state.status === 210){\n    newmsg.payload = \"DUSK\";\n}\nif(msg.payload.state.status === 220){\n    newmsg.payload = \"NAUTICAL_DUSK\";\n}\nif(msg.payload.state.status === 230){\n    newmsg.payload = \"NIGHT_START\";\n}\nreturn newmsg;","outputs":1,"noerr":0,"x":640,"y":420,"wires":[["17a1b949.a767e7"]]},{"id":"cb1bee35.eb442","type":"websocket-client","z":"","path":"ws://192.168.1.62:81","tls":"","wholemsg":"false"},{"id":"8a5b5094.2f7bb","type":"mqtt-broker","z":"","name":"","broker":"192.168.1.200","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"NodeRed","birthQos":"0","birthPayload":"Connected","closeTopic":"NodeRed","closePayload":"Disconnected","willTopic":"","willQos":"0","willPayload":""}]

I am not sure why your configuration is not working. Maybe you should wait for the next milestone build which includes my latest changes to support reading both values with combined in one thing. The build will be released (very) soon.

Edit: It has been released earlier this day.

Hey,

I want to get back to the topic of the thread.
I have the same issue, that the bringe is not auto-discovered by the binding. It also does not work when I try to add it automatically without entering an API, but activating the 3rd-party-app thing at the bridge.

  1. Are there any news about the bugfix for the broken auto detection
  2. Where do I find the API, so I can add the bridge manually (I’m really a newbie here, don’t even find, where to enter a textural command)

Hope, you can help me,

Pascal

Hello

Thanks to all contributors for the great work done with the Deconz Binding!

I got the ConBee stick this weekend and its up and running since Sunday (trying it because TRADFRI Hub or Binding is not stable, 2x comm error per day). Yesterday I realised, that I’m experiencing the Idle/timeout error too…

2019-01-29 07:05:57.518 [hingStatusInfoChangedEvent] - 'deconz:deconz:abc' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): Idle timeout expired: 300001/300000 ms
2019-01-29 07:05:57.527 [hingStatusInfoChangedEvent] - 'deconz:deconz:abc' changed from OFFLINE (COMMUNICATION_ERROR): Idle timeout expired: 300001/300000 ms to OFFLINE (COMMUNICATION_ERROR): Idle Timeout
2019-01-29 07:05:57.544 [hingStatusInfoChangedEvent] - 'deconz:deconz:abc' changed from OFFLINE (COMMUNICATION_ERROR): Idle Timeout to ONLINE

I’m on OH 2.4 stable.

I was reading the thread but as I understood, there is no solution for that until now, right?

Thanks a lot.

Jan

Both mentioned problems have not been tackled yet.

Cheers David

Thank you for the fast reply. So I will wait for a bugfix for this issue.

But could you tell me, how I can add the deCONZ manually. If I understood the posts above correctly , this works for some … However, I have no idea where I can find the API. And do I need to enter the IP with or without port number of the deCONZ?
I guess, these are silly questions, but I didn’t find a how-to so far… I hope, you can help me

Pascal

You need to enter the ip and port. The deconz software manual should help you to find the IP and port.

I’ve tested now with the M1 release and it is working fine with just the consumptionsensor and

Number:Power   bitronsd01_watt  "B Verbrauch    [%.0f %unit%]"      {channel="deconz:consumptionsensor:homeserver:bitronsd01_c1:power"} 
Number:Energy  bitronsd01_cons  "B Cons         [%.0f %unit%]"      {channel="deconz:consumptionsensor:homeserver:bitronsd01_c1:consumption"}

Thanks a lot!

Receiving data from deconz is working fine now, but I’ve run into the next problem. Now that I have the data, I want to send it to KNX. Unfortunately this is not working and I’m not sure if this is an issue of the deconz binding or somewhere else in OH. Maybe someone has an idea where to look at…

Sending data to KNX is actually working as I have managed to send NTP data to KNX, but it is not working for data coming from deconz. This is my setup:

      Thing device knx_virtual "KNX-virtual"  {  
        Type datetime-control : date              [ ga="11.001:0/7/11" ]  
        Type datetime-control : time              [ ga="10.001:0/7/10" ] 
        Type number-control   : knx_sz_humidity   [ ga="5.001:0/1/77" ]
        Type number-control   : knx_sz_temp       [ ga="9.001:0/1/79" ]        
      }

I have tried different syntax and order for the items, but no luck so far:

DateTime              knxDate "KNX Datum [%1$tA, %1$td.%1$tm.%1$tY %1$tH:%1$tM]" { channel="ntp:ntp:local:dateTime,knx:device:bridge:knx_virtual:date,knx:device:bridge:knx_virtual:time" }
Number:Temperature    sz_temp_i       "SZ Temp [%.0f %unit%]"  <temperature>     { channel="deconz:temperaturesensor:homeserver:sz_temp:temperature",channel="knx:device:bridge:knx_virtual:knx_sz_temp" }
Number:Dimensionless  sz_humidity_i   "SZ Feuchtigkeit [%.2f %unit%]"            { channel="deconz:humiditysensor:homeserver:sz_humidity:humidity,knx:device:bridge:knx_virtual:knx_sz_humidity" }

I can see in the logs that the values are changing, but only the date is forwarded to KNX:

2019-02-04 10:27:04.500 [vent.ItemStateChangedEvent] - knxDate changed from 2019-02-04T10:26:04.456+0100 to 2019-02-04T10:27:04.465+0100
2019-02-04 10:27:31.477 [vent.ItemStateChangedEvent] - sz_temp_i changed from 21.37 °C to 21.36 °C
2019-02-04 10:27:31.523 [vent.ItemStateChangedEvent] - sz_humidity_i changed from 41.75 % to 41.71 %

When I send a read request from KNX, it is received by OH but no response is sent:

2019-02-04 09:57:49.786 [ome.event.ItemCommandEvent] - Item 'sz_humidity_i' received command REFRESH

Any ideas what’s wrong or where to continue troubleshooting?

is there anything new on the issue “(COMMUNICATION_ERROR): Idle timeout expired: 300000/300000 ms to OFFLINE”?

Any workaround to solve this?

I have created a possible fix:

Hi David,

thanks for your reply. So is it only to replace the “DeconzBridgeHandler.java” or is it to insert a qhole deconz binding jar?

I tried the snapshot binding from today and got:

2019-04-07 14:27:27.206 [WARN ] [org.apache.felix.fileinstall        ] - Error while starting bundle: file:/usr/share/openhab2/addons/org.openhab.binding.deconz-2.5.0-SNAPSHOT.jar

org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.deconz [317]

Unresolved requirement: Import-Package: com.google.gson; version="[2.8.0,3.0.0)"

at org.eclipse.osgi.container.Module.start(Module.java:444) ~[?:?]

at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:383) ~[?:?]

at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1260) [10:org.apache.felix.fileinstall:3.6.4]

at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1233) [10:org.apache.felix.fileinstall:3.6.4]

at org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1221) [10:org.apache.felix.fileinstall:3.6.4]

at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:515) [10:org.apache.felix.fileinstall:3.6.4]

at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:365) [10:org.apache.felix.fileinstall:3.6.4]

at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:316) [10:org.apache.felix.fileinstall:3.6.4]

Sorry for bad formatting. Reverted back to previous version.

If you are still on openHAB 2.4 or 2.5M1 then this cannot work. The core and all new addon builds are using newer library versions like in this case gson version 2.8

indeed, I am on openHAB 2.4. :cry: Thanks @David_Graeff

Hello @David_Graeff
Is this problem considered to be fixed, because I am still facing the error.
I am on 2.5.0M2, Rasbperry 3+ and using Raspbee from Deconz.

2019-08-15 04:29:41.827 [hingStatusInfoChangedEvent] - 'deconz:deconz:8437b442' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): java.util.concurrent.TimeoutException: Idle timeout expired: 300000/300000 ms

.....
.....
.....

2019-08-15 04:29:41.961 [hingStatusInfoChangedEvent] - 'deconz:deconz:8437b442' changed from OFFLINE (COMMUNICATION_ERROR): java.util.concurrent.TimeoutException: Idle timeout expired: 300000/300000 ms to ONLINE

There doesn’t seem to be a problem. You experience an idle timeout after 5mins and the addon reconnects within 100ms.