Compare commits

...

2 commits

Author SHA256 Message Date
d71116761d Fix broken Danfoss Ally TRV automation
Somehow I used the wrong variables last time around...
2025-03-13 22:50:48 +01:00
ba83781b0d Better error handling for Danfoss Ally TRV blueprint 2025-03-05 09:06:17 +01:00

View file

@ -41,15 +41,23 @@ triggers:
trigger: state
conditions:
# We only want to execute the action if the temperature has changed by at least
# 0.1 degress C, according to the Zigbee2MQTT documentation for the device:
# We only want to execute the action if
#
# * the temperature sensor is available, or
#
# * the temperature has changed by at least 0.1 degress C, according to the
# Zigbee2MQTT documentation for the device:
# https://www.zigbee2mqtt.io/devices/014G2461.html
#
# `external_measured_room_sensor` defaults to `-8000`, so this will work in all
# cases.
- condition: template
value_template: |-
{% if state_attr(climate_entity, 'external_measured_room_sensor') == None %}
{# if the temperature entity doesn't have a state, e.g. if it's powered off #}
{% if states(temperature_entity) is none %}
False
{# if the radiator has been unavailable #}
{% elif state_attr(climate_entity, 'external_measured_room_sensor') is none %}
True
{% else %}
{{
@ -65,8 +73,8 @@ actions:
# which case we pull the temperature from the sensor instead of the trigger
# state.
external_temperature: |-
{% if trigger.id is not defined %}
{{ state_attr(temperature_entity, 'temperature') }}
{% if (trigger.id is not defined) or (trigger.to_state.state in ['unavailable', 'unknown']) %}
{{ states(temperature_entity) }}
{% else %}
{{ trigger.to_state.state | float }}
{% endif %}