Closed luke7101 closed 5 months ago
Hi, same here since yesterday: 2023-12-05 11:38:55.327 ERROR (MainThread) [custom_components.heatzy.climate] Set preset mode (away) Command failed control/xxxxxxxxxxxxxxxxxxxxxxxxxxx with {'json': {'attrs': {'mode': 'fro'}}} (400 BAD REQUEST) (None) 2023-12-05 11:38:59.495 ERROR (MainThread) [custom_components.heatzy.climate] Set preset mode (away) Command failed control/xxxxxxxxxxxxxxxxxxxxxxxxxxx with {'json': {'attrs': {'mode': 'fro'}}} (400 BAD REQUEST) (None)
EDIT: just in case it would help, I already tried unbinding/rebinding the whole HA extension. The devices are found like a charm, but the heat control issue remains as before. Maybe did "they" change something on the API side ? (err 400)
EDIT2: everything got back to normal today 3:22am (UTC+1). Most probably an API-side issue (?)
Indeed the problem must have been on their side because I did not change the code.
This is a problem that has been occurring for several months, not solved on my side at the moment. 7AM today it wasn't working. I'm not testing all day long but I can tell you that happens more than once a day. FYI I have one integration and 5 pilot devices
Please test last release 5.9.7 and if issue continue, please execute "Download Diagnostic" and post file in this issue
Ok thanks, just updated. Will keep you posted 👍
Hi, no 400 since the update, until this morning! Despite the update there are still other, less annoying, errors (500 and 502) popping up here and there during the day.
[...]
2023-12-13 18:23:44.067 ERROR (MainThread) [custom_components.heatzy.coordinator] Error fetching heatzy data: devdata/xxxxxxxxxxxxxxxxxxxxxx/latest not retrieved (502)
2023-12-14 03:31:01.973 ERROR (MainThread) [custom_components.heatzy.coordinator] Error fetching heatzy data: bindings not retrieved (500)
2023-12-14 03:37:09.866 ERROR (MainThread) [custom_components.heatzy.coordinator] Error fetching heatzy data: bindings not retrieved (502)
2023-12-14 05:15:04.728 ERROR (MainThread) [custom_components.heatzy.coordinator] Error fetching heatzy data: devdata/yyyyyyyyyyyyyyyyyyyyyy/latest not retrieved (500)
2023-12-14 08:08:15.534 ERROR (MainThread) [custom_components.heatzy.climate] Error to set preset mode: away (Command failed control/zzzzzzzzzzzzzzzzzzzzzz with {'json': {'attrs': {'mode': 2}}} (400 BAD REQUEST))
2023-12-14 08:08:29.667 ERROR (MainThread) [custom_components.heatzy.climate] Error to set preset mode: away (Command failed control/zzzzzzzzzzzzzzzzzzzzzz with {'json': {'attrs': {'mode': 2}}} (400 BAD REQUEST))
2023-12-14 08:41:55.445 ERROR (MainThread) [custom_components.heatzy.climate] Error to set preset mode: away (Command failed control/zzzzzzzzzzzzzzzzzzzzzz with {'json': {'attrs': {'mode': 2}}} (400 BAD REQUEST))
Diag file is safe to be posted as is, or should I remove infos that could be sensitive ? Maybe a PM (is there some sort of PM here?) or an email ?
Hi, today a few 400 BAD REQUEST again. I had a chance to do a few debug tho. The problem today was related to one of my 5 pilot2 devices. While one device is reporting 400 BAD REQUEST I can still push orders and get status to and from the 4 others. The non working one is still working in the official app, its status is correctly reported and I can do actions on it, therefore these actions aren't reported in HA.
I activated the debug logging and have isolated this parameter :
In the binding management : METHOD:GET URL:bindings
I have in the response the following parameter regarding the non working device : 'is_online': False
All other devices are 'is_online': True
, and when the non working one begins to work again, it's of course reported as online.
Hoping this can help you find a solution!
is_online: False means your device cannot communicate with the Heatzy cloud. Have you checked if the Wifi signal is correct. Because I think your module disconnects from time to time and you encounter error 400 when it is disconnected.
I can understand that, but as said the device is working well with the official app while is returned as offline from the integration. That's weird!
I share your assumption that the wifi link might be the cause of such events. They occur several times a day here in my house. Seems the Heatzy wifi is hardly able to keep the network stable, or has a poor sensitivity. As in any other network, you can't make the assumption that the device is reachable at the exact precise moment when you need it to be. The workaround I leveraged is a recurring scenario, which will send on&off requests each 2 minutes. No matters it fails once or twice, at some point it will succeed.
The Heatzy app does not poll the API until there is any action. So you have the last known state displayed. Try changing a value of your module in the app at the same time as HA gives you a 400, and you'll see that on the app the old state stays in place. I completely agree with the comments of @ElGibs
The only thing I can do in the code is try to retry if I get a 400. it is impossible to pause the command, because this will make the execution loop blocking.
I tried this morning to change the value in the app while HA gave a 400, the change was operated by the module, the status was updated on the app, while in HA it was still giving a 400. Later in the morning the module updated to the right status in HA as well, I looked at the logs and noticed the change of the is_online status to True.
Do the heatzy app and the HA integration poll the very same API ? It's weird they got different answers.
I either made a mistake in my monitoring, or there's something else...
Of course they use exactly the same API.
Officiel API Documentation https://mega.nz/folder/eupDGQCb#gKu0lXx0VM7gbZxmuTb0DQ
API Guide https://mega.nz/folder/eupDGQCb#gKu0lXx0VM7gbZxmuTb0DQ
Yes I know, I went to this page for debugging this morning. That's why I haven't said time_week is different, cause I learned it's not very relevant, hence it shows the device was flagged offline since yesterday I guess.
A mystery then...
the Wifi module is 2.4Ghz and it is not at all stable. try to move the module. I am going to make a change in the code to do 3 retry with 3 second intervals for errors 400,500,502 but unfortunately I could not do anything more.
Please test : 5.9.8-beta1 I also added a check which checks if the is_online status is True, otherwise HA considers the equipment as unavailable.
Just updated. Actually all devices are online so no 400 to play with.
What I can see is PUT is working as expected and actions made from HA are almost real time reflected in the heatzy app. On the other end GET is more unstable. It looks like on the first attempt it correctly updates the device mode, but if I try multiple times it continues to get the previous mode, it's like the answer is cached on the server side, and it takes a few minutes (5-6 poll routines) before the answer returns the correct mode. Meanwhile, I repeat, the heatzy app is updated real time, like there's no poll but an online look over the server status.
Update: I struggle to understand ... Previous behavior lasted more than 10 minutes on my last attempt (heater in eco, heatzy app in eco, GET reporting cft). Then I stopped watching and smartphone went in standby. I woke it up, heatzy app refreshed, still in eco like the heater, but the next poll in HA reported eco as well. Like the app refresh unlocked the cache in the HA API poll ...
I think I'll stop watching it because it gives me headaches !
Salut, je reviens à la charge après les vacances pour une petite mise à jour (je suis en v.6.1.0).
Depuis quelques heures j'ai un pilote2 qui peut être contrôlé sans problèmes par l'app officielle (il est tout à fait connecté au réseau et répond aux commandes envoyées par l'app officielle immédiatement), mais répond avec un 400 à toute commande envoyée depuis HA et son état n'est pas actualisé.
On dirait que l'application officielle et l'intégration basée sur les API publiques semblent ne pas exploiter le même canal de dialogue, comme s'il y avait une API dédiée à l'app officielle qui marche mieux que l'API publique utilisée pour l'intégration.
Un mode Websocket extrêment performant , à tester en sélectionnant les versions commençant par : ws- En activant le mode Beta dans HACS Première sortie : ws-6.1.0 Résoud les problèmes d'erreur : 500 , 502 et notre fameux 400
J'y vais de ce pas ! 👍
En version ws-6.1.0 l'intégration crée les 5 dispositifs mais ne charge l'état que d'un seul
2024-01-03 21:42:30.799 DEBUG (MainThread) [wsheatzypy.heatzy] Connected to a eusandbox.gizwits.com Websocket
2024-01-03 21:42:30.800 DEBUG (MainThread) [wsheatzypy.auth] METHOD:POST URL:login
2024-01-03 21:42:30.800 DEBUG (MainThread) [wsheatzypy.auth] DATA:{'json': {'username': 'xxx@xxx.xxx', 'password': 'xxx'}}
2024-01-03 21:42:30.975 DEBUG (MainThread) [wsheatzypy.auth] {'token': 'xxx', 'uid': 'xxx', 'expire_at': 1714144944}
2024-01-03 21:42:31.070 DEBUG (MainThread) [wsheatzypy.heatzy] Successfully authenticated to eusandbox.gizwits.com Websocket
2024-01-03 21:42:31.070 DEBUG (MainThread) [wsheatzypy.auth] METHOD:GET URL:bindings
2024-01-03 21:42:31.070 DEBUG (MainThread) [wsheatzypy.auth] DATA:{}
2024-01-03 21:42:31.183 DEBUG (MainThread) [wsheatzypy.auth] {'devices': [{'protoc': 3, 'ws_port': 8080, 'port_s': 8883, 'gw_did': '', 'host': 'eusandbox.gizwits.com', 'sleep_duration': 0, 'port': 1883, 'mcu_soft_version': '00000001', 'product_key': '51d16c22a5f74280bc3cfe9ebcdc6402', 'state_last_timestamp': 1704314506, 'role': 'special', 'is_sandbox': True, 'type': 'normal', 'product_name': 'Pilote2', 'is_disabled': False, 'mcu_hard_version': '00000001', 'wifi_soft_version': '04020028', 'dev_alias': 'SDD', 'mesh_id': None, 'is_online': True, 'dev_label': [], 'wss_port': 8880, 'remark': 'range=10|isdelete=1|gid=0|groupname=|grouprange=0', 'did': 'KkfsoYBRrVjivfa9ox6dF8', 'mac': '98f4abb384e0', 'passcode': 'HSKFMKPDRX', 'wifi_hard_version': '00ESP826', 'is_low_power': False}, {'protoc': 3, 'ws_port': 8080, 'port_s': 8883, 'gw_did': '', 'host': 'eusandbox.gizwits.com', 'sleep_duration': 0, 'port': 1883, 'mcu_soft_version': '00000001', 'product_key': '51d16c22a5f74280bc3cfe9ebcdc6402', 'state_last_timestamp': 1704268874, 'role': 'special', 'is_sandbox': True, 'type': 'normal', 'product_name': 'Pilote2', 'is_disabled': False, 'mcu_hard_version': '00000001', 'wifi_soft_version': '04020028', 'dev_alias': 'Bureau', 'mesh_id': None, 'is_online': False, 'dev_label': [], 'wss_port': 8880, 'remark': 'range=3|isdelete=1|gid=0|groupname=|grouprange=0', 'did': 'S2ftmhwbdDwaH4DcfUQx3j', 'mac': '84f3eb7421f3', 'passcode': 'FMTIMXEEGW', 'wifi_hard_version': '00ESP826', 'is_low_power': False}, {'protoc': 3, 'ws_port': 8080, 'port_s': 8883, 'gw_did': '', 'host': 'eusandbox.gizwits.com', 'sleep_duration': 0, 'port': 1883, 'mcu_soft_version': '00000001', 'product_key': '51d16c22a5f74280bc3cfe9ebcdc6402', 'state_last_timestamp': 1704314516, 'role': 'special', 'is_sandbox': True, 'type': 'normal', 'product_name': 'Pilote2', 'is_disabled': False, 'mcu_hard_version': '00000001', 'wifi_soft_version': '04020028', 'dev_alias': 'Chambre', 'mesh_id': None, 'is_online': True, 'dev_label': [], 'wss_port': 8880, 'remark': 'range=6|isdelete=1|gid=0|groupname=|grouprange=0', 'did': 'okPCd7M2BrYVNzZe7FRmCU', 'mac': '84f3eb7393c4', 'passcode': 'PBPMQPUJKN', 'wifi_hard_version': '00ESP826', 'is_low_power': False}, {'protoc': 3, 'ws_port': 8080, 'port_s': 8883, 'gw_did': '', 'host': 'eusandbox.gizwits.com', 'sleep_duration': 0, 'port': 1883, 'mcu_soft_version': '00000001', 'product_key': '51d16c22a5f74280bc3cfe9ebcdc6402', 'state_last_timestamp': 1704314516, 'role': 'special', 'is_sandbox': True, 'type': 'normal', 'product_name': 'Pilote2', 'is_disabled': False, 'mcu_hard_version': '00000001', 'wifi_soft_version': '04020028', 'dev_alias': 'SDB', 'mesh_id': None, 'is_online': True, 'dev_label': [], 'wss_port': 8880, 'remark': 'range=17|isdelete=1|gid=0|groupname=|grouprange=0', 'did': 'wFc9zdyV6niniSHS4AvZcG', 'mac': 'dc4f22751abc', 'passcode': 'GEHETYFGUT', 'wifi_hard_version': '00ESP826', 'is_low_power': False}, {'protoc': 3, 'ws_port': 8080, 'port_s': 8883, 'gw_did': '', 'host': 'eusandbox.gizwits.com', 'sleep_duration': 0, 'port': 1883, 'mcu_soft_version': '00000001', 'product_key': '51d16c22a5f74280bc3cfe9ebcdc6402', 'state_last_timestamp': 1704314523, 'role': 'special', 'is_sandbox': True, 'type': 'normal', 'product_name': 'Pilote2', 'is_disabled': False, 'mcu_hard_version': '00000001', 'wifi_soft_version': '04020028', 'dev_alias': 'Chambre enfants', 'mesh_id': None, 'is_online': True, 'dev_label': [], 'wss_port': 8880, 'remark': 'range=5|isdelete=1|gid=0|groupname=|grouprange=0', 'did': 'xHYXYWaFCkJS8NuGidh32h', 'mac': '84f3eb741e9c', 'passcode': 'RSJSUCJJLW', 'wifi_hard_version': '00ESP826', 'is_low_power': False}]}
2024-01-03 21:42:31.428 DEBUG (MainThread) [wsheatzypy.heatzy] => SDD: {'cmd': 's2c_noti', 'data': {'did': 'KkfsoYBRrVjivfa9ox6dF8', 'attrs': {'mode': 'eco', 'p1_data1': 85, 'p1_data2': 85, 'p1_data3': 21, 'p1_data4': 84, 'p1_data5': 85, 'p1_data6': 85, 'p1_data7': 85, 'p1_data8': 85, 'p1_data9': 85, 'p1_data10': 85, 'p1_data11': 85, 'p1_data12': 85, 'p2_data1': 85, 'p2_data2': 85, 'p2_data3': 85, 'p2_data4': 65, 'p2_data5': 85, 'p2_data6': 85, 'p2_data7': 85, 'p2_data8': 85, 'p2_data9': 85, 'p2_data10': 85, 'p2_data11': 85, 'p2_data12': 85, 'p3_data1': 85, 'p3_data2': 85, 'p3_data3': 85, 'p3_data4': 65, 'p3_data5': 85, 'p3_data6': 85, 'p3_data7': 85, 'p3_data8': 85, 'p3_data9': 85, 'p3_data10': 85, 'p3_data11': 85, 'p3_data12': 85, 'p4_data1': 85, 'p4_data2': 85, 'p4_data3': 85, 'p4_data4': 65, 'p4_data5': 85, 'p4_data6': 85, 'p4_data7': 85, 'p4_data8': 85, 'p4_data9': 85, 'p4_data10': 85, 'p4_data11': 85, 'p4_data12': 85, 'p5_data1': 85, 'p5_data2': 85, 'p5_data3': 85, 'p5_data4': 65, 'p5_data5': 85, 'p5_data6': 85, 'p5_data7': 85, 'p5_data8': 85, 'p5_data9': 85, 'p5_data10': 85, 'p5_data11': 85, 'p5_data12': 85, 'p6_data1': 85, 'p6_data2': 85, 'p6_data3': 85, 'p6_data4': 69, 'p6_data5': 85, 'p6_data6': 85, 'p6_data7': 85, 'p6_data8': 85, 'p6_data9': 85, 'p6_data10': 85, 'p6_data11': 85, 'p6_data12': 85, 'p7_data1': 85, 'p7_data2': 85, 'p7_data3': 85, 'p7_data4': 69, 'p7_data5': 85, 'p7_data6': 85, 'p7_data7': 85, 'p7_data8': 85, 'p7_data9': 85, 'p7_data10': 85, 'p7_data11': 85, 'p7_data12': 85, 'derog_mode': 0, 'derog_time': 0, 'lock_switch': 1, 'time_week': 3, 'time_hour': 43, 'time_min': 16, 'timer_switch': 0, 'boost_switch': 0, 'boost_time': 0, 'data1': 0, 'data2': 0}}}
2024-01-03 21:42:47.665 DEBUG (MainThread) [wsheatzypy.heatzy] {'cmd': 'ping'}
2024-01-03 21:43:11.557 DEBUG (MainThread) [custom_components.heatzy.coordinator] Finished fetching heatzy data in 40.870 seconds (success: True)
2024-01-03 21:43:11.647 DEBUG (MainThread) [wsheatzypy.heatzy] Connected to a eusandbox.gizwits.com Websocket
2024-01-03 21:43:11.742 DEBUG (MainThread) [wsheatzypy.heatzy] Successfully authenticated to eusandbox.gizwits.com Websocket
2024-01-03 21:43:11.742 DEBUG (MainThread) [wsheatzypy.heatzy] {'cmd': 'ping'}
2024-01-03 21:43:11.768 DEBUG (MainThread) [wsheatzypy.heatzy] {'cmd': 'pong'}```
Par la suite différentes choses se sont produites et se reproduisent toutes les 30 minutes apparemment. 4 dispositifs sur 5 sont bien présents.
2024-01-03 22:00:38.545 DEBUG (MainThread) [wsheatzypy.heatzy] {'cmd': 's2c_noti', 'data': {'did': 'xHYXYWaFCkJS8NuGidh32h', 'attrs': {'mode': 'eco', 'p1_data1': 85, 'p1_data2': 85, 'p1_data3': 85, 'p1_data4': 85, 'p1_data5': 85, 'p1_data6': 85, 'p1_data7': 85, 'p1_data8': 85, 'p1_data9': 0, 'p1_data10': 80, 'p1_data11': 85, 'p1_data12': 85, 'p2_data1': 85, 'p2_data2': 85, 'p2_data3': 85, 'p2_data4': 85, 'p2_data5': 85, 'p2_data6': 85, 'p2_data7': 85, 'p2_data8': 85, 'p2_data9': 0, 'p2_data10': 80, 'p2_data11': 85, 'p2_data12': 85, 'p3_data1': 85, 'p3_data2': 85, 'p3_data3': 85, 'p3_data4': 85, 'p3_data5': 85, 'p3_data6': 85, 'p3_data7': 85, 'p3_data8': 85, 'p3_data9': 0, 'p3_data10': 80, 'p3_data11': 85, 'p3_data12': 85, 'p4_data1': 85, 'p4_data2': 85, 'p4_data3': 85, 'p4_data4': 85, 'p4_data5': 85, 'p4_data6': 85, 'p4_data7': 85, 'p4_data8': 85, 'p4_data9': 0, 'p4_data10': 80, 'p4_data11': 85, 'p4_data12': 85, 'p5_data1': 85, 'p5_data2': 85, 'p5_data3': 85, 'p5_data4': 85, 'p5_data5': 85, 'p5_data6': 85, 'p5_data7': 85, 'p5_data8': 85, 'p5_data9': 0, 'p5_data10': 80, 'p5_data11': 85, 'p5_data12': 85, 'p6_data1': 85, 'p6_data2': 85, 'p6_data3': 85, 'p6_data4': 85, 'p6_data5': 5, 'p6_data6': 0, 'p6_data7': 0, 'p6_data8': 0, 'p6_data9': 0, 'p6_data10': 80, 'p6_data11': 85, 'p6_data12': 85, 'p7_data1': 85, 'p7_data2': 85, 'p7_data3': 85, 'p7_data4': 85, 'p7_data5': 5, 'p7_data6': 0, 'p7_data7': 0, 'p7_data8': 0, 'p7_data9': 0, 'p7_data10': 80, 'p7_data11': 85, 'p7_data12': 85, 'derog_mode': 0, 'derog_time': 0, 'lock_switch': 1, 'time_week': 3, 'time_hour': 44, 'time_min': 0, 'timer_switch': 0, 'boost_switch': 0, 'boost_time': 0, 'data1': 0, 'data2': 0}}}
2024-01-03 22:00:38.545 DEBUG (MainThread) [custom_components.heatzy.coordinator] Manually updated heatzy data
2024-01-03 22:00:38.545 DEBUG (MainThread) [custom_components.heatzy.climate] ------- UPDATE CLIMATE KkfsoYBRrVjivfa9ox6dF8 -------
2024-01-03 22:00:38.545 DEBUG (MainThread) [custom_components.heatzy.climate] ------- UPDATE CLIMATE S2ftmhwbdDwaH4DcfUQx3j -------
2024-01-03 22:00:38.545 DEBUG (MainThread) [custom_components.heatzy.climate] ------- UPDATE CLIMATE okPCd7M2BrYVNzZe7FRmCU -------
2024-01-03 22:00:38.545 DEBUG (MainThread) [custom_components.heatzy.climate] ------- UPDATE CLIMATE wFc9zdyV6niniSHS4AvZcG -------
2024-01-03 22:00:38.545 DEBUG (MainThread) [custom_components.heatzy.climate] ------- UPDATE CLIMATE xHYXYWaFCkJS8NuGidh32h -------
2024-01-03 22:00:38.546 DEBUG (MainThread) [custom_components.heatzy.switch] ------- UPDATE SWITCH KkfsoYBRrVjivfa9ox6dF8 -------
2024-01-03 22:00:38.546 DEBUG (MainThread) [custom_components.heatzy.switch] ------- UPDATE SWITCH S2ftmhwbdDwaH4DcfUQx3j -------
2024-01-03 22:00:38.546 DEBUG (MainThread) [custom_components.heatzy.switch] ------- UPDATE SWITCH okPCd7M2BrYVNzZe7FRmCU -------
2024-01-03 22:00:38.546 DEBUG (MainThread) [custom_components.heatzy.switch] ------- UPDATE SWITCH wFc9zdyV6niniSHS4AvZcG -------
2024-01-03 22:00:38.546 DEBUG (MainThread) [custom_components.heatzy.switch] ------- UPDATE SWITCH xHYXYWaFCkJS8NuGidh32h -------
2024-01-03 22:01:41.731 DEBUG (MainThread) [wsheatzypy.heatzy] {'cmd': 's2c_noti', 'data': {'did': 'okPCd7M2BrYVNzZe7FRmCU', 'attrs': {'mode': 'eco', 'p1_data1': 85, 'p1_data2': 85, 'p1_data3': 85, 'p1_data4': 85, 'p1_data5': 5, 'p1_data6': 0, 'p1_data7': 0, 'p1_data8': 0, 'p1_data9': 0, 'p1_data10': 0, 'p1_data11': 0, 'p1_data12': 80, 'p2_data1': 85, 'p2_data2': 85, 'p2_data3': 85, 'p2_data4': 85, 'p2_data5': 5, 'p2_data6': 0, 'p2_data7': 0, 'p2_data8': 0, 'p2_data9': 0, 'p2_data10': 0, 'p2_data11': 0, 'p2_data12': 80, 'p3_data1': 85, 'p3_data2': 85, 'p3_data3': 85, 'p3_data4': 85, 'p3_data5': 5, 'p3_data6': 0, 'p3_data7': 0, 'p3_data8': 0, 'p3_data9': 0, 'p3_data10': 0, 'p3_data11': 0, 'p3_data12': 80, 'p4_data1': 85, 'p4_data2': 85, 'p4_data3': 85, 'p4_data4': 85, 'p4_data5': 5, 'p4_data6': 0, 'p4_data7': 0, 'p4_data8': 0, 'p4_data9': 0, 'p4_data10': 0, 'p4_data11': 0, 'p4_data12': 80, 'p5_data1': 85, 'p5_data2': 85, 'p5_data3': 85, 'p5_data4': 85, 'p5_data5': 5, 'p5_data6': 0, 'p5_data7': 0, 'p5_data8': 0, 'p5_data9': 0, 'p5_data10': 0, 'p5_data11': 0, 'p5_data12': 80, 'p6_data1': 85, 'p6_data2': 85, 'p6_data3': 85, 'p6_data4': 85, 'p6_data5': 5, 'p6_data6': 0, 'p6_data7': 0, 'p6_data8': 0, 'p6_data9': 0, 'p6_data10': 0, 'p6_data11': 0, 'p6_data12': 80, 'p7_data1': 85, 'p7_data2': 85, 'p7_data3': 85, 'p7_data4': 85, 'p7_data5': 5, 'p7_data6': 0, 'p7_data7': 0, 'p7_data8': 0, 'p7_data9': 0, 'p7_data10': 0, 'p7_data11': 0, 'p7_data12': 80, 'derog_mode': 0, 'derog_time': 0, 'lock_switch': 1, 'time_week': 3, 'time_hour': 44, 'time_min': 0, 'timer_switch': 0, 'boost_switch': 0, 'boost_time': 0, 'data1': 0, 'data2': 0}}}
2024-01-03 22:01:41.731 DEBUG (MainThread) [custom_components.heatzy.coordinator] Manually updated heatzy data
2024-01-03 22:01:41.731 DEBUG (MainThread) [custom_components.heatzy.climate] ------- UPDATE CLIMATE KkfsoYBRrVjivfa9ox6dF8 -------
2024-01-03 22:01:41.731 DEBUG (MainThread) [custom_components.heatzy.climate] ------- UPDATE CLIMATE S2ftmhwbdDwaH4DcfUQx3j -------
2024-01-03 22:01:41.732 DEBUG (MainThread) [custom_components.heatzy.climate] ------- UPDATE CLIMATE okPCd7M2BrYVNzZe7FRmCU -------
2024-01-03 22:01:41.732 DEBUG (MainThread) [custom_components.heatzy.climate] ------- UPDATE CLIMATE wFc9zdyV6niniSHS4AvZcG -------
2024-01-03 22:01:41.732 DEBUG (MainThread) [custom_components.heatzy.climate] ------- UPDATE CLIMATE xHYXYWaFCkJS8NuGidh32h -------
2024-01-03 22:01:41.732 DEBUG (MainThread) [custom_components.heatzy.switch] ------- UPDATE SWITCH KkfsoYBRrVjivfa9ox6dF8 -------
2024-01-03 22:01:41.732 DEBUG (MainThread) [custom_components.heatzy.switch] ------- UPDATE SWITCH S2ftmhwbdDwaH4DcfUQx3j -------
2024-01-03 22:01:41.732 DEBUG (MainThread) [custom_components.heatzy.switch] ------- UPDATE SWITCH okPCd7M2BrYVNzZe7FRmCU -------
2024-01-03 22:01:41.732 DEBUG (MainThread) [custom_components.heatzy.switch] ------- UPDATE SWITCH wFc9zdyV6niniSHS4AvZcG -------
2024-01-03 22:01:41.732 DEBUG (MainThread) [custom_components.heatzy.switch] ------- UPDATE SWITCH xHYXYWaFCkJS8NuGidh32h -------
2024-01-03 22:03:13.112 DEBUG (MainThread) [wsheatzypy.heatzy] {'cmd': 's2c_noti', 'data': {'did': 'wFc9zdyV6niniSHS4AvZcG', 'attrs': {'mode': 'fro', 'p1_data1': 85, 'p1_data2': 85, 'p1_data3': 85, 'p1_data4': 69, 'p1_data5': 85, 'p1_data6': 85, 'p1_data7': 85, 'p1_data8': 85, 'p1_data9': 85, 'p1_data10': 85, 'p1_data11': 85, 'p1_data12': 85, 'p2_data1': 85, 'p2_data2': 85, 'p2_data3': 85, 'p2_data4': 69, 'p2_data5': 85, 'p2_data6': 85, 'p2_data7': 85, 'p2_data8': 85, 'p2_data9': 85, 'p2_data10': 85, 'p2_data11': 85, 'p2_data12': 85, 'p3_data1': 85, 'p3_data2': 85, 'p3_data3': 85, 'p3_data4': 69, 'p3_data5': 85, 'p3_data6': 85, 'p3_data7': 85, 'p3_data8': 85, 'p3_data9': 85, 'p3_data10': 85, 'p3_data11': 85, 'p3_data12': 85, 'p4_data1': 85, 'p4_data2': 85, 'p4_data3': 85, 'p4_data4': 69, 'p4_data5': 85, 'p4_data6': 85, 'p4_data7': 85, 'p4_data8': 85, 'p4_data9': 85, 'p4_data10': 85, 'p4_data11': 85, 'p4_data12': 85, 'p5_data1': 85, 'p5_data2': 85, 'p5_data3': 85, 'p5_data4': 69, 'p5_data5': 85, 'p5_data6': 85, 'p5_data7': 85, 'p5_data8': 85, 'p5_data9': 85, 'p5_data10': 85, 'p5_data11': 85, 'p5_data12': 85, 'p6_data1': 85, 'p6_data2': 85, 'p6_data3': 85, 'p6_data4': 69, 'p6_data5': 85, 'p6_data6': 85, 'p6_data7': 85, 'p6_data8': 85, 'p6_data9': 85, 'p6_data10': 85, 'p6_data11': 85, 'p6_data12': 85, 'p7_data1': 85, 'p7_data2': 85, 'p7_data3': 85, 'p7_data4': 69, 'p7_data5': 85, 'p7_data6': 85, 'p7_data7': 85, 'p7_data8': 85, 'p7_data9': 85, 'p7_data10': 85, 'p7_data11': 85, 'p7_data12': 85, 'derog_mode': 0, 'derog_time': 0, 'lock_switch': 1, 'time_week': 3, 'time_hour': 44, 'time_min': 0, 'timer_switch': 0, 'boost_switch': 0, 'boost_time': 0, 'data1': 0, 'data2': 0}}}
2024-01-03 22:03:13.112 DEBUG (MainThread) [custom_components.heatzy.coordinator] Manually updated heatzy data
2024-01-03 22:03:13.112 DEBUG (MainThread) [custom_components.heatzy.climate] ------- UPDATE CLIMATE KkfsoYBRrVjivfa9ox6dF8 -------
2024-01-03 22:03:13.112 DEBUG (MainThread) [custom_components.heatzy.climate] ------- UPDATE CLIMATE S2ftmhwbdDwaH4DcfUQx3j -------
2024-01-03 22:03:13.112 DEBUG (MainThread) [custom_components.heatzy.climate] ------- UPDATE CLIMATE okPCd7M2BrYVNzZe7FRmCU -------
2024-01-03 22:03:13.113 DEBUG (MainThread) [custom_components.heatzy.climate] ------- UPDATE CLIMATE wFc9zdyV6niniSHS4AvZcG -------
2024-01-03 22:03:13.113 DEBUG (MainThread) [custom_components.heatzy.climate] ------- UPDATE CLIMATE xHYXYWaFCkJS8NuGidh32h -------
2024-01-03 22:03:13.113 DEBUG (MainThread) [custom_components.heatzy.switch] ------- UPDATE SWITCH KkfsoYBRrVjivfa9ox6dF8 -------
2024-01-03 22:03:13.113 DEBUG (MainThread) [custom_components.heatzy.switch] ------- UPDATE SWITCH S2ftmhwbdDwaH4DcfUQx3j -------
2024-01-03 22:03:13.113 DEBUG (MainThread) [custom_components.heatzy.switch] ------- UPDATE SWITCH okPCd7M2BrYVNzZe7FRmCU -------
2024-01-03 22:03:13.113 DEBUG (MainThread) [custom_components.heatzy.switch] ------- UPDATE SWITCH wFc9zdyV6niniSHS4AvZcG -------
2024-01-03 22:03:13.113 DEBUG (MainThread) [custom_components.heatzy.switch] ------- UPDATE SWITCH xHYXYWaFCkJS8NuGidh32h -------
2024-01-03 22:04:11.910 DEBUG (MainThread) [wsheatzypy.heatzy] {'cmd': 's2c_noti', 'data': {'did': 'KkfsoYBRrVjivfa9ox6dF8', 'attrs': {'mode': 'eco', 'p1_data1': 85, 'p1_data2': 85, 'p1_data3': 21, 'p1_data4': 84, 'p1_data5': 85, 'p1_data6': 85, 'p1_data7': 85, 'p1_data8': 85, 'p1_data9': 85, 'p1_data10': 85, 'p1_data11': 85, 'p1_data12': 85, 'p2_data1': 85, 'p2_data2': 85, 'p2_data3': 85, 'p2_data4': 65, 'p2_data5': 85, 'p2_data6': 85, 'p2_data7': 85, 'p2_data8': 85, 'p2_data9': 85, 'p2_data10': 85, 'p2_data11': 85, 'p2_data12': 85, 'p3_data1': 85, 'p3_data2': 85, 'p3_data3': 85, 'p3_data4': 65, 'p3_data5': 85, 'p3_data6': 85, 'p3_data7': 85, 'p3_data8': 85, 'p3_data9': 85, 'p3_data10': 85, 'p3_data11': 85, 'p3_data12': 85, 'p4_data1': 85, 'p4_data2': 85, 'p4_data3': 85, 'p4_data4': 65, 'p4_data5': 85, 'p4_data6': 85, 'p4_data7': 85, 'p4_data8': 85, 'p4_data9': 85, 'p4_data10': 85, 'p4_data11': 85, 'p4_data12': 85, 'p5_data1': 85, 'p5_data2': 85, 'p5_data3': 85, 'p5_data4': 65, 'p5_data5': 85, 'p5_data6': 85, 'p5_data7': 85, 'p5_data8': 85, 'p5_data9': 85, 'p5_data10': 85, 'p5_data11': 85, 'p5_data12': 85, 'p6_data1': 85, 'p6_data2': 85, 'p6_data3': 85, 'p6_data4': 69, 'p6_data5': 85, 'p6_data6': 85, 'p6_data7': 85, 'p6_data8': 85, 'p6_data9': 85, 'p6_data10': 85, 'p6_data11': 85, 'p6_data12': 85, 'p7_data1': 85, 'p7_data2': 85, 'p7_data3': 85, 'p7_data4': 69, 'p7_data5': 85, 'p7_data6': 85, 'p7_data7': 85, 'p7_data8': 85, 'p7_data9': 85, 'p7_data10': 85, 'p7_data11': 85, 'p7_data12': 85, 'derog_mode': 0, 'derog_time': 0, 'lock_switch': 1, 'time_week': 3, 'time_hour': 44, 'time_min': 0, 'timer_switch': 0, 'boost_switch': 0, 'boost_time': 0, 'data1': 0, 'data2': 0}}}
2024-01-03 22:04:11.910 DEBUG (MainThread) [custom_components.heatzy.coordinator] Manually updated heatzy data
2024-01-03 22:04:11.910 DEBUG (MainThread) [custom_components.heatzy.climate] ------- UPDATE CLIMATE KkfsoYBRrVjivfa9ox6dF8 -------
2024-01-03 22:04:11.911 DEBUG (MainThread) [custom_components.heatzy.climate] ------- UPDATE CLIMATE S2ftmhwbdDwaH4DcfUQx3j -------
2024-01-03 22:04:11.911 DEBUG (MainThread) [custom_components.heatzy.climate] ------- UPDATE CLIMATE okPCd7M2BrYVNzZe7FRmCU -------
2024-01-03 22:04:11.911 DEBUG (MainThread) [custom_components.heatzy.climate] ------- UPDATE CLIMATE wFc9zdyV6niniSHS4AvZcG -------
2024-01-03 22:04:11.911 DEBUG (MainThread) [custom_components.heatzy.climate] ------- UPDATE CLIMATE xHYXYWaFCkJS8NuGidh32h -------
2024-01-03 22:04:11.911 DEBUG (MainThread) [custom_components.heatzy.switch] ------- UPDATE SWITCH KkfsoYBRrVjivfa9ox6dF8 -------
2024-01-03 22:04:11.911 DEBUG (MainThread) [custom_components.heatzy.switch] ------- UPDATE SWITCH S2ftmhwbdDwaH4DcfUQx3j -------
2024-01-03 22:04:11.911 DEBUG (MainThread) [custom_components.heatzy.switch] ------- UPDATE SWITCH okPCd7M2BrYVNzZe7FRmCU -------
2024-01-03 22:04:11.911 DEBUG (MainThread) [custom_components.heatzy.switch] ------- UPDATE SWITCH wFc9zdyV6niniSHS4AvZcG -------
2024-01-03 22:04:11.911 DEBUG (MainThread) [custom_components.heatzy.switch] ------- UPDATE SWITCH xHYXYWaFCkJS8NuGidh32h -------
2024-01-03 22:30:39.910 DEBUG (MainThread) [wsheatzypy.heatzy] {'cmd': 's2c_noti', 'data': {'did': 'xHYXYWaFCkJS8NuGidh32h', 'attrs': {'mode': 'eco', 'p1_data1': 85, 'p1_data2': 85, 'p1_data3': 85, 'p1_data4': 85, 'p1_data5': 85, 'p1_data6': 85, 'p1_data7': 85, 'p1_data8': 85, 'p1_data9': 0, 'p1_data10': 80, 'p1_data11': 85, 'p1_data12': 85, 'p2_data1': 85, 'p2_data2': 85, 'p2_data3': 85, 'p2_data4': 85, 'p2_data5': 85, 'p2_data6': 85, 'p2_data7': 85, 'p2_data8': 85, 'p2_data9': 0, 'p2_data10': 80, 'p2_data11': 85, 'p2_data12': 85, 'p3_data1': 85, 'p3_data2': 85, 'p3_data3': 85, 'p3_data4': 85, 'p3_data5': 85, 'p3_data6': 85, 'p3_data7': 85, 'p3_data8': 85, 'p3_data9': 0, 'p3_data10': 80, 'p3_data11': 85, 'p3_data12': 85, 'p4_data1': 85, 'p4_data2': 85, 'p4_data3': 85, 'p4_data4': 85, 'p4_data5': 85, 'p4_data6': 85, 'p4_data7': 85, 'p4_data8': 85, 'p4_data9': 0, 'p4_data10': 80, 'p4_data11': 85, 'p4_data12': 85, 'p5_data1': 85, 'p5_data2': 85, 'p5_data3': 85, 'p5_data4': 85, 'p5_data5': 85, 'p5_data6': 85, 'p5_data7': 85, 'p5_data8': 85, 'p5_data9': 0, 'p5_data10': 80, 'p5_data11': 85, 'p5_data12': 85, 'p6_data1': 85, 'p6_data2': 85, 'p6_data3': 85, 'p6_data4': 85, 'p6_data5': 5, 'p6_data6': 0, 'p6_data7': 0, 'p6_data8': 0, 'p6_data9': 0, 'p6_data10': 80, 'p6_data11': 85, 'p6_data12': 85, 'p7_data1': 85, 'p7_data2': 85, 'p7_data3': 85, 'p7_data4': 85, 'p7_data5': 5, 'p7_data6': 0, 'p7_data7': 0, 'p7_data8': 0, 'p7_data9': 0, 'p7_data10': 80, 'p7_data11': 85, 'p7_data12': 85, 'derog_mode': 0, 'derog_time': 0, 'lock_switch': 1, 'time_week': 3, 'time_hour': 45, 'time_min': 0, 'timer_switch': 0, 'boost_switch': 0, 'boost_time': 0, 'data1': 0, 'data2': 0}}}
2024-01-03 22:30:39.910 DEBUG (MainThread) [custom_components.heatzy.coordinator] Manually updated heatzy data
2024-01-03 22:30:39.910 DEBUG (MainThread) [custom_components.heatzy.climate] ------- UPDATE CLIMATE KkfsoYBRrVjivfa9ox6dF8 -------
2024-01-03 22:30:39.910 DEBUG (MainThread) [custom_components.heatzy.climate] ------- UPDATE CLIMATE S2ftmhwbdDwaH4DcfUQx3j -------
2024-01-03 22:30:39.910 DEBUG (MainThread) [custom_components.heatzy.climate] ------- UPDATE CLIMATE okPCd7M2BrYVNzZe7FRmCU -------
2024-01-03 22:30:39.911 DEBUG (MainThread) [custom_components.heatzy.climate] ------- UPDATE CLIMATE wFc9zdyV6niniSHS4AvZcG -------
2024-01-03 22:30:39.911 DEBUG (MainThread) [custom_components.heatzy.climate] ------- UPDATE CLIMATE xHYXYWaFCkJS8NuGidh32h -------
2024-01-03 22:30:39.911 DEBUG (MainThread) [custom_components.heatzy.switch] ------- UPDATE SWITCH KkfsoYBRrVjivfa9ox6dF8 -------
2024-01-03 22:30:39.911 DEBUG (MainThread) [custom_components.heatzy.switch] ------- UPDATE SWITCH S2ftmhwbdDwaH4DcfUQx3j -------
2024-01-03 22:30:39.911 DEBUG (MainThread) [custom_components.heatzy.switch] ------- UPDATE SWITCH okPCd7M2BrYVNzZe7FRmCU -------
2024-01-03 22:30:39.911 DEBUG (MainThread) [custom_components.heatzy.switch] ------- UPDATE SWITCH wFc9zdyV6niniSHS4AvZcG -------
2024-01-03 22:30:39.911 DEBUG (MainThread) [custom_components.heatzy.switch] ------- UPDATE SWITCH xHYXYWaFCkJS8NuGidh32h -------
Fix with beta version
Here are some examples from the logs :
Meanwhile I can control the devices from the heatzy app without problems.
Heating mode and status aren't updated in HA as well and don't reflect the changes made from the heatzy app, until it starts to wok again.
Of course, it always happens in automations made to warm up the bathroom in these cold mornings 😁