Hi,
I’m using USB knx bridge (at the time of purchase i was not aware IP bridge would be a much better option). I’m running this Calimero Project (calimero-project.github.io) as a server. unfortunately knxd did not work with my shitty usb interface. I suppose knxd would be more robust then this java based calimero server.
This runs on the same rpi3 as openhab itself (usb device connected to the same rpi3 )
every few days I get these kind of errors in openhab.log
now everything still works, even with these errors, maybe sometimes it gets slower (like needs 3 seconds to switch on a light - not sure if this behavior correlates with these errors, it could easily be so.
2023-08-09 21:12:41.643 [WARN ] [KNXnet/IP Tunneling 192.168.4.2:3671] - response timeout waiting for confirmation
tuwien.auto.calimero.KNXTimeoutException: no confirmation reply received for 0.0.0->1.5.133 L_Data.req, system priority hop count 6 repeat, tpdu 80
at tuwien.auto.calimero.knxnetip.ClientConnection.doExtraBlockingModes(ClientConnection.java:269) ~[?:?]
at tuwien.auto.calimero.knxnetip.ConnectionBase.send(ConnectionBase.java:261) ~[?:?]
at tuwien.auto.calimero.knxnetip.KNXnetIPTunnel.send(KNXnetIPTunnel.java:213) ~[?:?]
at tuwien.auto.calimero.link.KNXNetworkLinkIP.onSend(KNXNetworkLinkIP.java:423) ~[?:?]
at tuwien.auto.calimero.link.AbstractLink.send(AbstractLink.java:385) ~[?:?]
at tuwien.auto.calimero.link.KNXNetworkLinkIP.sendRequestWait(KNXNetworkLinkIP.java:402) ~[?:?]
at tuwien.auto.calimero.mgmt.TransportLayerImpl.connect(TransportLayerImpl.java:314) ~[?:?]
at tuwien.auto.calimero.mgmt.TransportLayerImpl.sendData(TransportLayerImpl.java:333) ~[?:?]
at tuwien.auto.calimero.mgmt.ManagementClientImpl.send(ManagementClientImpl.java:1275) ~[?:?]
at tuwien.auto.calimero.mgmt.ManagementClientImpl.send(ManagementClientImpl.java:1259) ~[?:?]
at tuwien.auto.calimero.mgmt.ManagementClientImpl.sendWait2(ManagementClientImpl.java:1295) ~[?:?]
at tuwien.auto.calimero.mgmt.ManagementClientImpl.readDeviceDesc(ManagementClientImpl.java:595) ~[?:?]
at tuwien.auto.calimero.mgmt.ManagementProceduresImpl.isAddressOccupied(ManagementProceduresImpl.java:391) ~[?:?]
at org.openhab.binding.knx.internal.client.AbstractKNXClient.isReachable(AbstractKNXClient.java:435) ~[?:?]
at org.openhab.binding.knx.internal.handler.AbstractKNXThingHandler.pollDeviceStatus(AbstractKNXThingHandler.java:148) ~[?:?]
at org.openhab.binding.knx.internal.handler.AbstractKNXThingHandler.lambda$1(AbstractKNXThingHandler.java:190) ~[?:?]
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:829) [?:?]
my knx.things
Bridge knx:ip:bridge [
ipAddress="192.168.4.2",
portNumber=3671,
localIp="192.168.4.2",
type="TUNNEL",
readingPause=50,
responseTimeout=10,
readRetriesLimit=3,
autoReconnectPeriod=60,
localSourceAddr="0.0.0"
] {
Thing device generic [
address="1.5.133",
fetch=false,
pingInterval=300,
readInterval=3600
] {
Type switch : Foyer "Light" [ ga="1/5/26+<1/5/27" ]
Type switch : Dining "Light" [ ga="1/5/33+<1/5/35" ]
Type dimmer : DiningDimmer "Light" [ position="5.001:1/5/36+<1/5/70" ]
Type switch : Living "Light" [ ga="1/5/29+<1/5/31" ]
Type dimmer : LivingDimmer "Light" [ position="5.001:1/5/32+<1/5/69" ]
Type switch : Entrance "Light" [ ga="1/5/24+<1/5/25" ]
Type switch : Corridor "Light" [ ga="1/5/20+<1/5/21" ]
Type switch : Balcony1 "Light" [ ga="1/5/38+<1/5/39" ]
Type switch : Balcony2 "Light" [ ga="1/5/6+<1/5/7" ]
Type switch : KidsEntrance "Light" [ ga="1/5/12+<1/5/13" ]
Type switch : KidsRoom "Light" [ ga="1/5/14+<1/5/16" ]
Type dimmer : KidsDimmer "Light" [ position="5.001:1/5/19+<1/5/68" ]
Type switch : Dressing "Light" [ ga="1/5/4+<1/5/5" ]
Type switch : Bedroom "Light" [ ga="1/5/1+<1/5/3" ]
Type dimmer : BedroomDimmer "Light" [ position="5.001:1/5/11+<1/5/67" ]
Type number : LivingTemp "Temperature" [ ga="9.001:<1/5/44" ]
Type number : RoomsTemp "Temperature" [ ga="9.001:<1/5/55" ]
Type dimmer : ACLiving1 "Temperature" [ position="5.001:1/5/48+<1/5/49" ]
Type number : ACLiving2 "Temperature" [ ga="9.001:<1/5/45+<1/5/53" ]
Type switch : ACLiving3 "Temperature" [ ga="1/5/46+<1/5/47" ]
Type number : ACLiving4 "Temperature" [ ga="9.001:<1/5/53" ]
Type dimmer : ACRooms1 "Temperature" [ position="5.001:1/5/59+<1/5/60" ]
Type number : ACRooms2 "Temperature" [ ga="9.001:<1/5/56+<1/5/64" ]
Type switch : ACRooms3 "Temperature" [ ga="1/5/57+<1/5/58" ]
Type number : ACRooms4 "Temperature" [ ga="9.001:<1/5/64" ]
Type number : LivingOff "Temperature" [ ga="5.001:<1/5/22" ]
Type number : CommonOff "Temperature" [ ga="5.001:<1/5/28" ]
Type number : WelcomeOff "Temperature" [ ga="5.001:<1/5/50" ]
Type number : HomeSleep "Temperature" [ ga="5.001:<1/5/43" ]
}
}
Just wondering if this config can be somehow optimized to prevent those errors, or its not related?
if some other combination of localSourceAddr or address of the generic thing would help. As I understand both of these should be some made up addresses that are not already used on the bus.
all knx devices have some 1.5.X address.
As I said, this setup works pretty good most of the time, and occasional slowness could be blamed on the fact that the bridge is USB java chemistry.