themillhousegroup / openhab2-addons

Add-ons for openHAB 2.x
Eclipse Public License 2.0
36 stars 17 forks source link

Send/Receive failure WITH Beta 5 and Openhab 3 #22

Closed rlarranaga closed 3 years ago

rlarranaga commented 3 years ago

Hello: I am testing the Beta 5 version of the broadlink binding on openhab 3. I have found that at times, the communication between openhab and my IR Blaster (A Broadlink RM3) does not work properly. One of the things i see is delays of several seconds between the RM device receiving a command and sending the IR code over the air. But usually, when that happens, i also see the following issue in openhab logs?

12:10:49.066 [ERROR] [rnal.common.AbstractInvocationHandler] - An error occurred while calling method 'ThingHandler.handleCommand()' on 'org.openhab.binding.broadlink.handler.BroadlinkRemoteHandler@': sendAndReceiveOneTime: Send/Receive failure java.lang.IllegalStateException: sendAndReceiveOneTime: Send/Receive failure at org.openhab.binding.broadlink.internal.socket.RetryableSocket.sendAndReceiveOneTime(RetryableSocket.java:67) ~[?:?] at org.openhab.binding.broadlink.internal.socket.RetryableSocket.sendAndReceive(RetryableSocket.java:49) ~[?:?] at org.openhab.binding.broadlink.handler.BroadlinkBaseThingHandler.sendAndReceiveDatagram(BroadlinkBaseThingHandler.java:165) ~[?:?] at org.openhab.binding.broadlink.handler.BroadlinkRemoteHandler.sendCode(BroadlinkRemoteHandler.java:63) ~[?:?] at org.openhab.binding.broadlink.handler.BroadlinkRemoteHandler.handleCommand(BroadlinkRemoteHandler.java:95) ~[?:?] at jdk.internal.reflect.GeneratedMethodAccessor1177.invoke(Unknown Source) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] at org.openhab.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:154) [bundleFile:?] at org.openhab.core.internal.common.InvocationHandlerSync.invoke(InvocationHandlerSync.java:59) [bundleFile:?] at com.sun.proxy.$Proxy7168.handleCommand(Unknown Source) [?:?] at org.openhab.core.thing.internal.profiles.ProfileCallbackImpl.handleCommand(ProfileCallbackImpl.java:80) [bundleFile:?] at org.openhab.core.thing.internal.profiles.SystemDefaultProfile.onCommandFromItem(SystemDefaultProfile.java:48) [bundleFile:?] at jdk.internal.reflect.GeneratedMethodAccessor1176.invoke(Unknown Source) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] at org.openhab.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:154) [bundleFile:?] at org.openhab.core.internal.common.Invocation.call(Invocation.java:52) [bundleFile:?] at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?] 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:834) [?:?]

Is there any way i can troubleshoot this? Thanks

rlarranaga commented 3 years ago

I did a little bit more investigation by capturing some traffic on the OpenHAB device while trying to send commands to the device. OpenHAB receives the commands to send almost instantly, and the logs about the commands being processed in openhab console are also instant. However, the packets that OpenHAB is supposed to send out to the blaster sometimes take a while, which is what is causing the delay. Any ideas on what could be causing this? Top on the device shows a load of only 0.5.....

rlarranaga commented 3 years ago

After some long and painful investigation, i was able to confirm that this issue and the error are caused by network issues, namely, the broadlink device not receiving the packets, and thus delaying/or not responding to the request. So it does not look like a binding issue.