OWNd
OWNd copied to clipboard
OWNd sometimes receives temperature WHO=4 as response to WHO=1
Sometimes I have to turn off/on lights 2 times, as the first one is ignored.
I suspect this is because I have lot of devices, so there is lot of noise on the BUS.
Look at this:
assistant | 2024-08-29 17:46:34.947 DEBUG (MainThread) [custom_components.myhome] [MH202 gateway - 192.168.1.40] Message `*1*0*31##` was successfully queued.
homeassistant | 2024-08-29 17:46:34.947 DEBUG (MainThread) [custom_components.myhome] MH202 Gateway (192.168.1.40) Message `*1*0*31##` was successfully unqueued by worker 0.
homeassistant | 2024-08-29 17:46:34.948 DEBUG (MainThread) [custom_components.myhome] [MH202 gateway - 192.168.1.40] Message `*1*0*31##` received response `*#4*2*14*0330##`.
homeassistant | 2024-08-29 17:46:36.913 DEBUG (MainThread) [custom_components.myhome] [MH202 gateway - 192.168.1.40] Message `*1*0*31##` was successfully queued.
homeassistant | 2024-08-29 17:46:36.915 DEBUG (MainThread) [custom_components.myhome] MH202 Gateway (192.168.1.40) Message `*1*0*31##` was successfully unqueued by worker 0.
homeassistant | 2024-08-29 17:46:36.916 DEBUG (MainThread) [custom_components.myhome] [MH202 gateway - 192.168.1.40] Command session connection reset, retrying...
homeassistant | 2024-08-29 17:46:36.916 DEBUG (MainThread) [custom_components.myhome] [MH202 gateway - 192.168.1.40] Opening command session.
homeassistant | 2024-08-29 17:46:36.920 DEBUG (MainThread) [custom_components.myhome] [MH202 gateway - 192.168.1.40] Negotiating command session.
homeassistant | 2024-08-29 17:46:36.923 DEBUG (MainThread) [custom_components.myhome] [MH202 gateway - 192.168.1.40] Received nonce: `*#564406257##`
homeassistant | 2024-08-29 17:46:36.923 DEBUG (MainThread) [custom_components.myhome] [MH202 gateway - 192.168.1.40] Sending command session password.
homeassistant | 2024-08-29 17:46:36.925 DEBUG (MainThread) [custom_components.myhome] [MH202 gateway - 192.168.1.40] Command session established.
homeassistant | 2024-08-29 17:46:37.006 INFO (MainThread) [custom_components.myhome] [MH202 gateway - 192.168.1.40] Message `*1*0*31##` was successfully sent.
homeassistant | 2024-08-29 17:46:37.010 DEBUG (MainThread) [custom_components.myhome] [MH202 gateway - 192.168.1.40] Message received: `*1*1000#0*31##`
homeassistant | 2024-08-29 17:46:37.010 DEBUG (MainThread) [custom_components.myhome] [MH202 gateway - 192.168.1.40] Ignoring translation message `*1*1000#0*31##`
homeassistant | 2024-08-29 17:46:37.055 DEBUG (MainThread) [custom_components.myhome] [MH202 gateway - 192.168.1.40] Message received: `*1*0*31##`
homeassistant | 2024-08-29 17:46:37.055 INFO (MainThread) [custom_components.myhome] [MH202 gateway - 192.168.1.40] Light 31 is switched off.
So the first message to turn off light 31 *1*0*31## is sent and gets invalid response *#4*2*14*0330##. This corresponds to BUS updating itself that thermostat in zone 2 should set temp to 33 degrees.
Proposal
I think on such cases we should retry the message until we get conf from the server that it was indeed acknowledged
Still what is weird - why does the successful message *1*0*31## not get simple ACK, but it gets instead that translation message with 1000 ?