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]