@UhA I plan to test it with the 4.x version, as my system has numerous sensors and actuators. My 5.x system is only a test setup with just a few sensors configured.
@UhA Could you please let usknow when the binding for 4.x might be available? I just want to ask, I understand how challenging it can be to find the time…
hi @ML1982
I compiled the OpenHAB4.3 compatible binding. The binaries you will find here.
Unfortunately I did not have time to simple smoke test, however this is the same code as I tested on the OpenHAB5.0.0
The change is
- The keep alive message is switchable
- The Tenton devices are added
@UhA sorry for the late answer.
With this setting:
I got an reconnect every 60 Seconds.
025-03-05 09:50:07.987 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Server connecting to websocket
2025-03-05 09:50:07.989 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Websocket connection to SysAP is OK, timeout: 90
2025-03-05 09:50:07.989 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket connection closed
2025-03-05 09:50:07.990 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Delaying (re)connect request by 60 seconds.
2025-03-05 09:50:08.191 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket Connected - Timeout -1 - sesson: WebSocketSession[websocket=JettyListenerEventDriver[org.openhab.binding.freeathome.internal.handler.FreeAtHomeBridgeHandler],behavior=CLIENT,connection=WebSocketClientConnection@3f95701e::SocketChannelEndPoint@5dcea79a{l=/192.168.188.30:39216,r=/192.168.188.25:80,OPEN,fill=-,flush=-,to=1/-1}{io=0/0,kio=0,kro=1}->WebSocketClientConnection@3f95701e[s=ConnectionState@75f41192[OPENING],f=Flusher@2c9d1d6c[IDLE][queueSize=0,aggregateSize=-1,terminated=null],g=Generator[CLIENT,validating],p=Parser@389c9d61[ExtensionStack,s=START,c=0,len=0,f=null]],remote=WebSocketRemoteEndpoint@10c60f9f[batching=true],incoming=JettyListenerEventDriver[org.openhab.binding.freeathome.internal.handler.FreeAtHomeBridgeHandler],outgoing=ExtensionStack[queueSize=0,extensions=[],incoming=org.eclipse.jetty.websocket.common.WebSocketSession,outgoing=org.eclipse.jetty.websocket.client.io.WebSocketClientConnection]]
2025-03-05 09:50:13.684 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9ADF0/ch0000/odp0002": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:50:13.684 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9ADF0/ch0000/odp0002": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:50:13.685 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9ADF0/ch0000/odp0002 value 0
2025-03-05 09:50:13.685 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9ADF0/ch0000/odp0002 value 0
2025-03-05 09:50:16.984 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB23DCF4551/ch0002/odp000b": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:50:16.984 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB23DCF4551/ch0002/odp000b": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:50:16.985 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event not processed: event-datapoint-ID ABB23DCF4551/ch0002/odp000b value 0
2025-03-05 09:50:16.985 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event not processed: event-datapoint-ID ABB23DCF4551/ch0002/odp000b value 0
2025-03-05 09:50:58.684 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9ADF0/ch0000/odp0003": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:50:58.684 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9ADF0/ch0000/odp0003": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:50:58.685 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9ADF0/ch0000/odp0003 value 0
2025-03-05 09:50:58.685 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9ADF0/ch0000/odp0003 value 0
2025-03-05 09:50:59.584 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9ADF0/ch0000/odp0000": "0","ABB7F4F9ADF0/ch0000/odp0001": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:50:59.583 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9ADF0/ch0000/odp0000": "0","ABB7F4F9ADF0/ch0000/odp0001": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:50:59.585 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9ADF0/ch0000/odp0000 value 0
2025-03-05 09:50:59.585 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9ADF0/ch0000/odp0000 value 0
2025-03-05 09:50:59.585 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9ADF0/ch0000/odp0001 value 0
2025-03-05 09:50:59.586 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9ADF0/ch0000/odp0001 value 0
2025-03-05 09:51:07.990 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Server connecting to websocket
2025-03-05 09:51:07.991 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Websocket connection to SysAP is OK, timeout: 90
2025-03-05 09:51:07.992 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket connection closed
2025-03-05 09:51:07.992 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Delaying (re)connect request by 60 seconds.
2025-03-05 09:51:08.287 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket Connected - Timeout -1 - sesson: WebSocketSession[websocket=JettyListenerEventDriver[org.openhab.binding.freeathome.internal.handler.FreeAtHomeBridgeHandler],behavior=CLIENT,connection=WebSocketClientConnection@2db9b01f::SocketChannelEndPoint@5a712049{l=/192.168.188.30:42188,r=/192.168.188.25:80,OPEN,fill=-,flush=-,to=1/-1}{io=0/0,kio=0,kro=1}->WebSocketClientConnection@2db9b01f[s=ConnectionState@12d7d3c8[OPENING],f=Flusher@72a2edf2[IDLE][queueSize=0,aggregateSize=-1,terminated=null],g=Generator[CLIENT,validating],p=Parser@127b82f1[ExtensionStack,s=START,c=0,len=0,f=null]],remote=WebSocketRemoteEndpoint@415b9b9f[batching=true],incoming=JettyListenerEventDriver[org.openhab.binding.freeathome.internal.handler.FreeAtHomeBridgeHandler],outgoing=ExtensionStack[queueSize=0,extensions=[],incoming=org.eclipse.jetty.websocket.common.WebSocketSession,outgoing=org.eclipse.jetty.websocket.client.io.WebSocketClientConnection]]
2025-03-05 09:51:29.884 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F59C4F93/ch0000/odp0000": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:51:29.884 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F59C4F93/ch0000/odp0000": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:51:29.885 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F59C4F93/ch0000/odp0000": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:51:29.886 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F59C4F93/ch0000/odp0000 value 0
2025-03-05 09:51:29.886 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F59C4F93/ch0000/odp0000 value 0
2025-03-05 09:51:29.887 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F59C4F93/ch0000/odp0000 value 0
2025-03-05 09:51:30.884 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B727/ch0000/odp0000": "0","ABB7F4F9B727/ch0000/odp0002": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:51:30.884 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B727/ch0000/odp0000": "0","ABB7F4F9B727/ch0000/odp0002": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:51:30.885 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B727/ch0000/odp0000": "0","ABB7F4F9B727/ch0000/odp0002": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:51:30.885 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B727/ch0000/odp0000 value 0
2025-03-05 09:51:30.885 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B727/ch0000/odp0000 value 0
2025-03-05 09:51:30.886 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B727/ch0000/odp0002 value 0
2025-03-05 09:51:30.886 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B727/ch0000/odp0002 value 0
2025-03-05 09:51:30.886 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B727/ch0000/odp0000 value 0
2025-03-05 09:51:30.886 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B727/ch0000/odp0002 value 0
2025-03-05 09:51:33.983 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B749/ch0000/odp0002": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:51:33.984 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B749/ch0000/odp0002": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:51:33.984 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B749/ch0000/odp0002": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:51:33.984 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B749/ch0000/odp0002 value 0
2025-03-05 09:51:33.984 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B749/ch0000/odp0002 value 0
2025-03-05 09:51:33.984 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B749/ch0000/odp0002 value 0
2025-03-05 09:51:34.984 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B749/ch0000/odp0000": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:51:34.984 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B749/ch0000/odp0000": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:51:34.985 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B749/ch0000/odp0000": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:51:34.986 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B749/ch0000/odp0000 value 0
2025-03-05 09:51:34.986 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B749/ch0000/odp0000 value 0
2025-03-05 09:51:34.986 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B749/ch0000/odp0000 value 0
2025-03-05 09:51:35.984 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B744/ch0000/odp0000": "0","ABB7F4F9B744/ch0000/odp0002": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:51:35.984 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B744/ch0000/odp0000": "0","ABB7F4F9B744/ch0000/odp0002": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:51:35.984 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B744/ch0000/odp0000": "0","ABB7F4F9B744/ch0000/odp0002": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:51:35.985 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B744/ch0000/odp0000 value 0
2025-03-05 09:51:35.985 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B744/ch0000/odp0000 value 0
2025-03-05 09:51:35.986 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B744/ch0000/odp0000 value 0
2025-03-05 09:51:35.986 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B744/ch0000/odp0002 value 0
2025-03-05 09:51:35.986 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B744/ch0000/odp0002 value 0
2025-03-05 09:51:35.986 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B744/ch0000/odp0002 value 0
2025-03-05 09:51:45.985 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B727/ch0000/odp0002": "0","ABB7F4F9B745/ch0000/odp0000": "0","ABB7F4F9B745/ch0000/odp0002": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:51:45.985 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B727/ch0000/odp0002": "0","ABB7F4F9B745/ch0000/odp0000": "0","ABB7F4F9B745/ch0000/odp0002": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:51:45.985 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B727/ch0000/odp0002": "0","ABB7F4F9B745/ch0000/odp0000": "0","ABB7F4F9B745/ch0000/odp0002": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:51:45.986 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B727/ch0000/odp0002 value 0
2025-03-05 09:51:45.986 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B727/ch0000/odp0002 value 0
2025-03-05 09:51:45.986 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B727/ch0000/odp0002 value 0
2025-03-05 09:51:45.987 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B745/ch0000/odp0000 value 0
2025-03-05 09:51:45.988 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B745/ch0000/odp0000 value 0
2025-03-05 09:51:45.988 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B745/ch0000/odp0000 value 0
2025-03-05 09:51:45.988 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B745/ch0000/odp0002 value 0
2025-03-05 09:51:45.988 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B745/ch0000/odp0002 value 0
2025-03-05 09:51:45.989 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B745/ch0000/odp0002 value 0
2025-03-05 09:51:49.485 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B749/ch0000/odp0002": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:51:49.485 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B749/ch0000/odp0002": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:51:49.485 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B749/ch0000/odp0002": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:51:49.486 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B749/ch0000/odp0002 value 0
2025-03-05 09:51:49.486 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B749/ch0000/odp0002 value 0
2025-03-05 09:51:49.486 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B749/ch0000/odp0002 value 0
2025-03-05 09:51:50.585 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B744/ch0000/odp0002": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:51:50.585 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B744/ch0000/odp0002": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:51:50.585 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B744/ch0000/odp0002": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:51:50.586 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B744/ch0000/odp0002 value 0
2025-03-05 09:51:50.586 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B744/ch0000/odp0002 value 0
2025-03-05 09:51:50.586 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B744/ch0000/odp0002 value 0
2025-03-05 09:52:00.184 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B745/ch0000/odp0002": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:00.184 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B745/ch0000/odp0002": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:00.184 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B745/ch0000/odp0002 value 0
2025-03-05 09:52:00.184 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B745/ch0000/odp0002 value 0
2025-03-05 09:52:00.185 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B745/ch0000/odp0002": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:00.185 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B745/ch0000/odp0002 value 0
2025-03-05 09:52:07.993 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Server connecting to websocket
2025-03-05 09:52:07.995 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Websocket connection to SysAP is OK, timeout: 90
2025-03-05 09:52:07.996 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket connection closed
2025-03-05 09:52:07.996 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Delaying (re)connect request by 60 seconds.
2025-03-05 09:52:08.287 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket Connected - Timeout -1 - sesson: WebSocketSession[websocket=JettyListenerEventDriver[org.openhab.binding.freeathome.internal.handler.FreeAtHomeBridgeHandler],behavior=CLIENT,connection=WebSocketClientConnection@66599267::SocketChannelEndPoint@29a4184f{l=/192.168.188.30:42604,r=/192.168.188.25:80,OPEN,fill=-,flush=-,to=1/-1}{io=0/0,kio=0,kro=1}->WebSocketClientConnection@66599267[s=ConnectionState@14964300[OPENING],f=Flusher@411895d[IDLE][queueSize=0,aggregateSize=-1,terminated=null],g=Generator[CLIENT,validating],p=Parser@2ef1e912[ExtensionStack,s=START,c=0,len=0,f=null]],remote=WebSocketRemoteEndpoint@271eeae3[batching=true],incoming=JettyListenerEventDriver[org.openhab.binding.freeathome.internal.handler.FreeAtHomeBridgeHandler],outgoing=ExtensionStack[queueSize=0,extensions=[],incoming=org.eclipse.jetty.websocket.common.WebSocketSession,outgoing=org.eclipse.jetty.websocket.client.io.WebSocketClientConnection]]
2025-03-05 09:52:09.584 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B715/ch0000/odp0002": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:09.584 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B715/ch0000/odp0002": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:09.585 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B715/ch0000/odp0002": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:09.585 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B715/ch0000/odp0002 value 0
2025-03-05 09:52:09.585 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B715/ch0000/odp0002 value 0
2025-03-05 09:52:09.585 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B715/ch0000/odp0002 value 0
2025-03-05 09:52:09.585 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B715/ch0000/odp0002": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:09.586 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B715/ch0000/odp0002 value 0
2025-03-05 09:52:10.585 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B715/ch0000/odp0000": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:10.585 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B715/ch0000/odp0000": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:10.586 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B715/ch0000/odp0000": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:10.587 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B715/ch0000/odp0000 value 0
2025-03-05 09:52:10.587 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B715/ch0000/odp0000": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:10.588 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B715/ch0000/odp0000 value 0
2025-03-05 09:52:10.588 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B715/ch0000/odp0000 value 0
2025-03-05 09:52:10.588 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B715/ch0000/odp0000 value 0
2025-03-05 09:52:15.685 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B727/ch0000/odp0003": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:15.685 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B727/ch0000/odp0003": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:15.686 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B727/ch0000/odp0003": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:15.686 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B727/ch0000/odp0003 value 0
2025-03-05 09:52:15.686 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B727/ch0000/odp0003 value 0
2025-03-05 09:52:15.686 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B727/ch0000/odp0003 value 0
2025-03-05 09:52:15.687 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B727/ch0000/odp0003": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:15.687 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B727/ch0000/odp0003 value 0
2025-03-05 09:52:16.684 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B727/ch0000/odp0001": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:16.684 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B727/ch0000/odp0001": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:16.684 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B727/ch0000/odp0001": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:16.684 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B727/ch0000/odp0001 value 0
2025-03-05 09:52:16.684 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B727/ch0000/odp0001 value 0
2025-03-05 09:52:16.684 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B727/ch0000/odp0001 value 0
2025-03-05 09:52:16.684 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B727/ch0000/odp0001": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:16.685 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B727/ch0000/odp0001 value 0
2025-03-05 09:52:18.986 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B749/ch0000/odp0003": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:18.986 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B749/ch0000/odp0003": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:18.986 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B749/ch0000/odp0003": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:18.987 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B749/ch0000/odp0003 value 0
2025-03-05 09:52:18.987 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B749/ch0000/odp0003 value 0
2025-03-05 09:52:18.987 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B749/ch0000/odp0003 value 0
2025-03-05 09:52:18.987 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B749/ch0000/odp0003": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:18.987 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B749/ch0000/odp0003 value 0
2025-03-05 09:52:19.985 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B749/ch0000/odp0001": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:19.985 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B749/ch0000/odp0001": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:19.986 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B749/ch0000/odp0001 value 0
2025-03-05 09:52:19.986 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B749/ch0000/odp0001 value 0
2025-03-05 09:52:19.986 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B749/ch0000/odp0001": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:19.986 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B749/ch0000/odp0001": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:19.987 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B749/ch0000/odp0001 value 0
2025-03-05 09:52:19.987 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B749/ch0000/odp0001 value 0
2025-03-05 09:52:20.984 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B744/ch0000/odp0001": "0","ABB7F4F9B744/ch0000/odp0003": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:20.984 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B744/ch0000/odp0001": "0","ABB7F4F9B744/ch0000/odp0003": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:20.984 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B744/ch0000/odp0001": "0","ABB7F4F9B744/ch0000/odp0003": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:20.984 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B744/ch0000/odp0001": "0","ABB7F4F9B744/ch0000/odp0003": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:20.985 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B744/ch0000/odp0001 value 0
2025-03-05 09:52:20.985 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B744/ch0000/odp0001 value 0
2025-03-05 09:52:20.985 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B744/ch0000/odp0001 value 0
2025-03-05 09:52:20.985 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B744/ch0000/odp0001 value 0
2025-03-05 09:52:20.985 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B744/ch0000/odp0003 value 0
2025-03-05 09:52:20.986 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B744/ch0000/odp0003 value 0
2025-03-05 09:52:20.986 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B744/ch0000/odp0003 value 0
2025-03-05 09:52:20.985 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B744/ch0000/odp0003 value 0
2025-03-05 09:52:24.584 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B715/ch0000/odp0002": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:24.584 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B715/ch0000/odp0002": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:24.584 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B715/ch0000/odp0002": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:24.584 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B715/ch0000/odp0002": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:24.585 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B715/ch0000/odp0002 value 0
2025-03-05 09:52:24.585 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B715/ch0000/odp0002 value 0
2025-03-05 09:52:24.585 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B715/ch0000/odp0002 value 0
2025-03-05 09:52:24.585 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B715/ch0000/odp0002 value 0
2025-03-05 09:52:30.185 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B745/ch0000/odp0003": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:30.185 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B745/ch0000/odp0003": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:30.185 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B745/ch0000/odp0003": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:30.185 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B745/ch0000/odp0003 value 0
2025-03-05 09:52:30.185 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B745/ch0000/odp0003 value 0
2025-03-05 09:52:30.185 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B745/ch0000/odp0003": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:30.185 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B745/ch0000/odp0003 value 0
2025-03-05 09:52:30.186 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B745/ch0000/odp0003 value 0
2025-03-05 09:52:31.084 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B745/ch0000/odp0001": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:31.084 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B745/ch0000/odp0001": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:31.085 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B745/ch0000/odp0001 value 0
2025-03-05 09:52:31.085 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B745/ch0000/odp0001 value 0
2025-03-05 09:52:31.086 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B745/ch0000/odp0001": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:31.086 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B745/ch0000/odp0001": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:31.087 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B745/ch0000/odp0001 value 0
2025-03-05 09:52:31.087 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B745/ch0000/odp0001 value 0
2025-03-05 09:52:54.588 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B715/ch0000/odp0003": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:54.588 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B715/ch0000/odp0003": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:54.588 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B715/ch0000/odp0003": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:54.588 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B715/ch0000/odp0003": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:54.589 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B715/ch0000/odp0003 value 0
2025-03-05 09:52:54.589 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B715/ch0000/odp0003 value 0
2025-03-05 09:52:54.589 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B715/ch0000/odp0003 value 0
2025-03-05 09:52:54.589 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B715/ch0000/odp0003 value 0
2025-03-05 09:52:55.585 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B715/ch0000/odp0001": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:55.586 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B715/ch0000/odp0001": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:55.585 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B715/ch0000/odp0001": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:55.586 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B715/ch0000/odp0001 value 0
2025-03-05 09:52:55.586 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Received websocket text: {"00000000-0000-0000-0000-000000000000": {"datapoints": {"ABB7F4F9B715/ch0000/odp0001": "0"},"parameters": {},"devices": {},"devicesAdded": [],"devicesRemoved": [],"scenesTriggered": {}}}
2025-03-05 09:52:55.587 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B715/ch0000/odp0001 value 0
2025-03-05 09:52:55.587 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B715/ch0000/odp0001 value 0
2025-03-05 09:52:55.586 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket event processed: event-datapoint-ID ABB7F4F9B715/ch0000/odp0001 value 0
2025-03-05 09:53:07.997 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Server connecting to websocket
2025-03-05 09:53:07.998 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Websocket connection to SysAP is OK, timeout: 90
2025-03-05 09:53:07.998 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket connection closed
2025-03-05 09:53:07.998 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Delaying (re)connect request by 60 seconds.
2025-03-05 09:53:08.186 [DEBUG] [rnal.handler.FreeAtHomeBridgeHandler] - Socket Connected - Timeout -1 - sesson: WebSocketSession[websocket=JettyListenerEventDriver[org.openhab.binding.freeathome.internal.handler.FreeAtHomeBridgeHandler],behavior=CLIENT,connection=WebSocketClientConnection@705ab42f::SocketChannelEndPoint@7191d0b8{l=/192.168.188.30:43282,r=/192.168.188.25:80,OPEN,fill=-,flush=-,to=0/-1}{io=0/0,kio=0,kro=1}->WebSocketClientConnection@705ab42f[s=ConnectionState@680403c3[OPENING],f=Flusher@2d602c23[IDLE][queueSize=0,aggregateSize=-1,terminated=null],g=Generator[CLIENT,validating],p=Parser@8be0e6c[ExtensionStack,s=START,c=0,len=0,f=null]],remote=WebSocketRemoteEndpoint@77551bd3[batching=true],incoming=JettyListenerEventDriver[org.openhab.binding.freeathome.internal.handler.FreeAtHomeBridgeHandler],outgoing=ExtensionStack[queueSize=0,extensions=[],incoming=org.eclipse.jetty.websocket.common.WebSocketSession,outgoing=org.eclipse.jetty.websocket.client.io.WebSocketClientConnection]
@rover1982 Have you tested version 4.3 of the binding? Are you also experiencing connection issues?
Hi- I’m also sorry for the late answer Unfortunally i’v no time at the moment for deeper testing and analysing. But: I’ve installed the binding about a month ago in my ‘productive’ openhab environment. It works slightly better, but (without checking the logs, just the obvious issuses):
-strange actuator feedback behavior: sometimes it works, sometimes not
-Also had the effect that a 4 channel actuator gave feedback over the first two channels, but not the third and the fourth channel…
-Sometimes the Openhab- things get a red flag/ go offline due to communication problems. But not all things and not the bridge
-I couldnt find out any change changing the ‘send keep alive to sysAP’ switch
-Incoming temperature Data works. But i’ve one virtual temperature sensor wich i have to feed from openhab (Sensor Data from Openhab-> F@H/ target temperature F@H → Openhab). This works for some time, all values are correctly shown. But then also this sensor gets marked red and stops communication.
-The Tenton- Switch works fine as temperature sensor. The VOC/ Humidity/ CO2 values are not shown.
I can suplly logfiles/ data, but please tell me ecaxtly wich ones you need
I also know about the swagger tool on the SysAP- but i need advice how to use it. Sorry
@rover1982, it might be helpful if you set the binding debug level to DEBUG and share the corresponding logs for each of your issues.
and concerning the strange behaviour concerning the actuator feedback, have you tried this:
I’m not sure if this issue has always existed or if it started with the Free@Home Systempoint update to 3.4.3. However, my wireless blind actuator stopped working because it now uses (new) undocumented function IDs.
I identified the missing IDs and implemented a fix.
Additionally, I reworked the connect/reconnect error handling.
I started with your code @UhA and created my own fork of the official repository. You can check it out here:
@lsiepel could you help me with Git again? Could you review my fork before I attempt to submit a pull request?
I reviewed your changes. The way you exception handling when starting up is good. It matches how we handle errors in the rest of the code.
However, I have the following comments regarding the WebSocket worker thread:
- The WebSocket worker thread is initiated within the binding’s initialize() method, but only after the HTTP connection has been successfully established, and the httpConnectionOK flag is set to true.
- The httpConnectionOK flag is only set to false during the initialization phase and remains true during runtime.
- Consequently, the WebSocket worker thread will not start if httpConnectionOK is false, indicating a general issue during the binding’s initialization.
Therefore:
- The WebSocket worker thread should operate under the assumption that the HTTP connection is reliably active.
- However, in the current implementation, httpConnectionOK will never be false outside of initialization.
- If the WebSocket worker thread happens to execute faster than the initialization thread, a race condition could arise concerning the establishment of the HTTP connection.
I don’t think we need to add complex error handling for the HTTP connection right now. If we want to handle HTTP connection problems and try to reconnect later, we’ll need to make a better way to handle errors, including how we use httpConnectionOK.
I think the current reconnectHttp() code isn’t needed. Without changing how we handle HTTP connection errors, it might cause more problems than it solves.
while (!isInterrupted()) {
int reconnectCounter = -1;
if (httpConnectionOK.get()) {
reconnectCounter++;
logger.debug("httpConnectionOK {}", httpConnectionOK.get());
........
} else {
logger.debug("httpConnectionOK NOT True, attempting to reconnect HTTP");
if (reconnectHttp()) {
logger.info("HTTP connection re-established");
} else {
logger.warn("Failed to re-establish HTTP connection, retrying in {} seconds",
BRIDGE_WEBSOCKET_RECONNECT_DELAY);
TimeUnit.SECONDS.sleep(BRIDGE_WEBSOCKET_RECONNECT_DELAY);
@UhA thanks for the quick reply.
During my tests, I encountered one situation where the Free@Home SysApp crashed—it became unreachable via the web interface, and only a power-off/on cycle restored functionality.
At first, I tried disabling and re-enabling the binding, but I ended up in an “HTTP connection not okay” loop. I cannot reproduce the issue, so I’m fine with removing that error handling. However, let’s keep the corresponding console.log
for debugging.
Currently, the code runs stably. However, the main issue is that I cannot detect when the SysApp is down. Unplugging the LAN cable isn’t recognized by the binding because I have to disable “keep-alive.” Enabling “keep-alive” immediately kills the connection after sending the signal, returning error code 1006. I don’t understand why this happens only for me but works for others.
Do you have a SysApp v1 or v2?
Perhaps we should include the SysApp version in debug messages?
At first, I tried disabling and re-enabling the binding, but I ended up in an “HTTP connection not okay” loop. I cannot reproduce the issue, so I’m fine with removing that error handling. However, let’s keep the corresponding console.log for debugging.
Keeping the console.log
is a good idea. I would also like to see it if the issue occurs again. Maybe we can catch the problem and create a final solution for it.
Currently, the code runs stably. However, the main issue is that I cannot detect when the SysApp is down. Unplugging the LAN cable isn’t recognized by the binding because I have to disable “keep-alive.” Enabling “keep-alive” immediately kills the connection after sending the signal, returning error code 1006. I don’t understand why this happens only for me but works for others.
The keep-alive mechanism should recognize all problems in the communication immediately, including plugging the LAN cable or problems with the Wi-Fi connection. If you disabled the keep-alive message, you can still send a ping to the SysApp cyclically (once an hour or once a day) to detect network issues. Then you can create an OpenHAB script to restart the binding or inform you about the problem.
Do you have a SysApp v1 or v2?
I have a SysApp V2
Perhaps we should include the SysApp version in debug messages?
It’s a good idea. I would add even more information. I checked the Swagger documentation but did not find any REST API endpoints; perhaps I overlooked something. Therefore, this could only be user input, which, in my opinion, is not necessary, because the user can also share the information about the SysApp hardware and software version when sharing the log file.
What do you think about it?"
regarding the hardware revision (v1 or v2), I couldn’t find anything in the documentation either.
However, I think adding the SysApp firmware version to the logs would be a great idea.
Yes, users can share it separately, but even I struggled to track what happened in the logs after each firmware update—especially since I updated the SysApp but didn’t remember the exact time.
This should be relatively easy to implement. I’ll give it a try next weekend or the one after.
http://192.168.188.25/fhapi/v1/api/rest/sysap
I’ll also experiment with the timeouts like this. I don’t have time today, but I’ll test it in the coming days. Maybe this will help detect a disconnected LAN cable.
if (localWebsocketClient != null) {
localWebsocketClient.setMaxTextMessageBufferSize(8 * 1024);
// Set the maximum idle timeout for the WebSocket connection.
// If no activity occurs within this time, the connection will be closed automatically.
localWebsocketClient.setMaxIdleTimeout(BRIDGE_WEBSOCKET_TIMEOUT * 1000); // milliseconds
// Set the connection timeout for the WebSocket client.
// This defines how long the client should wait before considering the connection attempt as failed.
// Like the idle timeout, the value is converted from seconds to milliseconds.
localWebsocketClient.setConnectTimeout(BRIDGE_WEBSOCKET_TIMEOUT * 1000); // milliseconds
localWebsocketClient.start();
ClientUpgradeRequest request = new ClientUpgradeRequest();
request.setHeader("Authorization", authField);
// Set the timeout for the WebSocket upgrade process (i.e., the time allowed for the handshake to
// complete).
// Unlike `setConnectTimeout()`, which applies to the lower-level network connection, this timeout
// applies specifically to the WebSocket upgrade request.
// The timeout is specified in SECONDS, using `TimeUnit.SECONDS`.
request.setTimeout(BRIDGE_WEBSOCKET_TIMEOUT, TimeUnit.SECONDS);
localWebsocketClient.connect(this, uri, request);
logger.debug("Websocket connection to SysAP is OK, timeout: {}seconds", BRIDGE_WEBSOCKET_TIMEOUT);
ret = true;
And what would be the next steps toward a pull request? I’m not very familiar with GitHub.
SysAp Firmware version sounds good. This might easier identify some issues
@ML1982
Pull-Request: You need to sync with the remote. The test shall be green on your branch and please check also the code quality report in the file
…/openhab-addons/bundles/org.openhab.binding.freeathome/target/summary_report.html
If everything fine you can rise the PR
(I think the test is done very intensively on your side )
@UhA a made a few Changes, maybe you can have a look on my fork.
I found that sendPing()
works well on my system, keeping the connection very stable. In contrast, using sendString()
for keep-alive immediately kills the connection.
A SysApp restart and a disconnected LAN cable are now properly detected.
Additionally, the SysApp version is now retrieved and logged.
I also reduced the timing parameters—perhaps we should make them configurable in the Thing menu:
BRIDGE_WEBSOCKET_RECONNECT_DELAY = 5; // Seconds
BRIDGE_WEBSOCKET_TIMEOUT = 90; // Seconds
BRIDGE_WEBSOCKET_KEEPALIVE = 10; // Seconds
To be more precise, I also removed the multiplier at the point where the constants are applied.
Hi,
can you send me a link to your branch and I will look into.
Here is the link to my repo: https://github.com/ML19821/openhab-addons.git. In my fork, I worked on the “main” branch, but I’m unsure if that was the right approach.
@UhA Just a friendly reminder
@lsiepel Could you please help me with the pull request?
If I understood correctly, I need to create a branch in my fork first. After that, I should rebase my fork’s main
branch, right?
First of all make sure you have a copy of all your changes. (Just save the binding folder somewhere else)
Reset and update your main branch, create a feature branch and apply your changes to that feature branch. From there you can create a PR.
Hi @ML1982,
Your code looks good. I’ve noticed one point regarding the fetchSysapVersion function.
Currently, it seems this function is being called implicitly during device discovery within the getDeviceDeviceList function.
I think it would be clearer and potentially more manageable to call it explicitly during the discovery process.
What are your thoughts on this?
@UhA thanks for reviewing the code.
I think it would be a good idea, to fetch the Version after each connect. That way, if there’s a firmware update and a reconnect happens, we’ll automatically get the updated version information.
I will try to create the PR this weekend