KNX binding crashes openHABian after couple of days

Hi all,

I am running Raspbian GNU/Linux 10 on a Raspberry Pi 3, and everything seems to work fine for a couple a days. After a few days openHABian does not react anymore and the following error occurs repeatedly in the log:

2021-03-12 19:57:40.246 [WARN ] [NXnet/IP Tunneling 192.168.1.50:3671] - response timeout waiting for confirmation
tuwien.auto.calimero.KNXTimeoutException: no confirmation reply received for 0.0.0->1.1.20 L_Data.req, system priority hop count 6 repeat, tpdu 81
	at tuwien.auto.calimero.knxnetip.ClientConnection.doExtraBlockingModes(ClientConnection.java:244) [bundleFile:?]
	at tuwien.auto.calimero.knxnetip.ConnectionBase.send(ConnectionBase.java:258) [bundleFile:?]
	at tuwien.auto.calimero.knxnetip.KNXnetIPTunnel.send(KNXnetIPTunnel.java:177) [bundleFile:?]
	at tuwien.auto.calimero.link.KNXNetworkLinkIP.onSend(KNXNetworkLinkIP.java:264) [bundleFile:?]
	at tuwien.auto.calimero.link.AbstractLink.send(AbstractLink.java:332) [bundleFile:?]
	at tuwien.auto.calimero.link.KNXNetworkLinkIP.sendRequestWait(KNXNetworkLinkIP.java:243) [bundleFile:?]
	at tuwien.auto.calimero.mgmt.TransportLayerImpl.sendDisconnect(TransportLayerImpl.java:627) [bundleFile:?]
	at tuwien.auto.calimero.mgmt.TransportLayerImpl.disconnectIndicate(TransportLayerImpl.java:608) [bundleFile:?]
	at tuwien.auto.calimero.mgmt.TransportLayerImpl.disconnect(TransportLayerImpl.java:342) [bundleFile:?]
	at tuwien.auto.calimero.mgmt.Destination.destroy(Destination.java:371) [bundleFile:?]
	at tuwien.auto.calimero.mgmt.Destination.close(Destination.java:383) [bundleFile:?]
	at tuwien.auto.calimero.mgmt.ManagementProceduresImpl.$closeResource(ManagementProceduresImpl.java:238) [bundleFile:?]
	at tuwien.auto.calimero.mgmt.ManagementProceduresImpl.isAddressOccupied(ManagementProceduresImpl.java:311) [bundleFile:?]
	at org.openhab.binding.knx.internal.client.AbstractKNXClient.isReachable(AbstractKNXClient.java:342) [bundleFile:?]
	at org.openhab.binding.knx.internal.handler.AbstractKNXThingHandler.pollDeviceStatus(AbstractKNXThingHandler.java:148) [bundleFile:?]
	at org.openhab.binding.knx.internal.handler.AbstractKNXThingHandler.lambda$1(AbstractKNXThingHandler.java:188) [bundleFile:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) [?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) [?:?]
	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) [?:?]
2021-03-12 19:57:40.248 [WARN ] [calimero.mgmt.TL 192.168.1.50:3671  ] - disconnected not gracefully (timeout)
tuwien.auto.calimero.KNXTimeoutException: no confirmation reply received for 0.0.0->1.1.20 L_Data.req, system priority hop count 6 repeat, tpdu 81
	at tuwien.auto.calimero.knxnetip.ClientConnection.doExtraBlockingModes(ClientConnection.java:244) ~[bundleFile:?]
	at tuwien.auto.calimero.knxnetip.ConnectionBase.send(ConnectionBase.java:258) ~[bundleFile:?]
	at tuwien.auto.calimero.knxnetip.KNXnetIPTunnel.send(KNXnetIPTunnel.java:177) ~[bundleFile:?]
	at tuwien.auto.calimero.link.KNXNetworkLinkIP.onSend(KNXNetworkLinkIP.java:264) ~[bundleFile:?]
	at tuwien.auto.calimero.link.AbstractLink.send(AbstractLink.java:332) ~[bundleFile:?]
	at tuwien.auto.calimero.link.KNXNetworkLinkIP.sendRequestWait(KNXNetworkLinkIP.java:243) ~[bundleFile:?]
	at tuwien.auto.calimero.mgmt.TransportLayerImpl.sendDisconnect(TransportLayerImpl.java:627) [bundleFile:?]
	at tuwien.auto.calimero.mgmt.TransportLayerImpl.disconnectIndicate(TransportLayerImpl.java:608) [bundleFile:?]
	at tuwien.auto.calimero.mgmt.TransportLayerImpl.disconnect(TransportLayerImpl.java:342) [bundleFile:?]
	at tuwien.auto.calimero.mgmt.Destination.destroy(Destination.java:371) [bundleFile:?]
	at tuwien.auto.calimero.mgmt.Destination.close(Destination.java:383) [bundleFile:?]
	at tuwien.auto.calimero.mgmt.ManagementProceduresImpl.$closeResource(ManagementProceduresImpl.java:238) [bundleFile:?]
	at tuwien.auto.calimero.mgmt.ManagementProceduresImpl.isAddressOccupied(ManagementProceduresImpl.java:311) [bundleFile:?]
	at org.openhab.binding.knx.internal.client.AbstractKNXClient.isReachable(AbstractKNXClient.java:342) [bundleFile:?]
	at org.openhab.binding.knx.internal.handler.AbstractKNXThingHandler.pollDeviceStatus(AbstractKNXThingHandler.java:148) [bundleFile:?]
	at org.openhab.binding.knx.internal.handler.AbstractKNXThingHandler.lambda$1(AbstractKNXThingHandler.java:188) [bundleFile:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) [?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) [?:?]
	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) [?:?]

I have the following KNX configuration in knx.things:

Bridge knx:ip:bridge "GIRA KNX/IP Gateway" @ "KNX" [
    type="TUNNEL",
    ipAddress="192.168.1.50",
    portNumber=3671,
    localIp="192.168.1.126",
    readingPause=50,
    responseTimeout=10,
    readRetriesLimit=3,
    autoReconnectPeriod=60,
    localSourceAddr="0.0.0"
] {
    Thing device da-1 "Dim Actor 1" @ "KNX" [
        address="1.1.11",
        fetch=true,
        pingInterval=300,
        readInterval=3600
    ] {        
        Type dimmer	:	woonkamerCentraal	"Woonkamer_Centraal_Dimmer"	[ switch="1/3/3", position="1/3/6", increaseDecrease="1/3/4" ]
        Type dimmer	:	woonkamerSpots		"Woonkamer_Spots_Dimmer"	[ switch="1/3/1", position="1/3/5", increaseDecrease="1/3/2" ]
        Type dimmer	:	eetkamerSpots		"Eetkamer_Spots"		[ switch="1/2/1", position="1/2/15", increaseDecrease="1/2/2" ]
        Type dimmer	:	eetkamerCentraal	"Eetkamer_Centraal"		[ switch="1/2/3", position="1/2/17", increaseDecrease="1/2/4" ]

    }
    Thing device da-2 "Dim Actor 2" @ "KNX" [
        address="1.1.12",
        fetch=true,
        pingInterval=300,
        readInterval=3600
    ] {
        Type dimmer	:	hal		"Hal"			[ switch="1/1/1", position="1/1/3", increaseDecrease="1/1/2" ]
        Type dimmer	:	keukenSpots	"Keuken_Spots"		[ switch="1/2/5", position="1/2/16", increaseDecrease="1/2/6" ]
        Type dimmer	:	keukenWand	"Keuken_Wand"		[ switch="1/2/7", position="1/2/19", increaseDecrease="1/2/8" ]
        Type dimmer	:	keukenCentraal	"Keuken_Centraal"	[ switch="1/2/9", position="1/2/18", increaseDecrease="1/2/10" ]
    }
    Thing device da-3 "Dim Actor 3" @ "KNX" [
        address="1.1.13",
        fetch=true,
        pingInterval=300,
        readInterval=3600
    ] {
        Type dimmer	:	slaapkamerCentraal	"Slaapkamer_Centraal"	[ switch="3/1/1", position="3/1/3", increaseDecrease="3/1/2" ]
    }
    Thing device da-4 "Dim Actor 4" @ "KNX" [
        address="1.1.14",
        fetch=true,
        pingInterval=300,
        readInterval=3600
    ] {
        Type dimmer	:	slaapkamerBureau	"Slaapkamer_Bureau"	[ switch="3/1/7", position="3/1/9", increaseDecrease="3/1/8" ]
        Type dimmer	:	badkamerSpots		"Badkamer_Spots"	[ switch="3/6/1", position="3/6/3", increaseDecrease="3/6/2" ]
    }
    Thing device da-5 "Dim Actor 5" @ "KNX" [
        address="1.1.15",
        fetch=true,
        pingInterval=300,
        readInterval=3600
    ] {
        Type dimmer	:	zone1	"Zone_1"	[ switch="4/2/1", position="4/2/3", increaseDecrease="4/2/2" ]
        Type dimmer	:	zone2	"Zone_2"	[ switch="4/2/4", position="4/2/6", increaseDecrease="4/2/5" ]
    }
    Thing device da-6 "Dim Actor 6" @ "KNX" [
        address="1.1.16",
        fetch=true,
        pingInterval=300,
        readInterval=3600
    ] {
        Type dimmer	:	garageCentraal1		"Garage_Centraal_1"	[ switch="5/1/1", position="5/1/3", increaseDecrease="5/1/2" ]
        Type dimmer	:	garageCentraal2		"Garage_Centraal_2"	[ switch="5/1/4", position="5/1/6", increaseDecrease="5/1/5" ]
        Type dimmer	:	oprit			"Oprit"			[ switch="4/3/1", position="4/3/3", increaseDecrease="4/3/2" ]
    }
    Thing device da-7 "Dim Actor 7" @ "KNX" [
        address="1.1.17",
        fetch=true,
        pingInterval=300,
        readInterval=3600
    ] {
        Type dimmer	:	slaapkamerMees		"Slaapkamer_Mees"	[ switch="3/2/1", position="3/2/10", increaseDecrease="3/2/9" ]
        Type dimmer	:	slaapkamerPleun		"Slaapkamer_Pleun"	[ switch="3/3/1", position="3/3/11", increaseDecrease="3/3/10" ]
        Type dimmer	:	slaapkamerGies		"Slaapkamer_Gies"	[ switch="3/4/1", position="3/4/11", increaseDecrease="3/4/10" ]
    }
    Thing device sa-1 "Schakel Actor 1" @ "KNX" [
        address="1.1.20",
        fetch=true,
        pingInterval=300,
        readInterval=3600
    ] {
        Type switch	:	keukenKoffie        "Keuken_Koffie"       [ ga="1/2/14" ]
    }
    Thing device sa-2 "Schakel Actor 2" @ "KNX" [
        address="1.1.21",
        fetch=true,
        pingInterval=300,
        readInterval=3600
    ] {
        Type switch	:	badkamerSpiegel        "Badkamer_Spiegel" 	 [ ga="3/6/7" ]
        Type switch	:	woonkamerStopcontact   "Woonkamer_Stopcontact"   [ ga="1/3/7" ]
    }
    Thing device sa-3 "Schakel Actor 3" @ "KNX" [
        address="1.1.22",
        fetch=true,
        pingInterval=300,
        readInterval=3600
    ] {
        Type switch	:	bergingCentraal        "Berging_Centraal"       [ ga="5/3/1" ]
    }
}

The KNX gateway that I use is the Gira 216800 IP-interface KNX.

Does anyone recognise this problem and has some advice to help me with this?
Thanks in advance!

Kind regards,
Roel Cuppen

Please don’s set readInterval (even if no GA is set to be readable, which makes the readInterval useless at all)
Please set fetch to false for all Things to ensure that this is not the root problem.

1 Like

Thanks Udo,

We just made the changes to the Things. Now we need to wait for some days to check if it solved the problem. Will update as soon as possible :+1:

Regards,
Roel