hmmm, so guest mode or presence sensor needs to be set so that comfort to be set? I had an impression that if current_temp <= comfort_temp and current_temp >= eco_temp: set trv=on.
No, your thermostat is always on. The automation just changes the target temperature. What you’ve described is exactly the task of a thermostat.
The automation sets a target temperature based on the configuration this could be the comfort temperature or the eco temperature. For example if a presence sensor recognizes presence the comfort temperature is set. If there is no presence the eco temperature is set.
The thermostat tries to heat and hold the target temperature.
Just check out the latest version. I’ve added a duration slider. I hope 10 minute max is enough. Let me know if you need more. xD
I recieve this error:
Logger: homeassistant.components.automation.heizung_ahc_eltern
Quelle: components/automation/__init__.py:664
Integration: Automation (Dokumentation, Probleme)
Erstmals aufgetreten: 16:31:06 (10 Vorkommnisse)
Zuletzt protokolliert: 16:40:00
Error rendering variables: UndefinedError: No first item, sequence was empty.
I already set the ‚Startup Delay‘ to 10sec, as mentioned one of the previous posts. It din‘t help.
What else could it trigger? It‘s V5 in almost default configuration (1 Danfoss Ally TRV).
Could you post the version, too?
//EDIT: I could guess the issue. The warning should be fixed now but I think your thermostat integration doesn’t provide an entity for calibration or your calibration key word does not match the entity id.
Hi There,
first of all, thank you for sharing this awesome blueprint.
I set it all up with aqara thermostats and window detection and everything else works fine.
Just the external sensor doesn’t seem to give the temperature to the thermostat.
any hints to solve this? or did I get something completely wrong with the external sensor function ?
thank you again for your time
Never mind. for the moment I just solved it using a second automation which updates the temperature according to the external sensor.
works for me
thanks again
Did you check if you set the correct key word according to the calibration entity?
Why is the Static Comfort Temperature overridden by the Comfort Temperature Helper when the schedule is changing? I am using only one schedule for comfort temperature.
I didn‘t override the ‘calibration keyword’, yet.
In the Dev Tools (HA) I can‘t find it:
hvac_modes:
- heat
min_temp: 5
max_temp: 35
target_temp_step: 0.5
current_temperature: 19
temperature: 35
hvac_action: idle
adaptation_run_control: none
adaptation_run_settings: true
adaptation_run_status: found
algorithm_scale_factor: 1
battery: 82
day_of_week: wednesday
external_measured_room_sensor: -8000
heat_available: true
heat_required: false
keypad_lockout: lock1
last_seen: "2025-01-15T20:15:00+01:00"
linkquality: 40
load_balancing_enable: false
load_estimate: -8000
load_room_mean: -8000
local_temperature: 18.98
mounted_mode_active: false
mounted_mode_control: false
occupied_heating_setpoint: 35
occupied_heating_setpoint_scheduled: 35
pi_heating_demand: 1
preheat_status: false
programming_operation_mode: setpoint
radiator_covered: false
regulation_setpoint_offset: null
running_state: idle
setpoint_change_source: externally
system_mode: heat
thermostat_vertical_orientation: false
trigger_time: 660
update:
installed_version: 28
latest_version: 28
state: idle
update_available: false
viewing_direction: false
window_open_external: true
window_open_feature: true
window_open_internal: external_open
friendly_name: Danfoss_TRV_Eltern
supported_features: 385
How do I find the appropriate keyword?
z2m doesn‘t say something about external calibration…
I changed the calibration keyword
just randomly to offset
and got a different error message:
Logger: homeassistant.components.automation.heizung_ahc_eltern
Quelle: components/automation/__init__.py:664
Integration: Automation (Dokumentation, Probleme)
Erstmals aufgetreten: 20:40:29 (1 Vorkommnisse)
Zuletzt protokolliert: 20:40:29
Error rendering variables: ValueError: Template error: float got invalid input 'unknown' when rendering template '{% set n = namespace(dict=[]) %} {% if is_native_calibration_trigger %} {% for valve in valves_dph %} {% set calibration_entity = device_entities(device_id(valve)) | expand | selectattr('domain','in','number') | selectattr('entity_id', 'search', input_calibration_key_word) | map(attribute='entity_id') | first %} {% set min_val = state_attr(calibration_entity,'min')%} {% set max_val = state_attr(calibration_entity,'max')%} {% set step = state_attr(calibration_entity, 'step') | float(1) %} {% if rounding_mode == 'manual' %} {% set step = input_calibration_step_size | float(1) %} {% endif %} {% set current_temp = state_attr(valve,'current_temperature') | float(20) %} {% set new_state = value_temperature_sensor | float(current_temp) %} {% set old_state = states(calibration_entity) | float %} {% if is_aggressive_mode_calibration %} {% set temp_diff = state_attr(valve,'temperature') | float(target_temperature) - value_temperature_sensor | float %} {% if temp_diff * factor < input_aggressive_mode_range * -1 %} {% set new_state = new_state + input_aggressive_mode_offset * factor %} {% elif temp_diff * factor > input_aggressive_mode_range %} {% set new_state = new_state - input_aggressive_mode_offset * factor %} {% endif %} {% endif %} {% if step <= 1 and max_val | string | count < 4 %} {% set round_size = iif('.' in (step | string), (step | string).split('.')[1] | length, 0) %} {% set new_state = ((new_state | float(0) / step) | round(0) * step) | round(round_size) | float %} {% else %} {% set new_state = new_state * 100 | int %} {% set old_state = old_state | int %} {% endif %} {% set update_calibration = old_state != new_state %} {% if is_periodical_popp_calibration and not update_calibration %} {% set last_updated = [calibration_entity] | expand | map(attribute='last_updated') | first %} {% set update_calibration = as_datetime(current_time_stamp) - timedelta(minutes=20) >= last_updated %} {% endif %} {% if update_calibration %} {% set n.dict = n.dict + [(calibration_entity, [{'value': new_state, 'valve': valve}])] %} {% endif%} {% endfor %} {% endif %} {{ dict.from_keys(n.dict) }}' but no default was specified
Actually I am using a very basic configuration with schedules, lights as my presence sensor, calibration and valve positioning. Most features were request and I just test them in my home lab.
Indeed I had the same idea but honestly this is a time problem for me.
I also want to add this in the docs. They are still under construction.
Did you enable reset temperature? If you ran into an issue have a look in the first post under troubleshooting.
It does: Danfoss 014G2461 control via MQTT | Zigbee2MQTT
And I think you also have to enable this.
Just press D-Key and type in your thermostat. There are all related entities listed.
Also update/reimport the blueprint, did you?
reset temperature is not enabled.
When I change the temperature in the Comfort Temperature Helper, the temperature of the TVR automatically changes as well. Is it normal for this to happen?
Yes, the helper stores and synchronizes the temperature for all thermostats. Depending on the current mode it changes the temperature immediately.
Hi all and thanks in advance.
I currently have tado smart thermostats throughout my house.
I use the blueprint advanced heating control v5 integration within my home assistant.
I have a large house and to prevent the boiler from cycling on and off just for 1 room, can anyone help me to set a room (that has a schedule and person detection) to only heat is another specific room also calls for heat.
Example with climates…
Lounge, dining and kitchen.
I only want the lounge to call for heat (if it cools below the set temp), but if the temperature drops in dining or kitchen, I don’t want it to heat, until the lounge calls for heat, so all 3 heat at same time.
This stops the lounge calling for heat, then boiler turns off.
A few seconds later the kitchen calls for heat then turns off and then finally the dining followed by the lounge again a short while later, starting the cycle again.
I would prefer the kitchen and dining temps to drop, then Only heat when the lounge finally calls for heat, or another room, say a bedroom.
I hope this makes sense. I want this to limit boiler cycling and making the heating more energy efficient.
This should do the trick based on this template switch. Just edit your thermostats, the heater switch in the turn on/off part and you’re good to go. This request is very frequent here. Maybe it’s better to convert this into a blueprint, too.
- platform: template
switches:
boiler:
value_template: >
{% set climates = ['climate.TADO_THERMOSTAT_1',
'climate.TADO_THERMOSTAT_2',
'climate.TADO_THERMOSTAT_N'] %}
{% set climates_heating = climates | expand | selectattr('state','in',['heat','auto']) | map(attribute='entity_id') | list %}
{% set more_than_one_heating_area = climates_heating | map('area_name') | unique | list | count > 1 %}
{% set heat = climates_heating | count > 0 %}
{% set result = namespace(r=none) %}
{% for climate in climates_heating %}
{% if result.r == none %}
{% set result.r = state_attr(climate,'temperature') > state_attr(climate,'current_temperature') %}
{% else %}
{% set result.r = result.r or state_attr(climate,'temperature') > state_attr(climate,'current_temperature') %}
{% endif %}
{% endfor %}
{{ more_than_one_heating_area and heat and result.r }}
turn_on:
service: switch.turn_on
target:
entity_id: switch.YOUR_HEATER
turn_off:
service: switch.turn_off
target:
entity_id: switch.YOUR_HEATER
Hi there, im on 4.0.2 and want to update. but i got a message that the blueprint cant be imported again, no source?
what can i do?
Hi
I have been running the automation now for some time and I’m getting more and more used to it and how it works.
It is awesome.
I have one question. When I add the input_number it goes down to 5 degrees (lowest allowed value) and doesn’t respond to anything.
I checked the " synch" in the tweaks setting.
What am I missing here?
hi there,
im using this great blueprint for a long time now.
suddenly the automation stopped working
the heater turns off when i open the window
but when i close the window i now get this error:
Error while executing automation automation.heizen_wohnzimmer: Provided temperature 0.0 is not valid. Accepted range is 8 to 28
Error while executing automation automation.heizen_wohnzimmer: invalid slug _snapshot (try snapshot) for dictionary value @ data['scene_id']
Error while executing automation automation.heizen_wohnzimmer: Template rendered invalid entity IDs: scene._snapshot
can someone help?
im using AVM FRITZ!Smart Thermo 301