I bought a TRV from AVATTO – the TRV16. I connected it to my Home Assistant instance via ZigBee. Everything works fine so far, except for one issue. I noticed that the thermostat changes settings on its own at certain times.
A closer look at the device revealed that the thermostat has preset schedules. I tried to delete these schedules – unfortunately, without success.
I contacted the manufacturer, who told me that I must purchase the original Tuya ZigBee Bridge to make this change. Somehow, I find that hard to believe.
I tried using the MQTT Explorer to delete the schedules via /set with a payload, but it didn’t work. I couldn’t find any documentation on this, and the change did not go through.
Does anyone here have the same thermostat and any information on how to remove these schedules?
I am using Home Assistant, ZigBee2MQTT, and Mosquitto, all in their latest versions.
I do have the equivalent issue with scheduling ( avatto TRV06 but i sound like the same).
At the beginning i do have the zigbee bridge and play around with configuration then set schedules (big mistake )
As soon as i start integration with HA ( dropping the bridge ) i wasn’t able to reconfigure the schedule.
Last night i decide to setup entities to try edit them with the interface in HA ( see picture how i look and advertise actually )
before trying to changing them it was something like :
06:00/19.0 08:00/21.0 12:00/21.0 14:00/19.0
=> i dont want the 21°c anymore
Then i change it to (as it is on the picture) :
06:00/19.0 08:00/19.0 12:00/19.0 14:00/19.0
I report 3 behaviour (i tried the same setting to 19°c on 4 TRV):
A → the TRV does not care of the change, and continue his initial schedule
B → the TRV go crazy and set up the temp to 153°c ( the max possible )
C → the TRV seems to accept with new schedule ( i just seen that when i was taking the screen ), going from 0°c to 19°c until temp is matched.
In conclusion :
→ it seems to be possible to change schedule
→ i dont know what triggers it in the right way ( figure C )
The only thing i do that can going to C is validating again and again the schedule, but at this time i cannot tell if it was the trigger.
@Armend100 do you have more info about your tries ?
NB : sorry i tried to include more picture in the post ( case A, B and C ) but i cannot.
I have the same issue as you. The TRV sets random values, even though it’s configured like this in Zigbee2MQTT: 07:00/24.0 16:00/18.0 16:01/18.0 16:02/18.0 16:03/18.0 16:04/18.0
Here is the graph of last two days. You can see random temperatures.
To work around this, I created an automation (with the help of ChatGPT) that will do the following.
I’ll monitor it for a few days to see if this successfully prevents the TRV from setting random temperatures. Here is the code:
alias: TRV06 – Smart Schedule and Override Protection
description: >
Maintains desired temperatures for Avatto TRV06:
- Weekdays: 23°C until 16:00, then 18°C
- Weekends: constant 18°C
If the TRV changes the temperature by itself, it will be reset to the schedule.
mode: restart
trigger:
# Time-based triggers for schedule
- platform: time
at: "06:00:00"
- platform: time
at: "16:00:00"
- platform: time
at: "00:00:00"
# Trigger if the TRV changes its temperature on its own
- platform: state
entity_id: climate.0xa4c138d620074c92
attribute: temperature
condition: []
action:
- variables:
current_hour: "{{ now().hour }}"
weekday: "{{ now().weekday() }}" # 0 = Monday, 6 = Sunday
current_temp: "{{ state_attr('climate.0xa4c138d620074c92', 'temperature') | float(0) }}"
target_temp: >
{% if weekday in [5,6] %}
18
{% elif current_hour < 16 %}
23
{% else %}
18
{% endif %}
# Ensure the TRV is in manual mode
- choose:
- conditions:
- condition: template
value_template: "{{ state_attr('climate.0xa4c138d620074c92', 'preset_mode') != 'manual' }}"
sequence:
- service: climate.set_preset_mode
target:
entity_id: climate.0xa4c138d620074c92
data:
preset_mode: manual
# If the temperature is different from the target, set it
- condition: template
value_template: "{{ (current_temp | round(1)) != (target_temp | round(1)) }}"
- service: climate.set_temperature
target:
entity_id: climate.0xa4c138d620074c92
data:
temperature: "{{ target_temp }}"