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 trigger: state
conditions: conditions:
# We only want to execute the action if the temperature has changed by at least # We only want to execute the action if
# 0.1 degress C, according to the Zigbee2MQTT documentation for the device: #
# * 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 # https://www.zigbee2mqtt.io/devices/014G2461.html
# #
# `external_measured_room_sensor` defaults to `-8000`, so this will work in all # `external_measured_room_sensor` defaults to `-8000`, so this will work in all
# cases. # cases.
- condition: template - condition: template
value_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 True
{% else %} {% else %}
{{ {{
@ -65,8 +73,8 @@ actions:
# which case we pull the temperature from the sensor instead of the trigger # which case we pull the temperature from the sensor instead of the trigger
# state. # state.
external_temperature: |- external_temperature: |-
{% if trigger.id is not defined %} {% if (trigger.id is not defined) or (trigger.to_state.state in ['unavailable', 'unknown']) %}
{{ state_attr(temperature_entity, 'temperature') }} {{ states(temperature_entity) }}
{% else %} {% else %}
{{ trigger.to_state.state | float }} {{ trigger.to_state.state | float }}
{% endif %} {% endif %}