Help me understand TUYA zigbee

Hello all,

I have been trying to get a project working for my house but I am having trouble understanding a part of the technology. It involves TUYA. Basically what I am trying to setup is to mount on each of my radiators in the house a temperature control valve (something like this). The idea is that a temperature sensor in the room will read the temperature and when a threshold is reached I can tell the valve to switch off the radiator. This is all I need it to do. Unfortunatelly all of these battery controlled ones, come with all sorts of bells and whistles that I don’t find usefull.

In any case, some of these valves seem to be able to connect to a base station using a zigbee network. I have a sonoff zigbee base station which I would like to use to control them. The thing I do not understand is the TUYA part. What is TUYA? is this something like tasmota? or esphome? Can it be integrated in homeassistant? Or do I have to flash it with something else? Can this be done to any tuya device?

Take the example above. Is it possible to use it with home assistant with zigbee?

I have managed to flash tasmota on the sonoff zigbee bridge and I think I have understood the process. Also I have flased tasmota on an esp8266 12F recently and it was relatively painless too.

Thank you

you don’t have to flash a zigbee device
zigbee devices working on the same protocol : zigbee.
esp8266 is not zigbee but wifi. u can flash wifi devices (espxx) and put your personnal code in but not zigbee devices.
tuya should be chineses manufacturers using same design ( hardware, software) devices can be zigbee or wifi, maybe bluetooth and more
Tasmota is an open source firmware for wifi devices.


There are indeed multiple ways to go about this.

  1. Tuya Zigbee TRVs can be connected directly to HA if you have a Zigbee coordinator (popular choices are deconz, conbee, or CC2531 (edit: better choice is newer cc2652x as mentioned below) usb sticks) hooked up to your home assistant. You would need to buy one of such Zigbee coordinators. In HA you would either install ZHA or Zigbee2MQTT. ZHA is an official add-on and maybe a little easier to get started. In any case both are well documented and you should find plenty of tutorials on how to set either up. Once you have ZHA or Zigbee2MQTT installed, you can just put the Tuya Zibee TRVs into pairing mode and they will be directly added in HA and you can get started by writing any automation you want.

  2. Alternatively, you buy a Zibee hub. This will essentially pair the Zibee devices to the HUB and then you will need to integrate the HUB into HA. How to do the latter is dependent on the brand of the hub and if an integration supporting that hub exists. Pairing one brand of device to another brand of hub is also a bit of hit and miss.

If you still have to get started, I would recommend the 1st route. Invest in a USB stick Zigbee coordinator, install ZHA or Zigbee2MQTT and start building your Zigbee network.

p.s. I have a bunch of Tuya TRVs. They have their own temperature sensor so in theory, you do not even need an extra temperature sensor. However, in my experience the built-in temperature sensors are very poor. They don’t track my other room temperature sensors at all. So I did what you also proposed. I use another Zigbee room temperature sensor and wrote a few simple automations that just turn the Tuya TRVs either all open or all closed based on what that other room sensor is reporting.


if you use hassio it could be better to flash your espxx with esphome.
ESPHome — ESPHome it’s written to work with home assistant
tasmota isn’t

thank you for the clear explanation! I do have some followup questions:

  1. if I choose the first route. is the sonoff zigbee bridge that I flashed with tasmota-zigbee a good choise for a coordinator? I have used it to pair an IKEA tradfri button (which was previously connected to an IKEA tradfri gateway) which uses the zigbee network.

  2. I am very hopeful now with your info that I can get this working! You say you are already using some TRVs. Are they doing what I am planning to do? Turn a radiator on or off? Or are they working with intermediate states too? I.E. 50% on or 25% on?

Regarding the build in temperature sensors, I didn’t plan to use them mostly because I cannot immagine how they can measure the room temperature accurately so close to the radiator. Also some of my radiators are covered by some masks which makes the sensors even more innacurate I believe. I already have bluetooth temperature and humidity sensorsa in each room so I will use those to monitor the temperature.

Thanks again for your help!

I am using esphome on all my espxxxx modules, I was unsure about these Tuya TRVs (and tuya in general) with zigbee connection. I thought they needed to be flashed with this tasmota firmware because I have seen the tuya-convert tool.

i don’t know about the sonoff bridge (i m on a cc2652x and zigbee2mqtt, cc2531 are no more used)
if you have good compability with zigbee devices and the link beetween them is good, keep it.

The CC2531 is a terrible choice for a coordinator. It’s old, limited, and slow.

deCONZ is the software, where ConBee is the coordinator. The ConBee gets mixed results when used with ZHA or Zigbee2MQTT.

For Zigbee2MQTT the CC2652 based coordinators are recommended. For ZHA those or the EZSP based ones are also a good choice.

It’s not a great choice - Zigbee and WiFi share the same frequencies and you may have reliability/stability issues.

I have the Tuya TS0601 TRVs. They are slightly different ones than in your link. In HA, you do not control directly the opening, but rather you set a target temperature and it will open accordingly. So yes, anything between 0% open and 100% open is possible. Based on the set temperature and the programmed temperature, the device decides how much it will open the TRV. They go through a type of calibration procedure when you set them up the first time to figure out what fully open and fully closed means for your radiator.

But my experience with the built-in temperature sensors is indeed as you suspected rather poor. They don’t accurately track the room temperature. So what I do is, I just have a simple automation that when the room temperature I read from a different BLE sensor goes above a certain value (and during certain hours), I set the target temp to 5C (which essentially turns the TRV off) and when it drops I set the TRV target temp to 30C, essentially turning it fully open. This is not the smartest temperature control as such simple ON/OFF behavior causes fluctuations in temperature and it is also not the most ecologic way of heating. But for my purposes it works and nothing is stopping you to do a smarter control using the more precise open/close controls the TRVs allow. The built-in temperature control likely does something smarter than that, but in my case was unreliable because of the built-in temperature sensor not being able to track the room temp well enough.

1 Like

thank you so much for all the info! My plan is to install such TRVs on all my radiators and then turn them on and off individually during the day when a certain temperature threshold is reached and it all are off because all conditions are met then the heater is also turned off. On top of all there will be a general time interval when all of this is happening. So for example:

In the morning I want to turn on the radiators in the entire house to start the day. At lunch, I don’t need to heat the bedrooms for example. Then in the evening when we go to sleep I don’t need to heat the kitchen, livingroom and downstairs bathroom.

Stuff like this I want to setup. Now I know it is possible!