Climate Group custom component for multiple radiator thermostats

Hmm it seems that 108.8 broke it somehow. I am on 108.6 and it still works fine. I will have a look when I will update. It seems as if it does not get the state updates anymore. Is there anything in the logs?

I just updated to 108.9 and it still works for me. Can anybody else confirm the issue?

Nothing I could find in the logs right away. Semms to not pick up the Mill heaters. After testing it in my other HA setup at home I belive the problem might be the millheat integration. Because at home we use basic-z-wave thermostats, and there the custom component works as expected. Maybe they do not work well together?


Any Ideas?

It might be something about PRESET_MODE, if the thermostat does not support it, it seems that it does not work then. But I am not sure yet. For me it does work indeed, so it is a bit hard for me debug…

Seems like you are right, the Mill heaters does not have a PRESET_MODE.
State atributes in the Mill heater climate entity :

hvac_modes:
  - heat
  - 'off'
min_temp: 5
max_temp: 35
target_temp_step: 1
fan_modes:
  - 'on'
  - 'off'
current_temperature: 20
temperature: 20
fan_mode: 'off'
hvac_action: idle
open_window: null
heating: 0
controlled_by_tibber: 0
heater_generation: 2
room: stue
avg_room_temp: 20.5
friendly_name: gang
supported_features: 9

Possible to work around?

There is a discussion ongoing here:
https://github.com/daenny/climate_group/issues/20

Can you try with this version (copy and paste to config/custom_components/climate_group/climate.py):
https://github.com/daenny/climate_group/blob/test/more-logging/custom_components/climate_group/climate.py

and enable logging in DEBUG (https://www.home-assistant.io/integrations/logger/) for the component?

I made a new beta release that should fix the problems.

As mentioned, I think this should be a standard features of HA; any particular reasons you’re not creating a PR to merge this upstream?

it would prevent breaking things that often.

I don’t mind doing this if you’re lacking the time.

With 0.113 this component isn’t properly working, current_temperature and temperature are always showing as null.
hvac_modes:

  • fan_only
  • heat_cool
  • ‘off’
    min_temp: 15
    max_temp: 30
    current_temperature: null
    temperature: null
    friendly_name: All Zones
    supported_features: 1

when here I’ve only put a single entity in it, which has
hvac_modes:

  • ‘off’
  • fan_only
  • heat_cool
    min_temp: 15
    max_temp: 30
    target_temp_step: 0.5
    current_temperature: 19
    temperature: 18.5
    friendly_name: Living
    supported_features: 1

cheers
JY

Good point. I might have time to add a MR to home assistant this weekend.
I am on 0.114 and it still works for me, but I also only have quite simple climate devices.

I really like the Climate Group component, especially how the group is a climate entity itself. Works great with my automations and the simple thermostat lovelace card.

The only thing I wish it did was to synchronize the thermostats in the group. ie. If I change the temperature or preset mode of one thermostat, I want them all to update to the same.

Do you think that’s something the component could be capable of?

1 Like

For the time being you could create an automation that is triggered by setpoint changes of the individual thermostats.

Awesome work, looking forward to testing it out!

Would it be possible to group together, multiple TRVs, with temperature readings from another thermometer placed in the room for more reliable numbers?

I just created the following automation for that:


- id: heizung9
  alias: ***
  trigger: 
    platform: state
    entity_id: climate.heizung_wozi, climate.heizung_wozi_2
    attribute: temperature
  action:
    choose:
      - conditions: "{{ trigger.to_state.entity_id == 'climate.heizung_wozi' }}"
        sequence:   
          - service: climate.set_temperature
            data:
              entity_id: climate.heizung_wozi_2
              temperature: "{{ trigger.to_state.attributes.temperature }}"
      - conditions: "{{ trigger.to_state.entity_id == 'climate.heizung_wozi_2' }}"
        sequence:   
          - service: climate.set_temperature
            data:
              entity_id: climate.heizung_wozi
              temperature: '{{ trigger.to_state.attributes.temperature }}'
1 Like

Awesome work zubredo, so if you change the temperature on the physical dial on heizung_wozi_1, it will automatically mirror the change on heizung_wozi_2?

And looking at the logic of your automation, would the below work, if I actually had 3 in the same room?

- id: xxxx
  alias: TRV Sync
  trigger: 
    platform: state
    entity_id: climate.trv_1, climate.trv_2, climate.trv_3
    attribute: temperature
  action:
    choose:
      - conditions: "{{ trigger.to_state.entity_id == 'climate.trv_1' }}"
        sequence:   
          - service: climate.set_temperature
            data:
              entity_id: climate.trv_2, climate.trv_3
              temperature: "{{ trigger.to_state.attributes.temperature }}"
      - conditions: "{{ trigger.to_state.entity_id == 'climate.trv_2' }}"
        sequence:   
          - service: climate.set_temperature
            data:
              entity_id: climate.trv_1, climate.trv_3
              temperature: '{{ trigger.to_state.attributes.temperature }}'
      - conditions: "{{ trigger.to_state.entity_id == 'climate.trv_3' }}"
        sequence:   
          - service: climate.set_temperature
            data:
              entity_id: climate.trv_1, climate.trv_2
              temperature: '{{ trigger.to_state.attributes.temperature }}'

yes, I think that should work. Have you tried it?

Nope, I wanted your confirmation, before testing it out. So will do that now. :blush:

I forgot to ever write back. I can confirm that it is working with 3 units. :slight_smile:

Hi Zubredo, unfortunately with the newest 2021.3 update, it has started to give failures.

The messages are the following:

2021-03-14 21:16:58 ERROR (MainThread) [homeassistant.components.automation.trv_sync_common_room] TEM04 - TRV Sync - Common Room: Choose at step 1: choice 2: Error executing script. Invalid data for call_service at pos 1: must contain at least one of temperature, target_temp_high, target_temp_low.
2021-03-14 21:16:58 ERROR (MainThread) [homeassistant.components.automation.trv_sync_common_room] TEM04 - TRV Sync - Common Room: Error executing script. Invalid data for choose at pos 1: must contain at least one of temperature, target_temp_high, target_temp_low.
2021-03-14 21:16:58 ERROR (MainThread) [homeassistant.components.automation.trv_sync_common_room] Error while executing automation automation.trv_sync_common_room: must contain at least one of temperature, target_temp_high, target_temp_low.

So it appears that Home Assistant requires me to set a temperature, even though I just want it to mimic the one I changed manually.

Any ideas on how to make Home Assistant happy?

The automation is below:

- id: '1613419540106'
  alias: TEM04 - TRV Sync - Common Room
  trigger:
  - platform: state
    entity_id: climate.living_roomtrv1_thermostat, climate.living_roomtrv2_thermostat,
      climate.dining_roomtrv_thermostat
    attribute: temperature
  action:
  - choose:
    - conditions:
      - condition: template
        value_template: '{{ trigger.to_state.entity_id == ''climate.living_roomtrv1_thermostat''
          }}'
      sequence:
      - service: climate.set_temperature
        data: {}
        target:
          entity_id: climate.living_roomtrv2_thermostat, climate.dining_roomtrv_thermostat
    - conditions:
      - condition: template
        value_template: '{{ trigger.to_state.entity_id == ''climate.living_roomtrv2_thermostat''
          }}'
      sequence:
      - service: climate.set_temperature
        data: {}
        target:
          entity_id: climate.living_roomtrv1_thermostat, climate.dining_roomtrv_thermostat
    - conditions:
      - condition: template
        value_template: '{{ trigger.to_state.entity_id == ''climate.dining_roomtrv_thermostat''
          }}'
      sequence:
      - service: climate.set_temperature
        data: {}
        target:
          entity_id: climate.living_roomtrv1_thermostat, climate.living_roomtrv2_thermostat
  mode: single

Edit: I have created a separate topic on the same:
TRV temperature sync automation broken with 2021.3 - Configuration - Home Assistant Community (home-assistant.io)

And @pnbruckner has already suggested a working fix: