Aqara TRV external temp via zigbee

Yes, I’m also not sure every time if it’s closed or not…
Is there a solution to turn it off completely?

Hey!

I`m using the “Better Thermostat” and on my side it has problems with turning the Aqara TRV back to hvac_mode “heat” when it was in “off”…

What settings are you using? I have it connected over Zigbee2MQTT. I can set everything over the HA UI, but using “Better Thermostat” does not work for me…

Could you provide your setup/config?

Greetings

I am using Better Thermostat as well and i can say that when the TRV is “Off” it still keeps the Target-Temperature… really strange. I think it isn’t a problem with Better Thermostat, it’s a Problem of the TRV itself. But i am not 100% shure…

Yes, compared with Moes, Aqara TRV is good and works as expected.

Hi, thanks for sharing, now my TVR read right temperature.
I’m a beginner in HA (supervised) and i have a question
i use 5 aqara TVR with z2m and i pilot gas heater by a sonoff mini zb
several automation for TVR,shedulating time, temperature etc… but only time schedule for sonoff switch
the sistem is quit inaccurate
i used auto discovery and i don’t know the way to change the configuration to add heater likely in generic thermostat

  • what is the best way to switch the heater with TVR? -
    thank You very much

Everything is working well compared to Moes TRVs. :slight_smile:

I’m trying to set this up, and I can easily publish the sensor data to the right topic (well, I can now once I learnt some more about MQTT). But how do I decide when to publish? I basically want the TRV to always use this sensor when it’s “looking” at the temperature. Will it automatically look at the last figure in that topic, and the temperature sensor will automatically make sure the topic always has an answer in there?

Thanks for the assist!

TRV should be set to use the external sensor and you should publish the room temperature every time it changes. The rest is done by the TRV. I have a node-red automation that publishes the room temperature as soon as it changes. You can also implement this via the native HA automations.

Ok that makes sense, I’ll look into that.

But one thing I’m wondering is that the room temperature changes the whole time no? I mean it’s got 2 decimals, so that changes every few minutes. But I guess that’s normal behaviour then?

From my own experience it doesn’t change that often. I have also limited my sensors to a single decimal from z2m, but I guess you can apply some other sort of filtering as well. Also, I don’t think that the TRV will react to minor temperature changes.

Turns out I’m not yet there with publishing my data to the TRV…

I can get the temperature showing in debug in Node Red, but seems I’m having trouble publishing it to the right topic. I can do it manually by typing in the topic and using the mqtt.publish node in Node Red, but there should be a way to do this with the Home Assistant entities too right? What node do you suggest?

If I use the automation above shared by GBCRAS, or even node red will it automatically “show” the sensor temperature in my Thermostat card, or will that still automatically show the internal Sensor?

Maybe I should just use the Better Thermostat add-in, but that almost seems like overkill.

In my experimenting I also tried this, but for some reason my template keeps changing. When I save the automation, it changes to:

payload_template:
        "[object Object]": null

Any ideas?

Poti incerca sa te inspiri de aici:

[{"id":"414488452c308dca","type":"mqtt out","z":"1c1326d7c92f983e","name":"Transmite temperatura","topic":"zigbee2mqtt/TRV dormitor 2/set/sensor_temp","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"25ddce78fef71de1","x":440,"y":1280,"wires":[]},{"id":"51f13c6a7a796a4b","type":"server-state-changed","z":"1c1326d7c92f983e","name":"Temperatura","server":"dfb48f26.5c654","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":["sensor.th_dormitor_2"],"entityidfiltertype":"list","outputinitially":false,"state_type":"str","haltifstate":"1000","halt_if_type":"num","halt_if_compare":"is_not","outputs":2,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"}],"x":130,"y":1280,"wires":[["414488452c308dca"],[]]},{"id":"51fcd521c8dc6f13","type":"inject","z":"1c1326d7c92f983e","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"18.6","payloadType":"num","x":270,"y":1220,"wires":[["414488452c308dca"]]},{"id":"25ddce78fef71de1","type":"mqtt-broker","name":"hassio","broker":"192.168.143.60","port":"1883","clientid":"","autoConnect":true,"usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""},{"id":"dfb48f26.5c654","type":"server","name":"Home Assistant","version":5,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":"30","areaSelector":"friendlyName","deviceSelector":"friendlyName","entitySelector":"friendlyName","statusSeparator":"at: ","statusYear":"hidden","statusMonth":"short","statusDay":"numeric","statusHourCycle":"h23","statusTimeFormat":"h:m","enableGlobalContextStore":true}]

If anyone is interested, I created a Blueprint based on @GBCRAS answer.

5 Likes

I admit I sped read the thread, but why isnt anyone just using the built in Generic_thermostat integration ?

I personally prefer it over the better thermostat, as (at time of writing) its missing the hot and cold tolerance feature which is useful to minimise the number of writes sent to the TRV’s flash memory.

Can you share your thermostat settings?

This is one of mine, I have this in a separate climate.yaml include file:

- platform: generic_thermostat
  name: "Main Bathroom Thermostat"
  unique_id: main_bathroom_thermostat
  heater: input_boolean.main_bathroom_trv_switch
  target_sensor: entity_id_of_external_temp_sensor_here
  min_temp: 5
  max_temp: 25
  away_temp: 5
  initial_hvac_mode: "heat"
  hot_tolerance: 0.5
  cold_tolerance: 0.5

You’ll notice that the heater ‘switch’ used is actually an input boolean. Thats because the TRV I’m using doesn’t have a switch entity that the generic thermostat can toggle.

Instead, I have an automation thats listening for the input boolean to change state, and then either turn the heating low (5c) if I want ‘off’ or high (30c) if I want ‘on’.

If your TRV has a switch entity then you can put that in the heater section instead and it will work without the need for a separate automation.

1 Like

@pavax thank you🙏

Hey there,
I just moved with my Aqara SRTS-A01 and before I also used the mqqt.publish method.

Now I just stumbled upon the number.[..]_external_temperature_input
Just FYI for those who like me didn’t kno this exists ^^

So this seem to work just fine for me:

  - if:
      - condition: device
        device_id: ###
        domain: select
        entity_id: ###
        type: selected_option
        option: internal
    then:
      - device_id: ###
        domain: select
        entity_id: ###
        type: select_option
        option: external
  - delay:
      hours: 0
      minutes: 0
      seconds: 5
      milliseconds: 0
  - service: number.set_value
    metadata: {}
    data:
      value: "{{ (states('sensor.sensomatic_01_temperature')|float(0)|round(1)) }}"
    target:
      entity_id: number.thermostat_office_external_temperature_input

where thermostat_office is the name of my thermostat

1 Like

Out of curiosity, is this still using the Zigbee2MQTT Integration or ZHA? Or asked differently, does the ZHA Integration also have this entity?