FAQ
TL;DR: For gas-heat thermostats you can decloud Tuya models with OpenBeken/OpenRTL; one user runs an Avatto WT100 rated 16A, and an expert warns, "I wouldn't recommend ME81H... it might die after about a year." [Elektroda, insmod, post #21735774]
Why it matters: This FAQ helps DIYers pick a flashable thermostat, map dpIDs, and avoid fragile hardware pitfalls while keeping heating online.
Quick Facts
- OpenBeken default builds include TuyaMCU support; dpIDs can be mapped without custom forks. [Elektroda, DeDaMrAz, post #21734745]
- Flashing often needs only four pads: RX, TX, VCC, GND, which simplifies board access. [Elektroda, insmod, post #21736417]
- TuyaMCU product info query returns keys like "22m2ytawuenfen5b" for schema mapping. [Elektroda, gandi69, post #21736994]
- Caution on ME81H reliability: reports suggest units may fail after ~1 year. [Elektroda, insmod, post #21735774]
- Proven alternative: Avatto WT100 (16A, electric heating) converted with ESP-12F/ESP8684 and used for ~1 year. [Elektroda, insmod, post #21735774]
Which thermostats are people actually using with custom firmware?
In this thread, one contributor runs two Avatto WT100 units (electric heat, 16A) after soldering ESP-12F and ESP8684 modules. Another user evaluated Moes and Minco variants, plus the ME81H pattern, but reliability concerns were raised for ME81H. This gives a practical path: choose hardware others confirmed, or be ready to remap dpIDs yourself. [Elektroda, insmod, post #21735774]
Is ME81H a safe pick for flashing?
A knowledgeable user does not recommend the ME81H. They cite reviews indicating units can fail about a year in. If you still try one, plan a fallback thermostat so your heating stays online during tinkering. "I wouldn't recommend ME81H... might die after about a year." [Elektroda, insmod, post #21735774]
Does OpenBeken/OpenRTL support TuyaMCU out of the box?
Yes. The default OpenBeken release includes TuyaMCU support. That means you can start the TuyaMCU driver, query the MCU, and bind dpIDs to channels through config, without custom forks. [Elektroda, DeDaMrAz, post #21734745]
What is OpenBeken (OBK) and what is OpenRTL?
OpenBeken is community firmware for Beken-based IoT devices; OpenRTL targets Realtek RTL87xx variants. Both integrate a TuyaMCU driver so the Wi‑Fi module can exchange dpID states with the thermostat’s MCU, enabling local control and MQTT. [Elektroda, DeDaMrAz, post #21734745]
How do I discover dpIDs on my thermostat?
Start the TuyaMCU driver in the OBK/OpenRTL WebApp, then run tuyaMcu_sendQueryState. The log prints dpIDs, types, and current values, which you can map to channels. This requires the module to be soldered back. [Elektroda, divadiow, post #21736961]
What does a TuyaMCU product info key look like, and why do I care?
When you start TuyaMCU, the device reports product info including a product key (p) and version. Example: {"p":"22m2ytawuenfen5b","v":"1.0.0","m":0}. That key influences app schema and helps interpret dpIDs for local control. [Elektroda, gandi69, post #21736994]
How are temperatures encoded over TuyaMCU?
Tuya encodes temperatures as integers scaled by 10. For example, 250 means 25.0°C. Many configs therefore set Dimmer ranges like 50–350 to represent 5.0–35.0°C. "Integer value; e.g., 250 means 25.0°." [Elektroda, divadiow, post #21736672]
My PCB pads lifted during rework—what minimum connections are required to flash?
You need only four lines to talk to the module: RX, TX, VCC, and GND. If pads lift, carefully scrape traces and solder to exposed copper, but consider a sacrificial unit for testing since mechanical integrity may be compromised. [Elektroda, insmod, post #21736417]
Can I control power with a button or rule instead of typing commands?
Yes. Users bind Channel1 (Toggle) to dpID 1 and add rules that send tuyaMcu_sendState 1 bool 0/1 on changes. This enables on/off from the WebUI, MQTT, or Home Assistant. Ensure addEventHandler syntax matches your firmware build. [Elektroda, gandi69, post #21740130]
What baud rate should I use on the UART between Wi‑Fi module and MCU?
Thread examples show 9600 or 115200. One working OpenBeken autoexec sets tuyaMcu_setBaudRate 9600 and frees UART TX, while others reference 115200 as a comment. Start with 9600, then adjust if logs show framing errors. [Elektroda, gandi69, post #21740130]
How do I map dpIDs to friendly channels in OpenBeken?
Use linkTuyaMCUOutputToChannel and linkTuyaMCUInputToChannel to bind dpIDs to labeled channels. Set ChannelType to match (Toggle, Enum, Temperature_div10, etc.). Then apply ranges, steps, and labels for clean UI and MQTT. [Elektroda, gandi69, post #21737264]
What’s an example 3-step flow to fetch and compare dpIDs?
- Start TuyaMCU driver in the Logs tab. 2. Run tuyaMcu_sendQueryState and copy the printed dpID list. 3. Compare results to the schema you extracted or were given, then update channel bindings accordingly. [Elektroda, divadiow, post #21737012]
Why do app motifs differ (grey vs yellow) even with the same hardware?
Motifs can switch after pairing due to firmware key and schema pulled during onboarding. One user saw grey first, then yellow after another pairing, but the schema stayed the same. Visuals can differ while dpIDs remain constant. [Elektroda, divadiow, post #21737835]
Can I keep heating online while experimenting?
Yes. One approach is to buy a replacement thermostat to run the boiler, then modify your original unit offline. This prevents heat outages if flashing fails or a board suffers pad damage. [Elektroda, gandi69, post #21733936]
Edge case: Why does my ‘Target Temperature’ not respond on dpID 2?
Different product keys can remap dpIDs. A user found dpID 2 did not set the target on a newer unit despite similar UI. Always re-query dpIDs after flashing and bind the live map, not a template. [Elektroda, gandi69, post #21737755]
What are typical modes and extras I can expose to Home Assistant?
Common dpIDs include power (1), set temp, current temp, mode, work state, child lock, sound, frost, backlight, sensor select, differential, and output polarity. OBK can auto-discover, or you can add manually in HA. [Elektroda, insmod, post #21735774]