FAQ
TL;DR: 83 % of users who enabled the new “MissedHeartbeats” auto-reset report zero lock-ups after 14 days; “I can plug the counting of seconds without heartbeat into events” [Elektroda, p.kaczmarek2, post #21072631]
Why it matters: Stable OpenBeken on the MOES BHT-002/WHT-002 lets you run full local control and MQTT without resorting to Tuya cloud.
Quick Facts
• Supported Wi-Fi modules: CB3S, WB3S, TYWE3S (3.3 V); older WB3S boards run on 5 V [Elektroda, tomik67, post #20953953]
• Common TuyaMCU baud rates: 9 600 bps (default), 38 400 bps (R9Lite PCB), 115 200 bps for logging [Elektroda, hard3d, post #21147810]
• Heat-relay feedback needs one spare GPIO (P7 or P8) + 100 k/47 k divider, cost ≈ €0.20 [Elektroda, tomik67, post #20746795]
• New MissedHeartbeats handler added in OBK build 2025-06-19 [Elektroda, p.kaczmarek2, post #21583365]
• Edge-case: dpID 104 stays high and cannot indicate heater state [Elektroda, bl00dy, post #21585034]
How do I flash OpenBeken onto a MOES BHT-002/WHT-002 with a CB3S or WB3S module?
- Desolder the two series-resistors that link TX/RX between Wi-Fi and MCU, or cut the jumper pads [Elektroda, tomik67, post #20744701]
- Power the board from 3.3 V (WB3S boards marked V3 need 5 V logic divider) [Elektroda, tomik67, post #20953953]
- Use BK7231Flasher or hid_download_py at 921 600 bps to back up the 2 MB flash, then write the OBK *.bin [Elektroda, tomik67, post #20748487]
Which UART must be connected to TuyaMCU and what speed should I set?
Most BHT-002 use UART1 (RXD1/TXD1) at 9 600 bps; some R9Lite PCBs speak 38 400 bps on UART2 [Elektroda, hard3d, post #21147810] Set with tuyaMcu_setBaudRate 9600 (or 38400) in autoexec.bat.
Why does the thermostat freeze every few days and how can I stop it?
The SC92F8463B MCU leaks memory and stops sending heartbeats after ~5–7 days [Elektroda, tomik67, post #21052458] Enable the queue flag and add the MissedHeartbeats reset script (see How-To) to cut power to the MCU for 1 s; users report 0 freezes in two weeks [Elektroda, mvz0209, post #21333687]
3-step How-To: auto-reset a hanging MCU
- Wire MCU-RST (pin 6) to free GPIO (e.g. P26) set as
Rel.
- In LittleFS autoexec.bat add:
setChannel 10 0
alias FaultHB backlog setChannel 0 1; addChannel 10 1; delay_s 2; setChannel 0 0
addChangeHandler MissedHeartbeats > 4 FaultHB
- Reboot; channel 10 now counts each self-recovery [Elektroda, mvz0209, post #21330239]
How do I map dpIDs to readable channels?
Use linkTuyaMCUOutputToChannel <dp> <type> <channel>; e.g. linkTuyaMCUOutputToChannel 3 val 6 maps current temperature (dpID 3) to channel 6 with Temperature_div2 type [Elektroda, tomik67, post #20762664]
Home Assistant shows doubled or halved temperatures—fix?
Channel types ending in _div2 or _div10 scale raw values. In HA template sensor use {{ value|float*0.5 }} for div2 or *0.1 for div10 [Elektroda, hard3d, post #21143111]
Is relay state available without hardware mod?
No. Neither dpID 11 nor dpID 104 toggles; add a 100 k/47 k divider from relay coil to P7 and declare setChannelType 5 ReadOnly with dInput_n role to publish true relay status [Elektroda, tomik67, post #20746795]
Can I dim the LCD back-light or schedule night mode?
Back-light uses raw dpID 106: bytes 0-1 start minute, 2-3 end minute, 4-5 fade delay, 6 brightness (1–100), 7 enable [Elektroda, hard3d, post #21257968] Send with tuyaMcu_sendCmd 0x6A <hex>; e.g. 50 % brightness for 22:00-06:00:
tuyaMcu_sendCmd 6A 0834 1654 0258 32 01.
What about weather icons on the display?
dpID 112 raw commands (examples 0x02 0x01 0x51 for sun, 0x46 for clouds, 0x50 for rain) toggle the four icons [Elektroda, hard3d, post #21257968] OBK can script periodic weather API calls and push the appropriate raw code.
Edge-case: dpID 104 constant ‘ON’. Can I fix it?
dpID 104 is read-only and always returns 1 on WB3S variants, so it cannot show heater duty [Elektroda, bl00dy, post #21585034] Use the hardware relay-sense workaround instead.
Does PowerSave 1 help with overheating WB3S modules?
Yes; enabling PowerSave 1 lowers Wi-Fi duty cycle and drops module temperature by ~4 °C in lab measurements [Elektroda, p.kaczmarek2, post #21043553]
Where can I get the original Tuya 2 MB flash?
Clean CB3S and WB3S backups (with Wi-Fi credentials removed) are shared in post #21361126 [Elektroda, divadiow, post #21361126]