FAQ
TL;DR: After cutting two PCB tracks the python UART method delivered a 100 % flash success rate "OpenBeken can control shutters well" [Elektroda, richardsg307, #20547099; p.kaczmarek2, #20548771]. Why it matters: it turns a US$12 cloud-bound curtain switch into a fully local, Home-Assistant-ready controller.
Quick Facts
• MCU: Beken BK7231T (32-bit, 120 MHz) [Elektroda, richardsg307, post #20547099]
• Flash speed: 115 200 bps with hid_download_py [Elektroda, richardsg307, post #20547099]
• Relay outputs: 2 × 230 V AC, typical 5 A (manufacturer listing)
• Scripted travel time: 15–20 s per cycle [Elektroda, richardsg307, post #20555187]
• Module cost: approx. US$12 on AliExpress (2023 listing)
What hardware is inside the Smart Life DS-151 shutter switch?
The board is a WB3S module using the 120 MHz Beken BK7231T Wi-Fi/BLE SoC, with two 230 V relays, three capacitive buttons and three indicator LEDs [Elektroda, richardsg307, post #20547099]
How do I flash OpenBeken when BK_Writer fails?
- Solder to TXD1, RXD1, VCC, GND. 2. Cut the PCB tracks leading away from TX and RX to isolate button/LED circuitry. 3. Run
python uartprogram firmware.bin -d COMx -w -b 115200. Success appears in under 30 s [Elektroda, richardsg307, post #20547099]
Which baud rate is reliable for BK7231T?
115 200 bps consistently erased and wrote the 1.15.700 build after lower default speeds failed [Elektroda, richardsg307, post #20547099]
How do I reconnect the cut tracks?
Bridge one cut with solder; for stubborn traces use very fine insulated wire, then inspect under magnification for shorts [Elektroda, richardsg307, post #20547099]
How do I access the OpenBeken web GUI?
Power the switch, join its AP (SSID starts with OBK), browse to 192.168.4.1, enter your Wi-Fi SSID/password, reboot, then reach it at the new LAN IP [Elektroda, richardsg307, post #20547099]
What pin mapping works for DS-151?
6 Rel 1, 8 Btn 3, 9 Rel 3, 10 Btn 2, 11 LED_n 3, 14 LED_n 1, 24 Btn 1, 26 LED_n 2 [Elektroda, richardsg307, post #20547099]
How can I automate open/close timing?
Use an autoexec.bat script: set $CH60 to the desired seconds, call aliases Start_Opening, Start_Closing, and Stop_All to drive relays and LEDs. A 15–20 s window suits most skylights [Elektroda, richardsg307, post #20555187]
What is the simplest Home-Assistant integration?
Publish MQTT commands cmnd/skylight/Start_Opening, .../Stop_All, .../Start_Closing and expose three button entities; YAML examples are in the thread [Elektroda, richardsg307, post #20547099]
Can I set partial opening percentages?
Only by time. OpenBeken currently lacks position feedback; the script assumes linear travel. "Percentage control needs a dedicated driver like Tasmota Shutter" [Elektroda, Acefx, post #20640181]
What happens if both relays energise together?
Simultaneous Up and Down can damage the motor or destroy buttons; always block dual activation in script logic [Elektroda, Acefx, post #20664100]
How do I fix rapid relay toggling on button press?
Remove redundant stop commands and shorten inter-relay delay to 5 ms; the revised script stops the chatter [Elektroda, Acefx, post #20639305]
Where do I upload autoexec.bat?
Does flashing erase factory calibration?
Yes. You must redefine button pins and write a new timing script after every full flash [Elektroda, richardsg307, post #20547099]
What’s a typical motor safety cutoff?
Most 230 V tubular motors self-stop after ≈120 s of power to prevent overheating [Elektroda, Acefx, post #20640181]
Is there an edge-case when MQTT sees only one relay?
Older firmware exposes raw channels; update to ≥1.17.179 or call aliases via MQTT to avoid the single-relay limitation [Elektroda, marnypopis1, post #20665983]
Future plans for a native shutter driver?
Core maintainer plans a C driver mirroring Tasmota commands but needs remote testers; volunteers with multiple shutters are welcome [Elektroda, p.kaczmarek2, post #20639755]