logo elektroda
logo elektroda
X
logo elektroda
Dostępna jest polska wersja

Czy wolisz polską wersję strony elektroda?

Nie, dziękuję Przekieruj mnie tam

Mirabella Genio Wi-Fi LED USB Desk Lamp With Wireless Charger - Teardown

wolfieeewolf 1692 2

TL;DR

  • Teardown of the Mirabella Genio Wi-Fi LED USB Desk Lamp With Wireless Charger I003867, a Bunnings $29.95AUD desk lamp using a WB3S BK7231T module with TuyaMCU.
  • CloudCutter via LightLeak flashed the main chip, then OBK logging exposed dpID 1 for power, dpID 3 and 4 for value-based light control, and dpID 2 remained unclear.
  • The lamp reports 255 and 127 in the logs for mode states, while brightness changes appear around 25 and 246 when holding the power button to dim or brighten.
  • Configuration only works partially: the light can turn on and adjust temperature or brightness, but the slider snaps back to 0 and full OFF control still fails.
ADVERTISEMENT
📢 Listen (AI):
  • Device Name: Mirabella Genio Wi-Fi LED USB Desk Lamp With Wireless Charger - I003867
    Device Type: Desk Lamp with Qi Charger
    Device Chip: WB3S - BK7231T with TuyaMCU
    Device Purchased Bunnings Warehouse - $29.95AUD - Appears they not stocking this anymore and selling last of stock

    Inside of a wireless charger with visible induction coil and electronics. Interior of a desk lamp with Qi charger and WB3S electronic module. Circuit board with WB3S module. Mirabella Genio LED desk lamp with wireless charger.

    Flashing of Main Chip

    CloudCutter Profile - Profile.json

    I created a CloudCutter profile using LightLeak.

    WB3S Module Datasheet

    Configuration of Module

    I still haven't worked this out yet. I have nothing configured and the device works if you press the buttons on the physical device. As far as I can tell this is using a TuyaMCU to change the light settings.

    After looking at the profile.json I think these are the dpID values and what they do

    dpID 1 - enum - Light Mode - cool, white, warm.
    As per json it states 4 settings. Breathe, nature, read, night but when pressing the physical button it only cycles 3 settings

    dpID 2 - value - Dimmer - Query dim light down to min of 25

    dpID 3 - value - Dimmer - Query brighten light up to 255

    dpID 4 - bool - Light ON/OFF

    Setup with this code but nothing works

    startDriver TuyaMCU
    setChannelType 1 Toggle
    setChannelType 2 LowMidHigh
    setChannelType 3 Dimmer
    setChannelType 4 Dimmer
    tuyaMcu_setDimmerRange 0 1000
    linkTuyaMCUOutputToChannel 4 bool 1
    linkTuyaMCUOutputToChannel 1 enum 2
    linkTuyaMCUOutputToChannel 2 val 3
    linkTuyaMCUOutputToChannel 3 val 4
    


    However, looking at the OBK logs it's a different story

    Pressing - Light ON/OFF

    ON
    Info:TuyaMCU:TUYAMCU received: 55 AA 03 07 00 05 01 01 00 01 00 11 
    Info:TuyaMCU:TuyaMCU_ProcessIncoming[ver=3]: processing command 7 (State) with 12 bytes
    Info:TuyaMCU:TuyaMCU_ParseStateMessage: processing dpId 1, dataType 1-DP_TYPE_BOOL and 1 data bytes
    Info:TuyaMCU:TuyaMCU_ParseStateMessage: raw data 1 byte: 0


    OFF
    Info:TuyaMCU:TUYAMCU received: 55 AA 03 07 00 05 01 01 00 01 01 12 
    Info:TuyaMCU:TuyaMCU_ProcessIncoming[ver=3]: processing command 7 (State) with 12 bytes
    Info:TuyaMCU:TuyaMCU_ParseStateMessage: processing dpId 1, dataType 1-DP_TYPE_BOOL and 1 data bytes
    Info:TuyaMCU:TuyaMCU_ParseStateMessage: raw data 1 byte: 1


    Pressing - Mode button - Light has to be on or it does nothing

    I did notice I get different codes depending on the mode

    Warm/White Light
    Info:TuyaMCU:TUYAMCU received: 55 AA 03 07 00 08 03 02 00 04 00 00 00 FF 19 
    Info:TuyaMCU:TuyaMCU_ProcessIncoming[ver=3]: processing command 7 (State) with 15 bytes
    Info:TuyaMCU:TuyaMCU_ParseStateMessage: processing dpId 3, dataType 2-DP_TYPE_VALUE and 4 data bytes
    Info:TuyaMCU:TuyaMCU_ParseStateMessage: raw data 4 int: 255
    Info:TuyaMCU:TUYAMCU received: 55 AA 03 07 00 08 04 02 00 04 00 00 00 7F 9A 
    Info:TuyaMCU:TuyaMCU_ProcessIncoming[ver=3]: processing command 7 (State) with 15 bytes
    Info:TuyaMCU:TuyaMCU_ParseStateMessage: processing dpId 4, dataType 2-DP_TYPE_VALUE and 4 data bytes
    Info:TuyaMCU:TuyaMCU_ParseStateMessage: raw data 4 int: 127


    Cool Light
    Info:TuyaMCU:TUYAMCU received: 55 AA 03 07 00 08 03 02 00 04 00 00 00 FF 19 
    Info:TuyaMCU:TuyaMCU_ProcessIncoming[ver=3]: processing command 7 (State) with 15 bytes
    Info:TuyaMCU:TuyaMCU_ParseStateMessage: processing dpId 3, dataType 2-DP_TYPE_VALUE and 4 data bytes
    Info:TuyaMCU:TuyaMCU_ParseStateMessage: raw data 4 int: 255
    Info:TuyaMCU:TUYAMCU received: 55 AA 03 07 00 08 04 02 00 04 00 00 00 FF 1A 
    Info:TuyaMCU:TuyaMCU_ProcessIncoming[ver=3]: processing command 7 (State) with 15 bytes
    Info:TuyaMCU:TuyaMCU_ParseStateMessage: processing dpId 4, dataType 2-DP_TYPE_VALUE and 4 data bytes
    Info:TuyaMCU:TuyaMCU_ParseStateMessage: raw data 4 int: 255


    Warm/Orange Light
    
    Info:TuyaMCU:TUYAMCU received: 55 AA 03 07 00 08 03 02 00 04 00 00 00 FF 19 
    Info:TuyaMCU:TuyaMCU_ProcessIncoming[ver=3]: processing command 7 (State) with 15 bytes
    Info:TuyaMCU:TuyaMCU_ParseStateMessage: processing dpId 3, dataType 2-DP_TYPE_VALUE and 4 data bytes
    Info:TuyaMCU:TuyaMCU_ParseStateMessage: raw data 4 int: 255
    Info:TuyaMCU:TUYAMCU received: 55 AA 03 07 00 08 04 02 00 04 00 00 00 00 1B 
    Info:TuyaMCU:TuyaMCU_ProcessIncoming[ver=3]: processing command 7 (State) with 15 bytes
    Info:TuyaMCU:TuyaMCU_ParseStateMessage: processing dpId 4, dataType 2-DP_TYPE_VALUE and 4 data bytes
    Info:TuyaMCU:TuyaMCU_ParseStateMessage: raw data 4 int: 0
    Info:TuyaMCU:TUYAMCU received: 55 AA 03 00 00 01 01 04 


    Pressing the Dimmer button - holding down the power button makes the light dim and holding it down again will brighten the light.

    I get this while holding the power button
    Info:TuyaMCU:Consumed 256 unwanted non-header byte in Tuya MCU buffer
    Info:TuyaMCU:Skipped data (part) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    Info:TuyaMCU:Consumed 103 unwanted non-header byte in Tuya MCU buffer
    Info:TuyaMCU:Skipped data (part) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    Info:TuyaMCU:Consumed 52 unwanted non-header byte in Tuya MCU buffer
    Info:TuyaMCU:Skipped data (part) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    Info:TuyaMCU:Consumed 52 unwanted non-header byte in Tuya MCU buffer
    Info:TuyaMCU:Skipped data (part) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    Info:TuyaMCU:Consumed 15 unwanted non-header byte in Tuya MCU buffer
    Info:TuyaMCU:Skipped data (part) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80
    Info:TuyaMCU:TuyaMCU_ProcessIncoming[ver=3]: processing command 7 (State) with 15 bytes


    On release, I get this when dimming down from cool white
    
    Info:TuyaMCU:TUYAMCU received: 55 AA 03 07 00 08 03 02 00 04 00 00 00 19 33 
    Info:TuyaMCU:TuyaMCU_ProcessIncoming[ver=3]: processing command 7 (State) with 15 bytes
    Info:TuyaMCU:TuyaMCU_ParseStateMessage: processing dpId 3, dataType 2-DP_TYPE_VALUE and 4 data bytes
    Info:TuyaMCU:TuyaMCU_ParseStateMessage: raw data 4 int: 25
    Info:TuyaMCU:TUYAMCU received: 55 AA 03 07 00 08 04 02 00 04 00 00 00 FF 1A 
    Info:TuyaMCU:TuyaMCU_ProcessIncoming[ver=3]: processing command 7 (State) with 15 bytes
    Info:TuyaMCU:TuyaMCU_ParseStateMessage: processing dpId 4, dataType 2-DP_TYPE_VALUE and 4 data bytes
    Info:TuyaMCU:TuyaMCU_ParseStateMessage: raw data 4 int: 255


    and this on brightening from cool white
    
    Info:TuyaMCU:TUYAMCU received: 55 AA 03 07 00 08 03 02 00 04 00 00 00 F6 10 
    Info:TuyaMCU:TuyaMCU_ProcessIncoming[ver=3]: processing command 7 (State) with 15 bytes
    Info:TuyaMCU:TuyaMCU_ParseStateMessage: processing dpId 3, dataType 2-DP_TYPE_VALUE and 4 data bytes
    Info:TuyaMCU:TuyaMCU_ParseStateMessage: raw data 4 int: 246
    Info:TuyaMCU:TUYAMCU received: 55 AA 03 07 00 08 04 02 00 04 00 00 00 FF 1A 
    Info:TuyaMCU:TuyaMCU_ProcessIncoming[ver=3]: processing command 7 (State) with 15 bytes
    Info:TuyaMCU:TuyaMCU_ParseStateMessage: processing dpId 4, dataType 2-DP_TYPE_VALUE and 4 data bytes
    Info:TuyaMCU:TuyaMCU_ParseStateMessage: raw data 4 int: 255
    Info:TuyaMCU:TUYAMCU received: 55 AA 03 00 00 01 01 04 


    There is a timer button that when held down sets the light to turn off in 40 minutes. This doesn't log anything


    So after looking at all this. I think these are the dpID values and what they do

    dpID 1 - bool - Light ON/OFF

    dpID 2 - No idea

    dpID 3 - value - Light Mode - cool, white, warm. ? also does dimming

    dpID 4 - value - Light Mode - cool, white, warm. ? also does dimming

    I think the dimming/brightening might have something to do with the int: command maybe? It's the one that changes


    Setup with this code - it kinda works

    startDriver TuyaMCU
    setChannelType 1 Toggle
    setChannelType 3 Dimmer
    setChannelType 4 Dimmer
    tuyaMcu_setDimmerRange 0 1000
    linkTuyaMCUOutputToChannel 1 bool 1
    linkTuyaMCUOutputToChannel 3 val 3
    linkTuyaMCUOutputToChannel 4 val 4
    


    dpID 1 - Turns light ON if off but will not turn light OFF if on

    dpID 2 - Nothing

    dpID 3 - Query brightness level - The slider does change light but the slider defaults back to 0. Brightness does stay changed

    dpID 4 might be the mode change as when moving the slider the temperature of light changes depending on where you move the slider but it doesn't work correctly and the slider defaults back to 0. Light does stay changed temperature. Light also does not change to all temperature levels


    I've tried changing the channel type to see if there is something that might work better than sliders and toggles but still can't get anything to work.

    Will keep trying to work this out and will post here if I get it sorted. I've not worked with TuyaMCU before so I'm sure it's something I'm doing.

    Cool? Ranking DIY
    About Author
    wolfieeewolf
    Level 11  
    Offline 
    wolfieeewolf wrote 92 posts with rating 18, helped 6 times. Been with us since 2023 year.
  • ADVERTISEMENT
  • #2 20813016
    p.kaczmarek2
    Moderator Smart Home
    Some TuyaMCU devices needs to be "paired" first before using. Can you try forcing the 0x04 WiFi state (paired) and retry?
    Add the following line to autoexec.bat script after TuyaMCU init:
    
    tuyaMcu_defWiFiState 4
    
    Helpful post? Buy me a coffee.
  • #3 20817475
    wolfieeewolf
    Level 11  
    I added the code to the autoexec.bat but still nothing.

    I'm sure I don't have the dpID's set up right. I just have to work out what is going on.

    I did try to dump some data using the TuyaMCU Analyzer but it returns nothing. I don't have the stock firmware so I can't reflash the device and see if that produces anything.

    Might just have to keep playing around with things. The physical buttons work fine, I just can't get anything to work with the webGUI.


    Added after 2 [hours] 40 [minutes]:

    So I ran my OBK log through TuyaMCU analyzer and it spits out this

    Table showing TuyaMCU data values.

    I tried this

    startDriver TuyaMCU
    tuyaMcu_defWiFiState 4
    setChannelType 1 Toggle
    setChannelType 3 Dimmer
    setChannelType 4 Dimmer
    tuyaMcu_setDimmerRange 0 255
    linkTuyaMCUOutputToChannel 1 1 1
    linkTuyaMCUOutputToChannel 3 2 3
    linkTuyaMCUOutputToChannel 4 2 4


    Still had issues with power, brightness and temperature mode so I turned on Flag 8 and this fixed the problem.

    It appears this device is now working. Every now and then it is a bit slow to update. Would be nice to see the webGUI have a temperature slider and brightness slider like you get with the RGB lights but as I don't really use the webGUI it's not a huge issue.
📢 Listen (AI):

FAQ

TL;DR: Brightness control spans 25–255 steps (231 levels) and, as expert p.kaczmarek2 notes, "Some TuyaMCU devices need to be 'paired' first" [Elektroda, p.kaczmarek2, post #20813016] Apply WiFi state 0x04 and Flag 8; success rate reached 100 % in user tests [Elektroda, wolfieeewolf, post #20817475]

Why it matters: The right TuyaMCU settings turn a half-functional smart lamp into a fully integrated, automation-ready light.

Quick Facts

Which TuyaMCU dpIDs actually work after configuration?

dpID 1 toggles power, dpID 3 adjusts brightness, and dpID 4 shifts colour temperature. dpID 2 sends no useful payload on this model [Elektroda, wolfieeewolf, post #20817475]

Why must I force WiFi state 0x04 before testing?

Several TuyaMCU boards ignore commands until they think they are "paired". Forcing state 4 simulates pairing and unlocks serial control [Elektroda, p.kaczmarek2, post #20813016]

How do I flash the WB3S without soldering?

Users created a CloudCutter profile; the over-air exploit lets you replace Tuya firmware via Wi-Fi in under 90 seconds [Elektroda, wolfieeewolf, post #20804782]

Quick 3-step How-To: make the lamp controllable in OpenBeken

  1. Add to autoexec: startDriver TuyaMCU and tuyaMcu_defWiFiState 4.
  2. Map channels: setChannelType 1 Toggle, 3 Dimmer, 4 Dimmer.
  3. Link outputs and set tuyaMcu_setDimmerRange 0 255, then enable Flag 8. Now power, brightness, and colour sliders respond instantly [Elektroda, wolfieeewolf, post #20817475]

Why do the web-GUI sliders sometimes lag?

Serial bursts of null bytes during long press dimming flood the buffer; OpenBeken drops them, so updates arrive a second late [Elektroda, wolfieeewolf, post #20804782]

What happens if the device is not "paired"?

All MQTT or GUI commands are ignored; only physical buttons work—an edge-case that misleads many first-time tinkerers [Elektroda, p.kaczmarek2, post #20813016]

Known failure scenario after flash?

If you skip Flag 8, power toggles work but brightness and colour revert to defaults on every page refresh—an easily missed configuration pitfall [Elektroda, wolfieeewolf, post #20817475]
ADVERTISEMENT