Fix Danfoss Ally TRV blueprint for recent HASS
This commit is contained in:
parent
5f3e30522a
commit
74d34e3d32
1 changed files with 46 additions and 46 deletions
|
|
@ -1,13 +1,12 @@
|
|||
---
|
||||
blueprint:
|
||||
author: runejuhl
|
||||
homeassistant:
|
||||
min_version: 2024.6.0
|
||||
name: Radiator external temperature sensor control (0.0.1-alpha)
|
||||
min_version: 2025.2.4
|
||||
name: Radiator external temperature sensor control (0.0.2-alpha)
|
||||
description: |-
|
||||
## Radiator external temperature sensor control
|
||||
|
||||
Version `0.0.1-alpha`.
|
||||
Version `0.0.2-alpha`.
|
||||
|
||||
Sets the `external_measured_room_sensor` value on Danfoss Ally TRV, enabling
|
||||
the TRV to adjust the valve based on an external sensor.
|
||||
|
|
@ -20,7 +19,9 @@ blueprint:
|
|||
selector:
|
||||
entity:
|
||||
filter:
|
||||
- domain: climate
|
||||
- domain:
|
||||
- climate
|
||||
multiple: false
|
||||
climate_sensor:
|
||||
name: Climate sensor temperature entity
|
||||
selector:
|
||||
|
|
@ -28,7 +29,7 @@ blueprint:
|
|||
filter:
|
||||
- device_class:
|
||||
- temperature
|
||||
|
||||
multiple: false
|
||||
mode: queued
|
||||
|
||||
variables:
|
||||
|
|
@ -37,44 +38,43 @@ variables:
|
|||
|
||||
triggers:
|
||||
- entity_id: !input climate_sensor
|
||||
attribute: temperature
|
||||
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 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.
|
||||
# `external_measured_room_sensor` defaults to `-8000`, so this will work in all
|
||||
# cases.
|
||||
- condition: template
|
||||
value_template: >-
|
||||
value_template: |-
|
||||
{% if state_attr(climate_entity, 'external_measured_room_sensor') == None %}
|
||||
True
|
||||
{% else %}
|
||||
{{
|
||||
(
|
||||
(
|
||||
state_attr(climate_entity, 'external_measured_room_sensor') -
|
||||
trigger.to_state.attributes.temperature * 100)
|
||||
| abs)
|
||||
( (state_attr(climate_entity, 'external_measured_room_sensor')
|
||||
- (trigger.to_state.state | float) * 100) | abs)
|
||||
>= 10
|
||||
}}
|
||||
{% endif %}
|
||||
|
||||
actions:
|
||||
- variables:
|
||||
# If we don't have a trigger ID the automation has been run manually, in
|
||||
# which case we pull the temperature from the sensor instead of the
|
||||
# trigger state.
|
||||
external_temperature: >-
|
||||
# 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') }}
|
||||
{% else %}
|
||||
{{ trigger.to_state.attributes.temperature }}
|
||||
{{ trigger.to_state.state | float }}
|
||||
{% endif %}
|
||||
- action: number.set_value
|
||||
target:
|
||||
entity_id: |-
|
||||
number.{{ states[climate_entity].object_id }}_external_measured_room_sensor
|
||||
entity_id: number.{{ states[climate_entity].object_id }}_external_measured_room_sensor
|
||||
data:
|
||||
value: >-
|
||||
value: |-
|
||||
{{
|
||||
(external_temperature * 100) | int
|
||||
}}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue