🔥 Advanced Heating Control

Could you share your current configuration?

alias: Advanced Heating Control Wohnzimmer
description: ""
use_blueprint:
  path: panhans/advanced_heating_control_dev.yaml
  input:
    input_trvs:
      - climate.wohnzimmer_comet_dect
    input_temperature_comfort_static: 21
    input_temperature_eco_static: 18
    input_temperature_comfort: input_number.advanced_heating_control_wohnzimmer_comfort_temperatur
    input_temperature_eco: input_number.advanced_heating_control_wohnzimmer_eco_temperatur
    input_mode_party:
      - input_boolean.advanced_heating_control_wohnzimmer_party_mode
    input_persons:
      - person.xxx
      - person.xxx
    input_people_entering_home_duration:
      hours: 0
      minutes: 2
      seconds: 0
    input_people_leaving_home_duration:
      hours: 0
      minutes: 5
      seconds: 0
    input_scheduler_selector: input_select.advanced_heating_control_scheduler
    input_schedulers:
      - schedule.advanced_heating_control_wohnzimmer_zeitplan
      - schedule.advanced_heating_control_wohnzimmer_urlaub
      - schedule.advanced_heating_control_wohnzimmer_homeoffice
    input_reset_temperature: true
    input_away_offset: 1
    input_away_scheduler_mode: true
    input_windows:
      - binary_sensor.wohnzimmer_comet_dect_window_open
    input_calibration_generic: false
    input_calibration_key_word: external
    input_mode_winter: input_boolean.heizperiode
    input_mode_outside_temperature: sensor.penthouse_temperature_feels_like
    input_mode_outside_temperature_threshold: 17
    input_mode_room_temperature_threshold: 21
    input_mode_guest: input_boolean.advanced_heating_control_wohnzimmer_guest_mode
    input_calibration_delta: 0.3
    input_aggressive_mode_offset: 5
    input_aggressive_mode_calibration: true
    input_aggressive_mode_range: 0.5

Generic calibration is still disabled.

input_aggressive_mode_calibration: true → false //this is for native calibration only
input_calibration_generic: false → true

yeah, because i wanna try aggressive calibration.
Hä you said Last i should try, aggressiv Mode because my Thermostat is slow

Aggressive Mode is enabled if you define a range and a offset.

input_aggressive_mode_calibration modulates the aggressive offset on the calibration entity. With this option and without calibration entities you never get aggressive mode runnning.

So just define a range and a offset and leave Aggressive Mode over Calibration disabled.

//EDIT: I am testing the sonoff thermostats right now. The feature set looks very promising and finally they have valve positioning. :slight_smile:

2 Likes

Ahhh lol, i have think i have to activate aggressiv extra and disable the other one to use it, sorry my mistake

The aggressive Offset is for + & -?
beause my comfort temp is 21C the room is 20,48 and the agressive offset makes 20C, normally he should make 22 because he is out of range from 0,3C?

target_temperature: 21
thermostat_temperatures: 26
input_aggressive_mode_offset: 1
no room sensor defined so the reference is the thermostat temperature.

26-21= 5 → outside the range (too hot)
TargetTempAggressive = TargetTemp - Offset = 21 - 1 = 20

works now thanks, too much testing, i removed the room sensor yes :poop:

i “tested” during the day, and heating with the generic calibration seems to work, also in combination with the aggressiv mode. The only thing which didn’t work is the part, when external sensor reaches the comfort temp. Then the automation didn’t close the valve!
I think the problem will be, that the temperatur at the trv rises faster than in the room. So the calibration offset will be bigger and bigger instead of getting smaller. I have a trace where you can see, that the room temp and target temp are nearly identical, but the trv is still open and its still heating! https://file.io/wQwUiwkMMjGo
Maybe there must be a check if the room temp reaches the comfort temp and than reduce the calibration offset!

You can try to lower the calibration timeout to e.g. 30s to 1 min. So the calibration will be called much often.
The hard way is enabling Off If Above/Below Room Temperature. :stuck_out_tongue:

oooooooooookkkkkkkkkkkk i try :slight_smile:
after testing with a lower calibration timeout and the “hard way” i can say, its still heating!
roomtemp (22,1) is above the comfort temp (21,5) and the target temp is 25,5!!!
https://file.io/ors1Vq2xcPT2

Maybe the prob is not the blueprint, maybe its the AVM 301…

I would lower the calibration timeout more. Try 30s or so or the default of 1 minute. 1 Minutes timeout means the temperature must stay for 1 minute at this point. This is hard if the heating curve is some kind of steep.

What can I say? It seems that it’s working! For the first time ever I got a time stamp on the “last_calibration” attribute, and it has written the correct external temperature value onto the calibration entity.

I will keep testing and report any unusual observation, but for now, I just want to thank you very much for your dedication and persistence, the hard work and effort that you put into this amazing blueprint, and your unparalleled “customer service”.

(Trace with working calibration: https://controlc.com/e66b4463)

1 Like

Hi panhans I really like your blueprint. Thanks for the work you’ve done. I have a somewhat unusual heating system and I’m missing one thing. I need the automation to turn on when the heat source temperature is higher than 40 degrees, for example, and below that temperature the automation turns off. Could you add that?

Hello everybody!

Why is it, that the automation keeps switching the thermostat to heating and off every couple of minutes? I can hear the thermostat opening and closing, so it’s not only in the logs.

I would expect that the automations keeps heating until the correct temperature instead of turning on and off…
I can’t find the mistake, my settings are:

  • Comfort-Temperatur is set to 25°C
  • Actual Temperatur is below 20°C
  • schedule is off
  • presence-detection is active (with input_booolean switched on)
  • Guest Mode is active (with input_boolean switched on)

Many greetings,
Chris

hi everybody,

i have two schedules: heating working days, heating weekend.

My heating doesnt work on weekend. I cant remember that this occur in the last weeks. Was there any update that this feature isnt working properly?

If i only have one scheduling plan, the template works as attended. Is the schedule selector mandatory?

regards

alias: Wohnzimmer Heizung Automatik
description: ""
use_blueprint:
  path: panhans/heating_control.yaml
  input:
    input_trvs:
      - climate.wohnzimmer_heizkorperthermostat
    input_temperature_comfort_static: 21.5
    input_windows:
      - binary_sensor.wohnzimmer_fensterkontakt_contact
    input_temperature_sensor: sensor.wohnzimmer_luftqualitat_west_temperature
    input_calibration_timeout:
      hours: 0
      minutes: 2
      seconds: 0
    input_schedulers:
      - schedule.buro_heizplan_werktags
    input_temperature_minimum_static: 18
    input_tweaks: []
    input_mode_outside_temperature: sensor.aussen_feuchtigkeit_nord_temperature
    input_windows_reaction_time_open:
      hours: 0
      minutes: 0
      seconds: 10
    input_windows_reaction_time_close:
      hours: 0
      minutes: 0
      seconds: 10
    input_calibration_delta: 0.2
    input_hvac_mode: heat
    input_calibration_options: []
    input_mode_room_temperature_threshold: 0

Just create a template based binary sensor or a threshold sensor and select this as winter mode entity. Let me know if you need help.

Are you using Tado?

There is only one schedule defined:

input_schedulers:
      - schedule.buro_heizplan_werktags

I’m using the model Hama 00176592, which are also sold as Saswell SEA802-Zigbee

I have the same here. Could you share your automation configuration in yaml code, please?

//EDIT: gz for 2000th reply :wink:

sorry my mistake - I found the problem when I was about to copy the code. Instead of the window sensor I accidentally used the motion sensor which almost have the same name… that’s why it always stoppt heating when someone moved inside the room :slight_smile:

thanks for you help, I wouldn’t have noticed the mistake without looking into the yaml code!

1 Like