FAQ
TL;DR: 150 W Tuya dimmers (WB2S/CB3S) flash to OpenBeken in <3 min and use a 0-1000 internal brightness scale; “Everything works well with MQTT and Home Assistant” [Elektroda, p.kaczmarek2, post #20051870]
Why it matters: you eliminate cloud lock-in, silence the beeper, and gain local HA control in one evening.
Quick Facts
• Max load: 150 W TRIAC-less MOSFET dimmer (SIF12N65F/SIF7N65F) [Elektroda, p.kaczmarek2, #20051870; spln, #20411501]
• Wi-Fi SoC: BK7231T/N on WB2S/CB3S modules; 802.11 b/g/n 2.4 GHz [Elektroda, p.kaczmarek2, post #20051870]
• UART speed: 9 600 bps default; optional 115 200 bps with tuyaMcu_setBaudRate [Elektroda, p.kaczmarek2, post #20551594]
• Dimmer range: GUI 0-100 ↔ TuyaMCU 0-1000 [Elektroda, p.kaczmarek2, post #20051870]
• Heartbeat: TuyaMCU command 0 every ≈1 s [Elektroda, Log excerpt, #20386150]
What components sit inside a MoesHouse DIY dimmer?
The board holds a WB2S or CB3S Wi-Fi module with a BK7231T/N SoC, a Holtek HT66F3195 MCU for dimming logic, a BP2525 capacitive PSU, four S3M rectifiers, and a 650 V N-MOSFET (SIF12N65F or the cheaper SIF7N65F on v3.0 boards) that chops rectified mains [Elektroda, p.kaczmarek2, #20051870; spln, #20411501].
How can I flash OpenBeken without soldering?
- Power the module, then toggle the wall switch 10 × to force AP mode [Elektroda, jrhenk, post #20551054]
- Use Tuya-Cloudcutter on a Raspberry Pi; select the BK7231 profile and upload the latest .bin (<3 min).
- Connect to the new Wi-Fi SSID, enter your LAN credentials, reboot.
Success rate exceeds 95 % among forum users [Elektroda, multiple posts].
What minimal autoexec.bat works for a single-channel TuyaMCU dimmer?
startDriver TuyaMCU
setChannelType 1 toggle
setChannelType 2 dimmer
tuyaMcu_setDimmerRange 0 1000
linkTuyaMCUOutputToChannel 1 1 1
linkTuyaMCUOutputToChannel 2 2 2
tuyaMcu_defWiFiState 4 # silences beeper
PowerSave 1 # runs cooler
[Elektroda, p.kaczmarek2, post #20385930]
How do I discover unknown dpIDs?
Enable Web-App → Logs → CMD + TuyaMCU, run startDriver TuyaMCU
then tuyaMcu_sendQueryState
. The console prints packets like dpId 2 dataType 2 value 1000
; map each id with linkTuyaMCUOutputToChannel
. This avoids trial-and-error and works even when the original firmware is gone [Elektroda, MotoSpeed, post #20277227]
The device keeps beeping after flashing—how to stop it?
Add tuyaMcu_defWiFiState 3
(or 4) to autoexec. The command fakes a “router connected” flag, which stops the MCU’s pairing alarm. It cures both rapid (state 0) and slow (state 1) beeps [Elektroda, p.kaczmarek2, #20385930; max_allan, #20386150].
Home Assistant only shows ON/OFF, no brightness. Fix?
Deactivate Flag 34 ("Add relays as lights") and rerun MQTT discovery. With the flag off, HA receives bri_stat_t
and bri_cmd_t
, exposing the slider. Users report success on v1.17.118 firmware [Elektroda, jrhenk, post #20604096]
Can OpenBeken remember the last brightness after a power cut?
Yes. Save live channels to flash channels ≥200 using addEventHandler OnChannelChange
and restore them with a one-shot addRepeatingEvent
at boot. Example script keeps toggle and dimmer values and survived cold restarts in tests [Elektroda, p.kaczmarek2, #20460296; gbauer, #20464027].
How do I configure a two-gang dimmer?
Map four channels: 1 = toggle-A, 2 = dimmer-A, 3 = toggle-B, 4 = dimmer-B. Typical dpIDs are 1,2,7,8 but confirm via logs. Script:
setChannelType 1 toggle
setChannelType 2 dimmer
setChannelType 3 toggle
setChannelType 4 dimmer
linkTuyaMCUOutputToChannel 1 1 1
linkTuyaMCUOutputToChannel 2 2 2
linkTuyaMCUOutputToChannel 7 1 3
linkTuyaMCUOutputToChannel 8 2 4
[Elektroda, p.kaczmarek2, post #20254038]
UART shows no replies—what could be wrong?
If heartbeat_valid
never flips to 1, the Holtek MCU may hang. Power-cycle the mains and confirm 9 600 bps. Boards with CB3S sometimes ship with broken bootloaders; reflashing via SPI pads recovers them [Elektroda, rtrabold, #20254253; p.kaczmarek2, #20312073].
How can I lower heat and avoid burn marks?
- Issue
PowerSave 1
to drop Wi-Fi Tx current.
- Add heat-shrink over the 100 Ω inrush resistor or rotate it for clearance; early units shorted against the WB2S can and scorched the PCB [Elektroda, spln, post #20411501] "Powersave reduces stress on their weak power supplies" [Elektroda, p.kaczmarek2, post #20412108]
What MQTT topics are published?
Default topic root is <devicename>/
. Toggle uses 1/get
and 1/set
; brightness uses 2/get
and 2/set
. Payload is 0/1
for toggle and 0-99
for brightness (scaled) [Elektroda, nelevit, post #20326969]
How do I force the dimmer back into pairing/AP mode?
If the button is absent, connect L to S and toggle the external wall switch ten times within 5 s. The beeper sounds and the module starts its smartlife_mcu_xxx
AP, ready for Cloudcutter flashing [Elektroda, jrhenk, post #20551054]