🔥 Advanced Heating Control

I am planning to implement the calibration of this thermostat, too. First for z2m integration.
Atm I refactor the current state of the blueprint in order to provide a cleaner base for feature request especially calibration.
I think I will release it beside the v4 test version and will drop the heating plan since I want to do a complete rewrite for this. But if I am ready I will first focus on some calibration features.
Testers are welcome.

And yes, with calibration the valve should perform much better. Because heat build ups will get compensated. But you can also use generic calibration in v4 if you set your external sensor. With that feature the offset will be added on the target temperature.

  • just use one automation per room
  • set the minimum temperature to 15°C
  • create a scheduler for your heating schedule → set your times and leave 00-07 blank
  • if you go time based or / and presence based select the scheduler for heating and presence
  • create a input number helper for comfort temperature

Don’t use heating plan atm. I will replace that feature soon with something more robust.

Setup a 2nd automation. Toggle yaml mode, paste the code snippet, toggle back to ui mode, edit the entity id to your comfort entity id and save the automation.

description: ""
mode: single
trigger:
  - platform: homeassistant
    event: start
  - platform: time_pattern
    hours: /1
condition: []
action:
  - choose:
      - conditions:
          - condition: time
            after: "07:00:00"
            before: "09:00:00"
        sequence:
          - service: input_number.set_value
            metadata: {}
            data:
              value: 23
            target:
              entity_id: input_number.comfort_temperature
      - conditions:
          - condition: time
            after: "09:00:00"
            before: "17:00:00"
        sequence:
          - service: input_number.set_value
            metadata: {}
            data:
              value: 21
            target:
              entity_id: input_number.comfort_temperature
      - conditions:
          - condition: time
            after: "17:00:00"
            before: "00:00:00"
        sequence:
          - service: input_number.set_value
            metadata: {}
            data:
              value: 23
            target:
              entity_id: input_number.comfort_temperature

thanks i will check this

Could you enable debugging for this blueprint? Then recreate the situation, trigger the automation again and share the latest trace log then.

cool, thats nice. Sure i can test because I’m currently experimenting with different setups in different rooms anyway. Thank you very much for your support on this, i will try v4 with the other method. Let me know when calibration of aqara e1 is ready, i will have a look on it. Best regards!

Your new version looks very nice, I added it and will test it. It would be great if we could enter special degrees for the timers in this version. It would be very easy and useful if we could add 3 timers and enter the degrees accordingly. Thanks for your efforts.

:fire: Hey, there! Tester needed! :fire:

I recently done my work of refactoring the whole logic of AHCv4. I will merge this in current test version if it works as expected. But since I don’t own all needed thermostats and everyone of you use unique configurations I may need your help to test this new version.

So, what is new?

  • the whole logic got rewritten from scratch
  • the changes to make (temperature, calibration, mode, ect.) will be processed before the main action gets called. So the whole automation is more calm now.
  • now every calibration specialty got its own logic section and I am able to expand this simply by adding another one.
  • the code base is much cleaner, easier for maintenance and extensions

What doesn’t work atm?

I completely dropped the comfort heating plan thing because it was not reliable and didn’t survive reboots or automation reloads.
But don’t worry! I will come up with a new implementation.

What should I test?

Your whole setup! Just disable your old automation and create a new one with this blueprint. I recommend this only for v4 users which are NOT using comfort heating plan. If you also want to test. Just migrate to a 2nd automation like here.
Please also keep a close eye on the calibration. (Tado, Danfoss, Popp, Hive)
And let me know if your automation doesn’t do what it should or what the “old” version did.
I also recommend to enable debugging for this blueprint. So I will have much more information when you share a trace log with me.

What comes next?

If this state of the blueprint runs rock solid. I will be able to integrate new features or bug fixes faster and easier.
First this version gets pushed into the main branch so this will be the new default stable one. Future features will get implemented like in rolling releases so there won’t be some kind of major version anymore. (Maybe if another big refactoring is needed :wink: )

Something else?

I will list your feature requests in the initial post. If this base runs solid I will add them successively.

Thanks in advanced for all testers. (Hopefully there will be some :sweat_smile:)

>>> THIS VERSION IS MERGED IN THE CURRENT TEST VERSION <<<

3 Likes

can you check my config please?

i copied the working v4 beta automation config settings to the new ref and my thermostat jumps to 30°C instead 18°C

Is there a trace of before the one you’d shared?

In this trace the temperature is set from 30°C to 18°C

"path": "action/1/default/4/repeat/sequence/3/else/0",
"timestamp": "2024-02-01T08:28:18.648327+00:00",
"result": {
  "params": {
    "domain": "climate",
    "service": "set_temperature",
    "service_data": {
      "hvac_mode": "heat",
      "temperature": 18,
      "entity_id": [
        "climate.wohnzimmer_comet_dect"
      ]

i run it again: baa02b77 - { &quot;trace&quot;: { &quot;last_step&quot;: &quot;trigger&quot;, &quot;run_

before i run i set from 18°C to 18.5, nothing happens, when i put it to 17,5 it jumps to 30

1 Like

Hi, I don’t get the Holiday mode feature. I thought it should be something like when I’m not an home I toggle the switch to on and related TRVs will go off or be set to a defined temperature (with related schedule). But I can’t find an option to set a “holiday temperature”. How does this work?
And same with Winter mode. I thought Winter Mode is to reduce temperature to a defined minimum e.g. 6 Deg (which should be set). But also I can’t find an option to set a winter temperature. The help says “If on scheduled heating is activated, otherwise TRVs stay off.”. Fine but with which temperature will the winter schedule run?
I try to implement, that I can toggle a switch when I leave the house (for a longer time) and all or defined TRVs will go in “winter sleep” with a reduced temperature (and a related schedule). Is this possible with the current blueprint?
Thanks for your great work!

Could you update the blueprint and share the trace again? I had to remove some comments in code that causes in cut off traces… Another bug in home assistant. (reported but dropped by dev :face_exhaling: )

Sure ff25bf21 - { &quot;trace&quot;: { &quot;last_step&quot;: &quot;action/1/default/4/repeat/sequ
But it looks like in the log he set 18, strange, when i read it right

1 Like

Yes, that is irritating me. I also can’t reproduce that behavior. Could you check in the history what / who sets the 30°C?

I’ve also searched for “30” in the log. But the only matches were the duration for the airing feature.

And there is no previous trace log where 30°C is set?

When i change the temp before i run the automation from 18 to 18,5 both autmations jumps to 30, beta and ref. (i think i was before to fast)
It looks like the ref does not set successfully the value to the thermostat, he still be on 30, the beta goes back later to 18.

1 Like

Ok, could you share the trace of the beta, too? Maybe there is something different when calling the services.

909734b6 - { &quot;trace&quot;: { &quot;last_step&quot;: &quot;condition/0/conditions/4&quot; - Beta

This trace ends in failed conditions. Just change the target temperature of the climate enitity directly, trigger the automation again and download the trace immediately.

I also pushed an update to the new version that makes the automation delayed for 10 seconds on automation reload and home assistant start.

Thanks for your help!

Beta: 256098b2 - { &quot;trace&quot;: { &quot;last_step&quot;: &quot;action/3/default/0/else/0/then

Could you enable ‘split service calls’ and give it another try? (Refactored Version)

1 Like