tetele / hvac_group

Group together `climate` components for easy control
MIT License
28 stars 5 forks source link

HA core crashes/hangs when changing helper configuration #119

Open The-M1k3y opened 5 months ago

The-M1k3y commented 5 months ago

System Health details

System Information

version core-2024.6.1
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.12.2
os_name Linux
os_version 6.6.29-haos
arch x86_64
timezone Europe/Berlin
config_dir /config
Home Assistant Community Store GitHub API | ok -- | -- GitHub Content | ok GitHub Web | ok GitHub API Calls Remaining | 5000 Installed Version | 1.34.0 Stage | running Available Repositories | 1389 Downloaded Repositories | 15
Home Assistant Cloud logged_in | false -- | -- can_reach_cert_server | ok can_reach_cloud_auth | ok can_reach_cloud | ok
Home Assistant Supervisor host_os | Home Assistant OS 12.3 -- | -- update_channel | stable supervisor_version | supervisor-2024.06.0 agent_version | 1.6.0 docker_version | 25.0.5 disk_total | 48.5 GB disk_used | 35.8 GB healthy | true supported | true host_connectivity | true supervisor_connectivity | true ntp_synchronized | true virtualization | kvm board | ova supervisor_api | ok version_api | ok installed_addons | Terminal & SSH (9.14.0), Watchdog Dev (0.0.10), ESPHome (2024.5.5), Grafana (10.0.0), Prometheus (1.0.0-beta.0), Mosquitto broker (6.4.1), File editor (5.8.0), Piper (1.5.0), Whisper (2.1.0), openWakeWord (1.10.0), Samba share (12.3.1), Music Assistant (2.0.4)
Dashboards dashboards | 6 -- | -- resources | 7 views | 11 mode | storage
Recorder oldest_recorder_run | June 16, 2023 at 10:29 AM -- | -- current_recorder_run | June 11, 2024 at 2:44 PM estimated_db_size | 2994.48 MiB database_engine | sqlite database_version | 3.44.2

Checklist

Describe the issue

When changing the configuration of an existing HVAC group, the HA core seems to crash/hang. Running core restart from the local (virtual) terminal brings HA back online.

Reproduction steps

  1. setup a HVAC group with 2+ members
  2. edit the group to remove a member of the group

Issue produced with Shelly TRVs.

Debug logs

Logs reduced for readability. Unrelated logs of other integrations removed. Log settings used:


2024-06-11 14:39:34.908 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration llama_conversation which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2024-06-11 14:39:34.910 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration pioneer_async which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2024-06-11 14:39:34.911 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration mass which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2024-06-11 14:39:34.912 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration waste_collection_schedule which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2024-06-11 14:39:34.913 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration sleep_as_android which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2024-06-11 14:39:34.914 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration powercalc which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2024-06-11 14:39:34.916 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration hvac_group which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2024-06-11 14:39:34.917 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration hacs which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2024-06-11 14:39:38.787 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'hacs' accesses hass.components.frontend. This is deprecated and will stop working in Home Assistant 2024.9, it should be updated to import functions used from frontend directly at custom_components/hacs/frontend.py, line 68: hass.components.frontend.async_register_built_in_panel(, please create a bug report at https://github.com/hacs/integration/issues
2024-06-11 14:39:40.111 WARNING (ImportExecutor_0) [py.warnings] /usr/local/lib/python3.12/site-packages/mashumaro/core/meta/types/unpack.py:182: UserWarning: music_assistant.common.models.config_entries.ConfigValueOption.value (typing.Union[str, int, float, bool, tuple[int, int], list[str], list[int], list[tuple[int, int]], None]): In the next release, data marked with Union type containing 'str' and 'bool' will be coerced to the value of the type specified first instead of passing it as is
  warnings.warn(

2024-06-11 14:39:40.124 WARNING (ImportExecutor_0) [py.warnings] /usr/local/lib/python3.12/site-packages/mashumaro/core/meta/types/unpack.py:182: UserWarning: music_assistant.common.models.config_entries.ConfigEntry.default_value (typing.Union[str, int, float, bool, tuple[int, int], list[str], list[int], list[tuple[int, int]], None]): In the next release, data marked with Union type containing 'str' and 'bool' will be coerced to the value of the type specified first instead of passing it as is
  warnings.warn(

2024-06-11 14:39:40.132 WARNING (ImportExecutor_0) [py.warnings] /usr/local/lib/python3.12/site-packages/mashumaro/core/meta/types/unpack.py:182: UserWarning: music_assistant.common.models.config_entries.ConfigEntry.value (typing.Union[str, int, float, bool, tuple[int, int], list[str], list[int], list[tuple[int, int]], None]): In the next release, data marked with Union type containing 'str' and 'bool' will be coerced to the value of the type specified first instead of passing it as is
  warnings.warn(

2024-06-11 14:39:41.511 WARNING (ImportExecutor_0) [homeassistant.helpers.typing] EventType was used from hvac_group, this is a deprecated alias which will be removed in HA Core 2025.5. Use homeassistant.core.Event instead, please report it to the author of the 'hvac_group' custom integration
2024-06-11 14:39:41.516 DEBUG (MainThread) [custom_components.hvac_group] Making sure None supports heating
2024-06-11 14:39:41.517 DEBUG (MainThread) [custom_components.hvac_group] New HVAC modes supported by None: off,heat
2024-06-11 14:39:41.517 DEBUG (MainThread) [custom_components.hvac_group] Making sure None supports heating
2024-06-11 14:39:41.517 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.hvac_group.climate.HvacGroupClimateEntity'>) implements HVACMode(s): off, heat and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/tetele/hvac_group/issues
2024-06-11 14:39:41.518 DEBUG (MainThread) [custom_components.hvac_group] New min/max temps received from actuator climate.shellytrv_wohnzimmer_r: (4, 31). HVAC Group climate.thermostate new min/max temps: 7, 31.0
2024-06-11 14:39:41.518 DEBUG (MainThread) [custom_components.hvac_group] New min/max temps received from actuator climate.shellytrv_wohnzimmer_l: (4, 31). HVAC Group climate.thermostate new min/max temps: 7, 31.0
2024-06-11 14:39:41.518 DEBUG (MainThread) [custom_components.hvac_group] Setting temperature (7) on HVAC group climate.thermostate
2024-06-11 14:39:41.518 DEBUG (MainThread) [custom_components.hvac_group] New temperature received from temp sensor climate.shellytrv_wohnzimmer_l: 19.3. Setting on HVAC Group climate.thermostate
2024-06-11 14:39:42.935 DEBUG (MainThread) [custom_components.hvac_group] Actutator climate.shellytrv_wohnzimmer_l changed state: {'attributes': {'current_temperature': (19.7, 19.3), 'hvac_action': (<HVACAction.IDLE: 'idle'>, <HVACAction.OFF: 'off'>)}} (context 01J03MZDJP6R6VYA1TRPWV2ZXY)
2024-06-11 14:39:42.935 DEBUG (MainThread) [custom_components.hvac_group] New temperature received from temp sensor climate.shellytrv_wohnzimmer_l: 19.7. Setting on HVAC Group climate.thermostate
2024-06-11 14:39:46.327 DEBUG (MainThread) [custom_components.hvac_group] Actutator climate.shellytrv_wohnzimmer_r changed state: {'attributes': {'current_temperature': (18.8, 18.6), 'hvac_action': (<HVACAction.IDLE: 'idle'>, <HVACAction.OFF: 'off'>)}} (context 01J03MZGWPMSW1T96XKY8HJT5A)
2024-06-11 14:39:48.483 DEBUG (MainThread) [custom_components.hvac_group] Updating climate.thermostate on Home Assistant start
2024-06-11 14:39:48.483 DEBUG (MainThread) [custom_components.hvac_group] Obtained current and target temperatures (19.7 -> 7). Setting mode off on HVAC group climate.thermostate.
2024-06-11 14:39:48.483 DEBUG (MainThread) [custom_components.hvac_group] Force updating the state of actuators of HVAC group climate.thermostate
2024-06-11 14:39:48.484 DEBUG (MainThread) [custom_components.hvac_group] Attempting to set temperature of <class 'custom_components.hvac_group.actuator.HvacGroupHeater'> climate.shellytrv_wohnzimmer_r to (7 None None) and mode to off
2024-06-11 14:39:48.484 DEBUG (MainThread) [custom_components.hvac_group] Creating commit action `set_temperature` on <class 'custom_components.hvac_group.actuator.HvacGroupHeater'> climate.shellytrv_wohnzimmer_r
2024-06-11 14:39:48.484 DEBUG (MainThread) [custom_components.hvac_group] Attempting to set temperature of <class 'custom_components.hvac_group.actuator.HvacGroupHeater'> climate.shellytrv_wohnzimmer_l to (7 None None) and mode to off
2024-06-11 14:39:48.484 DEBUG (MainThread) [custom_components.hvac_group] Creating commit action `set_temperature` on <class 'custom_components.hvac_group.actuator.HvacGroupHeater'> climate.shellytrv_wohnzimmer_l
2024-06-11 14:39:48.484 DEBUG (MainThread) [custom_components.hvac_group] Running coroutine <bound method HvacGroupActuator._async_call_climate_service of <custom_components.hvac_group.actuator.HvacGroupHeater object at 0x7f8b020725a0>>(('climate.shellytrv_wohnzimmer_r', 'set_temperature', {'temperature': 7, 'hvac_mode': <HVACMode.OFF: 'off'>}))
2024-06-11 14:39:50.720 DEBUG (MainThread) [custom_components.hvac_group] Commit action run for <class 'custom_components.hvac_group.actuator.HvacGroupHeater'> climate.shellytrv_wohnzimmer_r. Removing
2024-06-11 14:39:50.720 DEBUG (MainThread) [custom_components.hvac_group] Running coroutine <bound method HvacGroupActuator._async_call_climate_service of <custom_components.hvac_group.actuator.HvacGroupHeater object at 0x7f8b09f2e2d0>>(('climate.shellytrv_wohnzimmer_l', 'set_temperature', {'temperature': 7, 'hvac_mode': <HVACMode.OFF: 'off'>}))
2024-06-11 14:39:51.661 DEBUG (MainThread) [custom_components.hvac_group] Commit action run for <class 'custom_components.hvac_group.actuator.HvacGroupHeater'> climate.shellytrv_wohnzimmer_l. Removing
2024-06-11 14:40:32.277 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry thermostate for climate
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 594, in async_setup
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 227, in async_setup_entry
    return await component.async_setup_entry(entry)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 185, in async_setup_entry
    raise ValueError(
ValueError: Config entry thermostate (1623a272c96fcd5f37346c2e25812320) for hvac_group.climate has already been setup!

removed 259063 further occurences of the last log entry. All additional entries are identical (apart from the timestamp)

Diagnostics dump

not available

jimmyeao commented 3 months ago

Can confirm, I have had the same issue today. going to try deleting the config and re-adding it

Bluicie commented 2 months ago

Same for me. Deleting and re-adding the group is a (temporary) solution.

ericellb commented 1 month ago

Same thing for me, initial setup works. However editing any existing one breaks HA and needs a restart

Bluicie commented 1 month ago

But after a restart I only get the HVAC modes Off and Heat. No Cool or Heat_Cool.

fitione commented 3 weeks ago

Same here. No HVAC modes after restart and not able to edit the group