• Hey all -

    Submitting a teardown of the "Cree Connected Max Smart In-Wall Scene Controller".

    Amazon link: https://www.amazon.com/dp/B09JFTR3XF?psc=1&ref=ppx_yo2ov_dt_b_product_details

    [BK7231N] Cree 5-Button Scene Controller
    [BK7231N] Cree 5-Button Scene Controller

    It's a pretty simple device, with a rather frustrating disassembly (no screws, all plastic snap fit - felt tricky to crack it open).
    Multiple layers of plastic, one control board (five surface mount buttons, one LED, and Tuya CBU Wifi Module), and one power board.

    Having disassembled and reassembled now, this one required a bit of finesse - the plastic pieces are tricky to clip together, while holding all the internal parts in place (they don't really snap in, internally). If you're just flashing this, there is no need to disassemble the back power module - just separate the beige inner piece from the middle white plastic layer. That will make reassembling things much easier.

    [BK7231N] Cree 5-Button Scene Controller

    Tuya CBU Module (BK7231N)
    Datasheet: https://developer.tuya.com/en/docs/iot/cbu-module-datasheet?id=Ka07pykl5dk4u

    [BK7231N] Cree 5-Button Scene Controller [BK7231N] Cree 5-Button Scene Controller

    [BK7231N] Cree 5-Button Scene Controller [BK7231N] Cree 5-Button Scene Controller [BK7231N] Cree 5-Button Scene Controller
    [BK7231N] Cree 5-Button Scene Controller

    Flashing is pretty straight forward (ignore my hideous soldering - was rushing this one!)
    Usual connections, no Tuya MCU to have to interrupt. Simple backup and flash using BKWriter. I found that a quick short to the CEN pin was quite reliable to get it into programming mode.

    [BK7231N] Cree 5-Button Scene Controller

    OpenBeken Config:

      "vendor": "Cree",
      "bDetailed": "0",
      "name": "Cree 5-Button Wifi Scene Controller",
      "model": "‎CMACC-CMSC-UNV-WH",
      "chip": "BK7231N",
      "board": "TODO",
      "keywords": [
      "pins": {
        "14": "Btn;4",
        "15": "Btn;5",
        "20": "Btn;1",
        "22": "Btn;2",
        "28": "Btn;3"
      "image": "https://obrazki.elektroda.pl/YOUR_IMAGE.jpg",
      "wiki": "https://www.elektroda.com/rtvforum/topic3961578.html"

    Bonus Photos:
    [BK7231N] Cree 5-Button Scene Controller [BK7231N] Cree 5-Button Scene Controller [BK7231N] Cree 5-Button Scene Controller [BK7231N] Cree 5-Button Scene Controller [BK7231N] Cree 5-Button Scene Controller [BK7231N] Cree 5-Button Scene Controller

    Cool? Ranking DIY
    About Author
    Level 6  
    mattj wrote 28 posts with rating 10. Been with us since 2022 year.
  • #2
    Level 6  
    Hoping for some guidance / help here…

    So I’ve got the device flashed, pins configured, and wired up. The button changes show up in the logs (in Web App), but since they’re not a usual relay/pwm/light, there isn’t any auto-generated HA config / YAML. I can see the device heartbeat in MQTT, but no signals when the buttons are depressed.

    I assume I am missing something to make the button actions get published to MQTT?
  • Helpful post
    Level 15  
    Right, i think you still need to create a script that publish the key press to mqtt


    //publish button actions to mqtt for button 1 (pin 14)
    addEventHandler OnClick 14  publish button click
    addEventHandler OnDblClick 14 publish button dblclick
    addEventHandler OnHoldStart 14 publish button holdstart
    addEventHandler OnHold 14 publish button hold
    addEventHandler OnRelease 14  publish button release
  • #4
    Level 6  
    Thanks @ferbulous
    Just curious - is there a comprehensive list of event handlers (or commands generally)?

    I added the following to a new "autoexec.bat".
    //publish button actions to mqtt for button 1 (pin 20)
    addEventHandler OnClick 20  publish button1 click
    addEventHandler OnDblClick 20 publish button1 dblclick
    addEventHandler OnHoldStart 20 publish button1 holdstart
    addEventHandler OnHold 20 publish button1 hold
    addEventHandler OnRelease 20  publish button1 release
    //publish button actions to mqtt for button 2 (pin 22)
    addEventHandler OnClick 22  publish button2 click
    addEventHandler OnDblClick 22 publish button2 dblclick
    addEventHandler OnHoldStart 22 publish button2 holdstart
    addEventHandler OnHold 22 publish button2 hold
    addEventHandler OnRelease 22  publish button2 release
    //publish button actions to mqtt for button 3 (pin 28)
    addEventHandler OnClick 28  publish button3 click
    addEventHandler OnDblClick 28 publish button3 dblclick
    addEventHandler OnHoldStart 28 publish button3 holdstart
    addEventHandler OnHold 28 publish button3 hold
    addEventHandler OnRelease 28  publish button3 release
    //publish button actions to mqtt for button 4 (pin 14)
    addEventHandler OnClick 14  publish button4 click
    addEventHandler OnDblClick 14 publish button4 dblclick
    addEventHandler OnHoldStart 14 publish button4 holdstart
    addEventHandler OnHold 14 publish button4 hold
    addEventHandler OnRelease 14  publish button4 release
    //publish button actions to mqtt for button 5 (pin 15)
    addEventHandler OnClick 15  publish button5 click
    addEventHandler OnDblClick 15 publish button5 dblclick
    addEventHandler OnHoldStart 15 publish button5 holdstart
    addEventHandler OnHold 15 publish button5 hold
    addEventHandler OnRelease 15  publish button5 release