like the title said, my deconz things stopped updating their values.
Just after reinit of the binding they get new values but stop afterwards, e. g. one of my door sensors switches to open (checked in phoscon app/webUI) but OH doesn’t get that event. If I know restart the deconz binding the sensor switches to open. But the close won’t be recieved in OH.
As i already researched, this is most of the time an issue with websocket. So I checked with some JavaScript code if the events are fired and if I can connect on the specified port.
All this is fine.
As said, it worked fine two weeks ago, but somehow it stopped working and I can’t point my finger at a specific event.
I also can’t find anything in the OH logs under openhab/logs that indicates a failed connection or anything.So any advice on how to fix this is appreciated
After some fiddeling with the log settings in OH and setting the log level to TRACE I found this in openhab.log
2021-04-14 13:12:43.641 [TRACE] [internal.handler.DeconzBridgeHandler] - deconz:deconz:1af73f4191 starts refreshing the fullStateCache
2021-04-14 13:12:43.645 [DEBUG] [internal.handler.DeconzBridgeHandler] - Get full state failed
java.util.concurrent.CompletionException: java.io.EOFException: HttpConnectionOverHTTP@71276582::SocketChannelEndPoint@5bab9c71{/192.168.178.56:80<->/172.20.0.2:33394,ISHUT,fill=-,flush=-,to=0/0}{io=0/0,kio=0,kro=1}->HttpConnectionOverHTTP@71276582(l:/172.20.0.2:33394 <-> r:/192.168.178.56:80,closed=false)=>HttpChannelOverHTTP@f919ac9(exchange=HttpExchange@746a2c28 req=TERMINATED/null@null res=PENDING/null@null)[send=HttpSenderOverHTTP@6fefb0f(req=QUEUED,snd=COMPLETED,failure=null)[HttpGenerator@1b1b7b5{s=START}],recv=HttpReceiverOverHTTP@2f53298(rsp=IDLE,failure=null)[HttpParser{s=CLOSED,0 of -1}]]
at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:331) ~[?:?]
at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:346) ~[?:?]
at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:632) ~[?:?]
at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506) [?:?]
at java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2088) [?:?]
at org.openhab.binding.deconz.internal.netutils.AsyncHttpClient$1.onComplete(AsyncHttpClient.java:109) [bundleFile:?]
at org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:198) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:190) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.client.HttpReceiver.terminateResponse(HttpReceiver.java:444) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.client.HttpReceiver.abort(HttpReceiver.java:527) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.client.HttpReceiver.responseFailure(HttpReceiver.java:416) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.failAndClose(HttpReceiverOverHTTP.java:366) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.earlyEOF(HttpReceiverOverHTTP.java:335) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:1526) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.shutdown(HttpReceiverOverHTTP.java:209) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.process(HttpReceiverOverHTTP.java:147) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.receive(HttpReceiverOverHTTP.java:73) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.client.http.HttpChannelOverHTTP.receive(HttpChannelOverHTTP.java:133) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.client.http.HttpConnectionOverHTTP.onFillable(HttpConnectionOverHTTP.java:154) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:367) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:782) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:918) [bundleFile:9.4.20.v20190813]
at java.lang.Thread.run(Thread.java:834) [?:?]
Caused by: java.io.EOFException: HttpConnectionOverHTTP@71276582::SocketChannelEndPoint@5bab9c71{/192.168.178.56:80<->/172.20.0.2:33394,ISHUT,fill=-,flush=-,to=0/0}{io=0/0,kio=0,kro=1}->HttpConnectionOverHTTP@71276582(l:/172.20.0.2:33394 <-> r:/192.168.178.56:80,closed=false)=>HttpChannelOverHTTP@f919ac9(exchange=HttpExchange@746a2c28 req=TERMINATED/null@null res=PENDING/null@null)[send=HttpSenderOverHTTP@6fefb0f(req=QUEUED,snd=COMPLETED,failure=null)[HttpGenerator@1b1b7b5{s=START}],recv=HttpReceiverOverHTTP@2f53298(rsp=IDLE,failure=null)[HttpParser{s=CLOSED,0 of -1}]]
... 18 more
It seems like OH uses port 80 instead of the defined 8088?
The full state is requeted from the HTTP port as it uses the REST API, not the websocket. The websocket (and the port) is only used for receiving events.
If you moved the REST-API to another port, you need to change the HTTP port, not the websocket port.
Unfortunately I have no idea. I don’t use docker and maybe it’s an issue with the way docker handles network connections. The binding does not receive the correct response (or better: an incomplete response). Could be a timing issue.
Maybe you can use Wireshark to see if deconz returns everything or not.
Is your zigbee installation very large? Is the “good” installation on the same versiosn for core and binding?