Electronics Home Automation

Adding a Zigbee Smart Thermostatic radiator valve to Home Assistant

Controlling our loft radiator with a Zigbee controlled thermostatic radiator valve and Home Assistant

We have another new addition to our Home Assistant smart home setup with a Zigbee controlled thermostatic radiator valve (TRV) installed on the radiator in our loft workshop.

In the past we have used a basic manual controlled TRV on the loft radiator which runs from our gas fired central heating system with the TR set to turn off once the temperature reached a set point.

The radiator is located next to the loft hatch so hot air from the rest of the house would rise past the TRV and radiator which resulted in the set temperature not working correctly. With a digital controlled TRV we can now add a temperature offset to control the valve and radiator and change its settings based on the other Zigbee temperature sensor located in the loft.

The target temperature can also be changed depending on the loft hatch being opened or closed and when it is closed, we can set a lower target temperature as the loft is not being used at that time.

Most smart thermostatic radiator valves use their own custom protocol and smart hub and use cloud-based services which we wanted to avoid. Some use Wi-Fi but this would reduce the battery life due to the extra current consumption of a Wi-Fi module compared to a Zigbee based system.

New Zigbee TRV
New Zigbee TRV

We found a Zigbee TRV on Amazon UK marketed as a “KETOTEK Zigbee Radiator Thermostat Valve Head WiFi Compatible Alexa Google Home, Smart Radiator Valve Thermostatic Programmable Tuya Smart Life APP“ which the comments showed it was compatible with Home Assistant via Zigbee2MQTT.

This model is also sold under the Tuya and Moes brands, but they all seem to be the same model but with different labels.


  • Power: 2* 1.5V alkaline batteries (NOT included)
  • Display accuracy::0.5?
  • Sensor::NTC(10k)1%
  • Range of temperature display::1~70?
  • Default range of temperature adjustment:5~35?
  • Maximum current:90mA
  • Maximum route:4.5mm
  • Thread size:M30*1.5

I ordered the TRV from Amazon but couldn’t get it to setup and the house icon on the front which is supposed to be the main button to access the menus wouldn’t work reliably and so I was unable to use it.

Touch button trigger area

I returned the unit to Amazon for a refund and after returning the TRV, I found this video “Moes Zigbee Smart Valve TS0601 in Home Assistant” by BeardedTinker on YouTube who was setting up the same valve for his Home Assistant setup.

It appeared the button area was higher than the graphic showed meaning the unit I had purchased may not have been faulty and so I ordered a second TRV to try it again.

The image shows the active touch area on the new unit compared to the green house icon which the documentation showed was the button.


The new TRV is supplied with several mounting adapters for different types of radiator valve, but our radiators have older valves which are not compatible with the supplied fixing kit. Luckily, we have an older digital dumb TRV which had a suitable adapter, so we were able to use this with the M30 * 1.5mm thread on the base of the unit.

With the TRV fitted to the radiator we installed the batteries, and the unit goes through a self-test which takes several minutes to complete. When the test is complete the display shows the current target temperature.

Linking to Zigbee2MQTT

Home Assistant screen with TRV controls
Home Assistant screen with TRV controls

Hold down the central button on the TRV for several seconds to put it into setup mode, click the plus icon until you get to menu item 5 and then press and hold the central button again until the wireless icon starts to flash. This starts the paring process.

In Zigbee2MQTT click the top dropdown to Permit join (All) and the paring will start.

Once the TRV has been pared with Zigbee2MQTT the new device will appear in the devices list.

Selecting the device will take you to the About page where the friendly name can be edited along with other information about the device.

The Exposes screen below shows all the available settings for the TRV. Many of these are not editable in Home Assistant so you can update these in Zigbee2MQTT.

The TRV has a setting only available in Zigbee2MQTT called “local_temperature_calibration” This allows you to add a temperature offset to allow for localised heating by the radiator or other heat sources.

Adding to Home Assistant

Home Assistant screen with TRV controls
Home Assistant screen with TRV controls

In Home Assistant go to Configuration, then Integrations. If you do not already have MQTT installed, add the MQTT integration and once it is setup it will show the number of detected devices and entities.

Click the Devices total which will take you to a list of all available MQTT devices and select the new TRV entry.

An overview page will load showing the device information, Entities, Automations, Scenes and Scripts.

At the end of the Entities list is a link to “ADD TO LOVELACE”, clicking this will open a dialog with all your exiting views and after selecting the required view the new entities will be shown in Home Assistant.

A list of all the entities is added and a Thermostat Card which allows you to set the target temperature.

If you want to force the valve to the fully open or closed position, you can use the “force” menu from Normal to Open or Close and after several seconds the valve will start to move to the new position.



Leave a reply

Your email address will not be published. Required fields are marked *

Share this post

Support the blog

AB Electronics Raspberry Pi shop