[ON_HOLD] Tuya / Moes BRT-100 TRV driver

The work on this driver has been temporarily put on hold because of the efforts involved in the Matter Bridge project.

Unfortunately, at the current time, Tuya-based TRVs and thermostats are NOT exposed as bridges devices via Matter,

The driver is designed to support different types and models of TRVs and thermostats. Sonoff TRVZB was the first one. This thread is for Moes BRT-100, and the third supported TRV will be Aqara E1.


Moes BRT-100 TRV can be purchased from here :
AliExpress : (link1)
AliExpress : (link2)
AliExpress : (link3)
Amazon .de : (link4)
Amazon .co.uk : (link5)
Amazon. fr : (link6)
Amazon .ca : (link7)


  • thermostatMode:
    • heat : 5.0 .. 45.0 degrees C (step is 1 degrees C !)
    • emergency heat - opens the valve for a configurable period of time
    • eco - switches the TRV to a configurable 'eco temperature'
    • auto - the 'auto' mode as implemented by Tuya (programming a weekly schedule in the TRV itself for offline operation) is not supported. 'auto' mode continues to operate the TRV in its native heating mode.
  • minHeatingSetpoint, maxHeatingSetpoint - limits the heatingSetpoint configuration within a narrower range than 5.0 ..35.0 / 4.0 .. 45.0, For example - do not allow boosting the temp more than 28 degrees.
  • calibrationTemp - allows manual correction of the internal sensor temperature reading. Correction range: -7.0 ... +7.0 C, step is 1 deg. C
  • termostatRunningState : 'off' when the valve is closed or 'heat' when the valve is open. Can be used to control the hot water source (boiler as an example).
  • childLock - allows locking the TRV manual control
  • windowOpenDetection - switches the window open detection on and off
  • ecoTemp - sets the frost protection temperature
  • emergencyHeatingTime
  • Date and time synchronization

Integrations and apps compatibility :

  • Hubitat Dashboards - OK?
  • Hubitat Thermostat Scheduler - OK?
  • Apple Home (HomeKit) - TODO
  • Google Home - W.I.P.
  • Amazon Alexa - TODO

The custom driver for Hubitat can be manually installed from this link in GitHub :


Reserved #2

Thanks for the new drivers, have not done much testing yet.
Not sure why the living TRV seems to have more states another identical TRV?
Also, what is boostTime and what is the criteria for the window detection to kick in?

Comparing two identical TRV settings

1 Like

The Bedroom TRV is missing very important attributes = the supporedThermorstatModes and the supportedThermostatFanModes - without these, the HE thermostat scheduler and controller will not work, the integrations to Apple Home, Google Home and Alexa will not work too..

Update to the new version 3.0.4 just published, and select the 'LOAD ALL DEFAULTS' option under the Configure button.

Import new driver version

To be answered and documented some time later .. : )

1 Like

I did as instructed above and all TRV's have the supported modes.
However, only the living room TRV and Main Thermostat are available in Google Home, not sure why the others are not available.
Also, I think I've seen thread with a user reporting setpoints not being set by the thermostat scheduler and this seems to be true in my case as well, although main thermostat seems to be working fine(Avatto _TZE200_ye5jkfsb).

living room vs bedroom 1 TRV






1 Like

Which Google integration are you using in Hubitat?
The builtin Google integration, or the Community-maintained Google Home integration ?

Update: replicated the Google Home problem, fix is coming tonight.

1 Like

Excellent, I am using the built-in version.

Look forward to the fix for Google Home.
Please ignore my comments about the setpoints not being set by thermostat scheduler - all seem to be working according to this morning's log.

1 Like

Published Zigbee TRVs and Thermostats ver 3.0.4 2023/12/08 6:07 PM Google Home compatibility for virtual thermostat; BRT-100: Google Home exceptions bug fix; setHeatingSetpoint to update also the thermostatSetpoint for Google Home compatibility.

1 Like

Unfortunately, the TRV's are still not available in Google Home App.
After selecting the TRV's in built-in Google Home HE app and pressing done, then opening Google Home does not load the selected TRV's.
Going back into built-in Google Home HE app shows that the previously selected TRV's have been automatically unselected?

If you enable the HE Google integration logs, there may be some clue what is wrong?

I am testing using Google Home app on both Android tablet and on iOS phone. The changes were in the heating setpoint handlers, this should not affect the way that the TRVs are recognised by the integration.

See warning message below:

Wow.. I don’t know what could be the reason… :thinking:

If you change one of your TRVs driver to the old Tuya driver, is the device working with Google Home?

It is also strange why the same new driver works OK in my setup…

Yes, it appears in Google Home app straight after selecting in the HE integration with the Tuya Wall Thermostat driver

1 Like

The supportedThermostatModes were different, don't know if this could be the reason .... I have now added 'off' mode and removed the "eco" mode.

Update to the new version ("2023/12/08 9:54 PM"), then in the "Send Command" command field enter (copy/paste) sendSupportedThermostatModes and click on the button above


Still puzzled why I can't reproduce the problem here ... Do you have any Googe Home hub?

Also, make sure that the coolingSetpoint is higher than the heatingSetpoint.

1 Like

I can't download the above version, still shows the below?
static String version() { "3.0.4" }
static String timeStamp() {"2023/12/08 6:07 PM"}

Yep, I forgot to publish the ...lib_included version. It should be OK now.

1 Like

Finally got it working; even after downloading the latest driver it was still not appearing in Google Home, I then reset the device driver, then selected the driver again and also loaded all defaults values from configure and then it worked!

1 Like

Good news! :+1:
I will try to finish the planned BRT-100 specific TODO items this weekend, so that I can move on to the other TRVs specifics.
I will be testing the simulation of the 'off' mode in Google Home. Unfortunately, the 'emergency heat' mode seems not supported in Google (don't know about Alexa and HomeKit yet). For me the emergency heat is something very useful - by pressing of a button you can (relatively) quickly heat up the room by keeping the valve fully open for a configured time period, then the TRV should automatically switch to the normal heat mode.

1 Like

I have published version 3.0.5 "2023/12/09 9:39 PM"
There are still some BRT-100 specific improvements to be made, but this version is expected to work OK with Google Home. The 'off' mode is substituted with 'eco' mode.
InHubitat you can also use the 'emergency heat' mode (Google Home does not support it).

The major addition is that now the 'Temperature polling interval' option kinda works with BRT-100 as well, registering 'digital' events in HE :
The logic implemented is : only when the TRV is online, and more than 15 minutes have elapsed since the last temperature, heatingSetpoint or level events - send the same event again. This allows creating graphs in HE like this : ( I use WebCoRE Graphs and Long Time Storage)


The graph looks a bit messy because of the tests I have made yesterday, I will update it with a more nice looking one when available after some days.

I see that the valve open percentage (0, 25, 50, 75, 100) is not always correct, which seems to be a problem in the BRT-100 firmware. The thermostatOperatingState (not shown on the graph) is correct , it can be certainly used to control the hot water boiler.

1 Like