Closed rk-nova closed 9 months ago
Right! unavailable
was not handled correctly and, thanks to you, I found some other minor issues. Thanks! There'll be an update soon.
Great! Super happy to help by making more work for you!
Let me know if you need any more info or for me to try out a fix.
I've almost completely re-written the integration and I'm hoping it's much more robust now. There's a 0.2.0-beta version you could try (but you have to enable beta versions in HACS).
This issue was most likely fixed in #62 but please reopen it if it's not.
@tetele ok, I have the beta applied. Do I need to re-create the groups? With the previous groups, I am still seeing odd behavior (no ability to set the temp, and the group can now turn off the members of the group but can't turn them back on).
Here is the only error I see logged. Again, this is will the groups I had created before. I will try adding some new groups and testing with those in a bit.
2024-02-06 18:53:34.236 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/config/custom_components/hvac_group/climate.py", line 463, in async_sensor_state_changed_listener
await self.async_update_temperature_sensor(
File "/config/custom_components/hvac_group/climate.py", line 594, in async_update_temperature_sensor
float(new_temperature) if new_temperature is not None else new_temperature
^^^^^^^^^^^^^^^^^^^^^^
ValueError: could not convert string to float: 'unavailable'
2024-02-06 18:53:34.238 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/config/custom_components/hvac_group/climate.py", line 463, in async_sensor_state_changed_listener
await self.async_update_temperature_sensor(
File "/config/custom_components/hvac_group/climate.py", line 594, in async_update_temperature_sensor
float(new_temperature) if new_temperature is not None else new_temperature
^^^^^^^^^^^^^^^^^^^^^^
ValueError: could not convert string to float: 'unavailable'
2024-02-06 18:53:34.246 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/config/custom_components/hvac_group/climate.py", line 463, in async_sensor_state_changed_listener
await self.async_update_temperature_sensor(
File "/config/custom_components/hvac_group/climate.py", line 594, in async_update_temperature_sensor
float(new_temperature) if new_temperature is not None else new_temperature
^^^^^^^^^^^^^^^^^^^^^^
ValueError: could not convert string to float: 'unavailable'
Do I need to re-create the groups?
In theory, no, although they may have some outdated data assigned to them. It's probably safer to recreate them.
With the previous groups, I am still seeing odd behavior (no ability to set the temp, and the group can now turn off the members of the group but can't turn them back on).
I've noticed very weird behavior in the Thermostat card when the capabilities of a climate
entity change. Could you also try refreshing the dashboard, please?
Here is the only error I see logged
That's reason enough to reopen the issue. I have an idea about how to fix that as well. Thank you very much for testing!
Should be fixed in 0.2.0-beta.2 - it will eliminate the error message and make the group entity unavailable
if the temperature sensor was never available.
In case it helps, I added a new group (still on -beta1) and got these messages in the log. They do seem related to the most recent commit on your PR.
2024-02-07 12:05:51.365 WARNING (MainThread) [custom_components.hvac_group] No previously saved temperature, setting to 45.0, 45.0 2024-02-07 12:05:51.461 ERROR (MainThread) [homeassistant.components.template.template_entity] TemplateError('ValueError: Template error: float got invalid input 'unknown' when rendering template '{{ states('sensor.downstairs_thermostat_current_temperature') | float - states('sensor.downstairs_target_temperature') | float }}' but no default was specified') while processing template 'Template<template=({{ states('sensor.downstairs_thermostat_current_temperature') | float - states('sensor.downstairs_target_temperature') | float }}) renders=126>' for attribute '_attr_native_value' in entity 'sensor.downstairs_temperature_delta'
About to update to -beta2 and see if it resolves the issue. Thanks!
Ok, still getting errors:
2024-02-07 12:14:40.880 ERROR (MainThread) [homeassistant.helpers.event] Error while processing template: Template<template=({{ states('sensor.downstairs_thermostat_current_temperature') | float - states('sensor.downstairs_target_temperature') | float }}) renders=2>
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 1984, in forgiving_float_filter
return float(value)
^^^^^^^^^^^^
ValueError: could not convert string to float: 'unknown'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 567, in async_render
render_result = _render_with_context(self.template, compiled, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2305, in _render_with_context
return template.render(**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/jinja2/environment.py", line 1301, in render
self.environment.handle_exception()
File "/usr/local/lib/python3.11/site-packages/jinja2/environment.py", line 936, in handle_exception
raise rewrite_traceback_stack(source=source)
File "<template>", line 1, in top-level template code
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 1987, in forgiving_float_filter
raise_no_default("float", value)
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 1625, in raise_no_default
raise ValueError(
ValueError: Template error: float got invalid input 'unknown' when rendering template '{{ states('sensor.downstairs_thermostat_current_temperature') | float - states('sensor.downstairs_target_temperature') | float }}' but no default was specified
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 693, in async_render_to_info
render_info._result = self.async_render(
^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 569, in async_render
raise TemplateError(err) from err
2024-02-07 12:14:40.887 ERROR (MainThread) [homeassistant.components.template.template_entity] TemplateError('ValueError: Template error: float got invalid input 'unknown' when rendering template '{{ states('sensor.downstairs_thermostat_current_temperature') | float - states('sensor.downstairs_target_temperature') | float }}' but no default was specified') while processing template 'Template<template=({{ states('sensor.downstairs_thermostat_current_temperature') | float - states('sensor.downstairs_target_temperature') | float }}) renders=4>' for attribute '_attr_native_value' in entity 'sensor.downstairs_temperature_delta'
For sanity, I checked {{ states('sensor.downstairs_thermostat_current_temperature') | float - states('sensor.downstairs_target_temperature') | float }}
in the template developer tools and it does seem to resolve as 28.599999999999994
There are also still no dials on the thermostat card to set the temp range:
The non-dashboard UI has the same behavior:
I do still have the original groups, let me know if I should remove them
Many things to unpack here. Thank you very much for all of the insights.
In order to better understand the template errors, I need to understand what sensor.downstairs_thermostat_current_temperature
, sensor.downstairs_temperature_delta
and sensor.downstairs_target_temperature
are and what they're used for. I don't see a direct link to the group, so you need to help me out a bit, as they don't sound related to the integration. hvac_group
integration only exposes a climate
entity, so i can't say why a few sensor
s yield template errors.
Regarding the lack of controls, have you refreshed your dashboard? I've already mentioned that the Thermostat card doesn't always refresh climate
capabilities well, so maybe it's just that.
You can recreate the groups if you want, although I still think it's not mandatory.
My bad, sensor.downstairs_temperature_delta was confusing the log for sure, its an old tempalte sensor that was part of my attempt to hack something similar to HVAC Groups together a while back. Let me remove it and restart. It should not be related. I think I noticed the same temperature sensor that i had included as the current temp for one of the groups.
Yep, removed that dead code from my config and that error is gone.
So that get me back to the lack of controls, and the target temps all getting set to 45deg.
You mentioned refreshing the dashboard. Do you just mean in the browser? I have done that as well as editing and saving it. I also see the same lack of controls when I go into the helpers section and open up a specific group.
You mentioned refreshing the dashboard. Do you just mean in the browser?
Yes, that's what i meant. If it didn't work, it means something else is the culprit. Any new and interesting log messages?
If not, please add the following to your configuration.yaml
and restart HA. You'll get a lot of new logs after that.
# configuration.yaml
logger:
default: info # or whatever you already have configured
logs:
custom_components.hvac_group: debug
Nothing when out the debug logging on. Here are the related debug log lines:
2024-02-08 00:24:04.914 INFO (MainThread) [homeassistant.setup] Setting up hvac_group
2024-02-08 00:24:04.915 INFO (MainThread) [homeassistant.setup] Setup of domain hvac_group took 0.0 seconds
2024-02-08 00:24:19.153 INFO (MainThread) [homeassistant.components.climate] Setting up hvac_group.climate
2024-02-08 00:24:19.154 INFO (MainThread) [homeassistant.components.climate] Setting up hvac_group.climate
2024-02-08 00:24:19.154 INFO (MainThread) [homeassistant.components.climate] Setting up hvac_group.climate
2024-02-08 00:24:19.154 INFO (MainThread) [homeassistant.components.climate] Setting up hvac_group.climate
2024-02-08 00:24:19.155 DEBUG (MainThread) [custom_components.hvac_group] Setting temperature (45.0) on HVAC group climate.upstairs_climate
2024-02-08 00:24:19.156 DEBUG (MainThread) [custom_components.hvac_group] Setting temperature (41.0) on HVAC group climate.home_climate
2024-02-08 00:24:19.158 DEBUG (MainThread) [custom_components.hvac_group] Setting temperature (45.0) on HVAC group climate.home_ac
2024-02-08 00:24:19.159 DEBUG (MainThread) [custom_components.hvac_group] Setting temperature (45.0) on HVAC group climate.downstairs_climate
2024-02-08 00:24:19.988 DEBUG (MainThread) [custom_components.hvac_group] Making sure climate.upstairs_climate supports cooling
2024-02-08 00:24:19.988 DEBUG (MainThread) [custom_components.hvac_group] New HVAC modes supported by climate.upstairs_climate: off,cool
2024-02-08 00:24:19.988 DEBUG (MainThread) [custom_components.hvac_group] Actutator climate.bedroom_virtual just loaded: {'state': 'cool', 'attributes': {'hvac_modes': [<HVACMode.COOL: 'cool'>, <HVACMode.OFF: 'off'>], 'min_temp': 45, 'max_temp': 95, 'target_temp_step': 1, 'current_temperature': None, 'temperature': 72, 'hvac_action': <HVACAction.COOLING: 'cooling'>, 'friendly_name': 'Bedroom_virtual', 'supported_features': <ClimateEntityFeature.TARGET_TEMPERATURE: 1>}} (context 01HP3X2NRH68XZ720E43WVQBPF)
2024-02-08 00:24:19.989 DEBUG (MainThread) [custom_components.hvac_group] New min/max temps received from actuator climate.bedroom_virtual: (45, 95). HVAC Group climate.upstairs_climate new min/max temps: 45.0, 45.0
2024-02-08 00:24:19.989 DEBUG (MainThread) [custom_components.hvac_group] Setting temperature (45.0) on HVAC group climate.upstairs_climate
2024-02-08 00:24:19.989 DEBUG (MainThread) [custom_components.hvac_group] Making sure climate.home_ac supports cooling
2024-02-08 00:24:19.989 DEBUG (MainThread) [custom_components.hvac_group] New HVAC modes supported by climate.home_ac: off,cool
2024-02-08 00:24:19.989 DEBUG (MainThread) [custom_components.hvac_group] Actutator climate.bedroom_virtual just loaded: {'state': 'cool', 'attributes': {'hvac_modes': [<HVACMode.COOL: 'cool'>, <HVACMode.OFF: 'off'>], 'min_temp': 45, 'max_temp': 95, 'target_temp_step': 1, 'current_temperature': None, 'temperature': 72, 'hvac_action': <HVACAction.COOLING: 'cooling'>, 'friendly_name': 'Bedroom_virtual', 'supported_features': <ClimateEntityFeature.TARGET_TEMPERATURE: 1>}} (context 01HP3X2NRH68XZ720E43WVQBPF)
2024-02-08 00:24:19.989 DEBUG (MainThread) [custom_components.hvac_group] New min/max temps received from actuator climate.bedroom_virtual: (45, 95). HVAC Group climate.home_ac new min/max temps: 45.0, 45.0
2024-02-08 00:24:19.989 DEBUG (MainThread) [custom_components.hvac_group] Setting temperature (45.0) on HVAC group climate.home_ac
2024-02-08 00:24:19.994 INFO (MainThread) [homeassistant.components.media_player] Setting up androidtv_remote.media_player
2024-02-08 00:24:19.999 DEBUG (MainThread) [custom_components.hvac_group] Making sure climate.home_ac supports cooling
2024-02-08 00:24:19.999 DEBUG (MainThread) [custom_components.hvac_group] Actutator climate.kitchen_thermistat just loaded: {'state': 'off', 'attributes': {'hvac_modes': [<HVACMode.COOL: 'cool'>, <HVACMode.OFF: 'off'>], 'min_temp': 45, 'max_temp': 95, 'target_temp_step': 1, 'current_temperature': None, 'temperature': 72, 'hvac_action': <HVACAction.OFF: 'off'>, 'icon': 'mdi:snowflake-thermometer', 'friendly_name': 'Kitchen Thermistat', 'supported_features': <ClimateEntityFeature.TARGET_TEMPERATURE: 1>}} (context 01HP3X2NRJ53FYF2864HANGC0N)
2024-02-08 00:24:19.999 DEBUG (MainThread) [custom_components.hvac_group] New min/max temps received from actuator climate.kitchen_thermistat: (45, 95). HVAC Group climate.home_ac new min/max temps: 45.0, 45.0
2024-02-08 00:24:19.999 DEBUG (MainThread) [custom_components.hvac_group] Making sure climate.downstairs_climate supports cooling
2024-02-08 00:24:19.999 DEBUG (MainThread) [custom_components.hvac_group] New HVAC modes supported by climate.downstairs_climate: off,cool
2024-02-08 00:24:19.999 DEBUG (MainThread) [custom_components.hvac_group] Actutator climate.kitchen_thermistat just loaded: {'state': 'off', 'attributes': {'hvac_modes': [<HVACMode.COOL: 'cool'>, <HVACMode.OFF: 'off'>], 'min_temp': 45, 'max_temp': 95, 'target_temp_step': 1, 'current_temperature': None, 'temperature': 72, 'hvac_action': <HVACAction.OFF: 'off'>, 'icon': 'mdi:snowflake-thermometer', 'friendly_name': 'Kitchen Thermistat', 'supported_features': <ClimateEntityFeature.TARGET_TEMPERATURE: 1>}} (context 01HP3X2NRJ53FYF2864HANGC0N)
2024-02-08 00:24:19.999 DEBUG (MainThread) [custom_components.hvac_group] New min/max temps received from actuator climate.kitchen_thermistat: (45, 95). HVAC Group climate.downstairs_climate new min/max temps: 45.0, 45.0
2024-02-08 00:24:19.999 DEBUG (MainThread) [custom_components.hvac_group] Setting temperature (45.0) on HVAC group climate.downstairs_climate
2024-02-08 00:24:22.775 DEBUG (MainThread) [custom_components.hvac_group] Making sure climate.home_climate supports heating
2024-02-08 00:24:22.776 DEBUG (MainThread) [custom_components.hvac_group] New HVAC modes supported by climate.home_climate: off,heat
2024-02-08 00:24:22.776 DEBUG (MainThread) [custom_components.hvac_group] Actutator climate.downstairs_thermostat_thermostat just loaded: {'state': 'unavailable', 'attributes': {'hvac_modes': [<HVACMode.OFF: 'off'>, <HVACMode.HEAT: 'heat'>], 'min_temp': 41, 'max_temp': 86, 'friendly_name': 'Downstairs Thermostat Thermostat', 'supported_features': <ClimateEntityFeature.TARGET_TEMPERATURE: 1>}} (context 01HP3X2RFEC3DERGGNZPZDG6R8)
2024-02-08 00:24:22.776 DEBUG (MainThread) [custom_components.hvac_group] New min/max temps received from actuator climate.downstairs_thermostat_thermostat: (41, 86). HVAC Group climate.home_climate new min/max temps: 41.0, 41.0
2024-02-08 00:24:22.776 DEBUG (MainThread) [custom_components.hvac_group] Setting temperature (41.0) on HVAC group climate.home_climate
2024-02-08 00:24:22.776 DEBUG (MainThread) [custom_components.hvac_group] Making sure climate.downstairs_climate supports heating
2024-02-08 00:24:22.776 DEBUG (MainThread) [custom_components.hvac_group] New HVAC modes supported by climate.downstairs_climate: off,heat_cool
2024-02-08 00:24:22.776 DEBUG (MainThread) [custom_components.hvac_group] Actutator climate.downstairs_thermostat_thermostat just loaded: {'state': 'unavailable', 'attributes': {'hvac_modes': [<HVACMode.OFF: 'off'>, <HVACMode.HEAT: 'heat'>], 'min_temp': 41, 'max_temp': 86, 'friendly_name': 'Downstairs Thermostat Thermostat', 'supported_features': <ClimateEntityFeature.TARGET_TEMPERATURE: 1>}} (context 01HP3X2RFEC3DERGGNZPZDG6R8)
2024-02-08 00:24:22.776 DEBUG (MainThread) [custom_components.hvac_group] New min/max temps received from actuator climate.downstairs_thermostat_thermostat: (41, 86). HVAC Group climate.downstairs_climate new min/max temps: 45.0, 45.0
2024-02-08 00:24:22.776 DEBUG (MainThread) [custom_components.hvac_group] Setting temperature (45.0-45.0) on HVAC group climate.downstairs_climate
2024-02-08 00:24:22.785 DEBUG (MainThread) [custom_components.hvac_group] Making sure climate.upstairs_climate supports heating
2024-02-08 00:24:22.786 DEBUG (MainThread) [custom_components.hvac_group] New HVAC modes supported by climate.upstairs_climate: off,heat_cool
2024-02-08 00:24:22.786 DEBUG (MainThread) [custom_components.hvac_group] Actutator climate.upstairs_thermostat_thermostat just loaded: {'state': 'unavailable', 'attributes': {'hvac_modes': [<HVACMode.OFF: 'off'>, <HVACMode.HEAT: 'heat'>], 'min_temp': 41, 'max_temp': 86, 'friendly_name': 'Upstairs Thermostat Thermostat', 'supported_features': <ClimateEntityFeature.TARGET_TEMPERATURE: 1>}} (context 01HP3X2RFZ7RPTQ9GS0MF3QDF8)
2024-02-08 00:24:22.786 DEBUG (MainThread) [custom_components.hvac_group] New min/max temps received from actuator climate.upstairs_thermostat_thermostat: (41, 86). HVAC Group climate.upstairs_climate new min/max temps: 45.0, 45.0
2024-02-08 00:24:22.786 DEBUG (MainThread) [custom_components.hvac_group] Setting temperature (45.0-45.0) on HVAC group climate.upstairs_climate
2024-02-08 00:24:22.786 DEBUG (MainThread) [custom_components.hvac_group] Making sure climate.home_climate supports heating
2024-02-08 00:24:22.786 DEBUG (MainThread) [custom_components.hvac_group] Actutator climate.upstairs_thermostat_thermostat just loaded: {'state': 'unavailable', 'attributes': {'hvac_modes': [<HVACMode.OFF: 'off'>, <HVACMode.HEAT: 'heat'>], 'min_temp': 41, 'max_temp': 86, 'friendly_name': 'Upstairs Thermostat Thermostat', 'supported_features': <ClimateEntityFeature.TARGET_TEMPERATURE: 1>}} (context 01HP3X2RFZ7RPTQ9GS0MF3QDF8)
2024-02-08 00:24:22.786 DEBUG (MainThread) [custom_components.hvac_group] New min/max temps received from actuator climate.upstairs_thermostat_thermostat: (41, 86). HVAC Group climate.home_climate new min/max temps: 41.0, 41.0
2024-02-08 00:24:22.790 DEBUG (MainThread) [custom_components.hvac_group] New temperature received from temp sensor sensor.downstairs_thermostat_current_temperature: 73. Setting on HVAC Group climate.home_climate
2024-02-08 00:24:22.790 DEBUG (MainThread) [custom_components.hvac_group] New temperature received from temp sensor sensor.downstairs_thermostat_current_temperature: 73. Setting on HVAC Group climate.home_ac
2024-02-08 00:24:22.790 DEBUG (MainThread) [custom_components.hvac_group] New temperature received from temp sensor sensor.downstairs_thermostat_current_temperature: 73. Setting on HVAC Group climate.downstairs_climate
2024-02-08 00:24:22.790 INFO (MainThread) [homeassistant.components.generic_thermostat.climate] Obtained current and target temperature. Generic thermostat active. 73.0, 72.0
2024-02-08 00:24:22.790 DEBUG (MainThread) [custom_components.hvac_group] Actutator climate.downstairs_thermostat_thermostat changed state: {'attributes': {'current_temperature': (73, None), 'temperature': (68, None), 'current_humidity': (36, None), 'hvac_action': (<HVACAction.IDLE: 'idle'>, None)}, 'state': ('heat', 'unavailable')} (context 01HP3X2RG3P0RX0D9XPST2PWAH)
2024-02-08 00:24:22.790 DEBUG (MainThread) [custom_components.hvac_group] Actutator climate.downstairs_thermostat_thermostat changed state: {'attributes': {'current_temperature': (73, None), 'temperature': (68, None), 'current_humidity': (36, None), 'hvac_action': (<HVACAction.IDLE: 'idle'>, None)}, 'state': ('heat', 'unavailable')} (context 01HP3X2RG3P0RX0D9XPST2PWAH)
2024-02-08 00:24:22.796 DEBUG (MainThread) [custom_components.hvac_group] Actutator climate.kitchen_thermistat changed state: {'attributes': {'current_temperature': (73, None)}} (context 01HP3X2RG6D98RZ7A3F6A4YG2D)
2024-02-08 00:24:22.797 DEBUG (MainThread) [custom_components.hvac_group] Actutator climate.kitchen_thermistat changed state: {'attributes': {'current_temperature': (73, None)}} (context 01HP3X2RG6D98RZ7A3F6A4YG2D)
2024-02-08 00:24:22.802 DEBUG (MainThread) [custom_components.hvac_group] New temperature received from temp sensor sensor.upstairs_thermostat_current_temperature: 69.3. Setting on HVAC Group climate.upstairs_climate
2024-02-08 00:24:22.802 INFO (MainThread) [homeassistant.components.generic_thermostat.climate] Obtained current and target temperature. Generic thermostat active. 69.3, 72.0
2024-02-08 00:24:22.802 INFO (MainThread) [homeassistant.components.generic_thermostat.climate] Turning off heater input_boolean.enable_bedroom_climate
2024-02-08 00:24:22.802 DEBUG (MainThread) [custom_components.hvac_group] Actutator climate.upstairs_thermostat_thermostat changed state: {'attributes': {'current_temperature': (69, None), 'temperature': (68, None), 'current_humidity': (36, None), 'hvac_action': (<HVACAction.IDLE: 'idle'>, None)}, 'state': ('heat', 'unavailable')} (context 01HP3X2RGCSDFKG82QDJSJ6GMC)
2024-02-08 00:24:22.802 DEBUG (MainThread) [custom_components.hvac_group] Actutator climate.upstairs_thermostat_thermostat changed state: {'attributes': {'current_temperature': (69, None), 'temperature': (68, None), 'current_humidity': (36, None), 'hvac_action': (<HVACAction.IDLE: 'idle'>, None)}, 'state': ('heat', 'unavailable')} (context 01HP3X2RGCSDFKG82QDJSJ6GMC)
2024-02-08 00:24:22.807 DEBUG (MainThread) [custom_components.hvac_group] Actutator climate.bedroom_virtual changed state: {'attributes': {'current_temperature': (69, None)}} (context 01HP3X2RGJF7M254MCVKTDBYNF)
2024-02-08 00:24:22.808 DEBUG (MainThread) [custom_components.hvac_group] Actutator climate.bedroom_virtual changed state: {'attributes': {'current_temperature': (69, None)}} (context 01HP3X2RGJF7M254MCVKTDBYNF)
2024-02-08 00:24:22.818 DEBUG (MainThread) [custom_components.hvac_group] Actutator climate.bedroom_virtual changed state: {'attributes': {'hvac_action': (<HVACAction.IDLE: 'idle'>, <HVACAction.COOLING: 'cooling'>)}} (context 01HP3X2RGSQGN2YTV4KM19VJ4C)
2024-02-08 00:24:22.818 DEBUG (MainThread) [custom_components.hvac_group] Actutator climate.bedroom_virtual changed state: {'attributes': {'hvac_action': (<HVACAction.IDLE: 'idle'>, <HVACAction.COOLING: 'cooling'>)}} (context 01HP3X2RGSQGN2YTV4KM19VJ4C)
2024-02-08 00:24:33.105 DEBUG (MainThread) [custom_components.hvac_group] Updating climate.upstairs_climate on Home Assistant start
2024-02-08 00:24:33.105 DEBUG (MainThread) [custom_components.hvac_group] Obtained current and target temperatures (69.3 -> 45.0-45.0). Setting mode heat_cool on HVAC group climate.upstairs_climate.
2024-02-08 00:24:33.105 DEBUG (MainThread) [custom_components.hvac_group] Force updating the state of actuators of HVAC group climate.upstairs_climate
2024-02-08 00:24:33.105 DEBUG (MainThread) [custom_components.hvac_group] Attempting to set temperature of <class 'custom_components.hvac_group.actuator.HvacGroupHeater'> climate.upstairs_thermostat_thermostat to (None 45.0 45.0) and mode to heat
2024-02-08 00:24:33.105 DEBUG (MainThread) [custom_components.hvac_group] Creating commit action `set_temperature` on <class 'custom_components.hvac_group.actuator.HvacGroupHeater'> climate.upstairs_thermostat_thermostat
2024-02-08 00:24:33.105 DEBUG (MainThread) [custom_components.hvac_group] Attempting to set temperature of <class 'custom_components.hvac_group.actuator.HvacGroupCooler'> climate.bedroom_virtual to (None 45.0 45.0) and mode to cool
2024-02-08 00:24:33.105 DEBUG (MainThread) [custom_components.hvac_group] Creating commit action `set_temperature` on <class 'custom_components.hvac_group.actuator.HvacGroupCooler'> climate.bedroom_virtual
2024-02-08 00:24:33.105 DEBUG (MainThread) [custom_components.hvac_group] Setting common actuators as coolers for HVAC group climate.upstairs_climate
2024-02-08 00:24:33.105 DEBUG (MainThread) [custom_components.hvac_group] Running coroutine <bound method HvacGroupActuator._async_call_climate_service of <custom_components.hvac_group.actuator.HvacGroupHeater object at 0x7f31d2c16c90>>(('climate.upstairs_thermostat_thermostat', 'set_temperature', {'temperature': 45.0, 'hvac_mode': <HVACMode.HEAT: 'heat'>}))
2024-02-08 00:24:33.105 DEBUG (MainThread) [custom_components.hvac_group] Updating climate.home_climate on Home Assistant start
2024-02-08 00:24:33.105 DEBUG (MainThread) [custom_components.hvac_group] Obtained current and target temperatures (73.0 -> 41.0). Setting mode heat on HVAC group climate.home_climate.
2024-02-08 00:24:33.106 DEBUG (MainThread) [custom_components.hvac_group] Force updating the state of actuators of HVAC group climate.home_climate
2024-02-08 00:24:33.106 DEBUG (MainThread) [custom_components.hvac_group] Attempting to set temperature of <class 'custom_components.hvac_group.actuator.HvacGroupHeater'> climate.upstairs_thermostat_thermostat to (41.0 None None) and mode to heat
2024-02-08 00:24:33.106 DEBUG (MainThread) [custom_components.hvac_group] Creating commit action `set_temperature` on <class 'custom_components.hvac_group.actuator.HvacGroupHeater'> climate.upstairs_thermostat_thermostat
2024-02-08 00:24:33.106 DEBUG (MainThread) [custom_components.hvac_group] Attempting to set temperature of <class 'custom_components.hvac_group.actuator.HvacGroupHeater'> climate.downstairs_thermostat_thermostat to (41.0 None None) and mode to heat
2024-02-08 00:24:33.106 DEBUG (MainThread) [custom_components.hvac_group] Creating commit action `set_temperature` on <class 'custom_components.hvac_group.actuator.HvacGroupHeater'> climate.downstairs_thermostat_thermostat
2024-02-08 00:24:33.106 DEBUG (MainThread) [custom_components.hvac_group] Running coroutine <bound method HvacGroupActuator._async_call_climate_service of <custom_components.hvac_group.actuator.HvacGroupHeater object at 0x7f31d24a96d0>>(('climate.upstairs_thermostat_thermostat', 'set_temperature', {'temperature': 41.0, 'hvac_mode': <HVACMode.HEAT: 'heat'>}))
2024-02-08 00:24:33.106 DEBUG (MainThread) [custom_components.hvac_group] Updating climate.home_ac on Home Assistant start
2024-02-08 00:24:33.106 DEBUG (MainThread) [custom_components.hvac_group] Obtained current and target temperatures (73.0 -> 45.0). Setting mode cool on HVAC group climate.home_ac.
2024-02-08 00:24:33.106 DEBUG (MainThread) [custom_components.hvac_group] Force updating the state of actuators of HVAC group climate.home_ac
2024-02-08 00:24:33.106 DEBUG (MainThread) [custom_components.hvac_group] Attempting to set temperature of <class 'custom_components.hvac_group.actuator.HvacGroupCooler'> climate.bedroom_virtual to (45.0 None None) and mode to cool
2024-02-08 00:24:33.106 DEBUG (MainThread) [custom_components.hvac_group] Creating commit action `set_temperature` on <class 'custom_components.hvac_group.actuator.HvacGroupCooler'> climate.bedroom_virtual
2024-02-08 00:24:33.106 DEBUG (MainThread) [custom_components.hvac_group] Attempting to set temperature of <class 'custom_components.hvac_group.actuator.HvacGroupCooler'> climate.kitchen_thermistat to (45.0 None None) and mode to cool
2024-02-08 00:24:33.106 DEBUG (MainThread) [custom_components.hvac_group] Creating commit action `set_temperature` on <class 'custom_components.hvac_group.actuator.HvacGroupCooler'> climate.kitchen_thermistat
2024-02-08 00:24:33.106 DEBUG (MainThread) [custom_components.hvac_group] Setting common actuators as coolers for HVAC group climate.home_ac
2024-02-08 00:24:33.106 DEBUG (MainThread) [custom_components.hvac_group] Running coroutine <bound method HvacGroupActuator._async_call_climate_service of <custom_components.hvac_group.actuator.HvacGroupCooler object at 0x7f31d24a88d0>>(('climate.bedroom_virtual', 'set_temperature', {'temperature': 45.0, 'hvac_mode': <HVACMode.COOL: 'cool'>}))
2024-02-08 00:24:33.107 DEBUG (MainThread) [custom_components.hvac_group] Updating climate.downstairs_climate on Home Assistant start
2024-02-08 00:24:33.107 DEBUG (MainThread) [custom_components.hvac_group] Obtained current and target temperatures (73.0 -> 45.0-45.0). Setting mode heat_cool on HVAC group climate.downstairs_climate.
2024-02-08 00:24:33.107 DEBUG (MainThread) [custom_components.hvac_group] Force updating the state of actuators of HVAC group climate.downstairs_climate
2024-02-08 00:24:33.107 DEBUG (MainThread) [custom_components.hvac_group] Attempting to set temperature of <class 'custom_components.hvac_group.actuator.HvacGroupHeater'> climate.downstairs_thermostat_thermostat to (None 45.0 45.0) and mode to heat
2024-02-08 00:24:33.107 DEBUG (MainThread) [custom_components.hvac_group] Creating commit action `set_temperature` on <class 'custom_components.hvac_group.actuator.HvacGroupHeater'> climate.downstairs_thermostat_thermostat
2024-02-08 00:24:33.107 DEBUG (MainThread) [custom_components.hvac_group] Attempting to set temperature of <class 'custom_components.hvac_group.actuator.HvacGroupCooler'> climate.kitchen_thermistat to (None 45.0 45.0) and mode to cool
2024-02-08 00:24:33.107 DEBUG (MainThread) [custom_components.hvac_group] Creating commit action `set_temperature` on <class 'custom_components.hvac_group.actuator.HvacGroupCooler'> climate.kitchen_thermistat
2024-02-08 00:24:33.107 DEBUG (MainThread) [custom_components.hvac_group] Setting common actuators as coolers for HVAC group climate.downstairs_climate
2024-02-08 00:24:33.107 DEBUG (MainThread) [custom_components.hvac_group] Running coroutine <bound method HvacGroupActuator._async_call_climate_service of <custom_components.hvac_group.actuator.HvacGroupHeater object at 0x7f31d24aad50>>(('climate.downstairs_thermostat_thermostat', 'set_temperature', {'temperature': 45.0, 'hvac_mode': <HVACMode.HEAT: 'heat'>}))
2024-02-08 00:24:33.156 DEBUG (MainThread) [custom_components.hvac_group] Commit action run for <class 'custom_components.hvac_group.actuator.HvacGroupCooler'> climate.bedroom_virtual. Removing
2024-02-08 00:24:33.156 DEBUG (MainThread) [custom_components.hvac_group] Running coroutine <bound method HvacGroupActuator._async_call_climate_service of <custom_components.hvac_group.actuator.HvacGroupCooler object at 0x7f31d24a8a10>>(('climate.kitchen_thermistat', 'set_temperature', {'temperature': 45.0, 'hvac_mode': <HVACMode.COOL: 'cool'>}))
2024-02-08 00:24:33.167 DEBUG (MainThread) [custom_components.hvac_group] Actutator climate.bedroom_virtual changed state: {'attributes': {'temperature': (45, 72)}} (context 01HP3X2RGSQGN2YTV4KM19VJ4C)
2024-02-08 00:24:33.167 DEBUG (MainThread) [custom_components.hvac_group] Actutator climate.bedroom_virtual changed state: {'attributes': {'temperature': (45, 72)}} (context 01HP3X2RGSQGN2YTV4KM19VJ4C)
2024-02-08 00:24:33.186 DEBUG (MainThread) [custom_components.hvac_group] Commit action run for <class 'custom_components.hvac_group.actuator.HvacGroupCooler'> climate.kitchen_thermistat. Removing
2024-02-08 00:24:33.227 DEBUG (MainThread) [custom_components.hvac_group] Actutator climate.kitchen_thermistat changed state: {'attributes': {'temperature': (45, 72)}} (context 01HP3X2RGSQGN2YTV4KM19VJ4C)
2024-02-08 00:24:33.227 DEBUG (MainThread) [custom_components.hvac_group] Actutator climate.kitchen_thermistat changed state: {'attributes': {'temperature': (45, 72)}} (context 01HP3X2RGSQGN2YTV4KM19VJ4C)
2024-02-08 00:24:33.268 DEBUG (MainThread) [custom_components.hvac_group] Actutator climate.bedroom_virtual changed state: {'attributes': {'hvac_action': (<HVACAction.COOLING: 'cooling'>, <HVACAction.IDLE: 'idle'>)}} (context 01HP3X2RGSQGN2YTV4KM19VJ4C)
2024-02-08 00:24:33.268 DEBUG (MainThread) [custom_components.hvac_group] Actutator climate.bedroom_virtual changed state: {'attributes': {'hvac_action': (<HVACAction.COOLING: 'cooling'>, <HVACAction.IDLE: 'idle'>)}} (context 01HP3X2RGSQGN2YTV4KM19VJ4C)
2024-02-08 00:24:33.295 DEBUG (MainThread) [custom_components.hvac_group] Commit action run for <class 'custom_components.hvac_group.actuator.HvacGroupHeater'> climate.upstairs_thermostat_thermostat. Removing
2024-02-08 00:24:33.295 DEBUG (MainThread) [custom_components.hvac_group] Running coroutine <bound method HvacGroupActuator._async_call_climate_service of <custom_components.hvac_group.actuator.HvacGroupCooler object at 0x7f31d15c8ad0>>(('climate.bedroom_virtual', 'set_temperature', {'temperature': 45.0, 'hvac_mode': <HVACMode.COOL: 'cool'>}))
2024-02-08 00:24:33.296 DEBUG (MainThread) [custom_components.hvac_group] Commit action run for <class 'custom_components.hvac_group.actuator.HvacGroupHeater'> climate.downstairs_thermostat_thermostat. Removing
2024-02-08 00:24:33.296 DEBUG (MainThread) [custom_components.hvac_group] Running coroutine <bound method HvacGroupActuator._async_call_climate_service of <custom_components.hvac_group.actuator.HvacGroupCooler object at 0x7f31d24aaa50>>(('climate.kitchen_thermistat', 'set_temperature', {'temperature': 45.0, 'hvac_mode': <HVACMode.COOL: 'cool'>}))
2024-02-08 00:24:33.314 DEBUG (MainThread) [custom_components.hvac_group] Actutator climate.upstairs_thermostat_thermostat changed state: {'attributes': {'temperature': (45, 68)}} (context 01HP3X2RGCSDFKG82QDJSJ6GMC)
2024-02-08 00:24:33.314 DEBUG (MainThread) [custom_components.hvac_group] Actutator climate.upstairs_thermostat_thermostat changed state: {'attributes': {'temperature': (45, 68)}} (context 01HP3X2RGCSDFKG82QDJSJ6GMC)
2024-02-08 00:24:33.314 DEBUG (MainThread) [custom_components.hvac_group] Actutator climate.downstairs_thermostat_thermostat changed state: {'attributes': {'temperature': (45, 68)}} (context 01HP3X2RG6D98RZ7A3F6A4YG2D)
2024-02-08 00:24:33.314 DEBUG (MainThread) [custom_components.hvac_group] Actutator climate.downstairs_thermostat_thermostat changed state: {'attributes': {'temperature': (45, 68)}} (context 01HP3X2RG6D98RZ7A3F6A4YG2D)
2024-02-08 00:24:33.374 DEBUG (MainThread) [custom_components.hvac_group] Commit action run for <class 'custom_components.hvac_group.actuator.HvacGroupCooler'> climate.bedroom_virtual. Removing
2024-02-08 00:24:33.375 DEBUG (MainThread) [custom_components.hvac_group] Commit action run for <class 'custom_components.hvac_group.actuator.HvacGroupCooler'> climate.kitchen_thermistat. Removing
2024-02-08 00:24:33.498 DEBUG (MainThread) [custom_components.hvac_group] Commit action run for <class 'custom_components.hvac_group.actuator.HvacGroupHeater'> climate.upstairs_thermostat_thermostat. Removing
2024-02-08 00:24:33.498 DEBUG (MainThread) [custom_components.hvac_group] Running coroutine <bound method HvacGroupActuator._async_call_climate_service of <custom_components.hvac_group.actuator.HvacGroupHeater object at 0x7f31d24a9610>>(('climate.downstairs_thermostat_thermostat', 'set_temperature', {'temperature': 41.0, 'hvac_mode': <HVACMode.HEAT: 'heat'>}))
2024-02-08 00:24:33.502 DEBUG (MainThread) [custom_components.hvac_group] Actutator climate.upstairs_thermostat_thermostat changed state: {'attributes': {'temperature': (41, 45)}} (context 01HP3X2RGCSDFKG82QDJSJ6GMC)
2024-02-08 00:24:33.502 DEBUG (MainThread) [custom_components.hvac_group] Actutator climate.upstairs_thermostat_thermostat changed state: {'attributes': {'temperature': (41, 45)}} (context 01HP3X2RGCSDFKG82QDJSJ6GMC)
2024-02-08 00:24:33.695 DEBUG (MainThread) [custom_components.hvac_group] Commit action run for <class 'custom_components.hvac_group.actuator.HvacGroupHeater'> climate.downstairs_thermostat_thermostat. Removing
2024-02-08 00:24:33.699 DEBUG (MainThread) [custom_components.hvac_group] Actutator climate.downstairs_thermostat_thermostat changed state: {'attributes': {'temperature': (41, 45)}} (context 01HP3X2RGCSDFKG82QDJSJ6GMC)
2024-02-08 00:24:33.699 DEBUG (MainThread) [custom_components.hvac_group] Actutator climate.downstairs_thermostat_thermostat changed state: {'attributes': {'temperature': (41, 45)}} (context 01HP3X2RGCSDFKG82QDJSJ6GMC)
2024-02-08 00:26:02.549 DEBUG (MainThread) [custom_components.hvac_group] New temperature received from temp sensor sensor.upstairs_thermostat_current_temperature: 68.9. Setting on HVAC Group climate.upstairs_climate
2024-02-08 00:26:02.549 DEBUG (MainThread) [custom_components.hvac_group] No commit action for <class 'custom_components.hvac_group.actuator.HvacGroupHeater'> climate.upstairs_thermostat_thermostat
2024-02-08 00:26:02.550 DEBUG (MainThread) [custom_components.hvac_group] No commit action for <class 'custom_components.hvac_group.actuator.HvacGroupCooler'> climate.bedroom_virtual
2024-02-08 00:26:02.550 DEBUG (MainThread) [custom_components.hvac_group] No commit action for <class 'custom_components.hvac_group.actuator.HvacGroupHeater'> climate.upstairs_thermostat_thermostat
2024-02-08 00:26:02.550 DEBUG (MainThread) [custom_components.hvac_group] No commit action for <class 'custom_components.hvac_group.actuator.HvacGroupCooler'> climate.bedroom_virtual
For what its worth, I have 4 test groups:
Two groups each have one homekit thermostat (baseboard thermostat by mysa) and one generic_thermostat (https://www.home-assistant.io/integrations/generic_thermostat/)
Then one group that has both homekit themostats in it.
And one with both generic_thermostats.
Here is the definiton for the generic thermostats:
climate:
- platform: generic_thermostat
name: Bedroom_virtual
unique_id: climate.bedroom_virtual_ac
target_temp: 72
target_sensor: sensor.upstairs_thermostat_current_temperature
heater: input_boolean.enable_bedroom_climate
ac_mode: true
- platform: generic_thermostat
name: Kitchen Thermistat
unique_id: climate.kitchen_virtual_ac
target_temp: 72
target_sensor: sensor.downstairs_thermostat_current_temperature
heater: input_boolean.enable_kitchen_climate
ac_mode: true
Both of them tie to the current temp from the baseboard thermostat in the same floor. The then just have the control to set a target. A set of automations then takes those and uses an IR blaster to set AC units to the same target temp (or turn them off).
The problem is this:
2024-02-08 00:24:19.989 DEBUG (MainThread) [custom_components.hvac_group] New min/max temps received from actuator climate.bedroom_virtual: (45, 95). HVAC Group climate.upstairs_climate new min/max temps: 45.0, 45.0
Having no way to display the scale, since it's between 45 and 45 degrees, means the controls can't show up. I just don't understand what's causing it. Could you check the list of attributes for each cooler/heater you added to a group? I'm interested in their min_temp
/max_temp
or if they don't have these attributes defined. The min/max temps of the group are picked so that all group members/actuators can "fit" inside the range, but I have assumed all members have these properties properly defined. If that's not the case, I need to account for this.
I was just poking around at the controls assuming it was a 0-range type thing, so that fits with my thinking. Let me get you those values.
I think i know what's wrong. You have some actuators in Celsius and other in Fahrenheit, so there's no "common" range between them.
Ah yes, that would do it. Sadly, my brain does not handle metric very well so I am part of what has to needlessly complicate things...
So with that, these are probably not needed but adding them anyway in case they help:
# climate.upstairs_thermostat_thermostat
hvac_modes: off, heat
min_temp: 41
max_temp: 86
friendly_name: Upstairs Thermostat Thermostat
supported_features: 1
current_temperature: 69
temperature: 68
current_humidity: 36
hvac_action: idle
# climate.downstairs_thermostat_thermostat
hvac_modes: off, heat
min_temp: 41
max_temp: 86
friendly_name: Downstairs Thermostat Thermostat
supported_features: 1
current_temperature: 73
temperature: 68
current_humidity: 36
hvac_action: idle
# climate.bedroom_virtual
hvac_modes: cool, off
min_temp: 45
max_temp: 95
target_temp_step: 1
current_temperature: 68
temperature: 76
hvac_action: off
friendly_name: Bedroom_virtual
supported_features: 1
# climate.kitchen_thermistat
hvac_modes: cool, off
min_temp: 45
max_temp: 95
target_temp_step: 1
current_temperature: 68
temperature: 76
hvac_action: off
friendly_name: Bedroom_virtual
supported_features: 1
Just as an experiment, could you create a group where all members have the same temperature scale and confirm if it's working? Or a group with a single heater or cooler, that should minimize the risk
As far as I can tell, they should all be in F (they are all reported as such in the UI). Let me create a single group to test though.
As far as I can tell, they should all be in F (they are all reported as such in the UI)
The frontend handles some conversions. It doesn't mean they are in F behind the scenes
Got it - but it looks like that was not the issue:
That has a singe heater in it.
Minor additional bug report:
I accidentally added a cooler as a heater when creating a single item group with on of the generic thermostats. Then, after editing it to move that to the colling section, it still only has a heating mode.
After restarting, the cooling only one (that I had messed up initial creation of) only has Off as a mode
Got it - but it looks like that was not the issue:
Well, duh! I've written the integration in Celsius by default, so yeah, that won't work. Don't worry, I can reproduce and I'll fix it.
After restarting, the cooling only one (that I had messed up initial creation of) only has Off as a mode
🤦♂️ That's a different issue I need to address, let's fix these units of measurement first.
Hahaha, I had wondered about that. Good thing it's not a Mars mission!
100% agreed, the "I messed up the group creation" one is much lower priority.
This should fix it https://github.com/tetele/hvac_group/releases/tag/0.2.0-beta.4
I accidentally added a cooler as a heater when creating a single item group with on of the generic thermostats. Then, after editing it to move that to the colling section, it still only has a heating mode.
I can't replicate this and I think it's about the card issues that i've mentioned. Could you try a simple refresh? If not, please create a new issue
I have controls!
It does seem that the values are one way - changes to the items don't seem reflected back. It would also be good to be able to change the incremet from .5 to 1 degree. I will collect some more on those and add a feature request and bug for the specifically and let this one close. Huge thanks on this! Great to see it working!
No, thank you for your patience and help with debugging!
The 2-way sync is on my roadmap but it will be a bit complicated. The precision in Fahrenheit is a good idea, I'll add that in a couple of days, but yeah, it would be great if you could raise some issues so I can get a feel of your (and others') expectations.
Great - will do!
System Health details
System Information
Home Assistant Community Store
GitHub API | ok -- | -- GitHub Content | ok GitHub Web | ok GitHub API Calls Remaining | 4427 Installed Version | 1.34.0 Stage | running Available Repositories | 1383 Downloaded Repositories | 32Home Assistant Cloud
logged_in | true -- | -- subscription_expiration | August 30, 2024 at 5:00 PM relayer_connected | true relayer_region | us-east-1 remote_enabled | true remote_connected | true alexa_enabled | true google_enabled | true remote_server | us-east-1-8.ui.nabu.casa certificate_status | ready instance_id | 8fb2c7ce6af84f0bb82af2f5afeecfef can_reach_cert_server | ok can_reach_cloud_auth | ok can_reach_cloud | okkeymaster
zwave_integration | zwave_js -- | -- network_status | onDashboards
dashboards | 20 -- | -- resources | 13 views | 22 mode | storageRecorder
oldest_recorder_run | January 21, 2024 at 10:31 PM -- | -- current_recorder_run | January 28, 2024 at 11:08 PM estimated_db_size | 478.72 MiB database_engine | postgresql database_version | 15.3Spotify
api_endpoint_reachable | ok -- | --Checklist
Describe the issue
The thermostat card for the HVAC Group does not have target temperature controls.
Other observations:
The attached logs are just for getting to the heating/cooling group and trying to use the card. The other issues seem like they might be related, but I am not including specific logs for them. Please let me know if you want me to gather more details for any of those cases specifically, and/or file more specific issues for them.
Reproduction steps
Debug logs
Diagnostics dump
No response