AVATTO WT20R Thermostat custom firmware?

Anyone has experience in custom firmwares for this WiFi thermostat?

AVATTO WT20R Tuya WiFi Smart Knob Thermostat User Manual

I can connect it to Home Assistant with Tuya integration. But it does not expose the humidity values that can be read from thermostat. There is also RGB led on the thermostat that changes color, when turning the knob, but Tuya does not expose this feature.

I would like to control the RGB led color by electricity price and if we are heating or not.

I checked the PCB of the thermostat. The connection module is labeled as CBU.



CBU Module Datasheet-Tuya Developer Platform-Tuya Developer

Is there any way to install ESPHome or OpenBeken wirelessly?

Just to clarify a few things about the WT20R:

The CBU module you found is not Wi-Fi – it’s purely a Zigbee communication module (as confirmed in the Tuya datasheet: CBU Module Datasheet-Tuya Developer Platform-Tuya Developer).
The actual Wi-Fi functionality is integrated into the main controller, the LN882H(K/I) chip.

That’s important because LN882H is supported by ESPHome through LibreTiny:

I don’t know whether any public alternative firmware already exists for this specific device, but the hardware platform is workable with ESPHome, at least in principle. I’m considering looking into an ESPHome implementation, although I don’t have the device myself yet to investigate properly.

Do you have any additional photos of the board, especially the other side?
The key missing piece is the TFT display identification. Knowing the exact panel driver would make it much clearer how realistic ESPHome support is.

@jdobry I will take photos from other side of the PCB later on. That LN882H will be a pain in the ass to desolder and flash, if the Tuya-Convert will not work.

In my findings this CBU module should be also libretiny compatible? It should be able to talk with LN882H thru TuyaMCU component.
CBU - LibreTiny

But the question is that is it still possible to expose more Tuya datapoints as we get now from the Tuya API in Home Assistant?

This is the status JSON from Tuya interface diagnostics:

"status": {
  "switch": true,
  "mode": "manual",
  "temp_set": 20,
  "temp_set_f": 41,
  "temp_unit_convert": "c",
  "temp_current": 18,
  "humidity": 84,
  "temp_current_f": -4,
  "work_days": "5_2",
  "work_state": "manual",
  "factory_reset": false,
  "backlight": 10,
  "fault": 0,
  "sensor_choose": "in"
}

We see from the Tuya developer portal if I change to DP-type configuration all the API possible DP’s?

Code Type Values
switch Boolean {"true,false"}
mode Enum {"range": ["auto","manual"]}
temp_set Integer {"unit": "℃","min": 5,"max": 45,"scale": 0,"step": 1}
temp_set_f Integer {"unit": "℉","min": 41,"max": 113,"scale": 0,"step": 1}
temp_unit_convert Enum {"range": ["c","f"]}
work_days Enum {"range": ["5_2","6_1","7"]}
factory_reset Boolean {"true,false"}
backlight Integer {"unit": "%","min": 0,"max": 100,"scale": 0,"step": 1}
week_program_4 Raw {"maxlen": 128}
sensor_choose Enum {"range": ["in","out","all"]}
high_temperature Integer {"unit": "℃","min": 10,"max": 45,"scale": 0,"step": 1}
low_temperature Integer {"unit": "℃","min": 0,"max": 10,"scale": 0,"step": 1}
high_temperature_f Integer {"unit": "℉","min": 50,"max": 113,"scale": 0,"step": 1}
low_temperature_f Integer {"unit": "℉","min": 32,"max": 50,"scale": 0,"step": 1}
differ_temperature Integer {"unit": "℃","min": 1,"max": 5,"scale": 0,"step": 1}
differ_temperature_f Integer {"unit": "℉","min": 32,"max": 41,"scale": 0,"step": 1}
correction_temperature Integer {"unit": "℃","min": -9,"max": 9,"scale": 0,"step": 1}
correction_temperature_f Integer {"unit": "℉","min": 14,"max": 50,"scale": 0,"step": 1}

But nothing for RGB led controlling? Do you think that it still could be accessible thru TuyaMCU ESPhome component or is it controlled directly by just turning the knob?

I have the same thermostat, and it has a missed function i think, if i rotate the knob in the home screen does absolutely nothing, it’s would be fine if this default change the temeprature, but if would like to change the preset temp, should push the knob, rotate the temp, push the knob and then rotate to arrive the desired temp. Has anyone idea how can change this, if possible?

@tomosvari I don’t think so. Atleast on this current software.
Too bad that the thermostat is really neat looking, but does not include much of a functionality.

I don’t think that it’s worth to try to change the firmware if someone does not confirm that we expose more datapoints from the thermostat. Including RGB controller + feedback from knob rotation.

Yes absolutely so. It would be nice if tthe manufacturer can the chance to give any helping instruction or customizable firmware. But i think this is a dream only. I have wrote a mail in the past and couldn’t get a simple answer from the manufacturer.