4 Rooms, 4 generic thermostats, 1 boiler/switch

Hey guys,

I’ve read the almost similar topic at https://community.home-assistant.io/t/generic-thermostat-switching-heater-multizone/322905m, but that topic is almost 2 years old and someone advised me to make a new topic.

It’s quite similar to the original one!

I have 4 rooms with radiators (not yet with smartvalves, but will have them soon). I made 4 generic thermostats that all have the same boiler switch. The switch switches on as soon as 1 of the thermostats needs a higher temperature than currently available in that room. But… it switches the boiler switch off, as soon as it’s done. But that doesn’t mean the other rooms are done, of course.

So I’ve read something about making a group, so that if even 1 of that groep is ‘true’, the switch stays on. But I don’t see the logic (yet) how to implement this.

How do I set this up, exactly?

Thanks, guys!

you can use either the group example you linked to (read about “groups” ) in your example you all generic-thermostats have to be “above” the highest “value” of the thermostats , so if you have different values, you take the highest.
Or you create a simple template/automation, so when 1 thermostat triggers the heather it will heat until it reach the highest value … Im not sure why that wont work for you.
You only have 1 Boiler, so no matter how you twist and turn it, when the heat is lower in 1 room, and you want to heat, all rooms get affected, and the boiler wont stop before you reach the upper threshold ( in what ever room that is )
Im not sure about how the group works in details, but i believe it’s the right way, as it then is the group which are the “trigger”
Problem is, you will most likely not like any of the solutions, because the room you want to have “hottest” , will most likely be the one who triggers all the time, and the other rooms will just have to “addapt” and be “as warm as they be”

I think I’m almost there.

I just can’t get the automation to work.

I’m using this automation

alias: Boiler
description: "Boiler Switch"
trigger:
  - platform: state
    entity_id:
      - group.mygroup
condition: []
action:
  - service: 'switch.turn_{{ trigger.to_state.state }}'
     target:
       entity_id: switch.smartswitch_01_switch
mode: single

But it tells me: Message malformed: Service does not match format <domain>.<name> for dictionary value @ data['action'][0]['service']'

Not sure what is wrong…

This will be covered by the smartvalves, I believe. If they room doesn’t need any more heating, I will close them down, of course.

i guess you are missing the “conditions”

eidt, and doubleqoutes

There are no conditions. That’s also not what the error message warnes me about.

thou again as each generic thermostat should be configured to trigger, cording to your preferences, but as you only have 1 heater, then your “lost”, unless you “find” a common highest-level ( ALL room has to have the same “Highest” temperature, in which ever room that is …again, the others have to “adapt” ( getting hot as hell )
but to be honest, then you are better of just using temperatur-sensors

Change the indentation of this:

action:
  - service: 'switch.turn_{{ trigger.to_state.state }}'
     target:
       entity_id: switch.smartswitch_01_switch

To this:

action:
  - service: 'switch.turn_{{ trigger.to_state.state }}'
    target:
      entity_id: switch.smartswitch_01_switch
2 Likes

You always see the small “corrector” mistakes :wink:

1 Like

This was the solution, thanks!

I’m quite new to HA and even though I’m good with logic and how things should work, I keep struggling with the logic of YAML.

But thanks, Taras! What I want is working flawlessly!