Skip to content

Instantly share code, notes, and snippets.

@pavax
Last active February 18, 2025 07:33
Show Gist options
  • Save pavax/8d6ed250765d89cb281d4a1762b8d2e8 to your computer and use it in GitHub Desktop.
Save pavax/8d6ed250765d89cb281d4a1762b8d2e8 to your computer and use it in GitHub Desktop.
z2m_aqara_trv_external_temperature.yaml
blueprint:
name: Aqara TRV E1 External Temperature Control
description: >
This automation allows the Aqara TRV E1 Smart Radiator Thermostat to use temperature readings from an external sensor rather than its internal sensor. Whenever the temperature sensor reports a new value, it is sent to the TRV for more accurate climate control.
domain: automation
source_url: "https://gist.github.com/pavax/8d6ed250765d89cb281d4a1762b8d2e8"
input:
external_temp_sensor:
name: External Temperature Sensor
description: Select the temperature sensor that will provide temperature readings to the Aqara TRV.
selector:
entity:
filter:
domain: sensor
device_class:
- temperature
aqara_trv_device:
name: Aqara TRV Device
description: Select the Aqara Smart Radiator Thermostat E1 that will receive the external temperature data.
selector:
device:
multiple: false
filter:
- integration: mqtt
manufacturer: Aqara
model: Smart radiator thermostat E1 (SRTS-A01)
- integration: mqtt
manufacturer: Aqara
model: Smart radiator thermostat E1
- integration: mqtt
manufacturer: Aqara
model: Aqara Smart Radiator thermostat E1 (SRTS-A01)
- integration: mqtt
manufacturer: Aqara
model: Aqara smart radiator thermostat E1 (SRTS-A01)
external_temperature_input_name:
name: TRV's Input Sensor Name
description: Enter a keyword or name used to identify the TRV’s number sensor entity-id, which sets the external temperature value. Defaults to 'external'.
selector:
text:
default: "external"
mode: single
max_exceeded: silent
variables:
aqara_trv_device: !input aqara_trv_device
external_temp_sensor: !input external_temp_sensor
external_temperature_input_name: !input external_temperature_input_name
aqara_trv_sensor_mode_value_external: "external"
trigger:
- trigger: state
entity_id: !input external_temp_sensor
action:
- variables:
aqara_trv_device_name: "{{ device_attr(aqara_trv_device, 'name') }}"
aqara_trv_select_entity: >-
{% set device_entities = device_entities(aqara_trv_device) %}
{{ expand(states['select'])
| selectattr('entity_id','in', device_entities)
| selectattr('attributes.options', 'contains', aqara_trv_sensor_mode_value_external)
| map(attribute='entity_id')
| first
}}
aqara_trv_number_entity: >-
{% set device_entities = device_entities(aqara_trv_device) %}
{{ expand(states['number'])
| selectattr('entity_id','in', device_entities)
| selectattr('entity_id', 'contains', external_temperature_input_name)
| map(attribute='entity_id')
| first
}}
- if:
- condition: template
value_template: "{{ not is_state(aqara_trv_select_entity, aqara_trv_sensor_mode_value_external)}}"
then:
- action: select.select_option
target:
entity_id: "{{aqara_trv_select_entity}}"
data:
option: external
- delay:
hours: 0
minutes: 0
seconds: 10
milliseconds: 0
- action: number.set_value
data:
value: >-
{{ (states(external_temp_sensor)|float(0)|round(1)) }}
target:
entity_id: "{{aqara_trv_number_entity}}"
@PaulDotterer
Copy link

Hey could you please update the Blueprint and change the "payload_template" to just "payload". There was a depreciation notice in Home assistant Version 24.8.0 added and it is throwing errors. It can be fixed in the local copy of the blueprint.

Thank you so much!

@LedLeoHA
Copy link

Hey @pavax !
Is this project left alone and should we take over the blueprint ourselves in HA? Or will you be checking out the deprecation notice at a later date?

@pavax
Copy link
Author

pavax commented Aug 23, 2024

@PaulDotterer @LedLeoHA Sorry for the extremely late response and thank you for your suggestions - I updated to blueprint.

@LedLeoHA
Copy link

@PaulDotterer @LedLeoHA Sorry for the extremely late response and thank you for your suggestions - I updated to blueprint.

Hey @pavax, the new code doesn't work, because it's "playload", but should be "payload"

@pavax
Copy link
Author

pavax commented Aug 23, 2024

@LedLeoHA stupid auto-correct on mobile iphone :) thanks I fixed it

@LedLeoHA
Copy link

LedLeoHA commented Aug 23, 2024

Confirming that it works now. Thank you @pavax !

@Nedjumiiro
Copy link

Нow to set the accuracy of temperature setting in thermostat 0.1 degree instead of 0.5 degrees? Hysteresis 1 degree does not work for me.

@fabibo89
Copy link

Hey @pavax,
I would love to use your blueprint. My problem while setting up is that the filter for aqara_trv_device doesn't find the devices. Probably, because m2qtt calls the models: "Aqara Smart Radiator Thermostat E1 (SRTS-A01)" and not "Smart radiator thermostat E1 (SRTS-A01)". Do you see any possibility to adjust the filter to/with wildcards or device type?

@stoorm1989
Copy link

Hello, tell me where to insert this script? I go to the HA control panel. then file editor - homeassistant - ??? where next???

@almirus
Copy link

almirus commented Oct 16, 2024

I suggest simplifying the code in the part where it interacts with the MQTT service. The integration offers easy access to setting the temperature through number.set_value.

action: number.set_value
metadata: {}
data:
  value: "{{ (states('sensor.sredniaia_temperatura_v_spalne')|float(0)|round(1)) }}"
target:
  entity_id: number.0x54ef4410005bae34_external_temperature_input

@pavax
Copy link
Author

pavax commented Oct 16, 2024

@almirus Thanks for your suggestion. I updated the script to be based on your suggestion. Can you try it and provide me with some feedback?

@pavax
Copy link
Author

pavax commented Oct 16, 2024

@fabibo89 I updated the blueprint to allow you also to fetch a Device with the name "Aqara Smart Radiator Thermostat E1 (SRTS-A01)"

@chEEzys
Copy link

chEEzys commented Oct 24, 2024

image
Hello! Please update to "Smart radiator thermostat E1 (SRTS-A01)" whith small "t"
Thanks

@pavax
Copy link
Author

pavax commented Oct 25, 2024

@chEEzys thanks - I updated the blueprint

@vyunolbek
Copy link

Why is my thermostat not on? For some reason, the manufacturer is called LUMINARC and, accordingly, the model is also different, can you tell me how to fix it?
image

@adamkorski
Copy link

HI, Can two thermostats be connected to one temperature sensor?

@xsevy
Copy link

xsevy commented Jan 6, 2025

@Riemi001
Copy link

Riemi001 commented Jan 6, 2025

I updated ha and the blueprint to the newest version. When i add a new device, no Aquara TRV devices are in the list.

@pavax
Copy link
Author

pavax commented Jan 6, 2025

I updated ha and the blueprint to the newest version. When i add a new device, no Aquara TRV devices are in the list.

@Riemi001 Can you try it again. In the newest version it looks like the model string changed. I updated the blueprint

@adamkorski
Copy link

@adamkorski yes

do I have to do two automations or can I add two thermostats in one?

@Riemi001
Copy link

Riemi001 commented Jan 7, 2025

I updated ha and the blueprint to the newest version. When i add a new device, no Aquara TRV devices are in the list.

@Riemi001 Can you try it again. In the newest version it looks like the model string changed. I updated the blueprint

Thanks, it's working again now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment