logo elektroda
logo elektroda
X
logo elektroda

Yieryi WiFi Tuya Smart PH ORP TDS EC Salz S.G Temp CF Monitor CB3S

Nordlicht77 2274 22
Best answers

How can I flash and configure this Yieryi Tuya pH/ORP/TDS/EC monitor with a CB3S module so the sensor values show correctly?

It is a TuyaMCU device with a BK7231N/CB3S module, so flash OpenBK7231N using the usual BK7231/TuyaMCU steps and reconnect only TX1/RX1 if they were lifted; if the MAC ends up as 00:00:00, restore the RF partition first [#21124323][#21124642][#21140310] Use `startDriver TuyaMCU` rather than `tmSensor`, set `tuyaMcu_defWiFiState 4` and `tuyaMcu_setBaudRate 9600`, then map the TuyaMCU outputs to channels: 8→1 temperature, 106→2 pH, 111→3 TDS, 116→4 EC, 121→5 Salt, 126→6 SG, 131→7 ORP, and 136→8 CF [#21140310][#21549543] Set the channels as read-only and label them accordingly; one user also noted that the autoexec labels do not always pass through to MQTT as expected [#21642753]
Generated by the language model.
ADVERTISEMENT
  • #1 21124305
    Nordlicht77
    Level 9  
    Posts: 67
    Hello
    I bought this device through Ali
    A CB3S chip is installed but a little different than what I know
    I'm not sure how to proceed with this device
    Water parameter measurement device with display and smartphone.
    Measurement device set with CB3S chip from AliExpress in packaging.
    Ali
    https://de.aliexpress.com/item/10050050508917...t_main.47.48145c5fva8llF&gatewayAdapt=glo2deu

    Close-up of a circuit board with visible electronic components such as capacitors, integrated circuits, and wires. PCB with installed CB3S chip. Photo of the inside of an electronic device with visible circuit board and wires.
    Close-up of a circuit board with CB3S chip and electronic components. App monitoring temperature, pH, and TDS with a temperature of 25°C Screenshot of a temperature monitoring app with a 25°C reading, temperature alarms, and additional parameters like EC and salinity. App screen displaying temperature graph and alarm settings. Screenshot of an app displaying a pH level of 7.91 and a weekly pH trend graph. WiFi Smart online app on a mobile device showing TDS values and alarm settings. App interface for monitoring electrical conductivity (EC) with a current reading of 0 µS. WiFi smart online device app screen displaying salinity value of 0 ppm. Screenshot of a smart system's share value monitoring app. WiFi Smart Online app screen showing ORP value -1364 mV and a trend graph. App screen displaying CF measurement at 0 with alarm settings. App displaying current temperature of 25°C with a temperature graph. App screen for WiFi smart online 8 in 1 tester showing various settings and notifications options.

    dpIDs
    Code: Arduino
    Log in, to see the code

    Standard Status Set
    Code: Arduino
    Log in, to see the code

    Query Things Data Model

    Code: Arduino
    Log in, to see the code
  • ADVERTISEMENT
  • #2 21124323
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14615
    Help: 655
    Rate: 12631
    At the first glance it looks like TuyaMCU device. Have you tried the basic TuyaMCU steps from our guide?
    https://www.elektroda.com/rtvforum/topic4038151.html
    Please check out the guide I linked to get some basic info, then I can help futher with supporting your device.
    Helpful post? Buy me a coffee.
  • #3 21124357
    Nordlicht77
    Level 9  
    Posts: 67
    Unfortunately something happened to me, the CB3 came off, you can save something like that
    The image shows a close-up of a circuit board with visible electronic components. One component, labeled CB3, is damaged or missing. Electronic module with a broken-off CB3 component on a wooden table.
  • ADVERTISEMENT
  • #4 21124407
    divadiow
    Level 38  
    Posts: 5062
    Help: 438
    Rate: 893
    wow. it came from the factory soldered at this angle?

    CB3S module soldered at an unusual angle on a green PCB.

    if you've only torn these two pads

    Close-up of a damaged PCB with visible TXD1, RXD1, and P7 pads.

    then it looks like you could reveal the remaining copper and bridge the CB3S contact to whatever is left

    Image of a PCB with visible damaged pads marked in yellow.

    although, maybe it looks like some of the copper trace is lifted too?

    if it was me I would reveal the remaining copper from those two torn pads on the PCB then see if there's still continuity to wherever they go

    Added after 1 [minutes]:

    is this a factory 3V3 drop to the PCB?

    Soldered electronic component on a blue PCB with a protruding wire.

    Added after 2 [minutes]:

    also, what does the boot log on CB3S and factory fw look like?
  • #5 21124419
    Nordlicht77
    Level 9  
    Posts: 67
    Yes, it's closed, I never opened it
    It looks a bit strange
    With ltchiptool-v4.11.1 in Terminal no matter what baud rate I don't get any words, just strange letters
  • #6 21124642
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14615
    Help: 655
    Rate: 12631
    Did you try to desolder CB3S or was it really that way when it came?
    You need to either reuse the remaining traces (scrap the soldermask) to reconnect TX1/RX1 or find where they go to make jumpers...
    Helpful post? Buy me a coffee.
  • #7 21125308
    Nordlicht77
    Level 9  
    Posts: 67
    It happened when I wanted to attach the pogo pins and when I pressed it, it broke away.
    I find it strange that it came that way from the factory.
    The pins
    Close-up of a circuit board with broken pins highlighted in yellow.
    I'll probably go to the other side, but the display is soldered there.
    I'll have to take a look.
    I don't really like soldering
  • ADVERTISEMENT
  • #8 21131636
    Nordlicht77
    Level 9  
    Posts: 67
    Hi
    A new device has just arrived
    Is there anything missing?
    The device looks different with the chip, it would also be soldered but not like before
    I'll flash it this evening
    Close-up of a green printed circuit board with various electronic components and a chip.
  • #9 21131658
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14615
    Help: 655
    Rate: 12631
    Photo seems a bit blury, but it looks similiar
    Helpful post? Buy me a coffee.
  • #10 21132491
    Nordlicht77
    Level 9  
    Posts: 67
    I've flashed 6 switches with CB3S in the last few days
    It doesn't work with this device
    What can I try?
  • #11 21132873
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14615
    Help: 655
    Rate: 12631
    What does not work? Can you be more specific?

    I'd need to get personally one piece of this device to do full step by step guide for configuring it. If not, I need you to provide more information, how are you trying to flash it, etc
    Helpful post? Buy me a coffee.
  • #12 21132940
    Nordlicht77
    Level 9  
    Posts: 67
    Hi

    I tried using the tool bk7231flasher_1.3.3 with different baud rates

    I tried the same thing with tool ltchiptool-v4.11.1 and different baud rates

    I have the feeling that CEN is not responding

    On both tools I have USB power without FTDI VCC

    even without USB power only with the FTDI
    I would like to try it from a distance first
    The device also has an AMS1117 for your information

    You come from Poland, right?
    Then shipping wouldn't be so expensive
  • #13 21132951
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14615
    Help: 655
    Rate: 12631
    Yes, I'm from Poland, if you want me to check out this device personally and make a guide, then we can figure out something. I had recently received one package from a reader from Germany, here's how it ended:
    Reverse engineering and LED lamp actuation on the SM15155 chip (similar to WS2812B), datasheet
    Helpful post? Buy me a coffee.
  • #15 21133783
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14615
    Help: 655
    Rate: 12631
    Why do you think so?

    The only contact that can prevent flashing is RX1 and TX1.
    Helpful post? Buy me a coffee.
  • #16 21133784
    Nordlicht77
    Level 9  
    Posts: 67
    I don't understand anything right now
    I have now taken another UART-TTL USB adapter with CH340G
    I used the following pins
    TX -> RX
    RX -> TX
    GND -> GND
    VCC -> VCC
    then I opened bk7231flasher_1.3.3
    Chip BK7231N
    Firmware 1.17.622
    Do Backup and flash new printedthen when the message about Cen comes,
    I immediately disconnected the VCC
    not everything elseIt started running
    After a while this message came
    Code: Arduino
    Log in, to see the code

    It ended up being a write error
    Even when trying to restore the backup, the same message was written error
    Then I took ltchiptool and set everything to Auto and flashed the file 1.17.622
    It went through but I found WiFi Point
    Then I went back to bk7231flasher_1.3.3 and flashed it again like in the first step
    It went through

    Backup name has not been set, so output file will only contain flash type/date.Starting read backup and flash new!
    Now is: Donnerstag, 27. Juni 2024 01:42:29.
    Flasher mode: BK7231N
    Going to open port: COM4.
    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 (115200)!
    Will try to read device flash MID (for unprotect N):
    Flash MID loaded: 1560EB
    Will now search for Flash def in out database...
    Flash def found! For: 1560EB
    Flash information: mid: 1560EB, icName: TH25Q_16HB, manufacturer: TH, 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: 80
    sr: 4680
    final sr: 4680
    msk: 407c
    cw: 0, sb: 2, lb: 5
    bfd: 0
    sr: 80
    sr: 680
    final sr: 680
    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 0x7101C91E!
    All read!
    Loaded total 0x200000 bytes
    Wrote 2097152 to readResult_BK7231N_QIO_2024-27-6-01-45-40.bin
    Backup 2MB created, now will attempt to extract OBK config.
    OBK config extracted.
    Backup 2MB created, now will attempt to extract Tuya config.
    Failed to extract Tuya keys - magic constant header not found in binary
    Sorry, failed to find Tuya Config in backup binary.
    Reading file firmwares/OpenBK7231N_QIO_1.17.622.bin...
    Loaded 1220464 bytes from firmwares/OpenBK7231N_QIO_1.17.622.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 (115200)!
    Will try to read device flash MID (for unprotect N):
    Flash MID loaded: 1560EB
    Will now search for Flash def in out database...
    Flash def found! For: 1560EB
    Flash information: mid: 1560EB, icName: TH25Q_16HB, manufacturer: TH, 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: 80
    sr: 680
    final sr: 680
    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 0x18F3A073!
    
    NOTE: the OBK config writing is disabled, so not writing anything extra.
    Writing file data to chip success


    I was now able to find and set up the WiFi point
    Unfortunately the problem is again with the same Mac
    Now I need help with the config

    Hinzugefügt nach 2 [Stunden] 43 [Minuten]:

    I'm a little further

    But now I still have a formatting problem
    I have it set about how it looks now and how it should look
    You can send the alarm values ​​to MCU and save them


    startDriver NTP
    startDriver TuyaMCU
    startDriver tmSensor
    
    ntp_setServer 172.20.48.1
    ntp_timeZoneOfs 2
    
    tuyaMcu_defWiFiState 4
    
    setChannelType 1 temperature_div10
    linkTuyaMCUOutputToChannel 8 val 1
    
    setChannelType 2 temperature_div10
    setChannelLabel 2 "High temperature alarm value"
    linkTuyaMCUOutputToChannel 102 val 2
    
    setChannelType 3 temperature_div10
    setChannelLabel 3 "Low temperature alarm value"
    linkTuyaMCUOutputToChannel 103 val 3
    
    
    //currently :  Temperature 389.0C (PH Aktuell)
    //correct :  3.89 PH (PH Aktuell)
    setChannelType 4  temperature
    setChannelLabel 4 "PH Aktuell"
    linkTuyaMCUOutputToChannel 106 val 4
    
    setChannelType 5  temperature_div10
    setChannelLabel 5 "Warning pH value higher than set"
    linkTuyaMCUOutputToChannel 107 val 5
    
    setChannelType 6  temperature_div10
    setChannelLabel 6 "Warning pH value lower than set"
    linkTuyaMCUOutputToChannel 108 val 6
    
    //currently :  Temperature 3150.0C (TDS value)
    //correct :  03.14 TDS  (TDS value)
    setChannelType 7  temperature
    setChannelLabel 7 "TDS value"
    linkTuyaMCUOutputToChannel 111 bool 7
    
    setChannelType 8  temperature_div10
    setChannelLabel 8 "Warning TDS value higher than set"
    linkTuyaMCUOutputToChannel 112 val 8
    
    setChannelType 9  temperature_div10
    setChannelLabel 9 "Warning TDS  value lower than set"
    linkTuyaMCUOutputToChannel 113 val 8
    
    
    //currently :  Temperature 626.00C (EC value)
    //correct :  6260 EC (EC value)
    setChannelType 10  temperature_div10
    setChannelLabel 10 "EC value"
    linkTuyaMCUOutputToChannel 116 val 10
    
    setChannelType 11  temperature_div10
    setChannelLabel 11 "EC high alarm value"
    linkTuyaMCUOutputToChannel 117 val 11
    
    setChannelType 12  temperature_div10
    setChannelLabel 12 "EC low alarm value"
    linkTuyaMCUOutputToChannel 118 val 12
    
    //currently : Temperature 360.00C (Salinity value)
    //correct :  36000 SALT (Salinity value)
    setChannelType 13  temperature_div10
    setChannelLabel 13 "Salinity value"
    linkTuyaMCUOutputToChannel 121 val 13
    
    setChannelType 14  temperature_div10
    setChannelLabel 14 "High salinity alarm value"
    linkTuyaMCUOutputToChannel 122 val 14
    
    setChannelType 15  temperature_div10
    setChannelLabel 15 "Low salinity alarm value"
    linkTuyaMCUOutputToChannel 123 val 15
    
    //currently : Temperature 100.00C (Proportion value)
    //correct :  100.00 (Proportion value)
    setChannelType 16  temperature_div10
    setChannelLabel 16 "Proportion value"
    linkTuyaMCUOutputToChannel 126 val 16
    
    setChannelType 17  temperature_div10
    setChannelLabel 17 "Proportion high alarm value"
    linkTuyaMCUOutputToChannel 127 val 17
    
    setChannelType 18  temperature_div10
    setChannelLabel 18 "Proportion low alarm value"
    linkTuyaMCUOutputToChannel 128 val 18
    
    
    //currently : Temperature  -29.29C (ORP value)
    //correct : 291 ORB
    setChannelType 19  temperature_div10
    setChannelLabel 19 "ORP value"
    linkTuyaMCUOutputToChannel 131 val 19
    
    setChannelType 20  temperature_div10
    setChannelLabel 20 "ORP high alarm value"
    linkTuyaMCUOutputToChannel 132 val 20
    
    setChannelType 21  temperature_div10
    setChannelLabel 21 "ORP low alarm value"
    linkTuyaMCUOutputToChannel 133 val 21
    
    //currently :  Temperature 611.00C (CF value)
    //correct :  061.0 CF
    setChannelType 22  temperature_div10
    setChannelLabel 22 "CF value"
    linkTuyaMCUOutputToChannel 136 val 22
    
    setChannelType 23  temperature_div10
    setChannelLabel 23 "CF high alarm value"
    linkTuyaMCUOutputToChannel 137 val 23
    
    setChannelType 24  temperature_div10
    setChannelLabel 24 "CF low alarm value"
    linkTuyaMCUOutputToChannel 138 val 24
    
    setChannelType 25  temperature_div10
    setChannelLabel 25 "??? value"
    linkTuyaMCUOutputToChannel 141 val 25
  • #17 21140310
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14615
    Help: 655
    Rate: 12631
    Why do you have tmSensor driver starting? It is not a battery-powered device. Tmsensor driver may only break stuff here.

    Nordlicht77 wrote:

    I was now able to find and set up the WiFi point
    Unfortunately the problem is again with the same Mac

    If your device MAC ends with 00 00 00, it means you have flashed something incorrectly. You can do restore RF partition in the Web App -> Flash, or via our BK7231 Easy Flash Tool.

    Have you managed to make any progress with this device?
    Helpful post? Buy me a coffee.
  • #18 21546266
    zebcrs
    Level 2  
    Posts: 2
    Can anyone give me a quick how-to on this device?
    I have flashed the software onto the CBS3 module and wifi works fine. For some moment I had it working but I messed up something.
    I need a working autoexec.bat that makes the sensor transmit values for all 8 channels I believe.
    My goal is to have the sensor sending data to the CBS3 module. I sniff that data with an ESP32 module that does some other stuff for my pool and integrates with my Crestron system.
  • #19 21549543
    zebcrs
    Level 2  
    Posts: 2
    >>21546266
    I have tinkered for a bit here and this code is working for me now.
    The only problem I have is that the autoexec is very limited in size. This script is at the max limit now.

    startDriver TuyaMCU
    tuyaMcu_defWiFiState 4
    setChannelType 1  temperature_div10
    setChannelLabel 1 "Water temp"
    setChannelType 1 Temperature
    linkTuyaMCUOutputToChannel 8 val 1
    addRepeatingEvent 15 -1 publishFloat temperatur $CH1/10 0 2 
    setChannelType 2  Ph
    setChannelLabel 2 "PH Aktuel"
    setChannelType 2 PH_Value
    linkTuyaMCUOutputToChannel 106 val 2
    addRepeatingEvent 15 -1 publishFloat ph $CH2/100 0 2 
    setChannelType 3  Tds
    setChannelLabel 3 "TDS val"
    setChannelType 3 TDS_Value
    linkTuyaMCUOutputToChannel 111 bool 3
    addRepeatingEvent 15 -1 publishFloat tds $CH3 0 2 
    setChannelType 4  Orp
    setChannelLabel 4 "ORP val"
    linkTuyaMCUOutputToChannel 131 val 4
    addRepeatingEvent 15 -1 publishFloat orp $CH4 0 0 
    setChannelType 5  Ec
    setChannelLabel 5 "Ec_current"
    linkTuyaMCUOutputToChannel 116 bool 5
    addRepeatingEvent 15 -1 publishFloat Ec $CH5 0 2 
    setChannelType 6  Sal
    setChannelLabel 6 "salinity_current"
    setChannelType 6 Salt Level
    linkTuyaMCUOutputToChannel 121 bool 6
    addRepeatingEvent 15 -1 publishFloat Sal $CH6 0 0 
    setChannelType 7  Pc
    setChannelLabel 7 "pro_current"
    linkTuyaMCUOutputToChannel 126 bool 7
    addRepeatingEvent 15 -1 publishFloat Pc $CH7 0 2 
    setChannelType 8 Cf
    setChannelLabel 8 "cf_current"
    linkTuyaMCUOutputToChannel 126 bool 8
    addRepeatingEvent 15 -1 publishFloat Cf $CH8 0 2 
    setChannelType 9 Rh
    setChannelLabel 9 "rh_current"
    setChannelType 9 Humidity
    linkTuyaMCUOutputToChannel 141 bool 9
    addRepeatingEvent 15 -1 publishFloat Rh $CH9 0 2 
    tuyaMcu_sendQueryState
    delay_s 120
    again:
    delay_s 15
  • #20 21549563
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14615
    Help: 655
    Rate: 12631
    Hey, just to be sure, are you putting it as short startup command or as autoexec.bat in LittleFS in the Web App?
    Helpful post? Buy me a coffee.
  • #21 21549566
    zebcrs
    Level 2  
    Posts: 2
    >>21549563
    There are different ways? :-)
    I use change startup command in the web interface.
  • ADVERTISEMENT
  • #23 21642753
    ludodoM
    Level 1  
    Posts: 1
    Hi !

    I've been unsuccessful flashing the C3BS and probably fried/bricked it on the way.

    I replaced the module with an ESP-12S ESP8266 and successfully flashed OpenBeken.

    I also configured wifi and mqtt, but all the channels/metrics stay to 0,
    despite the 3 little screens of the device displaying values.
    I wonder if the pin setting must be set ?

    OpenBeken interface showing sensor channels with 0.00 values and MQTT state as connected
    GPIO pin configuration table in OpenBeken with no roles or channels assigned.

    Here is the autoexec.bat I used :

    
    startDriver tuyaMCU
    tuyaMcu_defWiFiState 4
    tuyaMcu_setBaudRate 9600
    linkTuyaMCUOutputToChannel 8 val 1
    setChannelType 1 Temperature_Div10
    // pH
    linkTuyaMCUOutputToChannel 106 val 2
    setChannelType 2 ReadOnly
    setChannelLabel 2 ph
    // TDS
    linkTuyaMCUOutputToChannel 111 val 3
    setChannelType 3 ReadOnly
    setChannelLabel 3 TDS
    // EC
    linkTuyaMCUOutputToChannel 116 val 4
    setChannelType 4 ReadOnly
    setChannelLabel 4 EC
    // Salt
    linkTuyaMCUOutputToChannel 121 val 5
    setChannelType 5 ReadOnly
    setChannelLabel 5 Salt
    // S.G.
    linkTuyaMCUOutputToChannel 126 val 6
    setChannelType 6 ReadOnly
    setChannelLabel 6 SG
    // ORP
    linkTuyaMCUOutputToChannel 131 val 7
    setChannelType 7 ReadOnly
    setChannelLabel 7 ORP
    // CF
    linkTuyaMCUOutputToChannel 136 val 8
    setChannelType 8 ReadOnly
    setChannelLabel 8 CF
    


    Also, the channel labels in autoexec.bat dont seem to pass to MQTT ?
    MQTT panel showing jacuzzi device with domain and zero-value channels


    What did I do wrong ?

Topic summary

✨ The discussion centers on the Yieryi WiFi Tuya Smart PH ORP TDS EC Salz S.G Temp CF Monitor featuring a CB3S chip, purchased via AliExpress. The user encountered issues with the CB3S chip detaching during pogo pin attachment and difficulties communicating with the device using tools like ltchiptool and bk7231flasher at various baud rates. The device appears to be a TuyaMCU-based system, but flashing attempts resulted in errors and unclear responses, possibly due to damaged PCB pads or incomplete pin connections beyond the standard TX, RX, VCC, CEN, and GND. Suggestions include repairing PCB traces, verifying UART connections, and using specific flashing tools with correct firmware versions. A contributor offered to assist with a step-by-step guide if the device is shipped to Poland. Later, the user received a new device and attempted flashing again. The conversation also covers configuring the device’s autoexec.bat script to transmit sensor data for multiple channels (temperature, pH, TDS, ORP, EC) via the CB3S module, with example code provided for channel setup and data publishing. The user integrates sensor data with an ESP32 module for pool monitoring and Crestron system integration. The discussion highlights challenges in flashing, hardware repair, and firmware configuration for this TuyaMCU-based multi-parameter water quality sensor device.
Generated by the language model.

FAQ

TL;DR: A 2 MB backup and 115200 baud flash worked on this Yieryi CB3S monitor after power-cycling VCC at the CEN prompt; one expert warned, "The only contact that can prevent flashing is RX1 and TX1." This FAQ helps OpenBeken users flash, recover, and map TuyaMCU channels for pH, ORP, TDS, EC, salinity, S.G., CF, and temperature on the Yieryi water monitor. [#21133783]

Why it matters: This device can be flashed successfully, but wrong wiring, lifted pads, bad scaling, or a broken RF partition can leave Wi-Fi, MQTT, and sensor values unusable.

Tool What it successfully did in the thread Noted limitation
bk7231flasher 1.3.3 Read full 2 MB backup, detected BK7231N, and later flashed OpenBeken successfully First attempts ended with write errors on this device
ltchiptool v4.11.1 Could flash firmware 1.17.622 after auto-detect settings Terminal output showed only garbled characters
OpenBeken Web App + LittleFS Supports longer autoexec.bat than the short startup command Requires correct TuyaMCU mapping and scaling

Key insight: Treat this Yieryi unit as a TuyaMCU device, not a simple direct-sensor board. Flashing the CB3S is only step one; the real work is correct UART access, RF recovery if needed, and precise dpID-to-channel scaling.

Quick Facts

  • The posted Tuya data model exposes 9 sensor groups: temperature, pH, TDS, EC, salinity, S.G., ORP, CF, and humidity, with dpIDs from 8 to 143. [#21124305]
  • The model ranges are explicit: temperature -10.0°C to 110.0°C, pH 0.00 to 15.00, ORP -2000 to +2000 mV, and S.G. 0.500 to 2.000. [#21124305]
  • A successful backup read identified flash TH25Q_16HB, size 0x200000 bytes (2 MB), and produced a valid CRC before flashing OpenBK7231N 1.17.622. [#21133784]
  • The device exposed a TuyaMCU clue during backup: baud 9600 and the message that no meaningful pins data was found, which pointed to TuyaMCU rather than standard Tuya pin metadata. [#21133784]
  • If the MAC address ends in 00:00:00, the thread states the RF partition was flashed incorrectly and should be restored from the OpenBeken Web App or Easy Flash Tool. [#21140310]

How do I flash the Yieryi WiFi Tuya smart pH/ORP/TDS/EC/Salinity monitor with a CB3S module using bk7231flasher or ltchiptool?

Use UART on the CB3S, then flash it as a BK7231N device. 1. Connect TX->RX, RX->TX, GND->GND, and VCC, then start bk7231flasher 1.3.3 or ltchiptool. 2. At the CEN or reboot prompt, briefly remove and reapply VCC; the successful log used 115200 baud. 3. First make a 2 MB backup, then flash OpenBK7231N_QIO_1.17.622.bin. One successful session read the full backup, detected flash ID 1560EB, and then wrote firmware after an erase from 0x11000. [#21133784]

Why does a CB3S module on this Yieryi water quality monitor sometimes appear factory-soldered at an odd angle, and how should I handle it safely?

The thread shows at least one unit arrived with the CB3S visibly skewed, and that weak mechanical support made it easy to break off with pogo-pin pressure. Handle it as a fragile rework case, not as a rigid factory module. Avoid pressing directly on the module, inspect pad alignment first, and use minimal force when probing. A responder explicitly asked whether it came from the factory at that angle, which shows this was unusual even for experienced modders. [#21124407]

What can I do if the CB3S pad lifts off the PCB while attaching pogo pins, and how do I reconnect TX1 and RX1 afterward?

Reuse the remaining copper or trace stubs and jumper TX1 and RX1 back in. 1. Scrape solder mask from the torn pad area until clean copper appears. 2. Check continuity from that copper to the original destination. 3. Solder fine wires from the CB3S pads to those trace points. The thread advice was direct: expose the remaining copper, bridge the CB3S contact, and verify continuity. This is the critical recovery path when only two UART-related pads lifted. [#21124407]

Why do I only get strange characters in ltchiptool terminal from the CB3S boot log regardless of baud rate?

Because the terminal output was not giving a usable boot log on this board, even when different baud rates were tried. The user reported that ltchiptool v4.11.1 produced only strange letters at every tested rate, so the thread never confirmed a readable console. In this case, a garbled terminal did not prevent flashing later; actual progress came from entering flashing mode correctly and using the flasher tools, not from decoding the boot log. [#21124419]

What does the 'Sorry, no meaningful pins data found. This device may be TuyaMCU' message mean when backing up a BK7231N device?

It means the backup did not contain standard Tuya pin metadata, and the device likely uses a separate MCU over UART. The same log also found {"baud":"9600"}, then said the Tuya section started at 2023424, which strongly pointed to TuyaMCU behavior instead of a simple GPIO-configured product. You should then focus on TuyaMCU channel mapping and serial communication, not only on pin-role extraction. [#21133784]

How should I configure OpenBeken autoexec.bat for this TuyaMCU-based Yieryi monitor so pH, TDS, EC, salinity, S.G., ORP, CF, and temperature report correctly?

Start with startDriver TuyaMCU, set Wi-Fi state, then map the published dpIDs one by one. The thread confirmed working dpIDs for temperature 8, pH 106, TDS 111, EC 116, salinity 121, S.G. 126, ORP 131, CF 136, and humidity 141. A working script also used tuyaMcu_sendQueryState and periodic publishFloat events every 15 seconds. Keep the mapping simple first, confirm live values, then add labels and MQTT publishing after the raw channels update correctly. [#21549543]

Why are the values formatted wrong in OpenBeken on this device, such as 389.0C instead of 3.89 pH or 360.00C instead of 36000 salinity?

They are wrong because the channels were assigned temperature-style types instead of value types that match each dpID scale. In the thread, pH dpID 106 was shown as 389.0C instead of 3.89, and salinity dpID 121 as 360.00C instead of 36000. The posted Tuya model explains why: pH has scale 2, S.G. has scale 3, temperature has scale 1, and ORP has scale 0. If you map everything as temperature, OpenBeken formats numbers with the wrong divider and unit. [#21124305]

What is TuyaMCU, and how does it affect flashing and channel mapping on a CB3S/BK7231N sensor device?

"TuyaMCU" is a serial control architecture that uses a separate microcontroller to handle sensors and exchanges dpID-based data with the Wi-Fi module over UART, instead of wiring every sensor directly to the CB3S. On this Yieryi monitor, that means flashing OpenBeken only replaces the BK7231N Wi-Fi side. You still must map dpIDs like 8, 106, 111, 116, 121, 126, 131, and 136 to channels, and a missing pin dump is normal for this type of device. [#21124323]

What is the RF partition in OpenBeken, and how does restoring it fix the MAC address ending in 00:00:00 after flashing?

"RF partition" is the non-volatile radio data area that stores Wi-Fi calibration and identity data, including the MAC address, so corrupt contents can break normal network identity after flashing. In this thread, a MAC ending in 00:00:00 was treated as a clear sign of an incorrect flash. The recommended fix was to restore the RF partition through the OpenBeken Web App under Flash, or with the BK7231 Easy Flash Tool. [#21140310]

bk7231flasher vs ltchiptool: which is better for backing up and flashing a CB3S/BK7231N Tuya water monitor?

Use both, but favor bk7231flasher for backup and verification on this device. The successful thread workflow used bk7231flasher 1.3.3 to read a full 2 MB backup, detect BK7231N, identify flash TH25Q_16HB, and verify CRC. ltchiptool then helped push firmware 1.17.622 when earlier writes failed. In short: bk7231flasher gave the clearest device diagnostics, while ltchiptool helped recover a stuck flashing attempt. [#21133784]

How do I enter flashing mode on a CB3S module when CEN seems unresponsive and the device behaves differently with USB power versus FTDI VCC?

Trigger the flasher prompt, then power-cycle the module from VCC instead of relying only on CEN. The successful method was to connect UART, start bk7231flasher, wait for the reboot prompt, and immediately disconnect and reconnect VCC. That worked even after earlier attempts suggested CEN was not responding. The user also tested both USB power and FTDI power, but the decisive step was the timed VCC drop during the flasher handshake. [#21133784]

Why might an ESP-12S ESP8266 replacement running OpenBeken show all channels stuck at 0 even though the Yieryi device screens display live readings?

Because OpenBeken will show zeros until the replacement module receives TuyaMCU UART data on the correct pins and baud. In the ESP-12S case, Wi-Fi and MQTT worked, but every mapped channel stayed at 0 while the three local screens still showed measurements. That means the sensor board itself was alive, but the ESP8266 was not yet talking correctly to the MCU. The posted script already used tuyaMcu_setBaudRate 9600, so pin mapping was the next likely missing piece. [#21642753]

Which pin settings and baud rate should I use to get TuyaMCU data from this sensor board when replacing the original CB3S with an ESP8266?

Use the UART pins that carry the original CB3S-to-MCU link and set TuyaMCU baud to 9600. The thread repeatedly centered flashing and recovery on TX1 and RX1, and an expert stated, "The only contact that can prevent flashing is RX1 and TX1." In the ESP-12S replacement post, tuyaMcu_setBaudRate 9600 was already present, so the remaining task was correct serial pin routing between the sensor MCU and the ESP8266. [#21642753]

How can I work around the OpenBeken startup command length limit by using autoexec.bat in LittleFS for a long TuyaMCU script?

Store the script as autoexec.bat in LittleFS instead of using the short startup-command field. One user hit the startup length limit after mapping 9 channels and adding repeating publish events every 15 seconds. The direct response from the maintainer was to ask whether the script was in the short startup command or in autoexec.bat in the Web App, which confirms LittleFS is the intended workaround for long TuyaMCU setups. [#21549563]

Why don't custom setChannelLabel names from autoexec.bat appear in MQTT topics or payloads on OpenBeken?

Because this thread did not show channel labels automatically renaming MQTT outputs, and no text fix was posted. The ESP-12S user explicitly noted that labels from autoexec.bat did not seem to pass to MQTT, and the attached screenshot still showed generic channel naming. The only follow-up in that part of the discussion focused on UART setup and not on MQTT label propagation, so the thread documents the limitation but not a confirmed solution. [#21642753]
Generated by the language model.
ADVERTISEMENT