My setup:
OpenHab 2 Snapshot (build: 526) on Raspberry Pi 3
KNX Binding: 1.9.0.201609250111
GIRA KNX/IP Router: Firmware version 3.1.3683.0
knx.conf:
ip=172.16.13.200
busaddr=1.1.249
ignorelocalevents=true
type=TUNNEL
port=3671
localIp=172.16.13.101
timeout=10000
autoReconnectPeriod=30
useNAT=false
My issue:
While OH2 establishes a connection to the KNX Bus on startup and I can send commands using the web interface and/or the mobile app, every time a command is delivered, I get the following (basically āno confirmation reply receivedā due to some kind of communications failure?):
"
2016-10-10 16:51:09.965 [DEBUG] [.binding.knx.internal.bus.KNXBinding] - Received update (item='P11_Light', state='ON')
2016-10-10 16:51:12.980 [WARN ] [.binding.knx.internal.bus.KNXBinding] - Value 'ON' could not be sent to the KNX bus using datapoint 'command DP 1/0/10 P11_Light, DPT main 0 id 1.001, low priority' - retrying one time: no confirmation reply received
2016-10-10 16:51:12.985 [ERROR] [tuwien.auto.calimero ] - [Thread-54] KNXnet/IP Tunneling 172.16.13.200:3671: send disconnect failed
java.net.SocketException: Socket is closed
at java.net.DatagramSocket.send(DatagramSocket.java:658)[:1.8.0_65]
at tuwien.auto.calimero.knxnetip.ConnectionBase.close(ConnectionBase.java:448)[192:org.openhab.binding.knx:1.9.0.201609250111]
at tuwien.auto.calimero.knxnetip.ConnectionBase.send(ConnectionBase.java:257)[192:org.openhab.binding.knx:1.9.0.201609250111]
at tuwien.auto.calimero.knxnetip.KNXnetIPTunnel.send(KNXnetIPTunnel.java:135)[192:org.openhab.binding.knx:1.9.0.201609250111]
at tuwien.auto.calimero.link.KNXNetworkLinkIP.doSend(KNXNetworkLinkIP.java:457)[192:org.openhab.binding.knx:1.9.0.201609250111]
at tuwien.auto.calimero.link.KNXNetworkLinkIP.send(KNXNetworkLinkIP.java:419)[192:org.openhab.binding.knx:1.9.0.201609250111]
at tuwien.auto.calimero.link.KNXNetworkLinkIP.sendRequestWait(KNXNetworkLinkIP.java:341)[192:org.openhab.binding.knx:1.9.0.201609250111]
at tuwien.auto.calimero.process.ProcessCommunicatorImpl.write(ProcessCommunicatorImpl.java:438)[192:org.openhab.binding.knx:1.9.0.201609250111]
at tuwien.auto.calimero.process.ProcessCommunicatorImpl.write(ProcessCommunicatorImpl.java:410)[192:org.openhab.binding.knx:1.9.0.201609250111]
at org.openhab.binding.knx.internal.bus.KNXBinding.writeToKNX(KNXBinding.java:149)[192:org.openhab.binding.knx:1.9.0.201609250111]
at org.openhab.binding.knx.internal.bus.KNXBinding.internalReceiveUpdate(KNXBinding.java:126)[192:org.openhab.binding.knx:1.9.0.201609250111]
at org.openhab.core.binding.AbstractBinding.receiveUpdate(AbstractBinding.java:119)[190:org.openhab.core.compat1x:2.0.0.201610011937]
at org.openhab.core.events.AbstractEventSubscriber.handleEvent(AbstractEventSubscriber.java:38)[190:org.openhab.core.compat1x:2.0.0.201610011937]
at org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.sendEvent(EventHandlerProxy.java:415)[3:org.apache.karaf.services.eventadmin:4.0.4]
at org.apache.felix.eventadmin.impl.tasks.HandlerTask.run(HandlerTask.java:90)[3:org.apache.karaf.services.eventadmin:4.0.4]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_65]
at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_65]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_65]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_65]
at java.lang.Thread.run(Thread.java:745)[:1.8.0_65]
2016-10-10 16:51:12.990 [WARN ] [.binding.knx.internal.bus.KNXBinding] - Value 'ON' could not be sent to the KNX bus using datapoint 'command DP 1/0/10 P11_Light, DPT main 0 id 1.001, low priority' - retrying one time: link closed, connection closed
2016-10-10 16:51:12.986 [ERROR] [.binding.knx.internal.bus.KNXBinding] - Value 'ON' could not be sent to the KNX bus using datapoint 'command DP 1/0/10 P11_Light, DPT main 0 id 1.001, low priority' - giving up after second try: link closed, connection closed
2016-10-10 16:51:12.994 [ERROR] [tuwien.auto.calimero ] - [Thread-54] KNXnet/IP Tunneling 172.16.13.200:3671: close connection - communication failure
java.net.SocketException: Socket is closed
at java.net.DatagramSocket.send(DatagramSocket.java:658)[:1.8.0_65]
at tuwien.auto.calimero.knxnetip.ConnectionBase.send(ConnectionBase.java:226)[192:org.openhab.binding.knx:1.9.0.201609250111]
at tuwien.auto.calimero.knxnetip.KNXnetIPTunnel.send(KNXnetIPTunnel.java:135)[192:org.openhab.binding.knx:1.9.0.201609250111]
at tuwien.auto.calimero.link.KNXNetworkLinkIP.doSend(KNXNetworkLinkIP.java:457)[192:org.openhab.binding.knx:1.9.0.201609250111]
at tuwien.auto.calimero.link.KNXNetworkLinkIP.send(KNXNetworkLinkIP.java:419)[192:org.openhab.binding.knx:1.9.0.201609250111]
at tuwien.auto.calimero.link.KNXNetworkLinkIP.sendRequestWait(KNXNetworkLinkIP.java:341)[192:org.openhab.binding.knx:1.9.0.201609250111]
at tuwien.auto.calimero.process.ProcessCommunicatorImpl.write(ProcessCommunicatorImpl.java:438)[192:org.openhab.binding.knx:1.9.0.201609250111]
at tuwien.auto.calimero.process.ProcessCommunicatorImpl.write(ProcessCommunicatorImpl.java:410)[192:org.openhab.binding.knx:1.9.0.201609250111]
at org.openhab.binding.knx.internal.bus.KNXBinding.writeToKNX(KNXBinding.java:149)[192:org.openhab.binding.knx:1.9.0.201609250111]
at org.openhab.binding.knx.internal.bus.KNXBinding.internalReceiveUpdate(KNXBinding.java:126)[192:org.openhab.binding.knx:1.9.0.201609250111]
at org.openhab.core.binding.AbstractBinding.receiveUpdate(AbstractBinding.java:119)[190:org.openhab.core.compat1x:2.0.0.201610011937]
at org.openhab.core.events.AbstractEventSubscriber.handleEvent(AbstractEventSubscriber.java:38)[190:org.openhab.core.compat1x:2.0.0.201610011937]
at org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.sendEvent(EventHandlerProxy.java:415)[3:org.apache.karaf.services.eventadmin:4.0.4]
at org.apache.felix.eventadmin.impl.tasks.HandlerTask.run(HandlerTask.java:90)[3:org.apache.karaf.services.eventadmin:4.0.4]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_65]
at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_65]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_65]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_65]
at java.lang.Thread.run(Thread.java:745)[:1.8.0_65]
2016-10-10 16:51:13.002 [WARN ] [tuwien.auto.calimero ] - [Thread-14] KNXnet/IP Tunneling 172.16.13.200:3671: send invoked on closed connection - aborted
2016-10-10 16:51:13.003 [ERROR] [tuwien.auto.calimero ] - [Thread-14] link 172.16.13.200:3671: send error, closing link
tuwien.auto.calimero.knxnetip.KNXConnectionClosedException: connection closed
at tuwien.auto.calimero.knxnetip.ConnectionBase.send(ConnectionBase.java:192)[192:org.openhab.binding.knx:1.9.0.201609250111]
at tuwien.auto.calimero.knxnetip.KNXnetIPTunnel.send(KNXnetIPTunnel.java:135)[192:org.openhab.binding.knx:1.9.0.201609250111]
at tuwien.auto.calimero.link.KNXNetworkLinkIP.doSend(KNXNetworkLinkIP.java:457)[192:org.openhab.binding.knx:1.9.0.201609250111]
at tuwien.auto.calimero.link.KNXNetworkLinkIP.send(KNXNetworkLinkIP.java:419)[192:org.openhab.binding.knx:1.9.0.201609250111]
at tuwien.auto.calimero.link.KNXNetworkLinkIP.sendRequestWait(KNXNetworkLinkIP.java:341)[192:org.openhab.binding.knx:1.9.0.201609250111]
at tuwien.auto.calimero.process.ProcessCommunicatorImpl.write(ProcessCommunicatorImpl.java:438)[192:org.openhab.binding.knx:1.9.0.201609250111]
at tuwien.auto.calimero.process.ProcessCommunicatorImpl.write(ProcessCommunicatorImpl.java:410)[192:org.openhab.binding.knx:1.9.0.201609250111]
at org.openhab.binding.knx.internal.bus.KNXBinding.writeToKNX(KNXBinding.java:158)[192:org.openhab.binding.knx:1.9.0.201609250111]
at org.openhab.binding.knx.internal.bus.KNXBinding.internalReceiveCommand(KNXBinding.java:112)[192:org.openhab.binding.knx:1.9.0.201609250111]
at org.openhab.core.binding.AbstractBinding.receiveCommand(AbstractBinding.java:97)[190:org.openhab.core.compat1x:2.0.0.201610011937]
at org.openhab.core.events.AbstractEventSubscriber.handleEvent(AbstractEventSubscriber.java:42)[190:org.openhab.core.compat1x:2.0.0.201610011937]
at org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.sendEvent(EventHandlerProxy.java:415)[3:org.apache.karaf.services.eventadmin:4.0.4]
at org.apache.felix.eventadmin.impl.tasks.HandlerTask.runWithoutBlacklistTiming(HandlerTask.java:102)[3:org.apache.karaf.services.eventadmin:4.0.4]
at org.apache.felix.eventadmin.impl.tasks.SyncDeliverTasks.execute(SyncDeliverTasks.java:104)[3:org.apache.karaf.services.eventadmin:4.0.4]
at org.apache.felix.eventadmin.impl.tasks.AsyncDeliverTasks$TaskExecuter.run(AsyncDeliverTasks.java:163)[3:org.apache.karaf.services.eventadmin:4.0.4]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_65]
at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_65]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_65]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_65]
at java.lang.Thread.run(Thread.java:745)[:1.8.0_65]
2016-10-10 16:51:13.008 [ERROR] [tuwien.auto.calimero ] - [Thread-54] link 172.16.13.200:3671: send error, closing link
tuwien.auto.calimero.knxnetip.KNXConnectionClosedException: connection closed
at tuwien.auto.calimero.knxnetip.ConnectionBase.send(ConnectionBase.java:258)[192:org.openhab.binding.knx:1.9.0.201609250111]
at tuwien.auto.calimero.knxnetip.KNXnetIPTunnel.send(KNXnetIPTunnel.java:135)[192:org.openhab.binding.knx:1.9.0.201609250111]
at tuwien.auto.calimero.link.KNXNetworkLinkIP.doSend(KNXNetworkLinkIP.java:457)[192:org.openhab.binding.knx:1.9.0.201609250111]
at tuwien.auto.calimero.link.KNXNetworkLinkIP.send(KNXNetworkLinkIP.java:419)[192:org.openhab.binding.knx:1.9.0.201609250111]
at tuwien.auto.calimero.link.KNXNetworkLinkIP.sendRequestWait(KNXNetworkLinkIP.java:341)[192:org.openhab.binding.knx:1.9.0.201609250111]
at tuwien.auto.calimero.process.ProcessCommunicatorImpl.write(ProcessCommunicatorImpl.java:438)[192:org.openhab.binding.knx:1.9.0.201609250111]
at tuwien.auto.calimero.process.ProcessCommunicatorImpl.write(ProcessCommunicatorImpl.java:410)[192:org.openhab.binding.knx:1.9.0.201609250111]
at org.openhab.binding.knx.internal.bus.KNXBinding.writeToKNX(KNXBinding.java:149)[192:org.openhab.binding.knx:1.9.0.201609250111]
at org.openhab.binding.knx.internal.bus.KNXBinding.internalReceiveUpdate(KNXBinding.java:126)[192:org.openhab.binding.knx:1.9.0.201609250111]
at org.openhab.core.binding.AbstractBinding.receiveUpdate(AbstractBinding.java:119)[190:org.openhab.core.compat1x:2.0.0.201610011937]
at org.openhab.core.events.AbstractEventSubscriber.handleEvent(AbstractEventSubscriber.java:38)[190:org.openhab.core.compat1x:2.0.0.201610011937]
at org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.sendEvent(EventHandlerProxy.java:415)[3:org.apache.karaf.services.eventadmin:4.0.4]
at org.apache.felix.eventadmin.impl.tasks.HandlerTask.run(HandlerTask.java:90)[3:org.apache.karaf.services.eventadmin:4.0.4]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_65]
at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_65]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_65]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_65]
at java.lang.Thread.run(Thread.java:745)[:1.8.0_65]
2016-10-10 16:51:13.013 [INFO ] [nx.internal.connection.KNXConnection] - Established connection to KNX bus on 172.16.13.200:3671 in mode TUNNEL.
2016-10-10 16:51:16.018 [ERROR] [.binding.knx.internal.bus.KNXBinding] - Value 'ON' could not be sent to the KNX bus using datapoint 'command DP 1/0/10 P11_Light, DPT main 0 id 1.001, low priority' - giving up after second try: no confirmation reply received
The āfunnyā part is that the commands actually work fine and I am able to control the KNX deviceā¦ (even though my debug log is full of āValue āONā could not be sent to the KNX busā messages")
Does anyone have any idea what could be wrong here and what steps I should take to troubleshoot this situation?
So far, I have changed all UTP cables between the OH2 installation which is running on a RPi3 and the GIRA KNX router as well as the KNX Bus cable.
BR,
Dimitris