nicole-ashley/homeassistant-goldair-climate

Update of climate/lock is taking over 10 seconds is flooding log

jaymunro opened this issue · 0 comments

The updates of the device are flooding the logs with warnings Update of xxx is taking over 10 seconds. For some reason the ‘climate’ update is every 5 minutes but the ‘lock’ update is every 2 minutes (sometimes every minute).

2023-05-01 10:20:10.251 WARNING (MainThread) [homeassistant.helpers.entity] Update of climate.spare_bedroom_wall_heater is taking over 10 seconds
2023-05-01 10:21:10.713 WARNING (MainThread) [homeassistant.helpers.entity] Update of lock.spare_bedroom_wall_heater is taking over 10 seconds

Enabling the debug log shows it is having an issue with ‘protocol 3.1’ but then tries again with 3.3 and succeeds every time.

2023-05-01 10:38:00.735 DEBUG (SyncWorker_3) [custom_components.goldair_climate.device] Refreshing device state for Spare Bedroom Wall Heater.
2023-05-01 10:38:00.781 DEBUG (SyncWorker_3) [custom_components.goldair_climate.device] Retrying after exception [Errno 104] Connection reset by peer
2023-05-01 10:38:00.781 INFO (SyncWorker_3) [custom_components.goldair_climate.device] Setting protocol version for Spare Bedroom Wall Heater to 3.1.
2023-05-01 10:38:10.735 WARNING (MainThread) [homeassistant.helpers.entity] Update of lock.spare_bedroom_wall_heater is taking over 10 seconds
2023-05-01 10:38:10.800 DEBUG (SyncWorker_3) [custom_components.goldair_climate.device] Retrying after exception timed out
2023-05-01 10:38:10.800 INFO (SyncWorker_3) [custom_components.goldair_climate.device] Setting protocol version for Spare Bedroom Wall Heater to 3.3.
2023-05-01 10:38:10.860 INFO (SyncWorker_3) [custom_components.goldair_climate.device] refreshed device state: {"devId": "84403378c45bbeee506b", "dps": {"1": false, "2": false, "3": 23, "4": 22, "5": 0, "6": 0, "updated_at": 1682894290.860798}}
2023-05-01 10:38:10.860 DEBUG (SyncWorker_3) [custom_components.goldair_climate.device] new cache state (including pending properties): {"1": false, "2": false, "3": 23, "4": 22, "5": 0, "6": 0, "updated_at": 1682894290.860798}
2023-05-01 10:39:00.736 DEBUG (SyncWorker_3) [custom_components.goldair_climate.device] Refreshing device state for Spare Bedroom Wall Heater.
2023-05-01 10:39:00.868 INFO (SyncWorker_3) [custom_components.goldair_climate.device] refreshed device state: {"devId": "84403378c45bbeee506b", "dps": {"1": false, "2": false, "3": 23, "4": 22, "5": 0, "6": 0, "updated_at": 1682894340.8680916}}
2023-05-01 10:39:00.868 DEBUG (SyncWorker_3) [custom_components.goldair_climate.device] new cache state (including pending properties): {"1": false, "2": false, "3": 23, "4": 22, "5": 0, "6": 0, "updated_at": 1682894340.8680916}

Updating line 18 of ‘const.py’ to remove protocol 3.1 and restarting HA seems to resolve the issue.
Changed from:
API_PROTOCOL_VERSIONS = [3.3, 3.1]
to:
API_PROTOCOL_VERSIONS = [3.3]

Running current version 0.1.3 of this integration.

Note this is for a GECO heater. Limiting the protocol to 3.3 may cause issues with other devices