OWNd icon indicating copy to clipboard operation
OWNd copied to clipboard

OWNd sometimes receives temperature WHO=4 as response to WHO=1

Open michnovka opened this issue 1 year ago • 0 comments

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 ?

michnovka avatar Aug 29 '24 15:08 michnovka