logo elektroda
logo elektroda
X
logo elektroda

Experience with LLXLJY 8-Channel Tuya Switch and OBK Compatibility?

io2345 6855 115
Best answers

Can the LLXLJY 8-channel Tuya switch be used with OBK, and how should it be flashed or configured?

Yes — the LLXLJY box turned out to be a BK7231N TuyaMCU device, so OBK compatibility is realistic; for flashing/backing up, choose BK7231N, and one user found that leaving the 3.3 V line disconnected during readback helped because the board was already powered via RX [#21212778 #21218438 #21218602]. OBK support became workable after newer TuyaMCU handling was added: the device uses relays on DPs 1–6 and 101/102, and with `tuyaMcu_setBaudRate 9600`, `tuyaMcu_defWiFiState 4`, `setChannelType ... Toggle`, and `linkTuyaMCUOutputToChannel ... bool ...` the eight relays could be toggled normally [#21223289 #21246749 #21247143]. The sticking point was TuyaMCU status handling (the 0x22 status-report path); once OBK learned to reply properly, relay control started behaving as expected [#21228786 #21229901 #21240579 #21245009]. If the relays behave linked or inverted, the original Tuya interlock settings are still likely stored, so resetting back to Tuya and clearing those settings fixed it for the user [#21247189 #21247345]. The RF remote is not learned in the app; pairing is done by pressing the onboard button five times quickly, then binding each remote button one by one [#21264721]
Generated by the language model.
ADVERTISEMENT
  • #1 21212688
    io2345
    Level 9  
    Posts: 241
    Help: 1
    Rate: 6
    Board Language: german
    Next project is this device, a 8 channel smart Tuya switch (Picture is from their website, board looks a bit different now - see below):

    Printed circuit board of an 8-channel smart Tuya switch, front and back view.

    sold as "LLXLJY". Can hopefully be used with OBK. If anyone already has experience with it, pls. let me know. Device should arrive here in a week or so. Can be found here: Link
    Optionally it ca even be controlled via Remote Control 433MHz (like RC cars use)

    Arrived. Here are some more detailed pictures. The board layout has changed, now there are no chips on the boards backside:
    Close-up of an 8-channel Tuya smart switch with visible relays and connectors. Close-up of a green circuit board with various electronic components. Tuya switch manual with circuit board in bubble wrap
    View of the backside of the PCB for an 8-channel Tuya switch.
  • ADVERTISEMENT
  • #2 21212778
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14393
    Help: 650
    Rate: 12314
    There is a fair chance that's a TuyaMCU device. If that's the case, the conversion should be relatively easy:
    https://www.elektroda.com/rtvforum/topic4038151.html
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #3 21218429
    io2345
    Level 9  
    Posts: 241
    Help: 1
    Rate: 6
    Board Language: german
    That's what I get, when I try to backup original FW. I selected BK7231M:

    Backup name is set to 8channel_relay.
    Starting read!
    Read parms: start 0x00 (sector 0), len 0x200000 (0 sectors)
    Now is: Samstag, 7. September 2024 16:50:38.
    Flasher mode: BK7231M
    Going to open port: COM3.
    Serial port open!
    Getting bus... (now, please do reboot by CEN or by power off/on)
    Getting bus failed, will try again - 0/100!
    Getting bus failed, will try again - 1/100!
    Getting bus success!
    Going to set baud rate setting (921600)!
    Will try to read device flash MID (for unprotect N):
    Flash MID loaded: 1540C8
    Will now search for Flash def in out database...
    Flash def found! For: 1540C8
    Flash information: mid: 1540C8, icName: GD25Q16B, manufacturer: GD, szMem: 1000000, szSR: 2, cwUnp: 0, cwEnp: 7, cwMsk: 407C, sb: 2, lb: 5, cwdRd: 05-35-FF-FF, cwdWr: 01-FF-FF-FF
    Entering SetProtectState(True)...
    sr: 7c
    sr: 7c
    final sr: 7c
    msk: 407c
    cw: 0, sb: 2, lb: 5
    bfd: 0
    sr: 0
    sr: 0
    final sr: 0
    msk: 407c
    cw: 0, sb: 2, lb: 5
    bfd: 0
    SetProtectState(True) success!
    Going to read encryption key...
    Encryption key read done!
    Encryption key: 510fb093 a3cbeadc 5993a17e c7adeb03
    ^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^
    WARNING! Non-standard encryption key!
    Please report to forum https://www.elektroda.com/rtvforum/forum51.html 
    ^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^
    There was no result to save.
    [/code]
  • #4 21218438
    divadiow
    Level 38  
    Posts: 4835
    Help: 420
    Rate: 852
    Choose BK7231N mode.
  • ADVERTISEMENT
  • #5 21218472
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14393
    Help: 650
    Rate: 12314
    It seems we need to adjust the "WARNING! Non-standard encryption key!" warning to check for BK7231N key
    Helpful post? Buy me a coffee.
  • #6 21218531
    divadiow
    Level 38  
    Posts: 4835
    Help: 420
    Rate: 852
    >>21218472

    yes, I think this is maybe at least 3rd time M mode has been tried on N module leading to a forum post.

    or N/M be combined and user is directed to skip key check if it's not standard Tuya.
  • #7 21218581
    io2345
    Level 9  
    Posts: 241
    Help: 1
    Rate: 6
    Board Language: german
    >>21218438
    That's with N;

    Backup name is set to 8-channel_relay.
    Starting read!
    Read parms: start 0x00 (sector 0), len 0x200000 (0 sectors)
    Now is: Samstag, 7. September 2024 19:29:17.
    Flasher mode: BK7231N
    Going to open port: COM3.
    Serial port open!
    Getting bus... (now, please do reboot by CEN or by power off/on)
    Getting bus failed, will try again - 0/100!
    Getting bus failed, will try again - 1/100!
    Getting bus success!
    Going to set baud rate setting (921600)!
    Will try to read device flash MID (for unprotect N):
    Flash MID loaded: 1540C8
    Will now search for Flash def in out database...
    Flash def found! For: 1540C8
    Flash information: mid: 1540C8, icName: GD25Q16B, manufacturer: GD, szMem: 1000000, szSR: 2, cwUnp: 0, cwEnp: 7, cwMsk: 407C, sb: 2, lb: 5, cwdRd: 05-35-FF-FF, cwdWr: 01-FF-FF-FF
    Entering SetProtectState(True)...
    sr: 7c
    sr: 7c
    final sr: 7c
    msk: 407c
    cw: 0, sb: 2, lb: 5
    bfd: 0
    sr: 0
    sr: 0
    final sr: 0
    msk: 407c
    cw: 0, sb: 2, lb: 5
    bfd: 0
    SetProtectState(True) success!
    Going to read encryption key...
    Encryption key read done!
    Encryption key: 510fb093 a3cbeadc 5993a17e c7adeb03
    Going to start reading at offset 0x00...
    Reading 0x00... failed with serial.BytesToRead 1504 (expected 4111)
    The beginning of buffer in UART contains 040EFF01E0FCF4061009000000200069 data.
    Failed! There was no result to save.
  • #8 21218587
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14393
    Help: 650
    Rate: 12314
    Are you on Windows?

    Probably too long wires, too high baud, too weak power supply , etc etc
    Helpful post? Buy me a coffee.
  • #9 21218602
    io2345
    Level 9  
    Posts: 241
    Help: 1
    Rate: 6
    Board Language: german
    >>21218587
    Neither, nor. Lesson learned: You must not connect the 3,3V line. This will power up the rest of the electronic circuits as well - and very probable it is TuyaMCU. So, just connect Ground, TX and RX with the serial adapter and the firmware will back up. The necessary power is on the RX line.

    After that it says :
    Sorry, no meaningful pins data found. This device may be TuyaMCU or a custom one with no Tuya config data.
    Baud keyword found, this device may be TuyaMCU or BL0942. Baud value is 9600
    No module information found.
    And the Tuya section starts, as usual, at 2023424

    The Readback is succesful with:
    
    Backup name is set to 8channelR.
    Starting read!
    Read parms: start 0x00 (sector 0), len 0x200000 (0 sectors)
    Now is: Samstag, 7. September 2024 19:38:20.
    Flasher mode: BK7231N
    Going to open port: COM3.
    Serial port open!
    Getting bus... (now, please do reboot by CEN or by power off/on)
    Getting bus success!
    Going to set baud rate setting (921600)!
    Will try to read device flash MID (for unprotect N):
    Flash MID loaded: 1540C8
    Will now search for Flash def in out database...
    Flash def found! For: 1540C8
    Flash information: mid: 1540C8, icName: GD25Q16B, manufacturer: GD, szMem: 1000000, szSR: 2, cwUnp: 0, cwEnp: 7, cwMsk: 407C, sb: 2, lb: 5, cwdRd: 05-35-FF-FF, cwdWr: 01-FF-FF-FF
    Entering SetProtectState(True)...
    sr: 0
    sr: 0
    final sr: 0
    msk: 407c
    cw: 0, sb: 2, lb: 5
    bfd: 0
    SetProtectState(True) success!
    Going to read encryption key...
    Encryption key read done!
    Encryption key: 510fb093 a3cbeadc 5993a17e c7adeb03
    Going to start reading at offset 0x00...
    Reading 0x00... Ok! Reading 0x1000... Ok! Reading 0x2000... Ok! Reading 0x3000... Ok! Reading 0x4000... Ok! Reading 0x5000... Ok! Reading 0x6000... Ok! Reading 0x7000... Ok! Reading 0x8000... Ok! Reading 0x9000... Ok! Reading 0xA000... Ok! Reading 0xB000... Ok! Reading 0xC000... Ok! Reading 0xD000... Ok! Reading 0xE000... Ok! Reading 0xF000... Ok! Reading 0x10000... Ok! Reading 0x11000... Ok! Reading 0x12000... Ok! Reading 0x13000... Ok! Reading 0x14000... Ok! Reading 0x15000... Ok! Reading 0x16000... Ok! Reading 0x17000... Ok! Reading 0x18000... Ok! Reading 0x19000... Ok! Reading 0x1A000... Ok! Reading 0x1B000... Ok! Reading 0x1C000... Ok! Reading 0x1D000... Ok! Reading 0x1E000... Ok! Reading 0x1F000... Ok! Reading 0x20000... Ok! Reading 0x21000... Ok! Reading 0x22000... Ok! Reading 0x23000... Ok! Reading 0x24000... Ok! Reading 0x25000... Ok! Reading 0x26000... Ok! Reading 0x27000... Ok! Reading 0x28000... Ok! Reading 0x29000... Ok! Reading 0x2A000... Ok! Reading 0x2B000... Ok! Reading 0x2C000... Ok! Reading 0x2D000... Ok! Reading 0x2E000... Ok! Reading 0x2F000... Ok! Reading 0x30000... Ok! Reading 0x31000... Ok! Reading 0x32000... Ok! Reading 0x33000... Ok! Reading 0x34000... Ok! Reading 0x35000... Ok! Reading 0x36000... Ok! Reading 0x37000... Ok! Reading 0x38000... Ok! Reading 0x39000... Ok! Reading 0x3A000... Ok! Reading 0x3B000... Ok! Reading 0x3C000... Ok! Reading 0x3D000... Ok! Reading 0x3E000... Ok! Reading 0x3F000... Ok! Reading 0x40000... Ok! Reading 0x41000... Ok! Reading 0x42000... Ok! Reading 0x43000... Ok! Reading 0x44000... Ok! Reading 0x45000... Ok! Reading 0x46000... Ok! Reading 0x47000... Ok! Reading 0x48000... Ok! Reading 0x49000... Ok! Reading 0x4A000... Ok! Reading 0x4B000... Ok! Reading 0x4C000... Ok! Reading 0x4D000... Ok! Reading 0x4E000... Ok! Reading 0x4F000... Ok! Reading 0x50000... Ok! Reading 0x51000... Ok! Reading 0x52000... Ok! Reading 0x53000... Ok! Reading 0x54000... Ok! Reading 0x55000... Ok! Reading 0x56000... Ok! Reading 0x57000... Ok! Reading 0x58000... Ok! Reading 0x59000... Ok! Reading 0x5A000... Ok! Reading 0x5B000... Ok! Reading 0x5C000... Ok! Reading 0x5D000... Ok! Reading 0x5E000... Ok! Reading 0x5F000... Ok! Reading 0x60000... Ok! Reading 0x61000... Ok! Reading 0x62000... Ok! Reading 0x63000... Ok! Reading 0x64000... Ok! Reading 0x65000... Ok! Reading 0x66000... Ok! Reading 0x67000... Ok! Reading 0x68000... Ok! Reading 0x69000... Ok! Reading 0x6A000... Ok! Reading 0x6B000... Ok! Reading 0x6C000... Ok! Reading 0x6D000... Ok! Reading 0x6E000... Ok! Reading 0x6F000... Ok! Reading 0x70000... Ok! Reading 0x71000... Ok! Reading 0x72000... Ok! Reading 0x73000... Ok! Reading 0x74000... Ok! Reading 0x75000... Ok! Reading 0x76000... Ok! Reading 0x77000... Ok! Reading 0x78000... Ok! Reading 0x79000... Ok! Reading 0x7A000... Ok! Reading 0x7B000... Ok! Reading 0x7C000... Ok! Reading 0x7D000... Ok! Reading 0x7E000... Ok! Reading 0x7F000... Ok! Reading 0x80000... Ok! Reading 0x81000... Ok! Reading 0x82000... Ok! Reading 0x83000... Ok! Reading 0x84000... Ok! Reading 0x85000... Ok! Reading 0x86000... Ok! Reading 0x87000... Ok! Reading 0x88000... Ok! Reading 0x89000... Ok! Reading 0x8A000... Ok! Reading 0x8B000... Ok! Reading 0x8C000... Ok! Reading 0x8D000... Ok! Reading 0x8E000... Ok! Reading 0x8F000... Ok! Reading 0x90000... Ok! Reading 0x91000... Ok! Reading 0x92000... Ok! Reading 0x93000... Ok! Reading 0x94000... Ok! Reading 0x95000... Ok! Reading 0x96000... Ok! Reading 0x97000... Ok! Reading 0x98000... Ok! Reading 0x99000... Ok! Reading 0x9A000... Ok! Reading 0x9B000... Ok! Reading 0x9C000... Ok! Reading 0x9D000... Ok! Reading 0x9E000... Ok! Reading 0x9F000... Ok! Reading 0xA0000... Ok! Reading 0xA1000... Ok! Reading 0xA2000... Ok! Reading 0xA3000... Ok! Reading 0xA4000... Ok! Reading 0xA5000... Ok! Reading 0xA6000... Ok! Reading 0xA7000... Ok! Reading 0xA8000... Ok! Reading 0xA9000... Ok! Reading 0xAA000... Ok! Reading 0xAB000... Ok! Reading 0xAC000... Ok! Reading 0xAD000... Ok! Reading 0xAE000... Ok! Reading 0xAF000... Ok! Reading 0xB0000... Ok! Reading 0xB1000... Ok! Reading 0xB2000... Ok! Reading 0xB3000... Ok! Reading 0xB4000... Ok! Reading 0xB5000... Ok! Reading 0xB6000... Ok! Reading 0xB7000... Ok! Reading 0xB8000... Ok! Reading 0xB9000... Ok! Reading 0xBA000... Ok! Reading 0xBB000... Ok! Reading 0xBC000... Ok! Reading 0xBD000... Ok! Reading 0xBE000... Ok! Reading 0xBF000... Ok! Reading 0xC0000... Ok! Reading 0xC1000... Ok! Reading 0xC2000... Ok! Reading 0xC3000... Ok! Reading 0xC4000... Ok! Reading 0xC5000... Ok! Reading 0xC6000... Ok! Reading 0xC7000... Ok! Reading 0xC8000... Ok! Reading 0xC9000... Ok! Reading 0xCA000... Ok! Reading 0xCB000... Ok! Reading 0xCC000... Ok! Reading 0xCD000... Ok! Reading 0xCE000... Ok! Reading 0xCF000... Ok! Reading 0xD0000... Ok! Reading 0xD1000... Ok! Reading 0xD2000... Ok! Reading 0xD3000... Ok! Reading 0xD4000... Ok! Reading 0xD5000... Ok! Reading 0xD6000... Ok! Reading 0xD7000... Ok! Reading 0xD8000... Ok! Reading 0xD9000... Ok! Reading 0xDA000... Ok! Reading 0xDB000... Ok! Reading 0xDC000... Ok! Reading 0xDD000... Ok! Reading 0xDE000... Ok! Reading 0xDF000... Ok! Reading 0xE0000... Ok! Reading 0xE1000... Ok! Reading 0xE2000... Ok! Reading 0xE3000... Ok! Reading 0xE4000... Ok! Reading 0xE5000... Ok! Reading 0xE6000... Ok! Reading 0xE7000... Ok! Reading 0xE8000... Ok! Reading 0xE9000... Ok! Reading 0xEA000... Ok! Reading 0xEB000... Ok! Reading 0xEC000... Ok! Reading 0xED000... Ok! Reading 0xEE000... Ok! Reading 0xEF000... Ok! Reading 0xF0000... Ok! Reading 0xF1000... Ok! Reading 0xF2000... Ok! Reading 0xF3000... Ok! Reading 0xF4000... Ok! Reading 0xF5000... Ok! Reading 0xF6000... Ok! Reading 0xF7000... Ok! Reading 0xF8000... Ok! Reading 0xF9000... Ok! Reading 0xFA000... Ok! Reading 0xFB000... Ok! Reading 0xFC000... Ok! Reading 0xFD000... Ok! Reading 0xFE000... Ok! Reading 0xFF000... Ok! Reading 0x100000... Ok! Reading 0x101000... Ok! Reading 0x102000... Ok! Reading 0x103000... Ok! Reading 0x104000... Ok! Reading 0x105000... Ok! Reading 0x106000... Ok! Reading 0x107000... Ok! Reading 0x108000... Ok! Reading 0x109000... Ok! Reading 0x10A000... Ok! Reading 0x10B000... Ok! Reading 0x10C000... Ok! Reading 0x10D000... Ok! Reading 0x10E000... Ok! Reading 0x10F000... Ok! Reading 0x110000... Ok! Reading 0x111000... Ok! Reading 0x112000... Ok! Reading 0x113000... Ok! Reading 0x114000... Ok! Reading 0x115000... Ok! Reading 0x116000... Ok! Reading 0x117000... Ok! Reading 0x118000... Ok! Reading 0x119000... Ok! Reading 0x11A000... Ok! Reading 0x11B000... Ok! Reading 0x11C000... Ok! Reading 0x11D000... Ok! Reading 0x11E000... Ok! Reading 0x11F000... Ok! Reading 0x120000... Ok! Reading 0x121000... Ok! Reading 0x122000... Ok! Reading 0x123000... Ok! Reading 0x124000... Ok! Reading 0x125000... Ok! Reading 0x126000... Ok! Reading 0x127000... Ok! Reading 0x128000... Ok! Reading 0x129000... Ok! Reading 0x12A000... Ok! Reading 0x12B000... Ok! Reading 0x12C000... Ok! Reading 0x12D000... Ok! Reading 0x12E000... Ok! Reading 0x12F000... Ok! Reading 0x130000... Ok! Reading 0x131000... Ok! Reading 0x132000... Ok! Reading 0x133000... Ok! Reading 0x134000... Ok! Reading 0x135000... Ok! Reading 0x136000... Ok! Reading 0x137000... Ok! Reading 0x138000... Ok! Reading 0x139000... Ok! Reading 0x13A000... Ok! Reading 0x13B000... Ok! Reading 0x13C000... Ok! Reading 0x13D000... Ok! Reading 0x13E000... Ok! Reading 0x13F000... Ok! Reading 0x140000... Ok! Reading 0x141000... Ok! Reading 0x142000... Ok! Reading 0x143000... Ok! Reading 0x144000... Ok! Reading 0x145000... Ok! Reading 0x146000... Ok! Reading 0x147000... Ok! Reading 0x148000... Ok! Reading 0x149000... Ok! Reading 0x14A000... Ok! Reading 0x14B000... Ok! Reading 0x14C000... Ok! Reading 0x14D000... Ok! Reading 0x14E000... Ok! Reading 0x14F000... Ok! Reading 0x150000... Ok! Reading 0x151000... Ok! Reading 0x152000... Ok! Reading 0x153000... Ok! Reading 0x154000... Ok! Reading 0x155000... Ok! Reading 0x156000... Ok! Reading 0x157000... Ok! Reading 0x158000... Ok! Reading 0x159000... Ok! Reading 0x15A000... Ok! Reading 0x15B000... Ok! Reading 0x15C000... Ok! Reading 0x15D000... Ok! Reading 0x15E000... Ok! Reading 0x15F000... Ok! Reading 0x160000... Ok! Reading 0x161000... Ok! Reading 0x162000... Ok! Reading 0x163000... Ok! Reading 0x164000... Ok! Reading 0x165000... Ok! Reading 0x166000... Ok! Reading 0x167000... Ok! Reading 0x168000... Ok! Reading 0x169000... Ok! Reading 0x16A000... Ok! Reading 0x16B000... Ok! Reading 0x16C000... Ok! Reading 0x16D000... Ok! Reading 0x16E000... Ok! Reading 0x16F000... Ok! Reading 0x170000... Ok! Reading 0x171000... Ok! Reading 0x172000... Ok! Reading 0x173000... Ok! Reading 0x174000... Ok! Reading 0x175000... Ok! Reading 0x176000... Ok! Reading 0x177000... Ok! Reading 0x178000... Ok! Reading 0x179000... Ok! Reading 0x17A000... Ok! Reading 0x17B000... Ok! Reading 0x17C000... Ok! Reading 0x17D000... Ok! Reading 0x17E000... Ok! Reading 0x17F000... Ok! Reading 0x180000... Ok! Reading 0x181000... Ok! Reading 0x182000... Ok! Reading 0x183000... Ok! Reading 0x184000... Ok! Reading 0x185000... Ok! Reading 0x186000... Ok! Reading 0x187000... Ok! Reading 0x188000... Ok! Reading 0x189000... Ok! Reading 0x18A000... Ok! Reading 0x18B000... Ok! Reading 0x18C000... Ok! Reading 0x18D000... Ok! Reading 0x18E000... Ok! Reading 0x18F000... Ok! Reading 0x190000... Ok! Reading 0x191000... Ok! Reading 0x192000... Ok! Reading 0x193000... Ok! Reading 0x194000... Ok! Reading 0x195000... Ok! Reading 0x196000... Ok! Reading 0x197000... Ok! Reading 0x198000... Ok! Reading 0x199000... Ok! Reading 0x19A000... Ok! Reading 0x19B000... Ok! Reading 0x19C000... Ok! Reading 0x19D000... Ok! Reading 0x19E000... Ok! Reading 0x19F000... Ok! Reading 0x1A0000... Ok! Reading 0x1A1000... Ok! Reading 0x1A2000... Ok! Reading 0x1A3000... Ok! Reading 0x1A4000... Ok! Reading 0x1A5000... Ok! Reading 0x1A6000... Ok! Reading 0x1A7000... Ok! Reading 0x1A8000... Ok! Reading 0x1A9000... Ok! Reading 0x1AA000... Ok! Reading 0x1AB000... Ok! Reading 0x1AC000... Ok! Reading 0x1AD000... Ok! Reading 0x1AE000... Ok! Reading 0x1AF000... Ok! Reading 0x1B0000... Ok! Reading 0x1B1000... Ok! Reading 0x1B2000... Ok! Reading 0x1B3000... Ok! Reading 0x1B4000... Ok! Reading 0x1B5000... Ok! Reading 0x1B6000... Ok! Reading 0x1B7000... Ok! Reading 0x1B8000... Ok! Reading 0x1B9000... Ok! Reading 0x1BA000... Ok! Reading 0x1BB000... Ok! Reading 0x1BC000... Ok! Reading 0x1BD000... Ok! Reading 0x1BE000... Ok! Reading 0x1BF000... Ok! Reading 0x1C0000... Ok! Reading 0x1C1000... Ok! Reading 0x1C2000... Ok! Reading 0x1C3000... Ok! Reading 0x1C4000... Ok! Reading 0x1C5000... Ok! Reading 0x1C6000... Ok! Reading 0x1C7000... Ok! Reading 0x1C8000... Ok! Reading 0x1C9000... Ok! Reading 0x1CA000... Ok! Reading 0x1CB000... Ok! Reading 0x1CC000... Ok! Reading 0x1CD000... Ok! Reading 0x1CE000... Ok! Reading 0x1CF000... Ok! Reading 0x1D0000... Ok! Reading 0x1D1000... Ok! Reading 0x1D2000... Ok! Reading 0x1D3000... Ok! Reading 0x1D4000... Ok! Reading 0x1D5000... Ok! Reading 0x1D6000... Ok! Reading 0x1D7000... Ok! Reading 0x1D8000... Ok! Reading 0x1D9000... Ok! Reading 0x1DA000... Ok! Reading 0x1DB000... Ok! Reading 0x1DC000... Ok! Reading 0x1DD000... Ok! Reading 0x1DE000... Ok! Reading 0x1DF000... Ok! Reading 0x1E0000... Ok! Reading 0x1E1000... Ok! Reading 0x1E2000... Ok! Reading 0x1E3000... Ok! Reading 0x1E4000... Ok! Reading 0x1E5000... Ok! Reading 0x1E6000... Ok! Reading 0x1E7000... Ok! Reading 0x1E8000... Ok! Reading 0x1E9000... Ok! Reading 0x1EA000... Ok! Reading 0x1EB000... Ok! Reading 0x1EC000... Ok! Reading 0x1ED000... Ok! Reading 0x1EE000... Ok! Reading 0x1EF000... Ok! Reading 0x1F0000... Ok! Reading 0x1F1000... Ok! Reading 0x1F2000... Ok! Reading 0x1F3000... Ok! Reading 0x1F4000... Ok! Reading 0x1F5000... Ok! Reading 0x1F6000... Ok! Reading 0x1F7000... Ok! Reading 0x1F8000... Ok! Reading 0x1F9000... Ok! Reading 0x1FA000... Ok! Reading 0x1FB000... Ok! Reading 0x1FC000... Ok! Reading 0x1FD000... Ok! Reading 0x1FE000... Ok! Reading 0x1FF000... Ok! 
    Basic read operation finished, but now it's time to verify...
    Starting CRC check for 512 sectors, starting at offset 0x00
    CRC matches 0x437A0B31!
    All read!
    Loaded total 0x200000 bytes 
    Wrote 2097152 to readResult_BK7231N_QIO_8channelR_2024-07-9-19-38-52.bin
    Backup 2MB created, now will attempt to extract OBK config.
    It's not an OBK config, header is bad
    OBK config not found.
    Backup 2MB created, now will attempt to extract Tuya config.
    Tuya config extractor - magic is at 2023424 
    Saving debug Tuya decryption data to lastRawDecryptedStrings.bin
    Tuya keys extraction has found 1 keys
    Tuya config extracted and shown.
    MAC seems to be FC:3C:D7:F0:02:E1


    Find the dump attached
    Attachments:
    • readResult_BK7231N_QIO_8channelR_2024-07-9-19-38-52.bin (2 MB) You must be logged in to download this attachment.
  • #10 21218617
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14393
    Help: 650
    Rate: 12314
    So how do we approach it, maybe first TuyaMCU packets capture with original App?

    Related guides:
    https://www.elektroda.com/rtvforum/topic4038151.html
    TuyaMCU analyzer:
    https://www.elektroda.com/rtvforum/topic3970199.html
    Helpful post? Buy me a coffee.
  • #11 21218700
    io2345
    Level 9  
    Posts: 241
    Help: 1
    Rate: 6
    Board Language: german
    First some pictures of the functions available in SmartLife-App:

    App screen showing the addition of the device TY-08W(B). Screenshot from the SmartLife-App displaying various functions for the TY-08W(B) device. Screenshot from an app showing a device update with a message indicating the latest version.
    SmartLife app screen with eight switch buttons. SmartLife app screen with eight switches and numerical values.

    To tell from the last picture it's definitly MCU

    To be honest I'm not too sure, if the board does these functions like Jog setting, Interlocking or delayed open/close, or if this is rather controlled via the App. Maybe the board in fact only has relay switching function by WiFi or RF. Would be enough for me, I only want to switch my floor heating valves open or closed.
  • #12 21218729
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14393
    Help: 650
    Rate: 12314
    This is very interesting device. I'd strongly suggest hooking up TuyaMCU analyzer and checking each button one by one to see how it's send - which dpID, type, etc.
    Helpful post? Buy me a coffee.
  • #13 21218755
    io2345
    Level 9  
    Posts: 241
    Help: 1
    Rate: 6
    Board Language: german
    >>21218729
    About TuyaMCU packet capture: I didn't fully understand, where to connect CBU's TX and RX lines to the UART adapter. Aren't both connected while capturing? If I understand the "TuyaMCU analyzer" article correct, for the first capture I only connect CBU's RX line to UART RX and for the second capture only CBU's TX line to UART RX as well. Is that correct?
  • #14 21218773
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14393
    Help: 650
    Rate: 12314
    You can use two USB to UART converters to capture both lines.
    Alternatively, if you have single one, you can first capture RX(mcu)<-TX(wifi) and then TX(mcu)->RX(wifi).
    It depends on what are you capturing.
    If you want to check what happens on button press in Tuya mobile APP, you are then interested in TX(wifi)->RX(mcu) traffic.
    On the other hand, if you want to check what happens when, idk, you press a physical button on the switch, then you most likely want to capture the TX(mcu)->RX(wifi) traffc.
    Or just do two captures, first one then second.

    Added after 1 [minutes]:

    Btw you're from germany? Check this out, we've made a translation for you:
    https://www.elektroda.de/rtvforum/topic4014922.html
    Here is our DE page: https://www.elektroda.de/
    Helpful post? Buy me a coffee.
  • #15 21219611
    io2345
    Level 9  
    Posts: 241
    Help: 1
    Rate: 6
    Board Language: german
    Can't do the TuyaMCU packets capture. As I wrote in #9 there is power on the RX line of the UART adapter. If I connect it to either CBU's RX or TX, it stops responding to the the App.
    Don't know how to solve that problem.

    EDIT: Solved it (or to be more precise: It wasn't a problem. I only mixed up RX and TX line).

    Now I have two capture files - but not really an idea, what they are going to tell us.

    I did: switch on and off every single relay, did open the settings menu and open there every single entry (without changing values) They are named:
    - jog setting
    - power on settings
    - interlocking
    - signal input
    - analog quantity
    - delayed open
    - delayed close
    - timing settings
    - learn the remote control
    - modify 485 address
    - historical curve

    I think in capture_tx-file one can see the relays being switched on and off in the beginning, right?
    Attachments:
    • capture RX.txt (1.4 KB) You must be logged in to download this attachment.
    • capture TX.txt (720 Bytes) You must be logged in to download this attachment.
  • #16 21219836
    io2345
    Level 9  
    Posts: 241
    Help: 1
    Rate: 6
    Board Language: german
    In fact the only settings that I would consider to be of use are:

    Jog setting: You can set a time in milliseconds after which a switched on relay falls back to off
    Power on setting: Set relay to "0" or "1", if you want the relay to be active or not after a power-cycle
    Delayed open/close: Time in milliseconds to delay relay action when switching relay off/on
    Interlocking: Switch more relays on/off with a single button action

    But actually you can program all these functions in your home automation software as well. For example I would have use for a logic inverter (for floor cooling in summer: valves have to open when it gets warmer inside. In opposite to winter action: valves have to close when it gets warmer).
  • Helpful post
    #17 21220533
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14393
    Help: 650
    Rate: 12314
    Wait a moment... but those files are a single binary blob, so... do you know which dpID corresponds to which Tuya option now?

    We can try to use that and in worst case we will do some guessing, but I usually do separate capture for each function.
    I do this that way:
    1. enable capture
    2. change single relay in tuya
    3. save capture as hex called "toggle_relay1.txt"
    4. repeat points 1, 2, and 3 for each function like relay2, temperature, etc etc
    Helpful post? Buy me a coffee.
  • #18 21220570
    io2345
    Level 9  
    Posts: 241
    Help: 1
    Rate: 6
    Board Language: german
    >>21220533 Alright, I'll do that for every single relay.
    Is there any sense in opening menues, clicking some fields and changing values in the app?
  • ADVERTISEMENT
  • #19 21220581
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14393
    Help: 650
    Rate: 12314
    Usually it makes sense, because, for example, when you investigate a "delay time setting", you need to know that when you send a value like 10 minutes, then the TuyaMCU sends indeed 10*60 (value in seconds), or something else, etc. That's why I make separate capture for each data point.


    Still, if you really want, we could try to configure device more blindly, without capture
    Helpful post? Buy me a coffee.
  • #20 21220683
    io2345
    Level 9  
    Posts: 241
    Help: 1
    Rate: 6
    Board Language: german
    >>21220581 No, we have plenty of time for investigation.
    So, here are a lot of single actions in one zip-file:
    Each carried out separately on RX and TX line.
    Attachments:
    • settings_and_actions_8channel_relay.zip (9.4 KB) You must be logged in to download this attachment.
  • #21 21220873
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14393
    Help: 650
    Rate: 12314
    Some of functionalities like interlock group looks very advanced:
    Screenshot of TuyaMCU Explorer/Analyzer for OpenBeken.
    But toggling relay is very simple:
    
    55 AA	00	06		00 05	0101000101	0E	
    HEADER	VER=00	SetDP		LEN	dpId=1 Bool V=1		CHK	
    
    55 AA	00	23		00 01	01	24	
    HEADER	VER=00	Unk		LEN	01	CHK	
    
    55 AA	00	23		00 01	01	24	
    HEADER	VER=00	Unk		LEN	01	CHK	
    
    55 AA	00	06		00 05	0101000100	0D	
    HEADER	VER=00	SetDP		LEN	dpId=1 Bool V=0		CHK	
    
    55 AA	00	23		00 01	01	24	
    HEADER	VER=00	Unk		LEN	01	CHK	
    
    55 AA	00	23		00 01	01	24	
    HEADER	VER=00	Unk		LEN	01	CHK	
    

    We could get relays working very fast.

    Not all things are super clear, for example power on setting has multiple dpIDs:
    Screenshot of a Tuya packet decoding tool with data in hexadecimal format.

    Maybe it would be easier to use Tuya API to get dpID meanings:
    https://www.elektroda.com/rtvforum/topic4021129.html

    Your device is much more advanced that any others I have seen. I remember 4-relay switches that only had 4 dpIDs for relays, 4 dpIDs for countdown timers and maybe 4 dpIDs for memory.
    Helpful post? Buy me a coffee.
  • #22 21221898
    io2345
    Level 9  
    Posts: 241
    Help: 1
    Rate: 6
    Board Language: german
    This is, what "export_code" on the Tuya Dev page delivers us:

    VM144:40 {"1":"Switch 1","2":"Switch 2","3":"Switch 3","4":"Switch 4","5":"Switch 5","6":"Switch 6","26":"Fault","101":"Switch 7","102":"Switch 8","170":"page","171":"Ctrl 1","172":"Ctrl 2","173":"Ctrl 3","174":"Ctrl 4","175":"Ctrl 5","181":"value","182":"num8","183":"num7","184":"num6","185":"num5","186":"num4","187":"num3","188":"num2","189":"num1","190":"mode","191":"operate","192":"val1","193":"val2","194":"val3","195":"val4","197":"Alarm","198":"state","199":"."}
    undefined
  • #23 21221908
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14393
    Help: 650
    Rate: 12314
    Formatted for readability:
    Code: JSON
    Log in, to see the code

    Well.... this still doesn't tell us what "val" are, what "ctrl" and "num" are, but can we guess it from your captures?
    Helpful post? Buy me a coffee.
  • #24 21223289
    io2345
    Level 9  
    Posts: 241
    Help: 1
    Rate: 6
    Board Language: german
    >>21221908
    After checking all of the captures that I did (maybe half of all options) it might be like this:

    "VM144":40{
       "1":"Switch 1",   Relay 1 (boolean, V=1 or 0)
       "2":"Switch 2",   Relay 2 (boolean, V=1 or 0)
       "3":"Switch 3",   Relay 3 (boolean, V=1 or 0)
       "4":"Switch 4",   Relay 4 (boolean, V=1 or 0)
       "5":"Switch 5",   Relay 5 (boolean, V=1 or 0)
       "6":"Switch 6",   Relay 6 (boolean, V=1 or 0)
       "26":"Fault",
       "101":"Switch 7",   Relay 7 (boolean, V=1 or 0)
       "102":"Switch 8",   Relay 8 (boolean, V=1 or 0)
       "170":"page",
       "171":"Ctrl 1",   set timer (example: V=09-09-24 18:10:33 ON7)
       "172":"Ctrl 2",
       "173":"Ctrl 3",
       "174":"Ctrl 4",
       "175":"Ctrl 5",
       "181":"value",
       "182":"num8",|
       "183":"num7",|      
       "184":"num6",|
       "185":"num5",|---> Numerical values under relay buttons (num1 ... num8). value 1 equals 0,1
       "186":"num4",|
       "187":"num3",|
       "188":"num2",|
       "189":"num1",| 
       "190":"mode",
       "191":"operate", ->  selecting options:
             Menu2 (Val V=10)
             Interlock, Group on (V=11)
             Interlock, Group off (V=12) 
             Refr (V=16)
             Learn the remote control (V=20)  
             Jog setting (V=101)
             Power on setting (V=103)
             Historical curve (V=104)
             Signal Input (V=105)
             Interlocking setting (V=108)
             Analog quantity (V=110)
             Delayed open (V=112)
             Delayed close (V=115)
             Timing setting (V=135)
             Modify 485 address (V=137)
       "192":"val1",   -> value(s) on page following selecting item in dpID 191 e.g for "set Interlock" (Val V = number "of channels")
       "193":"val2",   -> value(s) on page following selecting item in dpID 191 e.g. for "set delay open/close" (Val V = time in ms)
       "194":"val3",   -> value(s) on page following selecting item in dpID 191 
       "195":"val4",   -> value(s) on page following selecting item in dpID 191 
       "197":"Alarm",
       "198":"state",
       "199":"."
    }"undefined"


    I also added two photos in thread #11 to clear up a bit. The last photo shows "menu1", pressing "==" there opens "menu2" (that's photo 2)
    No idea, what the values "num1...8" under the relay buttons mean.

    Now, here is what I got from "Query Things Data Model" method on Tuya's IoT's dev page:

    {
      "result": {
        "properties": [
          {
            "code": "switch_1",
            "custom_name": "",
            "dp_id": 1,
            "name": "Switch 1",
            "time": 1726077377847,
            "type": "bool",
            "value": false
          },
          {
            "code": "switch_2",
            "custom_name": "",
            "dp_id": 2,
            "name": "Switch 2",
            "time": 1726077377847,
            "type": "bool",
            "value": false
          },
          {
            "code": "switch_3",
            "custom_name": "",
            "dp_id": 3,
            "name": "Switch 3",
            "time": 1726077377847,
            "type": "bool",
            "value": false
          },
          {
            "code": "switch_4",
            "custom_name": "",
            "dp_id": 4,
            "name": "Switch 4",
            "time": 1726077377847,
            "type": "bool",
            "value": false
          },
          {
            "code": "switch_5",
            "custom_name": "",
            "dp_id": 5,
            "name": "Switch 5",
            "time": 1726077377847,
            "type": "bool",
            "value": false
          },
          {
            "code": "switch_6",
            "custom_name": "",
            "dp_id": 6,
            "name": "Switch 6",
            "time": 1726077377847,
            "type": "bool",
            "value": false
          },
          {
            "code": "fault",
            "custom_name": "",
            "dp_id": 26,
            "time": 1725737053897,
            "type": "bitmap",
            "value": 0
          },
          {
            "code": "switch_7",
            "custom_name": "",
            "dp_id": 101,
            "time": 1726077377847,
            "type": "bool",
            "value": true
          },
          {
            "code": "switch_8",
            "custom_name": "",
            "dp_id": 102,
            "time": 1726077377847,
            "type": "bool",
            "value": false
          },
          {
            "code": "value170",
            "custom_name": "",
            "dp_id": 170,
            "time": 1725737053897,
            "type": "value",
            "value": 0
          },
          {
            "code": "value171",
            "custom_name": "",
            "dp_id": 171,
            "time": 1725901387929,
            "type": "string",
            "value": "09-09-24 18:10:33 ON7"
          },
          {
            "code": "value172",
            "custom_name": "",
            "dp_id": 172,
            "time": 1725737053897,
            "type": "string",
            "value": ""
          },
          {
            "code": "value173",
            "custom_name": "",
            "dp_id": 173,
            "time": 1725737053897,
            "type": "string",
            "value": ""
          },
          {
            "code": "value174",
            "custom_name": "",
            "dp_id": 174,
            "time": 1725737053897,
            "type": "string",
            "value": ""
          },
          {
            "code": "value175",
            "custom_name": "",
            "dp_id": 175,
            "time": 1725737053897,
            "type": "string",
            "value": ""
          },
          {
            "code": "value_9",
            "custom_name": "",
            "dp_id": 181,
            "time": 1725737053897,
            "type": "value",
            "value": 0
          },
          {
            "code": "value_8",
            "custom_name": "",
            "dp_id": 182,
            "time": 1726076960044,
            "type": "value",
            "value": 5
          },
          {
            "code": "value_7",
            "custom_name": "",
            "dp_id": 183,
            "time": 1726076960044,
            "type": "value",
            "value": 0
          },
          {
            "code": "value_6",
            "custom_name": "",
            "dp_id": 184,
            "time": 1726076960044,
            "type": "value",
            "value": 0
          },
          {
            "code": "value_5",
            "custom_name": "",
            "dp_id": 185,
            "time": 1726076960044,
            "type": "value",
            "value": 0
          },
          {
            "code": "value_4",
            "custom_name": "",
            "dp_id": 186,
            "time": 1726076960034,
            "type": "value",
            "value": 0
          },
          {
            "code": "value_3",
            "custom_name": "",
            "dp_id": 187,
            "time": 1726076960034,
            "type": "value",
            "value": 0
          },
          {
            "code": "value_2",
            "custom_name": "",
            "dp_id": 188,
            "time": 1726076960034,
            "type": "value",
            "value": 0
          },
          {
            "code": "value_1",
            "custom_name": "",
            "dp_id": 189,
            "time": 1726076960034,
            "type": "value",
            "value": 0
          },
          {
            "code": "data_1",
            "custom_name": "",
            "dp_id": 190,
            "time": 1726076961691,
            "type": "value",
            "value": 120
          },
          {
            "code": "data_2",
            "custom_name": "",
            "dp_id": 191,
            "time": 1725986510259,
            "type": "value",
            "value": 12
          },
          {
            "code": "data_3",
            "custom_name": "",
            "dp_id": 192,
            "time": 1725986486939,
            "type": "value",
            "value": 8
          },
          {
            "code": "data_4",
            "custom_name": "",
            "dp_id": 193,
            "time": 1725986482971,
            "type": "value",
            "value": 0
          },
          {
            "code": "data_5",
            "custom_name": "",
            "dp_id": 194,
            "time": 1725986282212,
            "type": "value",
            "value": 0
          },
          {
            "code": "value_55",
            "custom_name": "",
            "dp_id": 195,
            "time": 1725737053897,
            "type": "value",
            "value": -5000
          },
          {
            "code": "alarm",
            "custom_name": "",
            "dp_id": 197,
            "time": 1725737053897,
            "type": "bool",
            "value": false
          },
          {
            "code": "state_1",
            "custom_name": "",
            "dp_id": 198,
            "time": 1725737053897,
            "type": "value",
            "value": -500
          },
          {
            "code": "value_99",
            "custom_name": "",
            "dp_id": 199,
            "time": 1726076961691,
            "type": "value",
            "value": 700919
          }
        ]
      },
      "success": true,
      "t": 1726143241189,
      "tid": "7eb0b4a1710011ef88b02ac421ecbce6"
    }


    Is this information of more use than the previous?

    Hinzugefügt nach 11 [Stunden] 54 [Minuten]:

    Is there anything else we want to find out, using the original firmware? Or is it time to flash OBK to the device?
  • #25 21227769
    io2345
    Level 9  
    Posts: 241
    Help: 1
    Rate: 6
    Board Language: german
    Apparently no one has additional ideas. So I did flash the device now to OBK:

    Backup name is set to 8channelRelay_betriebsbereit.
    Starting read!
    Read parms: start 0x00 (sector 0), len 0x200000 (0 sectors)
    Now is: Sonntag, 15. September 2024 20:59:25.
    Flasher mode: BK7231N
    Going to open port: COM3.
    Serial port open!
    Getting bus... (now, please do reboot by CEN or by power off/on)
    Getting bus failed, will try again - 0/100!
    Getting bus failed, will try again - 1/100!
    Getting bus failed, will try again - 2/100!
    Getting bus success!
    Going to set baud rate setting (921600)!
    Will try to read device flash MID (for unprotect N):
    Flash MID loaded: 1540C8
    Will now search for Flash def in out database...
    Flash def found! For: 1540C8
    Flash information: mid: 1540C8, icName: GD25Q16B, manufacturer: GD, szMem: 1000000, szSR: 2, cwUnp: 0, cwEnp: 7, cwMsk: 407C, sb: 2, lb: 5, cwdRd: 05-35-FF-FF, cwdWr: 01-FF-FF-FF
    Entering SetProtectState(True)...
    sr: 7c
    sr: 7c
    final sr: 7c
    msk: 407c
    cw: 0, sb: 2, lb: 5
    bfd: 0
    sr: 0
    sr: 0
    final sr: 0
    msk: 407c
    cw: 0, sb: 2, lb: 5
    bfd: 0
    SetProtectState(True) success!
    Going to read encryption key...
    Encryption key read done!
    Encryption key: 510fb093 a3cbeadc 5993a17e c7adeb03
    Going to start reading at offset 0x00...
    Reading 0x00... Ok! Reading 0x1000... Ok! Reading 0x2000... Ok! Reading 0x3000... Ok! Reading 0x4000... Ok! Reading 0x5000... Ok! Reading 0x6000... Ok! Reading 0x7000... Ok! Reading 0x8000... Ok! Reading 0x9000... Ok! Reading 0xA000... Ok! Reading 0xB000... Ok! Reading 0xC000... Ok! Reading 0xD000... Ok! Reading 0xE000... Ok! Reading 0xF000... Ok! Reading 0x10000... Ok! Reading 0x11000... Ok! Reading 0x12000... Ok! Reading 0x13000... Ok! Reading 0x14000... Ok! Reading 0x15000... Ok! Reading 0x16000... Ok! Reading 0x17000... Ok! Reading 0x18000... Ok! Reading 0x19000... Ok! Reading 0x1A000... Ok! Reading 0x1B000... Ok! Reading 0x1C000... Ok! Reading 0x1D000... Ok! Reading 0x1E000... Ok! Reading 0x1F000... Ok! Reading 0x20000... Ok! Reading 0x21000... Ok! Reading 0x22000... Ok! Reading 0x23000... Ok! Reading 0x24000... Ok! Reading 0x25000... Ok! Reading 0x26000... Ok! Reading 0x27000... Ok! Reading 0x28000... Ok! Reading 0x29000... Ok! Reading 0x2A000... Ok! Reading 0x2B000... Ok! Reading 0x2C000... Ok! Reading 0x2D000... Ok! Reading 0x2E000... Ok! Reading 0x2F000... Ok! Reading 0x30000... Ok! Reading 0x31000... Ok! Reading 0x32000... Ok! Reading 0x33000... Ok! Reading 0x34000... Ok! Reading 0x35000... Ok! Reading 0x36000... Ok! Reading 0x37000... Ok! Reading 0x38000... Ok! Reading 0x39000... Ok! Reading 0x3A000... Ok! Reading 0x3B000... Ok! Reading 0x3C000... Ok! Reading 0x3D000... Ok! Reading 0x3E000... Ok! Reading 0x3F000... Ok! Reading 0x40000... Ok! Reading 0x41000... Ok! Reading 0x42000... Ok! Reading 0x43000... Ok! Reading 0x44000... Ok! Reading 0x45000... Ok! Reading 0x46000... Ok! Reading 0x47000... Ok! Reading 0x48000... Ok! Reading 0x49000... Ok! Reading 0x4A000... Ok! Reading 0x4B000... Ok! Reading 0x4C000... Ok! Reading 0x4D000... Ok! Reading 0x4E000... Ok! Reading 0x4F000... Ok! Reading 0x50000... Ok! Reading 0x51000... Ok! Reading 0x52000... Ok! Reading 0x53000... Ok! Reading 0x54000... Ok! Reading 0x55000... Ok! Reading 0x56000... Ok! Reading 0x57000... Ok! Reading 0x58000... Ok! Reading 0x59000... Ok! Reading 0x5A000... Ok! Reading 0x5B000... Ok! Reading 0x5C000... Ok! Reading 0x5D000... Ok! Reading 0x5E000... Ok! Reading 0x5F000... Ok! Reading 0x60000... Ok! Reading 0x61000... Ok! Reading 0x62000... Ok! Reading 0x63000... Ok! Reading 0x64000... Ok! Reading 0x65000... Ok! Reading 0x66000... Ok! Reading 0x67000... Ok! Reading 0x68000... Ok! Reading 0x69000... Ok! Reading 0x6A000... Ok! Reading 0x6B000... Ok! Reading 0x6C000... Ok! Reading 0x6D000... Ok! Reading 0x6E000... Ok! Reading 0x6F000... Ok! Reading 0x70000... Ok! Reading 0x71000... Ok! Reading 0x72000... Ok! Reading 0x73000... Ok! Reading 0x74000... Ok! Reading 0x75000... Ok! Reading 0x76000... Ok! Reading 0x77000... Ok! Reading 0x78000... Ok! Reading 0x79000... Ok! Reading 0x7A000... Ok! Reading 0x7B000... Ok! Reading 0x7C000... Ok! Reading 0x7D000... Ok! Reading 0x7E000... Ok! Reading 0x7F000... Ok! Reading 0x80000... Ok! Reading 0x81000... Ok! Reading 0x82000... Ok! Reading 0x83000... Ok! Reading 0x84000... Ok! Reading 0x85000... Ok! Reading 0x86000... Ok! Reading 0x87000... Ok! Reading 0x88000... Ok! Reading 0x89000... Ok! Reading 0x8A000... Ok! Reading 0x8B000... Ok! Reading 0x8C000... Ok! Reading 0x8D000... Ok! Reading 0x8E000... Ok! Reading 0x8F000... Ok! Reading 0x90000... Ok! Reading 0x91000... Ok! Reading 0x92000... Ok! Reading 0x93000... Ok! Reading 0x94000... Ok! Reading 0x95000... Ok! Reading 0x96000... Ok! Reading 0x97000... Ok! Reading 0x98000... Ok! Reading 0x99000... Ok! Reading 0x9A000... Ok! Reading 0x9B000... Ok! Reading 0x9C000... Ok! Reading 0x9D000... Ok! Reading 0x9E000... Ok! Reading 0x9F000... Ok! Reading 0xA0000... Ok! Reading 0xA1000... Ok! Reading 0xA2000... Ok! Reading 0xA3000... Ok! Reading 0xA4000... Ok! Reading 0xA5000... Ok! Reading 0xA6000... Ok! Reading 0xA7000... Ok! Reading 0xA8000... Ok! Reading 0xA9000... Ok! Reading 0xAA000... Ok! Reading 0xAB000... Ok! Reading 0xAC000... Ok! Reading 0xAD000... Ok! Reading 0xAE000... Ok! Reading 0xAF000... Ok! Reading 0xB0000... Ok! Reading 0xB1000... Ok! Reading 0xB2000... Ok! Reading 0xB3000... Ok! Reading 0xB4000... Ok! Reading 0xB5000... Ok! Reading 0xB6000... Ok! Reading 0xB7000... Ok! Reading 0xB8000... Ok! Reading 0xB9000... Ok! Reading 0xBA000... Ok! Reading 0xBB000... Ok! Reading 0xBC000... Ok! Reading 0xBD000... Ok! Reading 0xBE000... Ok! Reading 0xBF000... Ok! Reading 0xC0000... Ok! Reading 0xC1000... Ok! Reading 0xC2000... Ok! Reading 0xC3000... Ok! Reading 0xC4000... Ok! Reading 0xC5000... Ok! Reading 0xC6000... Ok! Reading 0xC7000... Ok! Reading 0xC8000... Ok! Reading 0xC9000... Ok! Reading 0xCA000... Ok! Reading 0xCB000... Ok! Reading 0xCC000... Ok! Reading 0xCD000... Ok! Reading 0xCE000... Ok! Reading 0xCF000... Ok! Reading 0xD0000... Ok! Reading 0xD1000... Ok! Reading 0xD2000... Ok! Reading 0xD3000... Ok! Reading 0xD4000... Ok! Reading 0xD5000... Ok! Reading 0xD6000... Ok! Reading 0xD7000... Ok! Reading 0xD8000... Ok! Reading 0xD9000... Ok! Reading 0xDA000... Ok! Reading 0xDB000... Ok! Reading 0xDC000... Ok! Reading 0xDD000... Ok! Reading 0xDE000... Ok! Reading 0xDF000... Ok! Reading 0xE0000... Ok! Reading 0xE1000... Ok! Reading 0xE2000... Ok! Reading 0xE3000... Ok! Reading 0xE4000... Ok! Reading 0xE5000... Ok! Reading 0xE6000... Ok! Reading 0xE7000... Ok! Reading 0xE8000... Ok! Reading 0xE9000... Ok! Reading 0xEA000... Ok! Reading 0xEB000... Ok! Reading 0xEC000... Ok! Reading 0xED000... Ok! Reading 0xEE000... Ok! Reading 0xEF000... Ok! Reading 0xF0000... Ok! Reading 0xF1000... Ok! Reading 0xF2000... Ok! Reading 0xF3000... Ok! Reading 0xF4000... Ok! Reading 0xF5000... Ok! Reading 0xF6000... Ok! Reading 0xF7000... Ok! Reading 0xF8000... Ok! Reading 0xF9000... Ok! Reading 0xFA000... Ok! Reading 0xFB000... Ok! Reading 0xFC000... Ok! Reading 0xFD000... Ok! Reading 0xFE000... Ok! Reading 0xFF000... Ok! Reading 0x100000... Ok! Reading 0x101000... Ok! Reading 0x102000... Ok! Reading 0x103000... Ok! Reading 0x104000... Ok! Reading 0x105000... Ok! Reading 0x106000... Ok! Reading 0x107000... Ok! Reading 0x108000... Ok! Reading 0x109000... Ok! Reading 0x10A000... Ok! Reading 0x10B000... Ok! Reading 0x10C000... Ok! Reading 0x10D000... Ok! Reading 0x10E000... Ok! Reading 0x10F000... Ok! Reading 0x110000... Ok! Reading 0x111000... Ok! Reading 0x112000... Ok! Reading 0x113000... Ok! Reading 0x114000... Ok! Reading 0x115000... Ok! Reading 0x116000... Ok! Reading 0x117000... Ok! Reading 0x118000... Ok! Reading 0x119000... Ok! Reading 0x11A000... Ok! Reading 0x11B000... Ok! Reading 0x11C000... Ok! Reading 0x11D000... Ok! Reading 0x11E000... Ok! Reading 0x11F000... Ok! Reading 0x120000... Ok! Reading 0x121000... Ok! Reading 0x122000... Ok! Reading 0x123000... Ok! Reading 0x124000... Ok! Reading 0x125000... Ok! Reading 0x126000... Ok! Reading 0x127000... Ok! Reading 0x128000... Ok! Reading 0x129000... Ok! Reading 0x12A000... Ok! Reading 0x12B000... Ok! Reading 0x12C000... Ok! Reading 0x12D000... Ok! Reading 0x12E000... Ok! Reading 0x12F000... Ok! Reading 0x130000... Ok! Reading 0x131000... Ok! Reading 0x132000... Ok! Reading 0x133000... Ok! Reading 0x134000... Ok! Reading 0x135000... Ok! Reading 0x136000... Ok! Reading 0x137000... Ok! Reading 0x138000... Ok! Reading 0x139000... Ok! Reading 0x13A000... Ok! Reading 0x13B000... Ok! Reading 0x13C000... Ok! Reading 0x13D000... Ok! Reading 0x13E000... Ok! Reading 0x13F000... Ok! Reading 0x140000... Ok! Reading 0x141000... Ok! Reading 0x142000... Ok! Reading 0x143000... Ok! Reading 0x144000... Ok! Reading 0x145000... Ok! Reading 0x146000... Ok! Reading 0x147000... Ok! Reading 0x148000... Ok! Reading 0x149000... Ok! Reading 0x14A000... Ok! Reading 0x14B000... Ok! Reading 0x14C000... Ok! Reading 0x14D000... Ok! Reading 0x14E000... Ok! Reading 0x14F000... Ok! Reading 0x150000... Ok! Reading 0x151000... Ok! Reading 0x152000... Ok! Reading 0x153000... Ok! Reading 0x154000... Ok! Reading 0x155000... Ok! Reading 0x156000... Ok! Reading 0x157000... Ok! Reading 0x158000... Ok! Reading 0x159000... Ok! Reading 0x15A000... Ok! Reading 0x15B000... Ok! Reading 0x15C000... Ok! Reading 0x15D000... Ok! Reading 0x15E000... Ok! Reading 0x15F000... Ok! Reading 0x160000... Ok! Reading 0x161000... Ok! Reading 0x162000... Ok! Reading 0x163000... Ok! Reading 0x164000... Ok! Reading 0x165000... Ok! Reading 0x166000... Ok! Reading 0x167000... Ok! Reading 0x168000... Ok! Reading 0x169000... Ok! Reading 0x16A000... Ok! Reading 0x16B000... Ok! Reading 0x16C000... Ok! Reading 0x16D000... Ok! Reading 0x16E000... Ok! Reading 0x16F000... Ok! Reading 0x170000... Ok! Reading 0x171000... Ok! Reading 0x172000... Ok! Reading 0x173000... Ok! Reading 0x174000... Ok! Reading 0x175000... Ok! Reading 0x176000... Ok! Reading 0x177000... Ok! Reading 0x178000... Ok! Reading 0x179000... Ok! Reading 0x17A000... Ok! Reading 0x17B000... Ok! Reading 0x17C000... Ok! Reading 0x17D000... Ok! Reading 0x17E000... Ok! Reading 0x17F000... Ok! Reading 0x180000... Ok! Reading 0x181000... Ok! Reading 0x182000... Ok! Reading 0x183000... Ok! Reading 0x184000... Ok! Reading 0x185000... Ok! Reading 0x186000... Ok! Reading 0x187000... Ok! Reading 0x188000... Ok! Reading 0x189000... Ok! Reading 0x18A000... Ok! Reading 0x18B000... Ok! Reading 0x18C000... Ok! Reading 0x18D000... Ok! Reading 0x18E000... Ok! Reading 0x18F000... Ok! Reading 0x190000... Ok! Reading 0x191000... Ok! Reading 0x192000... Ok! Reading 0x193000... Ok! Reading 0x194000... Ok! Reading 0x195000... Ok! Reading 0x196000... Ok! Reading 0x197000... Ok! Reading 0x198000... Ok! Reading 0x199000... Ok! Reading 0x19A000... Ok! Reading 0x19B000... Ok! Reading 0x19C000... Ok! Reading 0x19D000... Ok! Reading 0x19E000... Ok! Reading 0x19F000... Ok! Reading 0x1A0000... Ok! Reading 0x1A1000... Ok! Reading 0x1A2000... Ok! Reading 0x1A3000... Ok! Reading 0x1A4000... Ok! Reading 0x1A5000... Ok! Reading 0x1A6000... Ok! Reading 0x1A7000... Ok! Reading 0x1A8000... Ok! Reading 0x1A9000... Ok! Reading 0x1AA000... Ok! Reading 0x1AB000... Ok! Reading 0x1AC000... Ok! Reading 0x1AD000... Ok! Reading 0x1AE000... Ok! Reading 0x1AF000... Ok! Reading 0x1B0000... Ok! Reading 0x1B1000... Ok! Reading 0x1B2000... Ok! Reading 0x1B3000... Ok! Reading 0x1B4000... Ok! Reading 0x1B5000... Ok! Reading 0x1B6000... Ok! Reading 0x1B7000... Ok! Reading 0x1B8000... Ok! Reading 0x1B9000... Ok! Reading 0x1BA000... Ok! Reading 0x1BB000... Ok! Reading 0x1BC000... Ok! Reading 0x1BD000... Ok! Reading 0x1BE000... Ok! Reading 0x1BF000... Ok! Reading 0x1C0000... Ok! Reading 0x1C1000... Ok! Reading 0x1C2000... Ok! Reading 0x1C3000... Ok! Reading 0x1C4000... Ok! Reading 0x1C5000... Ok! Reading 0x1C6000... Ok! Reading 0x1C7000... Ok! Reading 0x1C8000... Ok! Reading 0x1C9000... Ok! Reading 0x1CA000... Ok! Reading 0x1CB000... Ok! Reading 0x1CC000... Ok! Reading 0x1CD000... Ok! Reading 0x1CE000... Ok! Reading 0x1CF000... Ok! Reading 0x1D0000... Ok! Reading 0x1D1000... Ok! Reading 0x1D2000... Ok! Reading 0x1D3000... Ok! Reading 0x1D4000... Ok! Reading 0x1D5000... Ok! Reading 0x1D6000... Ok! Reading 0x1D7000... Ok! Reading 0x1D8000... Ok! Reading 0x1D9000... Ok! Reading 0x1DA000... Ok! Reading 0x1DB000... Ok! Reading 0x1DC000... Ok! Reading 0x1DD000... Ok! Reading 0x1DE000... Ok! Reading 0x1DF000... Ok! Reading 0x1E0000... Ok! Reading 0x1E1000... Ok! Reading 0x1E2000... Ok! Reading 0x1E3000... Ok! Reading 0x1E4000... Ok! Reading 0x1E5000... Ok! Reading 0x1E6000... Ok! Reading 0x1E7000... Ok! Reading 0x1E8000... Ok! Reading 0x1E9000... Ok! Reading 0x1EA000... Ok! Reading 0x1EB000... Ok! Reading 0x1EC000... Ok! Reading 0x1ED000... Ok! Reading 0x1EE000... Ok! Reading 0x1EF000... Ok! Reading 0x1F0000... Ok! Reading 0x1F1000... Ok! Reading 0x1F2000... Ok! Reading 0x1F3000... Ok! Reading 0x1F4000... Ok! Reading 0x1F5000... Ok! Reading 0x1F6000... Ok! Reading 0x1F7000... Ok! Reading 0x1F8000... Ok! Reading 0x1F9000... Ok! Reading 0x1FA000... Ok! Reading 0x1FB000... Ok! Reading 0x1FC000... Ok! Reading 0x1FD000... Ok! Reading 0x1FE000... Ok! Reading 0x1FF000... Ok! 
    Basic read operation finished, but now it's time to verify...
    Starting CRC check for 512 sectors, starting at offset 0x00
    CRC matches 0xF27AA8AD!
    All read!
    Loaded total 0x200000 bytes 
    Wrote 2097152 to readResult_BK7231N_QIO_8channelRelay_betriebsbereit_2024-15-9-21-00-18.bin
    Backup 2MB created, now will attempt to extract OBK config.
    It's not an OBK config, header is bad
    OBK config not found.
    Backup 2MB created, now will attempt to extract Tuya config.
    Tuya config extractor - magic is at 2023424 
    Saving debug Tuya decryption data to lastRawDecryptedStrings.bin
    Tuya keys extraction has found 1 keys
    Tuya config extracted and shown.
    MAC seems to be FC:3C:D7:F0:02:E1
    
    Starting flash new (no backup)!
    Now is: Sonntag, 15. September 2024 21:01:17.
    Flasher mode: BK7231N
    Going to open port: COM3.
    Serial port open!
    Getting bus... (now, please do reboot by CEN or by power off/on)
    Getting bus failed, will try again - 0/100!
    Getting bus failed, will try again - 1/100!
    Getting bus success!
    Going to set baud rate setting (921600)!
    Will try to read device flash MID (for unprotect N):
    Flash MID loaded: 1540C8
    Will now search for Flash def in out database...
    Flash def found! For: 1540C8
    Flash information: mid: 1540C8, icName: GD25Q16B, manufacturer: GD, szMem: 1000000, szSR: 2, cwUnp: 0, cwEnp: 7, cwMsk: 407C, sb: 2, lb: 5, cwdRd: 05-35-FF-FF, cwdWr: 01-FF-FF-FF
    Entering SetProtectState(True)...
    sr: 7c
    sr: 7c
    final sr: 7c
    msk: 407c
    cw: 0, sb: 2, lb: 5
    bfd: 0
    sr: 0
    sr: 0
    final sr: 0
    msk: 407c
    cw: 0, sb: 2, lb: 5
    bfd: 0
    SetProtectState(True) success!
    Going to read encryption key...
    Encryption key read done!
    Encryption key: 510fb093 a3cbeadc 5993a17e c7adeb03
    Reading file firmwares/OpenBK7231N_QIO_1.17.697.bin...
    Loaded 1220464 bytes from firmwares/OpenBK7231N_QIO_1.17.697.bin...
    Using hack to write QIO - just skip bootloader...
    ... so bootloader will not be overwritten!
    Preparing to write data file to chip - resetting bus and baud...
    Getting bus... (now, please do reboot by CEN or by power off/on)
    Getting bus success!
    Going to set baud rate setting (921600)!
    Will try to read device flash MID (for unprotect N):
    Flash MID loaded: 1540C8
    Will now search for Flash def in out database...
    Flash def found! For: 1540C8
    Flash information: mid: 1540C8, icName: GD25Q16B, manufacturer: GD, szMem: 1000000, szSR: 2, cwUnp: 0, cwEnp: 7, cwMsk: 407C, sb: 2, lb: 5, cwdRd: 05-35-FF-FF, cwdWr: 01-FF-FF-FF
    Entering SetProtectState(True)...
    sr: 0
    sr: 0
    final sr: 0
    msk: 407c
    cw: 0, sb: 2, lb: 5
    bfd: 0
    SetProtectState(True) success!
    Going to do erase, start 69632, sec count 281!
    Erasing sector 69632... ok! Erasing sector 73728... ok! Erasing sector 77824... ok! Erasing sector 81920... ok! Erasing sector 86016... ok! Erasing sector 90112... ok! Erasing sector 94208... ok! Erasing sector 98304... ok! Erasing sector 102400... ok! Erasing sector 106496... ok! Erasing sector 110592... ok! Erasing sector 114688... ok! Erasing sector 118784... ok! Erasing sector 122880... ok! Erasing sector 126976... ok! Erasing sector 131072... ok! Erasing sector 135168... ok! Erasing sector 139264... ok! Erasing sector 143360... ok! Erasing sector 147456... ok! Erasing sector 151552... ok! Erasing sector 155648... ok! Erasing sector 159744... ok! Erasing sector 163840... ok! Erasing sector 167936... ok! Erasing sector 172032... ok! Erasing sector 176128... ok! Erasing sector 180224... ok! Erasing sector 184320... ok! Erasing sector 188416... ok! Erasing sector 192512... ok! Erasing sector 196608... ok! Erasing sector 200704... ok! Erasing sector 204800... ok! Erasing sector 208896... ok! Erasing sector 212992... ok! Erasing sector 217088... ok! Erasing sector 221184... ok! Erasing sector 225280... ok! Erasing sector 229376... ok! Erasing sector 233472... ok! Erasing sector 237568... ok! Erasing sector 241664... ok! Erasing sector 245760... ok! Erasing sector 249856... ok! Erasing sector 253952... ok! Erasing sector 258048... ok! Erasing sector 262144... ok! Erasing sector 266240... ok! Erasing sector 270336... ok! Erasing sector 274432... ok! Erasing sector 278528... ok! Erasing sector 282624... ok! Erasing sector 286720... ok! Erasing sector 290816... ok! Erasing sector 294912... ok! Erasing sector 299008... ok! Erasing sector 303104... ok! Erasing sector 307200... ok! Erasing sector 311296... ok! Erasing sector 315392... ok! Erasing sector 319488... ok! Erasing sector 323584... ok! Erasing sector 327680... ok! Erasing sector 331776... ok! Erasing sector 335872... ok! Erasing sector 339968... ok! Erasing sector 344064... ok! Erasing sector 348160... ok! Erasing sector 352256... ok! Erasing sector 356352... ok! Erasing sector 360448... ok! Erasing sector 364544... ok! Erasing sector 368640... ok! Erasing sector 372736... ok! Erasing sector 376832... ok! Erasing sector 380928... ok! Erasing sector 385024... ok! Erasing sector 389120... ok! Erasing sector 393216... ok! Erasing sector 397312... ok! Erasing sector 401408... ok! Erasing sector 405504... ok! Erasing sector 409600... ok! Erasing sector 413696... ok! Erasing sector 417792... ok! Erasing sector 421888... ok! Erasing sector 425984... ok! Erasing sector 430080... ok! Erasing sector 434176... ok! Erasing sector 438272... ok! Erasing sector 442368... ok! Erasing sector 446464... ok! Erasing sector 450560... ok! Erasing sector 454656... ok! Erasing sector 458752... ok! Erasing sector 462848... ok! Erasing sector 466944... ok! Erasing sector 471040... ok! Erasing sector 475136... ok! Erasing sector 479232... ok! Erasing sector 483328... ok! Erasing sector 487424... ok! Erasing sector 491520... ok! Erasing sector 495616... ok! Erasing sector 499712... ok! Erasing sector 503808... ok! Erasing sector 507904... ok! Erasing sector 512000... ok! Erasing sector 516096... ok! Erasing sector 520192... ok! Erasing sector 524288... ok! Erasing sector 528384... ok! Erasing sector 532480... ok! Erasing sector 536576... ok! Erasing sector 540672... ok! Erasing sector 544768... ok! Erasing sector 548864... ok! Erasing sector 552960... ok! Erasing sector 557056... ok! Erasing sector 561152... ok! Erasing sector 565248... ok! Erasing sector 569344... ok! Erasing sector 573440... ok! Erasing sector 577536... ok! Erasing sector 581632... ok! Erasing sector 585728... ok! Erasing sector 589824... ok! Erasing sector 593920... ok! Erasing sector 598016... ok! Erasing sector 602112... ok! Erasing sector 606208... ok! Erasing sector 610304... ok! Erasing sector 614400... ok! Erasing sector 618496... ok! Erasing sector 622592... ok! Erasing sector 626688... ok! Erasing sector 630784... ok! Erasing sector 634880... ok! Erasing sector 638976... ok! Erasing sector 643072... ok! Erasing sector 647168... ok! Erasing sector 651264... ok! Erasing sector 655360... ok! Erasing sector 659456... ok! Erasing sector 663552... ok! Erasing sector 667648... ok! Erasing sector 671744... ok! Erasing sector 675840... ok! Erasing sector 679936... ok! Erasing sector 684032... ok! Erasing sector 688128... ok! Erasing sector 692224... ok! Erasing sector 696320... ok! Erasing sector 700416... ok! Erasing sector 704512... ok! Erasing sector 708608... ok! Erasing sector 712704... ok! Erasing sector 716800... ok! Erasing sector 720896... ok! Erasing sector 724992... ok! Erasing sector 729088... ok! Erasing sector 733184... ok! Erasing sector 737280... ok! Erasing sector 741376... ok! Erasing sector 745472... ok! Erasing sector 749568... ok! Erasing sector 753664... ok! Erasing sector 757760... ok! Erasing sector 761856... ok! Erasing sector 765952... ok! Erasing sector 770048... ok! Erasing sector 774144... ok! Erasing sector 778240... ok! Erasing sector 782336... ok! Erasing sector 786432... ok! Erasing sector 790528... ok! Erasing sector 794624... ok! Erasing sector 798720... ok! Erasing sector 802816... ok! Erasing sector 806912... ok! Erasing sector 811008... ok! Erasing sector 815104... ok! Erasing sector 819200... ok! Erasing sector 823296... ok! Erasing sector 827392... ok! Erasing sector 831488... ok! Erasing sector 835584... ok! Erasing sector 839680... ok! Erasing sector 843776... ok! Erasing sector 847872... ok! Erasing sector 851968... ok! Erasing sector 856064... ok! Erasing sector 860160... ok! Erasing sector 864256... ok! Erasing sector 868352... ok! Erasing sector 872448... ok! Erasing sector 876544... ok! Erasing sector 880640... ok! Erasing sector 884736... ok! Erasing sector 888832... ok! Erasing sector 892928... ok! Erasing sector 897024... ok! Erasing sector 901120... ok! Erasing sector 905216... ok! Erasing sector 909312... ok! Erasing sector 913408... ok! Erasing sector 917504... ok! Erasing sector 921600... ok! Erasing sector 925696... ok! Erasing sector 929792... ok! Erasing sector 933888... ok! Erasing sector 937984... ok! Erasing sector 942080... ok! Erasing sector 946176... ok! Erasing sector 950272... ok! Erasing sector 954368... ok! Erasing sector 958464... ok! Erasing sector 962560... ok! Erasing sector 966656... ok! Erasing sector 970752... ok! Erasing sector 974848... ok! Erasing sector 978944... ok! Erasing sector 983040... ok! Erasing sector 987136... ok! Erasing sector 991232... ok! Erasing sector 995328... ok! Erasing sector 999424... ok! Erasing sector 1003520... ok! Erasing sector 1007616... ok! Erasing sector 1011712... ok! Erasing sector 1015808... ok! Erasing sector 1019904... ok! Erasing sector 1024000... ok! Erasing sector 1028096... ok! Erasing sector 1032192... ok! Erasing sector 1036288... ok! Erasing sector 1040384... ok! Erasing sector 1044480... ok! Erasing sector 1048576... ok! Erasing sector 1052672... ok! Erasing sector 1056768... ok! Erasing sector 1060864... ok! Erasing sector 1064960... ok! Erasing sector 1069056... ok! Erasing sector 1073152... ok! Erasing sector 1077248... ok! Erasing sector 1081344... ok! Erasing sector 1085440... ok! Erasing sector 1089536... ok! Erasing sector 1093632... ok! Erasing sector 1097728... ok! Erasing sector 1101824... ok! Erasing sector 1105920... ok! Erasing sector 1110016... ok! Erasing sector 1114112... ok! Erasing sector 1118208... ok! Erasing sector 1122304... ok! Erasing sector 1126400... ok! Erasing sector 1130496... ok! Erasing sector 1134592... ok! Erasing sector 1138688... ok! Erasing sector 1142784... ok! Erasing sector 1146880... ok! Erasing sector 1150976... ok! Erasing sector 1155072... ok! Erasing sector 1159168... ok! Erasing sector 1163264... ok! Erasing sector 1167360... ok! Erasing sector 1171456... ok! Erasing sector 1175552... ok! Erasing sector 1179648... ok! Erasing sector 1183744... ok! Erasing sector 1187840... ok! Erasing sector 1191936... ok! Erasing sector 1196032... ok! Erasing sector 1200128... ok! Erasing sector 1204224... ok! Erasing sector 1208320... ok! Erasing sector 1212416... ok! Erasing sector 1216512... ok! 
    All selected sectors erased!
    Writing sector 0x11000... ok! Writing sector 0x12000... ok! Writing sector 0x13000... ok! Writing sector 0x14000... ok! Writing sector 0x15000... ok! Writing sector 0x16000... ok! Writing sector 0x17000... ok! Writing sector 0x18000... ok! Writing sector 0x19000... ok! Writing sector 0x1A000... ok! Writing sector 0x1B000... ok! Writing sector 0x1C000... ok! Writing sector 0x1D000... ok! Writing sector 0x1E000... ok! Writing sector 0x1F000... ok! Writing sector 0x20000... ok! Writing sector 0x21000... ok! Writing sector 0x22000... ok! Writing sector 0x23000... ok! Writing sector 0x24000... ok! Writing sector 0x25000... ok! Writing sector 0x26000... ok! Writing sector 0x27000... ok! Writing sector 0x28000... ok! Writing sector 0x29000... ok! Writing sector 0x2A000... ok! Writing sector 0x2B000... ok! Writing sector 0x2C000... ok! Writing sector 0x2D000... ok! Writing sector 0x2E000... ok! Writing sector 0x2F000... ok! Writing sector 0x30000... ok! Writing sector 0x31000... ok! Writing sector 0x32000... ok! Writing sector 0x33000... ok! Writing sector 0x34000... ok! Writing sector 0x35000... ok! Writing sector 0x36000... ok! Writing sector 0x37000... ok! Writing sector 0x38000... ok! Writing sector 0x39000... ok! Writing sector 0x3A000... ok! Writing sector 0x3B000... ok! Writing sector 0x3C000... ok! Writing sector 0x3D000... ok! Writing sector 0x3E000... ok! Writing sector 0x3F000... ok! Writing sector 0x40000... ok! Writing sector 0x41000... ok! Writing sector 0x42000... ok! Writing sector 0x43000... ok! Writing sector 0x44000... ok! Writing sector 0x45000... ok! Writing sector 0x46000... ok! Writing sector 0x47000... ok! Writing sector 0x48000... ok! Writing sector 0x49000... ok! Writing sector 0x4A000... ok! Writing sector 0x4B000... ok! Writing sector 0x4C000... ok! Writing sector 0x4D000... ok! Writing sector 0x4E000... ok! Writing sector 0x4F000... ok! Writing sector 0x50000... ok! Writing sector 0x51000... ok! Writing sector 0x52000... ok! Writing sector 0x53000... ok! Writing sector 0x54000... ok! Writing sector 0x55000... ok! Writing sector 0x56000... ok! Writing sector 0x57000... ok! Writing sector 0x58000... ok! Writing sector 0x59000... ok! Writing sector 0x5A000... ok! Writing sector 0x5B000... ok! Writing sector 0x5C000... ok! Writing sector 0x5D000... ok! Writing sector 0x5E000... ok! Writing sector 0x5F000... ok! Writing sector 0x60000... ok! Writing sector 0x61000... ok! Writing sector 0x62000... ok! Writing sector 0x63000... ok! Writing sector 0x64000... ok! Writing sector 0x65000... ok! Writing sector 0x66000... ok! Writing sector 0x67000... ok! Writing sector 0x68000... ok! Writing sector 0x69000... ok! Writing sector 0x6A000... ok! Writing sector 0x6B000... ok! Writing sector 0x6C000... ok! Writing sector 0x6D000... ok! Writing sector 0x6E000... ok! Writing sector 0x6F000... ok! Writing sector 0x70000... ok! Writing sector 0x71000... ok! Writing sector 0x72000... ok! Writing sector 0x73000... ok! Writing sector 0x74000... ok! Writing sector 0x75000... ok! Writing sector 0x76000... ok! Writing sector 0x77000... ok! Writing sector 0x78000... ok! Writing sector 0x79000... ok! Writing sector 0x7A000... ok! Writing sector 0x7B000... ok! Writing sector 0x7C000... ok! Writing sector 0x7D000... ok! Writing sector 0x7E000... ok! Writing sector 0x7F000... ok! Writing sector 0x80000... ok! Writing sector 0x81000... ok! Writing sector 0x82000... ok! Writing sector 0x83000... ok! Writing sector 0x84000... ok! Writing sector 0x85000... ok! Writing sector 0x86000... ok! Writing sector 0x87000... ok! Writing sector 0x88000... ok! Writing sector 0x89000... ok! Writing sector 0x8A000... ok! Writing sector 0x8B000... ok! Writing sector 0x8C000... ok! Writing sector 0x8D000... ok! Writing sector 0x8E000... ok! Writing sector 0x8F000... ok! Writing sector 0x90000... ok! Writing sector 0x91000... ok! Writing sector 0x92000... ok! Writing sector 0x93000... ok! Writing sector 0x94000... ok! Writing sector 0x95000... ok! Writing sector 0x96000... ok! Writing sector 0x97000... ok! Writing sector 0x98000... ok! Writing sector 0x99000... ok! Writing sector 0x9A000... ok! Writing sector 0x9B000... ok! Writing sector 0x9C000... ok! Writing sector 0x9D000... ok! Writing sector 0x9E000... ok! Writing sector 0x9F000... ok! Writing sector 0xA0000... ok! Writing sector 0xA1000... ok! Writing sector 0xA2000... ok! Writing sector 0xA3000... ok! Writing sector 0xA4000... ok! Writing sector 0xA5000... ok! Writing sector 0xA6000... ok! Writing sector 0xA7000... ok! Writing sector 0xA8000... ok! Writing sector 0xA9000... ok! Writing sector 0xAA000... ok! Writing sector 0xAB000... ok! Writing sector 0xAC000... ok! Writing sector 0xAD000... ok! Writing sector 0xAE000... ok! Writing sector 0xAF000... ok! Writing sector 0xB0000... ok! Writing sector 0xB1000... ok! Writing sector 0xB2000... ok! Writing sector 0xB3000... ok! Writing sector 0xB4000... ok! Writing sector 0xB5000... ok! Writing sector 0xB6000... ok! Writing sector 0xB7000... ok! Writing sector 0xB8000... ok! Writing sector 0xB9000... ok! Writing sector 0xBA000... ok! Writing sector 0xBB000... ok! Writing sector 0xBC000... ok! Writing sector 0xBD000... ok! Writing sector 0xBE000... ok! Writing sector 0xBF000... ok! Writing sector 0xC0000... ok! Writing sector 0xC1000... ok! Writing sector 0xC2000... ok! Writing sector 0xC3000... ok! Writing sector 0xC4000... ok! Writing sector 0xC5000... ok! Writing sector 0xC6000... ok! Writing sector 0xC7000... ok! Writing sector 0xC8000... ok! Writing sector 0xC9000... ok! Writing sector 0xCA000... ok! Writing sector 0xCB000... ok! Writing sector 0xCC000... ok! Writing sector 0xCD000... ok! Writing sector 0xCE000... ok! Writing sector 0xCF000... ok! Writing sector 0xD0000... ok! Writing sector 0xD1000... ok! Writing sector 0xD2000... ok! Writing sector 0xD3000... ok! Writing sector 0xD4000... ok! Writing sector 0xD5000... ok! Writing sector 0xD6000... ok! Writing sector 0xD7000... ok! Writing sector 0xD8000... ok! Writing sector 0xD9000... ok! Writing sector 0xDA000... ok! Writing sector 0xDB000... ok! Writing sector 0xDC000... ok! Writing sector 0xDD000... ok! Writing sector 0xDE000... ok! Writing sector 0xDF000... ok! Writing sector 0xE0000... ok! Writing sector 0xE1000... ok! Writing sector 0xE2000... ok! Writing sector 0xE3000... ok! Writing sector 0xE4000... ok! Writing sector 0xE5000... ok! Writing sector 0xE6000... ok! Writing sector 0xE7000... ok! Writing sector 0xE8000... ok! Writing sector 0xE9000... ok! Writing sector 0xEA000... ok! Writing sector 0xEB000... ok! Writing sector 0xEC000... ok! Writing sector 0xED000... ok! Writing sector 0xEE000... ok! Writing sector 0xEF000... ok! Writing sector 0xF0000... ok! Writing sector 0xF1000... ok! Writing sector 0xF2000... ok! Writing sector 0xF3000... ok! Writing sector 0xF4000... ok! Writing sector 0xF5000... ok! Writing sector 0xF6000... ok! Writing sector 0xF7000... ok! Writing sector 0xF8000... ok! Writing sector 0xF9000... ok! Writing sector 0xFA000... ok! Writing sector 0xFB000... ok! Writing sector 0xFC000... ok! Writing sector 0xFD000... ok! Writing sector 0xFE000... ok! Writing sector 0xFF000... ok! Writing sector 0x100000... ok! Writing sector 0x101000... ok! Writing sector 0x102000... ok! Writing sector 0x103000... ok! Writing sector 0x104000... ok! Writing sector 0x105000... ok! Writing sector 0x106000... ok! Writing sector 0x107000... ok! Writing sector 0x108000... ok! Writing sector 0x109000... ok! Writing sector 0x10A000... ok! Writing sector 0x10B000... ok! Writing sector 0x10C000... ok! Writing sector 0x10D000... ok! Writing sector 0x10E000... ok! Writing sector 0x10F000... ok! Writing sector 0x110000... ok! Writing sector 0x111000... ok! Writing sector 0x112000... ok! Writing sector 0x113000... ok! Writing sector 0x114000... ok! Writing sector 0x115000... ok! Writing sector 0x116000... ok! Writing sector 0x117000... ok! Writing sector 0x118000... ok! Writing sector 0x119000... ok! Writing sector 0x11A000... ok! Writing sector 0x11B000... ok! Writing sector 0x11C000... ok! Writing sector 0x11D000... ok! Writing sector 0x11E000... ok! Writing sector 0x11F000... ok! Writing sector 0x120000... ok! Writing sector 0x121000... ok! Writing sector 0x122000... ok! Writing sector 0x123000... ok! Writing sector 0x124000... ok! Writing sector 0x125000... ok! Writing sector 0x126000... ok! Writing sector 0x127000... ok! Writing sector 0x128000... ok! Writing sector 0x129000... ok! Starting CRC check for 281 sectors, starting at offset 0x11000
    CRC matches 0x220577FF!
    
    NOTE: the OBK config writing is disabled, so not writing anything extra.
    Writing file data to chip succes


    Now, how can I get the eight relays working? How can I toggle them with MQTT?
  • #26 21228256
    io2345
    Level 9  
    Posts: 241
    Help: 1
    Rate: 6
    Board Language: german
    Did put that in autoexec.bat

    startDriver TuyaMCU
    tuyaMcu_setBaudRate 115200
    tuyaMcu_defWiFiState 4
    
    setChannelType 1 Toggle
    SetChannelLabel 1 "Room 1"
    setChannelType 2 Toggle
    SetChannelLabel 2 "Room 2"
    setChannelType 3 Toggle
    SetChannelLabel 3 "Room 3"
    setChannelType 4 Toggle
    SetChannelLabel 4 "Room 4"
    setChannelType 5 Toggle
    SetChannelLabel 5 "Room 5"
    setChannelType 6 Toggle
    SetChannelLabel 6 "Room 6"
    setChannelType 7 Toggle
    SetChannelLabel 7 "Room 7"
    setChannelType 8 Toggle
    SetChannelLabel 8 "Room 8"
    
    linkTuyaMCUOutputToChannel 1 bool 1
    linkTuyaMCUOutputToChannel 2 bool 2
    linkTuyaMCUOutputToChannel 3 bool 3
    linkTuyaMCUOutputToChannel 4 bool 4
    linkTuyaMCUOutputToChannel 5 bool 5
    linkTuyaMCUOutputToChannel 6 bool 6
    linkTuyaMCUOutputToChannel 101 bool 7
    linkTuyaMCUOutputToChannel 102 bool 8
    
    waitFor MQTTState 1


    Now I have controls in the GUI. They change from red to green, as expected.
    Only thing is, that the relays don't turn on. What did I do wrong?

    Hinzugefügt nach 13 [Minuten]:

    Changing Baud rate to 9600 helped a little. I can switch relays to "ON" now. But once they are on, they cannot be switched off. Why?
  • #27 21228330
    DeDaMrAz
    Level 22  
    Posts: 594
    Help: 34
    Rate: 122
    @io2345

    Can you open up the WebApp and in the logs section use the following command - tuyaMcu_sendQueryState - then post you log here (be sure you remove any personal data if present!!)
  • #28 21228363
    io2345
    Level 9  
    Posts: 241
    Help: 1
    Rate: 6
    Board Language: german
    >>21228330
    Thank you for caring. This is what I get in two minutes time maybe:

    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 00 02 01 00 01 00 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3C 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 00 02 01 00 01 00 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3C 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:MAIN:Time 171, idle 69846/s, free 71264, MQTT 0(10), bWifi 1, secondsWithNoPing 1, socks 2/38 POWERSAVE
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 00 02 01 00 01 00 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3C 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 00 02 01 00 01 00 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3C 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Debug:API:GET of api/info
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 00 02 01 00 01 00 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3C 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 00 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3D 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 00 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3D 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 00 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3D 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:MQTT:mqtt_host empty, not starting mqtt
    Info:MAIN:Time 175, idle 70315/s, free 71264, MQTT 0(11), bWifi 1, secondsWithNoPing 1, socks 2/38 POWERSAVE
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 00 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3D 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 00 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3D 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 00 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3D 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 00 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3D 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 00 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3D 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:MAIN:Time 176, idle 73648/s, free 71280, MQTT 0(11), bWifi 1, secondsWithNoPing 1, socks 2/38 POWERSAVE
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 00 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3D 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 00 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3D 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 00 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3D 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 00 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3D 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 00 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3D 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:MAIN:Time 177, idle 67981/s, free 71280, MQTT 0(11), bWifi 1, secondsWithNoPing 1, socks 2/38 POWERSAVE
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 00 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3D 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 00 00 01 01 04 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 0 (Hearbeat) len 8
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 00 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3D 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3E 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3E 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:MAIN:Time 179, idle 73161/s, free 71280, MQTT 0(11), bWifi 1, secondsWithNoPing 1, socks 2/38 POWERSAVE
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3E 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3E 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3E 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3E 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3E 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:MAIN:Time 181, idle 65162/s, free 71280, MQTT 0(11), bWifi 1, secondsWithNoPing 1, socks 2/38 POWERSAVE
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3E 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 00 00 01 01 04 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 0 (Hearbeat) len 8
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3E 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3E 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3E 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3E 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3E 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:MAIN:Time 183, idle 76144/s, free 71280, MQTT 0(11), bWifi 1, secondsWithNoPing 1, socks 2/38 POWERSAVE
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3E 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3E 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3E 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3E 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3E 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:MQTT:Channel has changed! Publishing 1 to channel 3 
    Info:MAIN:Time 184, idle 67220/s, free 71280, MQTT 0(11), bWifi 1, secondsWithNoPing 2, socks 2/38 POWERSAVE
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 00 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3E 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:MAIN:Time 185, idle 65617/s, free 71280, MQTT 0(11), bWifi 1, secondsWithNoPing 1, socks 2/38 POWERSAVE
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 00 00 01 01 04 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 0 (Hearbeat) len 8
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:MAIN:Time 186, idle 67123/s, free 71280, MQTT 0(11), bWifi 1, secondsWithNoPing 1, socks 2/38 POWERSAVE
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:MAIN:Time 187, idle 75289/s, free 71280, MQTT 0(11), bWifi 1, secondsWithNoPing 1, socks 2/38 POWERSAVE
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:MAIN:Time 189, idle 69457/s, free 71280, MQTT 0(11), bWifi 1, secondsWithNoPing 1, socks 2/38 POWERSAVE
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 00 00 01 01 04 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 0 (Hearbeat) len 8
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:MQTT:mqtt_host empty, not starting mqtt
    Info:MAIN:Time 191, idle 68722/s, free 71280, MQTT 0(12), bWifi 1, secondsWithNoPing 1, socks 2/38 POWERSAVE
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:MAIN:Time 192, idle 73323/s, free 71064, MQTT 0(12), bWifi 1, secondsWithNoPing 1, socks 3/38 POWERSAVE
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:MAIN:Time 193, idle 72382/s, free 71264, MQTT 0(12), bWifi 1, secondsWithNoPing 1, socks 2/38 POWERSAVE
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 00 00 01 01 04 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 0 (Hearbeat) len 8
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:MAIN:Time 194, idle 67613/s, free 71264, MQTT 0(12), bWifi 1, secondsWithNoPing 1, socks 2/38 POWERSAVE
    Debug:API:POST to api/cmnd
    Debug:CMD:cmd [tuyaMcu_sendQueryState]
    Info:CMD:[WebApp Cmd 'tuyaMcu_sendQueryState' Result] OK
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:MAIN:Time 196, idle 70481/s, free 72344, MQTT 0(12), bWifi 1, secondsWithNoPing 1, socks 2/38 POWERSAVE
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:MAIN:Time 197, idle 74185/s, free 72360, MQTT 0(12), bWifi 1, secondsWithNoPing 1, socks 2/38 POWERSAVE
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 00 00 01 01 04 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 0 (Hearbeat) len 8
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:MAIN:Time 199, idle 71688/s, free 72360, MQTT 0(12), bWifi 1, secondsWithNoPing 1, socks 2/38 POWERSAVE
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:MAIN:Time 200, idle 81790/s, free 72360, MQTT 0(12), bWifi 1, secondsWithNoPing 1, socks 2/38 POWERSAVE
    Info:GEN:dhcp=0 ip=192.168.0.182 gate=192.168.0.1 mask=255.255.255.0 mac=fc:3c:d7:f0:02:e1
    Info:GEN:sta: 1, softap: 0, b/g/n
    Info:GEN:sta:rssi=-66,ssid=AccessPoint,bssid=2c:3a:fd:ce:a2:2e,channel=1,cipher_type:CCMP
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Debug:API:GET of api/info
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:MAIN:Time 202, idle 69079/s, free 72360, MQTT 0(12), bWifi 1, secondsWithNoPing 1, socks 2/38 POWERSAVE
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:MAIN:Time 204, idle 70855/s, free 72360, MQTT 0(12), bWifi 1, secondsWithNoPing 1, socks 2/38 POWERSAVE
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:TuyaMCU:Received: 55 AA 03 22 00 28 01 01 00 01 01 02 01 00 01 01 03 01 00 01 01 04 01 00 01 00 05 01 00 01 00 06 01 00 01 00 65 01 00 01 00 66 01 00 01 00 3F 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 34 (Unknown) len 47
    Info:TuyaMCU:ProcessIncoming: unhandled type 34
    Info:MAIN:Time 206, idle
  • #29 21228377
    DeDaMrAz
    Level 22  
    Posts: 594
    Help: 34
    Rate: 122
    Ok, so we have communication between the WiFi module and MCU, is that with baud rate 9600 or 115200?

    Next would be to to toggle your channel and observe the log and if possible paste it here. You can do that with ToggleChannel <channel index number> command

    Screenshot of a table with the ToggleChannel command and the ChannelIndex parameter with a description of its function.

    Also it would be good to make a screen shot of the your config tab from the webapp if possible.
  • #30 21228419
    io2345
    Level 9  
    Posts: 241
    Help: 1
    Rate: 6
    Board Language: german
    >>21228377
    It is on Baudrate 9600.
    When I use the toggle-command, the color of the control on the webpage alternates red/green. I can also see the commands in the log ("Info:MQTT:Channel has changed! Publishing 0 to channel 2
    Info:CMD:[WebApp Cmd 'ToggleChannel 2' Result] OK
    "), but relay does not switch off nor the LED indicator.
    Here is a screenshot of the configpage:
    Screenshot of IoT device configuration page with device information, pin settings, and channel types.

Topic summary

✨ The discussion centers on the LLXLJY 8-channel Tuya smart switch, focusing on its compatibility with OpenBK (OBK) firmware and integration challenges. The device uses a BK7231N chipset with TuyaMCU architecture, communicating via UART at 9600 baud. Initial firmware backup and flashing to OBK were successful, enabling relay toggling through OBK's web interface. However, issues such as relay interlocking behavior and incomplete initial state reading were noted, linked to TuyaMCU's handling of device states and DP (Data Point) IDs. Extensive TuyaMCU packet captures were performed to map DP IDs to functions like relay switching, jog setting, interlocking, delayed open/close, and power-on settings. The community developed OBK autoexec scripts to link TuyaMCU outputs to OBK channels, allowing relay control and partial state management. Input detection via unused GPIO pins on the CBU module was explored for thermostat integration, with digital inputs configured as dInput or dInput_n to control relays based on thermostat signals. Hardware modifications included replacing mechanical relays with low-power MOSFET relays (Omron G3VM-601EY) for silent operation and reduced power consumption. Challenges remain in fully implementing initial state synchronization, interpreting complex DP IDs, and transmitting input states via MQTT. The device's RF remote pairing requires manual onboard button presses, as app-based pairing is unsupported. PowerSave mode on BK7231N shows limited effect due to continuous TuyaMCU communication. Overall, the device is functional with OBK for relay control, with ongoing efforts to enhance full feature support and input state reporting.
Generated by the language model.

FAQ

TL;DR: This 8-channel board uses 8 relays and, as one contributor put it, "it is definitely MCU". For OpenBeken users, the working path is BK7231N + TuyaMCU at 9600 baud, with relays mapped to dpIDs 1-6, 101, and 102; stable eight-relay control was confirmed after OBK 1.17.738. [#21246749]

Why it matters: This FAQ saves time for anyone trying to convert the LLXLJY 8-channel Tuya switch to OpenBeken without breaking backup, UART capture, or relay control.

Option What happened Practical result
BK7231M backup mode "non-standard encryption key" warning and no usable backup Wrong target for this board
BK7231N backup mode 2 MB dump succeeded Correct chip family/mode
Early OBK builds Relays could switch on but not reliably off 0x22 status handling incomplete
OBK 1.17.738 + autoexec All 8 relays toggled correctly Confirmed working setup

Key insight: The hardware is OpenBeken-compatible, but only because it is a TuyaMCU design. You must treat the Wi-Fi module as a UART bridge to the MCU, not as a simple direct-relay controller. [#21247676]

Quick Facts

  • The successful stock-firmware backup produced a 2 MB dump, used BK7231N mode, detected GD25Q16B flash, and found the Tuya config magic at 2023424. [#21218602]
  • The confirmed working TuyaMCU serial speed was 9600 baud; using 115200 in autoexec caused incorrect behavior during early setup. [#21228256]
  • Final relay mapping was dpIDs 1-6, 101, 102 for the eight outputs, with menu/control functions concentrated around dpIDs 170-199. [#21223289]
  • On this TuyaMCU device, PowerSave did not meaningfully lower the reported module temperature; the user still saw about 47°C, and constant MCU communication was cited as the reason. [#21329223]
  • A later solid-state relay mod used Omron G3VM-601EY parts rated for about 23 W / 100 mA per channel, while G3VM-601CR/FR was noted as allowing up to 140 W. [#21422968]

How do I flash OpenBK7231N on the LLXLJY 8-channel Tuya switch and get all eight relays working with TuyaMCU?

Use BK7231N firmware, not BK7231M, then configure TuyaMCU at 9600 baud. 1. Back up the original 2 MB flash. 2. Flash an OpenBK7231N QIO build. 3. In autoexec.bat, start TuyaMCU, set baud to 9600, set channels 1-8 as Toggle, and link dpIDs 1-6, 101, and 102 to channels 1-8. Relay toggling was confirmed working after updating to OBK 1.17.738 with that mapping. [#21246749]

Why does the LLXLJY 8-channel switch backup fail in BK7231M mode with a 'non-standard encryption key' warning, and why does BK7231N mode work instead?

It fails because this board uses a BK7231N-based CBU module, not BK7231M. In BK7231M mode, the tool read an encryption key and showed a "non-standard encryption key" warning, then produced no saved result. In BK7231N mode, the same flash chip, GD25Q16B, was detected and the full 2 MB backup succeeded once the wiring was corrected. That makes the warning a mode mismatch symptom here, not proof that backup is impossible. [#21218602]

What wiring should I use to back up the original firmware from this CBU/BK7231N Tuya board without powering the whole circuit incorrectly?

Use only GND, TX, and RX for backup, and do not connect the 3.3 V line. The successful report said the 3.3 V lead powered the rest of the board and caused read failures. With only ground plus UART lines connected, backup worked and the board was identified as a likely TuyaMCU device. The same post also noted that the required power was present on the RX line during that readback setup. [#21218602]

How can I capture TuyaMCU UART packets on this LLXLJY board to identify dpIDs for relay control and advanced functions?

Capture the Wi-Fi-module-to-MCU line for app actions, and the MCU-to-Wi-Fi line for physical events. 1. Use two USB-UART adapters to record both lines, or one adapter in two separate passes. 2. Save one capture per action, such as toggle_relay1.txt. 3. Change exactly one setting each time, because mixed captures make dpID decoding harder. The thread explicitly recommended separate captures for each relay and each menu function. [#21220533]

What is TuyaMCU, and how does it affect OpenBeken compatibility on Tuya relay boards like the LLXLJY 8-channel switch?

"TuyaMCU" is a secondary microcontroller that handles device logic and exchanges serial dpID packets with the Wi-Fi module, instead of letting the Wi-Fi chip drive relays directly. On this board, that means OpenBeken must speak the Tuya serial protocol over UART, including heartbeat and status packets. The board was identified as definitely MCU-based, and that is why correct TuyaMCU mapping matters more than simple GPIO relay assignment. [#21218700]

What is dpID in the Tuya protocol, and which dpIDs were identified for the eight relay outputs and menu functions on this device?

"dpID" is a Tuya data-point identifier that names one control or status field in the MCU protocol, such as a relay state, timer string, or menu parameter. On this device, relay outputs were identified as dpIDs 1-6, 101, and 102. Menu and parameter areas included 170 for page-like state, 171-175 for string controls such as timers, 182-189 for numeric values, 191 for operation/menu selection, and 192-195 for menu-dependent values. [#21223289]

How do I configure autoexec.bat in OBK for the LLXLJY 8-channel switch so channels 1-8 map correctly to dpIDs 1-6, 101, and 102?

Create autoexec.bat with TuyaMCU started at 9600 baud, then map the eight bool dpIDs to channels 1-8. The confirmed pattern was linkTuyaMCUOutputToChannel 1 bool 1 through 6 bool 6, then 101 bool 7 and 102 bool 8. Set channels 1-8 to Toggle before or after linking. That exact structure was posted as the working eight-relay setup for OBK 1.17.738. [#21246749]

Why did the relays switch on but not off in early OBK builds, and how was command 0x22 status reporting involved?

They failed because the MCU kept sending command 0x22 status reports and OBK did not fully handle them yet. The logs showed repeated cmd 34 messages, which is decimal 34 for hex 0x22, marked as unknown and unhandled. Another contributor pointed out that the MCU waits for an acknowledgment to status reports, so incomplete 0x22 handling could block normal state changes. After OBK added 0x22 reply support and then parsing based on 0x07-like data, relay behavior improved. [#21228786]

Which OBK version finally fixed relay toggling on this TuyaMCU-based 8-channel board, and what autoexec setup was confirmed to work?

OBK 1.17.738 was the version that finally gave confirmed on/off control for all eight relays. The working autoexec used startDriver TuyaMCU, tuyaMcu_setBaudRate 9600, tuyaMcu_defWiFiState 4, set channels 1-8 to Toggle, and linked dpIDs 1-6, 101, and 102 to channels 1-8. After flashing that build, the user reported: all relays switched on and off, with only leftover Tuya settings causing temporary odd behavior. [#21247143]

How can I disable leftover Tuya settings like interlock or jog mode after flashing OBK if the relays behave strangely?

Restore stock Tuya firmware, reset the unwanted MCU-side settings, then flash OBK again. The thread showed that odd relay behavior, such as one relay turning another off, came from old interlock settings still stored in the TuyaMCU. After reflashing Tuya firmware and then returning to OBK, relay toggling worked normally. That is the safest cleanup path when interlock, jog, or power-on rules persist across OBK flashes. [#21247345]

What's the difference between using stock Tuya firmware settings and scripting the same behavior in OpenBeken for jog, delayed open/close, and interlocking?

Stock Tuya firmware stores those features inside the MCU, while OpenBeken can reproduce most of them with scripts and channel logic. The thread identified menu items for jog, power-on setting, interlocking, delayed open, delayed close, and timing, but the user noted these are also easy to implement in home automation. The practical difference is persistence and complexity: Tuya stores MCU-side behavior directly, while OBK gives more flexible logic but may require custom scripting. [#21219836]

How do I use free CBU GPIO pins as digital inputs in OpenBeken to control the LLXLJY relays from room thermostats?

Use unused CBU GPIOs as dInput or dInput_n and assign them to the same target channels as the relays. The thread confirmed that free pins on the CBU can be used because they are normal 0-3.3 V GPIOs. The recommended method was simple: set the chosen pin role to dInput for normal logic or dInput_n for inverted logic, and point it to the relay’s channel. A later test confirmed this worked for thermostat-driven relay control. [#21273718]

How can I script heating and cooling logic in OBK so thermostat inputs control floor-heating valves with normal or inverted logic depending on mode?

Use separate input channels and one mode channel, then copy or invert values in a loop. The confirmed pattern was: thermostat inputs on channels 9-16, relays on 1-8, and a mode flag on channel 20. When channel 20 was 0, the script used SetChannel 1 $CH9 and so on. When channel 20 was 1, it used negation such as SetChannel 1 !$CH9. The user reported that this script worked immediately after being added to autoexec.bat. [#21473876]

What are the safest ways to detect 230V thermostat signals for CBU GPIO inputs, and when should I use an optocoupler instead of a simple transistor circuit?

Use an optocoupler when you need the safest isolation from 230 V thermostat lines. The thread discussed a simpler transistor-based AC detection idea, but it was explicitly questioned for surge tolerance and voltage-spike safety. The user later recommended a separate optocoupler module as the safer choice and used one in the final installation. That is the better approach whenever mains voltage is present near the GPIO input path. [#21275094]

Why doesn't PowerSave reduce temperature much on a BK7231N TuyaMCU device like this one, and what actually affects heat and idle power use?

PowerSave has little effect here because TuyaMCU devices must keep talking over UART. One contributor stated that PowerSave works on BK7231N, but on TuyaMCU boards it does not meaningfully reduce temperature because the module and MCU communicate constantly. Another contributor added that open WebApp logs also hurt PowerSave behavior. In the reported case, the module stayed around 47°C, which was described as not unusually high for this design. [#21330580]
Generated by the language model.
ADVERTISEMENT