Better error handling for Danfoss Ally TRV blueprint

This commit is contained in:
Rune Juhl Jacobsen 2025-03-05 09:06:17 +01:00
parent 74d34e3d32
commit ba83781b0d

View file

@ -41,15 +41,21 @@ 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:
# https://www.zigbee2mqtt.io/devices/014G2461.html
# 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 state_attr(temperature_entity, 'temperature') is none %}
False
{% elif state_attr(climate_entity, 'external_measured_room_sensor') == None %}
True
{% else %}
{{
@ -65,7 +71,7 @@ actions:
# which case we pull the temperature from the sensor instead of the trigger
# state.
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') }}
{% else %}
{{ trigger.to_state.state | float }}