đŸ”„ Advanced Heating Control

You’re defined a presence sensor but no presence scheduler where presence should be active. Without a scheduler presence detection is always active. And in your case presence is detected so the comfort temperature will be set.

You can define a scheduler for presence detection where you can set the time when presence detection shall be active if you don’t want to use it all the time.
If you don’t want to use presence detection and schedulers only then simply remove the presence sensor from your configuration.

I think the automation is a little monster now and it needs some more documentation.

1 Like

ahh okay, that makes sense, thank you.
I thought he use the default scheduler from top.

One more question maybe a feature, in my old Heating Blueprint the creator integrate an blocker helper which hold on the blueprint, when i wanna use the thermostat completlly manuell, make it sense to integrate these too what you think? alternative i can disable the blueprint in this time

With version v3 everything is more flexible and combinable. You can use schedulers only, you can use presence sensor only, also “person is home” only can trigger heating.

But you also can define your scheduler without a person and combine this with presence detection if this fits your case.

I personally use a scheduler in combination with persons and if scheduler is off I’d define a presence scheduler for evening and morning. So if someone stay awake or get up earlier heating will start dynamically.

Whats the use case for that feature? I can simply do it by adding a binary entity, but I also could add an option that blocks the automation if party timer / binary is active/on. So the automation can leave the blocking state automatically if party timer / boolean turns off.

//EDIT: Maybe a timer / boolean for a blocker entity is the most flexible option. I would trigger the automation a last time and after that it will gets blocked.

1 Like

I think i need to play more with this blueprint to understand it better, its much more efficent as my old one.
My Case for that was for example when i has homeoffice but i’m to lazy to set it up or when the current temp is on the current day to high and i wanna set it down for a while, but when im think about it, i can use the Party Timer for that too.

For home office you can use presence detection. Just define a scheduler when presence detection shall be enabled. Your presence sensor can be your computer or desklamp. If on → heating turns on.

You also can enable reset comfort temperature when scheduler ends (maybe I have to add presence detection to that feature). So you can simply change the comfort temperature and it will reset automatically if scheduler turns off. And if you don’t want to manage it using UI try the experimental feature Physical Comfort Temperature Change. So you can change temp on your trv and it will set to your comfort temperature entity.
You can also start the party timer when changing temperature manually. There is an option for this.

1 Like

But I think Physical Change doesn’t work as expected. I need to dive a little deeper into this. It’s not well documentated.

//EDIT: Yes, there is a bug with detecting physical change: Sun trigger does not generate context · Issue #68047 · home-assistant/core · GitHub

So there is no way atm to differ between automation or physical.

2 Likes

Hi all


Just sharing a little learning for any other newbies here!!

TL/DR - Check your Tolerance for heating cutoff on your thermostat

The blueprint is amazing and for the most part I am getting it to work. I have scheduled a window I want it to be at comfort setting and a window I want it to be at minimum.

I have used the “Generic Thermostat” as my Thermostat for now. I will be having smart TRV’s also, but may actually run these on separate automations so I can heat different rooms separately (we have a couple of lodgers so will only heat those rooms when they are home etc).

I have a Thermometer in the middle of the house and a smart Relay activating the boiler. If I turn the switch on and off (logically) the boiler turns on and off. The issue I had was when I setup the Generic Thermo, I did the minimum requirements. This seemed to work, except when I set the Comfort temp in the blueprint, the heating wouldn’t turn off. Took me a little while to realise that there is a Heat Tolerance level that you can adjust in the config of the Generic Thermo. By default this is 0.3ÂșC.

So when I set a comfort temp of 19.2ÂșC (in the blueprint) the heating continued to run past this. It never turned off because I have set the surrounding rooms to turn off their radiators at 20ÂșC. So by the time the heat travels to the central thermometer it had dissipated and cooled down
meaning that it would never read the set 19.2Âș + 0.3Âș of the tolerance - 19.5Âș.

I made the adjustment to 0Âș for the tolerance and seems to work nicely now.

This would be the same for any Thermostat, boiler or TRV, you may have to dig a little to see if you have a tolerance for them. I did find that HA may not see all of these so you may have to use the original App to set that to get the behaviour you want in HA.

If you all know this, then sorry for wasting your time
 but hoping it will save one or two newbies some time and effort.

1 Like

Thank you for sharing your experiences.

So atm you’ll heat all rooms to 20°C and then the boiler is supposed to switch off?

Do you have any temperature sensors in your rooms? Maybe it makes sense to you creating a template temperature sensor instead of your physical central one that returns always the minimum temperature of all your rooms. In the end the generic thermostat turns off when every room is at least at 20°C.

Thanks for the reply
 thats where I am heading. taking the steps to get there. I will eventually look to have window sensors come into play also. so if a window is open, then the temp of that room gets removed from the equation - don’t need to heat the neighbourhood!!!

@panhans I have one more problem, maybe im the problem ^^

my living room is on 22°C but im was not @ home, so in my opinion the minimal temp should be 18°C, can you see why?

If this is the trace log when no one is at home, there is something wrong with your detection of whether someone is at home.
Your scheduler is on and according to the log someone is at home.

Also check the time of your trace log. Don’t know if its the correct one. HA saves the last 4 logs. You can browse in trace view with the arrows next to the time stamp. Maybe you have to trigger it again without someone is home to produce the one you need.

Just check your history if person.martin really wasn’t away at the time.

1 Like

@panhans

Don’t want to hassle you and am very happy to play and learn. but wondering if you can shove me in the right direction. What I want to achieve is:

  • 4 rooms with individual TRV’s controlling the radiators in those rooms.
  • some common area’s that for now I’ll treat as “equal”

so lets call it 5x zones. I want to take all 5 zones, look at the coldest zone and turn on the heating if it’s below XX. Finding the lowest temp is fine, this can be achieved using a Min/Max or a Group helper. either will deliver the “coldest” temp.

I know I can use this to feed the blueprint. BUT
 this is the big BUT
 I only want the inputs of the thermostats to be valid if the specific person for that room is home.

IE:

Room 1 - John
Room 2 - Peter
Room 3 - Paul
Room 4 - Jack
Common - Anyone

so if Peter and Paul are out, I don’t want their rooms in the mix, only Johns, Jack’s and Common. I have presence detection working by their phones at the moment - not perfect but “good enough” for now. I will look to introduce presence detectors in the rooms over time.

If I can figure this out, I will then do the same with window sensors. If the window in Room 1 is open, then drop the temp out of the mix, regardless of presence.

In the short term, I am using the central sensor as my trigger to turn the boiler on and off, with each person added to that blueprint. that way if anyone is home the boiler will play nice according to the settings. I have then setup additional blueprints for each of the 4 rooms to control if the radiator un that room comes on or not. Obviously unless the boiler is on no heat will happen, but this is still a massive step forward from the traditional controls.

Hope this makes sense?? And 
 if it’s too hard/unreasonable I fully accept that
 but never know unless you ask!! Like I said I am happy to play/explore but any guidance would be amazing.

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