🔥 Advanced Heating Control

Hi,
I’m using Homekit to trigger an input boolean helper to set people home or away (me, the gf and “guest”) and group those helpers into a “group.” so I can use them everywhere else.

I would like to use the group helper for heating as well instead of a person, and it seems as you created a testversion with this in mind here: 🔥 Advanced Heating Control - #176 by fuersi

It would also work if I could just throw that group into the guest mode field as a guest mode helper is also in that group.

It would be great if you could recreate this in the current version :slight_smile:
Thanks in advance!

Also a side question, maybe I’m just too dumb. I got some door sensors to monitor some of the windows. In this case I would need a seperate automation for each room as otherwise the automation would shut off all heating, right?

Hmm… I could do this, but since groups don’t have to be binary it’s in my opinion not the correct way. (The next user will try to add something weird :wink: ) Instead of creating a group you should go with a binary template sensor with a template like:

{% set persons = ['input_boolean.person_1','input_boolean.person_2'] %}
{{ persons | select('is_state','on') | list | count > 0 }}

Just edit your input_booleans here.

Yes, the automation is designed for single rooms because it were too difficult to get the relations. It would be possible to connect the entities using the areas but this would be to confusing because there are several temperature sensors and maybe indoor contacts that should be ignored. :slight_smile:

Thanks for the hint. Wonder if the docs describes this feature better. I will try to improve the descriptions.

I did a small fix to this. For me it looks promising. Maybe give it a try and then give feedback.

@kitus
I will check this. But if you mean the automation didn’t act like expected just download the latest trace without triggering it. Also blocked runs have a trace but won’t update the timestamp in the automation overview.

//EDIT: Works like a charm. Did you had a look into the history especially the direction and distance entity?

HI
i tried to implement the sensor part to my sensor.yaml. But everytime i got some syntax errors!

- platform: sensor
  name: "AHC Blueprint Local Version"
  unique_id: "ahc_blueprint_local_version"
  command: "cat /config/blueprints/automation/panhans/advanced_heating_control.yaml"
  scan_interval: 43200 # 12 hours
  value_template: "{{ value | regex_findall('\\*\\*Version\\*\\*:(.+\\d+.\\d+.\\d+)', '\\1') | first | default('Unknown') | trim }}"

If i use this i got the error “Platform sensor.sensor not found”
so whats wrong?

This is my configuration.yaml in my test environment:

homeassistant:
  allowlist_external_dirs:
    - /config

command_line:
  - sensor:
      unique_id: "ahc_blueprint_local_version"
      command: "cat /config/blueprints/automation/panhans/advanced_heating_control.yaml"
      name: "AHC Blueprint Local Version"
      value_template: "{{ value | regex_findall('\\*\\*Version\\*\\*:(.+\\d+.\\d+.\\d+)', '\\1') | first | default('Unknown') | trim }}"
      scan_interval: 3600 # every hour

  - sensor:
      unique_id: "ahc_blueprint_latest_version"
      command: "curl https://raw.githubusercontent.com/panhans/HomeAssistant/refs/heads/main/blueprints/automation/panhans/advanced_heating_control.yaml"
      name: "AHC Blueprint Latest Version"
      value_template: "{{ value | regex_findall('\\*\\*Version\\*\\*:(.+\\d+.\\d+.\\d+)', '\\1') | first | default('Unknown') | trim }}"
      scan_interval: 3600 # every hour

Seems not to work.

It is interesting: I’ve copied your part of the config (1:1), but the local version is still unknown in my system (HAOS, x86)

@Rapha0000
Now it’s fixed. There were some variables in the wrong order.

@photobix
I will check this again. My ha instances also run on proxmox/x86/haos.

//EDIT: ok, I’d just remove the whitelisting in my configuration, did a reboot, add it gain, reboot and now it doesn’t work for me anymore, too.

I think this is a bug in home assistant that needs to be reported. :expressionless:

1 Like

Hi @panhans,

I’m currently away for the weekend and I don’t have a laptop with me. However, I think I managed to download the trace before triggering the automation: Filebin | du0mz9rna17yh1fl

Doing this on a mobile phone feels like rocket science almost.

Once I had downloaded the trace, I manually run the automation and upon doing that, the results I got where the expected ones. I even recorded a video in case it helped in someway.

Could you take a look at it?

According the trace the current mode is off and no body or better nothing forces the comfort mode. I had to add the set temperatures in the blueprint so I can see if any run before set them to the correct temperature.
Just to be sure: You’re on the latest version, right? Thanks for your help.

Hi @panhans, To the contrary, thank you!!

Yes, I’m on the latest version (5.2.7 I believe it was). I recorded this video: https://1drv.ms/v/c/aeec050867b8b971/EfRHT2gn2olHqtZ_vloe8MMBAHMssMudw87fG6JkMhvsKw to depict the issue.

Ah, btw, as my system was acting up I had previously even disabled the proximity option, and decided to do without it for the time being. My configuration is very basic at this point, and still something seems to not be working properly:


alias: 🔥 Heating - Advanced Heating Control V5
description: ""
use_blueprint:
  path: panhans/advanced_heating_control.yaml
  input:
    input_force_eco_temperature: input_boolean.heating_eco_mode_toggle
    input_trvs:
      - climate.a_comedor
      - climate.a_h_jan
      - climate.a_h_noah
      - climate.a_h_pol
      - climate.a_h_suite
    input_temperature_comfort: input_number.heating_confort_temperature
    input_temperature_eco: input_number.heating_eco_temperature
    input_mode_party:
      - input_boolean.heating_party_mode_toggle
    input_persons:
      - person.lauri
      - person.marc
    input_people_entering_home_duration:
      hours: 0
      minutes: 0
      seconds: 5
    input_mode_guest: input_boolean.we_have_guests
    input_people_leaving_home_duration:
      hours: 0
      minutes: 15
      seconds: 0
    input_schedulers:
      - schedule.schedule_heating_default
      - schedule.schedule_heating_complete_off
      - schedule.schedule_heating_holidays_or_guest
    input_scheduler_selector: input_select.input_select_heating_schedule
    input_temperature_eco_static: 20
    input_temperature_comfort_static: 23
    input_min_instead_of_off: false
    input_mode_winter: input_boolean.global_heating
    input_off_instead_of_eco: true
    input_reset_temperature: true
    input_log_level: warning
    input_mode_outside_temperature_threshold: 18
    input_startup_delay:
      hours: 0
      minutes: 0
      seconds: 30
    input_custom_action:
      - action: notify.mobile_app_kitus_iphone
        metadata: {}
        data:
          message: Cambio de condiciones de temperatura
          title: Testing AHC
    input_adjustments:
      - time: "06:15"
        comfort: "23"
        eco: "20"
      - time: "22:00"
        comfort: "21"
        eco: "20"

Let me know if you can access it.

Thanks!

Seems to work.

1 Like

After updating HA to 2025.1 there is a strange problem with the blueprint. After the initial save, the entity picker seems to be missing in the UI. This happens in v4 and v5 of the blueprint. Is this a known issue?

Works fine for me on 2025.1

I assume you have forced a reload or even better, cleared the browser cache? The UI likes to stick on cached files/data.

If that does not fix it, try an incognito tab of your browser, if it works there it might be a browser extension that interferes with the UI.

1 Like

Thanks @Rapha0000, clearing cache solved it.

Thermostat is stuck on the set eco Temperatur instead of heating up to comfort temp eventhough the room is colder than the set comfort temp.

thanks for you help in advance.

https://controlc.com/af838a43

Hi,

you have no entity in your configuration which could trigger the comfort mode:

  • schedule
  • presence sensor
  • person
  • guest entity
  • proximity device
1 Like

Hi again @panhans ,

New samples, in case they may add additional information:

Here you can find 2 traces taken 2’ apart one from another:

  • trace corresponding to normal automatic operation which does not achieve the expected result
  • trace corresponding to the manual triggered automation, which achieves the expected results

Clearly the first one simply quits (not expected), while the second one does stop the heating (expected, because all home members left the house for longer period of time set by the defined threshold).

And here a new video illustrating the condition where the traces were taken: https://1drv.ms/v/c/aeec050867b8b971/ESBVVN83-aJImJRt1rY97Y0BTtRB1mZmZBQWR4ZO_KKnKg

I hope you can access this information successfully (I’m typing all of this on my phone). Thanks a million!!

I’ve tried your configuration and it works for me flawlessly. Maybe this helps for troubleshooting:

  1. For testing purpose reduce the leaving home duration to 1 or 2 minutes
  2. leave your home (you can simulate this by setting the state of the person entities in the developer settings to e.g. not_home) You also can delete the persons and test it with your guest toggle.
  3. wait 2 or 3 minutes
  4. open up the automation traces
  5. download all available traces (max 5 are stored) You can iterate with the arrow buttons on top in the trace view through the trace logs

And don’t trigger the automation manually, please.

This was not the correct trace. But there were traces before this one (see. the arrow buttons in the trace view)

Hey :slight_smile:

One question: will I run into issues if proximity AND away mode are both on? Or should I just use one of them?
See screenshot for settings:

thank you in advance!

I’ll ask again. Could someone please help me how I could get 2 plans for shift watches to work?