HomeHome AutomationUsing Moes ZigBee TRV (BRT-100-TRV) in my old heating system

Using Moes ZigBee TRV (BRT-100-TRV) in my old heating system

Getting ready for v4

Due to 100s of reasons, I’m late to my DIY Smart Heating V4 party. I can blame the pandemic, supply shortages and whatnot, but the truth is, I was simply delaying it myself. I realised the scope of what I’m going to be working on and delayed the inevitable. I received two out of eleven Moes ZigBee TRVs (AliExpress, Banggood) so far (others are in the post). It’s not enough to start upgrading my heating system, but it’s plenty to take it for a test drive.

Bringing the 30-year old system to 21st century

Moes ZigBee TRV
Moes ZigBee TRV

I approached the upgrade of my 30-year-old heating system from the least idea angle. In theory, I should upgrade my old boiler first, then try to save some money by introducing smart elements to it. Unfortunately, due to the location of the current boiler – any meaningful upgrades require getting a much bigger boiler (to accommodate an extra room and en-suite bathroom that had been added since the house was built) and relocating it to the garage while remodelling the entire kitchen in the process. An initial quote received was in excess of £6000.

It’s more than I’m able to take on right now due to the job’s complexity and the cost associated with all the work. For now, I’ll focus on smarting up what I can in preparation for gas price hikes in the UK.

My DIY Smart Heating v3 already can monitor and maintain the temperature of the individual rooms, however, due to the lack of TRV valves, it also wastes the heat in the rooms that are not used as often. The introduction of Moes ZigBee TRV in my ecosystem will change this. I’ll be able to dynamically control the setpoint temperature in each room in a bid to lower my gas bills.

Is it worth it?

My gas usage Oct 2020 – April 2021

It’s the most costly upgrade to my system. I’d like to see a considerable reduction in the bills moving forward. Will it work? It’s hard to say. The last winter bill (Oct-Apr 2021) was £421 just for the gas alone, and with gas prices going haywire, I’m expecting this bill to reach up to 20% more.

DIY Smart Heating UpgradeFunctionsCost
v1Sonoff Basic R3Google/Alexa integration
Remote access
v2(software only)new code structure
experimental database
support for multiple sensors
v311 x Sonoff SNZB-02 tempvoice control targeted room heating
Grafana integration
InfluxDB database
v4TRV valves, RAV/RAVL fittings, dedicated ZigBee thermostatindividual setpoint for each room$560

It’s expensive, as my old heating system requires a retrofit of the RAV or RAVL valves for every radiator I have. Cost mount up quickly if every single change has to be multiplied by 11. So far, the transition will cost roughly $10 (RAV/RAVL valve) + $30 TRV ZigBee thermostat * 11 + $60-100 (cost of drainage and connecting). I even decided to do away with my very DIY looking thermostat and buy a ZigBee based one that should handle my heating well. With the soaring cost of gas heating, I’m hoping to offset the investment within 2-3 seasons.

If you are thinking about using these yourself, check the valve type on your radiator first, as the older system will likely add to the cost of your upgrade. Moes TRV ZigBee thermostat is compatible with RAVL/RAV/RA/Comap/Herz/T+A valves. All of which use the press pin to open and close the valve.

Moes ZigBee TRV and included adapters
Moes ZigBee TRV and included adapters

Keep a fair distance between the radiator surface and the thermostat temp sensor. It will help you with internal sensor calibration regardless of the intended use (DIY vs Tuya). Frankly speaking, even standalone, Moes TRV ZigBee thermostats have a very impressive feature set. Without ZigBee connectivity, the thermostat is capable of the following:

  • Weekly schedules (4 time frames per day)
  • Holiday mode
  • Manual override/boost with delay timers
  • Open window detection

Adding these to the Tuya ecosystem enables support for smart automation, remote control, integration with Alexa and Google Home and data management to learn about using the heating system more effectively.

The bottom line is, even if I fail to develop coherent software to manage this my way, I can always fall back on Tuya’s ecosystem until the v4 is ready for the final deployment. I’m hopeful – cold is a great motivator to get things done!

Using BRT-100-TRV with ZigBee2MQTT

It won’t be Tuya in the end, so my attention is directed to NodeRED and ZigBee2MQTT where I tested the capabilities of the thermostat and the compatibility with my coordinator. At the moment, I went back to ZZH from Electrolama after Sonoff Zigbee 3.0 Dongle Plus let me down.

I’m pleased to announce that the device is fully supported even if it doesn’t have all the options I hoped for. If you want more details about adding ZigBee2MQTT devices, I have a dedicated post about this. I will just focus on getting you started with the TRV. A typical payload from the device contains all the thermostat settings. It’s very useful to get all of them at the same time. It looks like this:

    "battery": 94,
    "boost_heating": "OFF",
    "boost_heating_countdown": 0,
    "boost_heating_countdown_time_set": 300,
    "child_lock": "UNLOCK",
    "current_heating_setpoint": 17,
    "eco_mode": "OFF",
    "eco_temperature": 20,
    "linkquality": 99,
    "local_temperature": 17,
    "local_temperature_calibration": -3,
    "max_temperature": 45,
    "min_temperature": 5,
    "position": 0,
    "preset": "manual",
    "program_saturday": {
        "saturday": "0h:0m 21.5°C,  9h:0m 23°C,   14h:30m 22°C,  17h:30m 21°C "
    "program_sunday": {
        "sunday": "  6h:0m 19°C,  12h:30m 20°C,  14h:30m 21°C,  18h:30m 20°C "
    "program_weekday": {
        "weekday": " 6h:1m 20°C,  7h:30m 22°C,  15h:30m 22°C,  17h:30m 23°C "
    "window": "CLOSED",
    "window_detection": "OFF"

The disappointing part is the lack of manual override for the thermostat’s ON/OFF position (in the payload displayed as "position" : 0. It means that the only way to influence the thermostat in a meaningful way is to control the setpoint information "current_heating_setpoint": 17. Setting it higher or lower than "local_temperature": 17, will influence the position of the valve.

As there is no input for external sensors, the TRV always refers to the internal temperature sensor as the reference. Thankfully, these can be calibrated with an offset. A long story short, calibration (and overall position of the thermostat) will be crucial. At the moment I’m not able to confirm if I will need all the Sonoff ZigBee Temperature sensors I deployed to monitor the temperature in each room. If the built-in one is accurate enough I will phase the others out.

To control the thermostat, simply issue the same message structure back to zigbee2mqtt/deviceID/set in a JSON format ie:

{"current_heating_setpoint": 23}             // sets setpoint to 23 C
{"local_temperature_calibration": -5,}       // changes the calibration temp by minus 5

I highlighted positions in green that can be written to with the /set command. A detailed list of commands and possible values can be found in this article.

Not all hope is lost

Smart Meter, not so smart for home automation

Despite the setback with position setting, I still believe I can calibrate the Moes TRV ZigBee thermostat in line with my temperature sensors scattered around the room. Perhaps, manipulating setpoints is a better approach to the system I have in plans. Time will tell.

At the moment, I can confirm that the system works and with 2 changes a day, the battery dropped about 10% in my first month. I suspect this will change “in action” as the system will be toggling rooms more often to keep them at optimal temperature and prevent unused rooms from wasting heat.

For all of this to work well, I need to get in a habit of closing the doors, otherwise, the air will mix between rooms and ruin my carefully prepared plan! I have a number of supporting automation that will help to keep the heat inside – including a new Zemismart motorised pole to keep the cold from my front door out. But that’s a subject for another article.

Sample Flow
[{"id":"ea196d270d31c3c7","type":"mqtt in","z":"80e747bee9fb1ca5","name":"","topic":"zigbee2mqtt/0x84fd27fffe8c4bf3","qos":"0","datatype":"json","broker":"8d987c68b143b2a4","nl":false,"rap":true,"rh":0,"inputs":0,"x":270,"y":200,"wires":[["fd552250627b6781","b10298cd1f7069c7","3b9a3ebf1a1bbcca","cd93db67367efad7","152d15ea4739bd14","cc3abe348dfc812c","9d7441129730240a","f50231b1d732c244","c35b645c473a5ce7"]]},{"id":"fd552250627b6781","type":"debug","z":"80e747bee9fb1ca5","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":490,"y":120,"wires":[]},{"id":"7262fdfb50b3d320","type":"mqtt out","z":"80e747bee9fb1ca5","name":"","topic":"zigbee2mqtt/0x84fd27fffe8c4bf3/set","qos":"0","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"8d987c68b143b2a4","x":560,"y":400,"wires":[]},{"id":"3b9a3ebf1a1bbcca","type":"ui_text","z":"80e747bee9fb1ca5","group":"57a9cddbab6e9352","order":3,"width":2,"height":1,"name":"","label":"SetPoint","format":"{{msg.payload.current_heating_setpoint}}","layout":"row-spread","className":"","x":540,"y":280,"wires":[]},{"id":"e0e7c960f21980cc","type":"ui_slider","z":"80e747bee9fb1ca5","name":"","label":"slider","tooltip":"","group":"57a9cddbab6e9352","order":2,"width":7,"height":1,"passthru":true,"outs":"end","topic":"topic","topicType":"msg","min":"10","max":"35","step":"0.5","className":"","x":170,"y":400,"wires":[["76014cfa034424c6"]]},{"id":"b10298cd1f7069c7","type":"ui_gauge","z":"80e747bee9fb1ca5","name":"","group":"57a9cddbab6e9352","order":1,"width":0,"height":0,"gtype":"gage","title":"Temp","label":"units","format":"{{msg.payload.local_temperature}}","min":"10","max":"35","colors":["#00b500","#e6e600","#ca3838"],"seg1":"22","seg2":"25","className":"","x":530,"y":320,"wires":[]},{"id":"76014cfa034424c6","type":"function","z":"80e747bee9fb1ca5","name":"","func":"var val = msg.payload;\n\nmsg.payload = {\"current_heating_setpoint\": val}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":300,"y":400,"wires":[["7262fdfb50b3d320"]]},{"id":"cd93db67367efad7","type":"ui_text","z":"80e747bee9fb1ca5","group":"57a9cddbab6e9352","order":5,"width":7,"height":1,"name":"","label":"Window","format":"{{msg.payload.window}}","layout":"row-spread","className":"","x":860,"y":100,"wires":[]},{"id":"152d15ea4739bd14","type":"ui_text","z":"80e747bee9fb1ca5","group":"57a9cddbab6e9352","order":9,"width":4,"height":1,"name":"","label":"Child Lock Status","format":"{{msg.payload.child_lock}}","layout":"row-spread","className":"","x":890,"y":180,"wires":[]},{"id":"cc3abe348dfc812c","type":"ui_text","z":"80e747bee9fb1ca5","group":"57a9cddbab6e9352","order":7,"width":3,"height":1,"name":"","label":"Preset","format":"{{msg.payload.preset}}","layout":"row-spread","className":"","x":850,"y":140,"wires":[]},{"id":"9d7441129730240a","type":"ui_text","z":"80e747bee9fb1ca5","group":"57a9cddbab6e9352","order":10,"width":0,"height":0,"name":"","label":"Weekday:","format":"{{msg.payload.program_weekday.weekday}}","layout":"row-spread","className":"","x":860,"y":260,"wires":[]},{"id":"f50231b1d732c244","type":"ui_text","z":"80e747bee9fb1ca5","group":"57a9cddbab6e9352","order":11,"width":0,"height":0,"name":"","label":"Saturday:","format":"{{msg.payload.program_saturday.saturday}}","layout":"row-spread","className":"","x":860,"y":300,"wires":[]},{"id":"c35b645c473a5ce7","type":"ui_text","z":"80e747bee9fb1ca5","group":"57a9cddbab6e9352","order":12,"width":0,"height":0,"name":"","label":"Sunday:","format":"{{msg.payload.program_sunday.sunday}}","layout":"row-spread","className":"","x":860,"y":340,"wires":[]},{"id":"8d987c68b143b2a4","type":"mqtt-broker","name":"","broker":"localhost","port":"1883","clientid":"","autoConnect":true,"usetls":false,"protocolVersion":"5","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"sessionExpiry":""},{"id":"57a9cddbab6e9352","type":"ui_group","name":"Moes Thermostat","tab":"bf9b8a45824d1289","order":1,"disp":true,"width":9,"collapse":false,"className":""},{"id":"bf9b8a45824d1289","type":"ui_tab","name":"Home","icon":"dashboard","disabled":false,"hidden":false}]

Final thoughts

Until all my Moes ZigBee TRVs arrive (AliExpress, Banggood), I don’t expect any major upgrades to my heating system. The plans are bold, so it will take some time to implement this correctly. While I wait, I do have 11 different temperature sensors (ZigBee) that I suppose to test which I finally have some time to do. Time will tell if end up using these alongside my smart heating, but until then, it will make for a great buying guide. If this is something that you are interested in, stay tuned. Let me know in this Reddit thread if you have questions or suggestions.


Nothing says "Thank you" better than keeping my coffee jar topped up!


Support me on Patreon and get an early access to tutorial files and videos.


Bitcoin (BTC)

Use this QR to keep me caffeinated with BTC: 1FwFqqh71mUTENcRe9q4s9AWFgoc8BA9ZU

Smart Ideas with

Automate your space in with these ecosystems and integrate it with other automation services


Learn NodeRED

NodeRED for beginners: 1. Why do you need a NodeRED server?

To server or not to server? That's a very silly question!

Best Automation Projects

Tuya SDK for beginners: Intro to Tuya Cloud API

Working with Tuya Cloud API. A guide to Cloud automation for beginners, get started with REST!

NEST your old thermostat under $5

Nest-ing up your older thermostat under $5

Nora – Google Assistant in NodeRED

Integrate Google Assistant with NodeRED thanks to Nora - NodeRED home automation

Sonoff Zigbee Bridge – review

Sonoff line up will soon include Sonoff Zigbee Bridge and more Zigbee sensors - here is the first look

DIY Smart Washing Machine – for about 15 bucks!

Learn how to add washing machine notifications to your Google Home on the cheap

Smart Home

Sonoff ZigBee Bridge U isn’t what you think!

I expected Sonoff ZB Bridge U to be a next gen ZigBee bridge with Matter support. Turns out, there is much more to talk about!

Aqara “Everything” M3 Hub

When I started my home automation adventure, the current problem was the number of ecosystems needed to outfit your smart home. Aqara M3 Hub has a long list of protocols to match that!

Sonoff ZB Micro did it! (and bonus ZigBee device)

A long time ago, I took an angle grinder to the humble Sonoff Micro, will I do this again? Meet Sonoff ZB Micro and Sonoff ZB Contact (SNZB-04P) - the latest devices from the ZigBee ecosystem.

This keyless entry is PRO: SwitchBot Lock Pro

SwitchBot Lock Pro offers comprehensive upgrades over the original, combining enhanced design, stronger performance, and a faster mechanism for keyless entry

I damaged the cheapest Smart Socket with power metering for you

Sonoff S60 has an exeptional price for a smart socket with a power meter - I decided to check it out and see how flashable it is