Hi all,
Platform information: Raspberry PI 3 running openhabian. Openhab version 2.4.0.1 (release build),
I’ve been running Openhab with knx for 3 years now. Previously used the knx 1.x binding, but I have recently moved to the knx 2 binding. The 1.x binding was running without any issues, but since moving to 2.x, I am facing connection drops almost every day.
My openhab.log:
2019-05-27 04:29:43.283 [ERROR] [calimero.link.192.168.2.5:3671 ] - send error, closing link
tuwien.auto.calimero.knxnetip.KNXConnectionClosedException: waiting for service ack
at tuwien.auto.calimero.knxnetip.ConnectionBase.send(ConnectionBase.java:246) ~[?:?]
at tuwien.auto.calimero.knxnetip.KNXnetIPTunnel.send(KNXnetIPTunnel.java:178) ~[?:?]
at tuwien.auto.calimero.link.KNXNetworkLinkIP.onSend(KNXNetworkLinkIP.java:243) ~[?:?]
at tuwien.auto.calimero.link.AbstractLink.send(AbstractLink.java:351) ~[?:?]
at tuwien.auto.calimero.link.KNXNetworkLinkIP.sendRequestWait(KNXNetworkLinkIP.java:222) ~[?:?]
at tuwien.auto.calimero.mgmt.TransportLayerImpl.sendData(TransportLayerImpl.java:372) ~[?:?]
at tuwien.auto.calimero.mgmt.ManagementClientImpl.send(ManagementClientImpl.java:797) ~[?:?]
at tuwien.auto.calimero.mgmt.ManagementClientImpl.sendWait2(ManagementClientImpl.java:824) ~[?:?]
at tuwien.auto.calimero.mgmt.ManagementClientImpl.readDeviceDesc(ManagementClientImpl.java:447) ~[?:?]
at tuwien.auto.calimero.mgmt.ManagementProceduresImpl.isAddressOccupied(ManagementProceduresImpl.java:310) ~[?:?]
at org.openhab.binding.knx.internal.client.AbstractKNXClient.isReachable(AbstractKNXClient.java:338) ~[?:?]
at org.openhab.binding.knx.handler.AbstractKNXThingHandler.pollDeviceStatus(AbstractKNXThingHandler.java:144) ~[?:?]
at org.openhab.binding.knx.handler.AbstractKNXThingHandler.lambda$1(AbstractKNXThingHandler.java:184) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
at java.lang.Thread.run(Thread.java:748) [?:?]
2019-05-27 04:29:43.485 [ERROR] [KNXnet/IP Tunneling 192.168.2.5:3671] - establishing connection failed, null
My events.log:
2019-05-27 04:29:43.427 [hingStatusInfoChangedEvent] - 'knx:device:BAOS771:4072_nachthal' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): link closed, waiting for service ack
2019-05-27 04:29:43.449 [hingStatusInfoChangedEvent] - 'knx:ip:BAOS771' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): server request
2019-05-27 04:29:43.485 [hingStatusInfoChangedEvent] - 'knx:device:BAOS771:dummy' changed from ONLINE to OFFLINE (BRIDGE_OFFLINE)
etc... (all devices going to OFFLINE)
My knx.things file:
Bridge knx:ip:BAOS771 [
type="TUNNEL",
ipAddress="192.168.2.5", // IP of my knx Ip interface
portNumber=3671,
localIp="192.168.2.20", // IP of my RPI
readingPause=50,
responseTimeout=10,
readRetriesLimit=5,
autoReconnectPeriod=1
] {
...
}
Some additional information:
- My KNX IP interface is a Weinzierl 771 KNX
- When openhab (+knx) is running, it is running fine. Everything works well, there are no errors
- No issues with knx 1.x binding
- The connection errors occur at a random period, sometimes even in the middle of the night (e.g. example above was at 4.30am)
- Sometimes knx is able to reconnect automatically, but sometimes the connection remains lost and I need to restart openhab (or only the knx binding) in order to reconnect
- I have configured all things with fetch=true and pinginterval=600. Also tried switching to fetch=false, but that didn’t make any difference
- I’ve tried disabling all rules and have now disabled all other bindings, but no avail.
I really don’t understand what goes wrong here. Any help would be appreciated. Should I change the configuration parameters in the knx.things file?