đŸ”„ Advanced Heating Control

I think to setup the automation for the rooms is clear for you. The simplest configutation is one automation per room. Unless you don’t want (want you?) to set down room temperature during night you just have to define the specific TRVs and the person who’s living in.

Then for your common rooms it needs a at least one automation. If you’re using more than one temperature sensor you need a blueprint for each common room, too. And you define all persons using it.

If you go later with presence sensor you can think about dropping the persons and let the presence sensor work. Then maybe you have to play with the timings of the configuration because heating is a little sluggish and it needs some time to get to comfort temperature.

But your main climate entity, your generic climate entity that controls your boiler. I think you need to define a template sensor based on room temps and your persons. Something like this:

 main_temperature:
    unit_of_measurement: °C
    device_class: temperature
    friendly_name: Temperatur
    value_template: >
      {% set persons = [
                        'person.john',
                        'person.peter',
                        'person.paul',
                        'person.jack'
                      ]
      %}

      {% set is_anybody_home = persons | expand | selectattr('state','eq','home') | list | count > 0 %}

      {% if is_anybody_home == false %}
        {{ states('sensor.central_temperature') }}
      {% else %}

        {% set common_room_temps = [ 
                                    states('sensor.common_room2_temp'), # common room 1
                                    states('sensor.common_room2_temp') # common room 2
                                  ] 
        %}

        {% set personal_room_temps = [
            iif(states(persons[0]) == 'home', states('sensor.john_room_temp'), float(0)),
            iif(states(persons[1]) == 'home', states('sensor.peter_room_temp'), float(0)),
            iif(states(persons[2]) == 'home', states('sensor.paul_room_temp'), float(0)),
            iif(states(persons[3]) == 'home', states('sensor.jack_room_temp'), float(0))
        ]  %}

        {% set min_temp = [personal_room_temps | min, common_room_temps | min] | min  %}

        {{ min_temp }}

      {% endif %}

It selects the minimum temperature of all rooms but only if someone is home and then only his personal room comes into the selection. Common rooms are always in selection.
If nobody is home the value of your central temperature sensor is set. Don’t know what should hapen with your boiler if nobody is home. :stuck_out_tongue:

That’s amazing

 I will do some playing!! That’s exactly what I needed
. It will help tremendously!! Really appreciate it!!

Thanks for the reference, that’s helpful. So using the context looks like a dead end.

The only thing that somewhat worked for me, was using a single automation mode, not queued.

Later on I split one huge automation to multiple ones, so I had to create a global flag (input_boolean) with “it’s me running, ignore further triggers”. I finally stopped triggering another parts of the system, but
 I no longer properly react to the events. In heating, there is not many occasion for concurrent events, but it’s still not a right system design.

To mitigate the situations of loosing the important triggers, I had the “check every 5 minutes if I am doing as expected”.

These days I finally wanted to make it “correct”, got into your blueprint (great work across all these versions, btw), hoped you already nailed it :wink:

Cheers!

Since many days im stuggeling between following question.
i’m switched from ECO Heating Ultimate v1.1 with Better Thermostat to this Blueprint and im absolutely happy with them, but make it sense to use this Blueprint in combination with “Better Thermostat” too, what you guys think about it? (Currently im missing only the offset feature)

Example: Better thermostat goes in idle when the temp is reached, is this necessary or is it ok when the temp stays on the comfort temp in a offset (external Temp sensor) combination?

If you use better thermostat there is no need to use this blueprint in combination with external sensor because better thermostat handles this. And I don’t think the better thermostate entities provide calibration entities.

And no! There is no need to turn off thermostats if comfort temperature is reached. Every thermostat handles this operations by itselt: You set a temperature and the thermostat aim is to hold that temperature so it operates by itself and closes/opens the valve automatically.

I don’t use better thermostat. In my opinion the only advantage is calibration and this can also can be done by an automation or even this blueprint. But this is just my opinion.

1 Like

Thanks for your quick reply.
Than our opinion is the same ;), than i will completly change when the offset option from github is implemented in this blueprint.

Which offset option do you mean? The generic one where offset will be added to the set temperature for climates that don’t come with a native calibration possibility?

for v4 is an offset between external and physical thermostat planned, or i miss understand this? (my english is bad)

I have a room thats very big, so i need to set the comfort temp higher as setted on the physical thermostat, with the offset (distance value) between physical and external Temp Sensor. (this does currently better thermostat automatically)

1 Like

Yes, that’s what I mean with generic offset. I reworked the current calibration a bit. Maybe it’s time to look at this feature. :wink:

1 Like

:fire: ADVANCED HEATING CONTROL v3.5 :fire:

Complete heating control is nice, but I have one hint, for our living room, I wish to increase the temperature, so we have an off temperature and comfort, but can we somehow add another temperature for night TV watching?

Thanks for this, love it

I’m not sure how to create a time schedule though, what’s the best way to set a time schedule? for ex. everyday between 9-23

1 Like

there is a schedule helper

Just navigatie to the helper section and create an scheduler for this.

Open your Home Assistant instance and show your helper entities.

You’ll need a separate automation for ‘night TV watching’. I have a similar setup. I have separate automations for ‘bedroom day/evening schedule’ and ‘bedroom night schedule’ each automation uses a different comfort temp helper.

1 Like

@sourdistorne @krenstik This is a highly requested feature. I think I have an idea to implement that, without bloating up the blueprint. Will see if it works like I wanna to. :smiley:

2 Likes

Thanks @panhans my implementation has the slight benefit in that I can leave the external temperature sensor out of the ‘night automation’ and by creating an automation that disables the ‘day/evening automation’ at the appropriate time I don’t get the annoying recalibrations through the night - I’m sure there must be a better solution but I can’t think of it yet.

I would like to heat my home office room based on a calendar, so that I can preheat only when I need it. Doing that with presence detection would heat the room before I leave for work.

I guess that I will combine the “hint” example at the beginning of this thread with one of the modes, like the holidays mode.

Is that a correct approach?

And thanks a lot for this. Next steps is to get this in HA by default. :wink:

1 Like

There are several ways to realize this. I think the easiest way is like you said to build a binary_sensor based on your calendar. Then just fill in when you occupy your home office.

If you want to do it scheduler based then block the whole day. Then you can toggle to the holiday scheduler. That makes sense if the room uses another heating plan already.

If not fill in the exact timestamps in calendar when room shall be heated and simply use the binary_sensor as your presence detection sensor. So you can realize a fully calendar based heating automation.

Note that in my example the sensor scans for the next hour. Just edit the times for your needs or fill in your calendar the correct working time. With the current example the binary_sensor turns on if there is an event starting within the next hour.

1 Like

I have a question: Why is the minimum temperature not be set in my automation?