logo elektroda
logo elektroda
X
logo elektroda

Request for Help – Flashing Della Minisplit WiFi Module (WBR3 on TCWBRCU1)

dressyspider 4983 214
ADVERTISEMENT
  • #151 21569764
    dressyspider
    Level 2  
    Yes, everything appears to be working well. The only part that can be a bit tricky is adjusting the temperature too quickly in the Home Assistant app. For instance, if I change it from 77°F to 70°F, it adjusts by 0.5°F each time I tap the plus or minus button. When tapping repeatedly, the value might jump back to one of the previously selected settings. It feels a bit like lag, although I’m not entirely sure why that happens.

    Aside from that, I haven’t noticed any other strange or incorrect behavior.
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #152 21569795
    p.kaczmarek2
    Moderator Smart Home
    Maybe we can fix it, but it depends. Does this unit allow for temperature to be set from outside the OBK? For example, via IR remote or the buttons on the case?

    If not, then we can store "fake" temperature in OBK and use it for HA, instead of sending back to HA the temperature returned by the unit.

    Added after 1 [minutes]:

    Or maybe I could try to store the "fake" temperature in OBK and only send change if temperature really changes from the device side...
    Helpful post? Buy me a coffee.
  • #153 21569805
    dressyspider
    Level 2  
    p.kaczmarek2 wrote:
    Does this unit allow for temperature to be set from outside the OBK? For example, via IR remote or the buttons on the case?

    It does. It can with a very basic remote.

    Edit: It seems the remote has a slight delay when using the up or down buttons. The signal appears to be sent about one to two seconds after you stop pressing the buttons, rather than right away.

    Remote:

    Front:
    DELLA remote control with LCD display lying on a light marble surface.

    Back:
    Back of a white remote control lying on a light countertop.

    Back (Close-up):
    Backside of a remote control with printed English instructions on a white casing.
    Helpful post? Buy me a coffee.
  • #154 21569815
    p.kaczmarek2
    Moderator Smart Home
    Maybe I could do some kind of logic, for example... remember the exact value from HA and remember the value sent to AC. Then, keep using exact value from HA as long as value sent to device is the same as the value send back from the device. Then, when change detected, reset all 3 values... but I am worried there might be a short moment when HA sends new value to the device and device sends back old value, which can cause bouncing. It would be easy to do with having device at hand, but I need to think how to do it remotely with OBK simulator.
    Helpful post? Buy me a coffee.
  • #155 21569826
    dressyspider
    Level 2  
    Let me know how I can help you test this. I have the unit on hand and can try out different scenarios or commands if that would help with developing or verifying the logic. Also, I added images of the remote to my previous reply in case that helps clarify how it works. Just let me know what you'd like me to do.
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #156 21575678
    AbidingOhmsLaw
    Level 9  
    >>21541593 I'm defiantly printing that workstation!
  • #158 21575734
    AbidingOhmsLaw
    Level 9  
    I'm going to try the build from PR 6174 using OpenRTL87X0C_1659_merge_3cdfc66dd962.bin and will let you know how it goes on the WBR1 module. Also I have photos of the main board and can post them if you want. The main board is using a Renesas RL78/G13 MCU (R5F100F)

    This is the data sheet on the MCU
    https://www.renesas.com/en/document/dst/rl78g13-data-sheet?r=1054286


    EDIT: Had the wrong file name for the flash bin file, changed it
  • #160 21576549
    AbidingOhmsLaw
    Level 9  
    [postid]21576524[/po>>21576524 Nice, let me know if you want any of the pics and instructions for the WBR1 module (it has a different flash procedure and different MCU chip).

    Added after 1 [minutes]:

    OK, this is as far as I'm going to get today, I will put the module back in the unit tonight and work on the MQTT tomorrow.


    OpenRTL87X0C device control panel with configuration, restart, and info buttons.

    Added after 2 [hours] 17 [minutes]:

    I lied, I did work on it some more. I got MQTT set up and in communication with HA then I tried to start the TCL driver with "startDriver TCL" and the module crashed and rebooted

    
    [ISR]Assert(( portNVIC_INT_CTRL_REG & portVECTACTIVE_MASK ) == 0) failed on line 443 in file ../../../component/os/freertos/freertos_v10.0.1/Source/portable/GCC/ARM_RTL8710C/port.c
    
    == Rtl8710c IoT Platform ==
    Chip VID: 5, Ver: 3
    ROM Version: v3.0
    
    == Boot Loader ==
    Aug 30 2024:04:22:00
    
    Boot Loader <==
    
    == RAM Start ==
    Build @ 08:29:49, Jun  4 2025
    interface 0 is initialized
    interface 1 is initialized
    
    Initializing WIFI ...Entering initLog()...
    Commands registered!
    initLog() done!
    Info:MAIN:Main_Init_Before_Delay
    EasyFlash V4.1.0 is initialize success.
    You can get the latest version on https://github.com/armink/EasyFlash .
    
    WIFI initialized
    
    init_thread(47), Available heap 0x1b130Main_Init_Before_Delay done
    Main_Init_Delay
    Main_Init_Delay doneWarn:CFG:CFG_InitAndLoad: Correct config has been loaded with 4 changes count.
    Error:CMD:no file early.bat err -2
    Info:GEN:PI
    N_SetupPins pins have been set up.
    Info:MAIN:Main_Init_Before_Delay done
    Info:MAIN:Main_Init_Delay
    Info:MAIN:Main_Init_Delay done
    Info:MAIN:Main_Init_After_Delay
    Info:MAIN:Using SSID [xxxxxxxxxxxxx]
    Info:MAIN:Using Pass [xxxxxxxxxxxxxxxxx]
    Info:HTTP:TCP server listening
    Info:MQTT:MQTT_RegisterCallback called for bT dellaUpper/ subT dellaUpper/+/set
    Info:MQTT:MQTT_RegisterCallback called for bT dellaUpper-ctl/ subT dellaUpper-ctl/+/set
    Info:MQTT:MQTT_RegisterCallback called for bT cmnd/dellaUpper/ subT cmnd/dellaUpper/+
    Info:MQTT:MQTT_RegisterCallback called for bT cmnd/dellaUpper-ctl/ subT cmnd/dellaUpper-ctl/+
    Info:MQTT:MQTT_RegisterCallback called for bT dellaUpper/ subT dellaUpper/+/get
    Info:CMD:CMD_StartScript: started @startup at the beginning
    Info:CMD:LFS_ReadFile: failed to file autoexec.bat
    Info:CMD:CMD_StartScript: failed to get file autoexec.bat
    Info:MAIN:Main_Init_After_Delay done
    Info:MAIN:Time 1, idle 0/s, free 101080, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 
    Info:MAIN:Time 2, idle 0/s, free 101080, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 
    Info:MAIN:Time 3, idle 0/s, free 101080, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 
    Info:MAIN:Time 4, idle 0/s, free 101080, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 
    Info:MAIN:Time 5, idle 0/s, free 101080, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 
    Info:MAIN:Registered for wifi changes
    Info:MAIN:Connecting to SSID [xxxxxxxxxxx]
    Info:MAIN:Time 6, idle 0/s, free 97888, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 
    Info:MAIN:Boot complete time reached (5 seconds)
    
    [Driver]: set ssid [xxxxxxxxxxxx] 
    Info:MAIN:Main_OnWiFiStatusChange - WIFI_STA_CONNECTING - 1
    scan report rssi: -64 bssid: 78:8a:20:4c:6d:04
    scan report rssi: -64 bssid: 78:8a:20:4c:6d:04
    scan report rssi: -64 bssid: 78:8a:20:4c:6d:04
    Info:MAIN:Time 7, idle 0/s, free 98240, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 
    Info:MAIN:Time 8, idle 0/s, free 98240, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 
    
    [Driver]: start auth to 78:8a:20:4c:6d:04
    
    [Driver]: auth alg = 2
    
    [Driver]: auth success, start assoc
    Info:MAIN:Time 9, idle 0/s, free 98728, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 
    
    [Driver]: association success(res=5)
    
    [Driver]: set pairwise key to hw: alg:4(WEP40-1 WEP104-5 TKIP-2 AES-4)
    
    [Driver]: set group key to hw: alg:4(WEP40-1 WEP104-5 TKIP-2 AES-4) keyid:1
    Info:MAIN:Time 10, idle 0/s, free 94768, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 
    
    Interface 0 IP address : 10.0.0.56
    Info:MAIN:Main_OnWiFiStatusChange - WIFI_STA_CONNECTED - 4
    Info:MAIN:Time 11, idle 0/s, free 96928, MQTT 0(0), bWifi 1, secondsWithNoPing -1, socks 2/21 
    Info:MAIN:Time 12, idle 0/s, free 96928, MQTT 0(0), bWifi 1, secondsWithNoPing -1, socks 2/21 
    Info:MQTT:mqtt_userName xxxxxxxxx
    mqtt_pass ********
    mqtt_clientID dellaUpper
    mqtt_host 10.0.0.111:1883
    Info:MAIN:Time 13, idle 0/s, free 93920, MQTT 0(1), bWifi 1, secondsWithNoPing -1, socks 2/21 
    Info:MAIN:Time 14, idle 0/s, free 94096, MQTT 0(1), bWifi 1, secondsWithNoPing -1, socks 2/21 
    Info:MQTT:mqtt_connection_cb: Successfully connected
    Info:MQTT:mqtt_subscribed to dellaUpper/+/set
    Info:MQTT:mqtt_subscribed to dellaUpper-ctl/+/set
    Info:MQTT:mqtt_subscribed to cmnd/dellaUpper/+
    Info:MQTT:mqtt_subscribed to cmnd/dellaUpper-ctl/+
    Info:MQTT:mqtt_subscribed to dellaUpper/+/get
    Info:MQTT:Publishing val DellaUpper to dellaUpper/host retain=0
    Info:MAIN:Time 15, idle 0/s, free 94096, MQTT 1(1), bWifi 1, secondsWithNoPing -1, socks 2/21 
    Info:MQTT:Publishing val OpenRTL87X0C 1659_merge_3cdfc66dd962 Jun  4 2025 08:30:00 to dellaUpper/build retain=0
    Info:MAIN:Time 16, idle 0/s, free 94096, MQTT 1(1), bWifi 1, secondsWithNoPing -1, socks 2/21 
    Info:MQTT:Publishing val b8:06:0d:42:be:e4 to dellaUpper/mac retain=0
    Info:MAIN:Time 17, idle 0/s, free 94096, MQTT 1(1), bWifi 1, secondsWithNoPing -1, socks 2/21 
    

    Did I flash the wrong firmware from the PR?
  • #161 21576724
    p.kaczmarek2
    Moderator Smart Home
    Strange, it seems that the firmware is correct but driver start procedure crashes. I will check in a moment in my Windows OBK. I don't have realtek at hand. @dressyspider do you have also this crash? Very promising guide ,btw.

    Added after 1 [minutes]:

    Or maybe this crash happens when MQTT is not configured? Can you try with MQTT connected to HA already?
    Helpful post? Buy me a coffee.
  • #162 21576745
    dressyspider
    Level 2  
    My setup is working well overall, except for some lag or jumpiness when adjusting the temperature. I already have MQTT configured, and I'm using autoexec.bat to start the driver automatically.
    Helpful post? Buy me a coffee.
  • #163 21576839
    AbidingOhmsLaw
    Level 9  
    I did have MQTT configured when I tried to start the TCL driver, Tried it again just to make sure and had the same result.
  • ADVERTISEMENT
  • #164 21576914
    divadiow
    Level 35  
    p.kaczmarek2 wrote:
    Or maybe this crash happens when MQTT is not configured?

    obviously only with RTL test device and no MCU, but startdriver and no MQTT does not crash for me

    Screenshot of the OpenRTL87X0C device control panel with configuration buttons and status information.
  • #165 21577320
    AbidingOhmsLaw
    Level 9  
    Been tinkering,
    I did an OTA reflash of the firmware and confirmed that I still have the same issue, next I did an OTA of the latest release and that does not seem to have any version of the TCL driver but I did start the NTP driver without issue. So then I reflashed the firmware from the PR and verified that the NTP driver loads fine but attempting to start the TCL driver still crashes/reboots with the same error. I also verified the hash just to make sure my download did not get corrupted.

    Wondering if there might be an issue with the chip or the partitions, I did try to put ESPHome on it at some point. I have another module that I can try with (I have a dual unit) this one is still factory fresh.
  • ADVERTISEMENT
  • #167 21577488
    AbidingOhmsLaw
    Level 9  
    >>21577482 yep the chip is a RTL8720CF

    
    :~$ ltchiptool flash info RTL8720C
    I: Available COM ports:
    I: |-- ttyUSB0 - USB Serial - None (1A86/7523)
    I: |   |-- Selecting this port. To override, use -d/--device
    I: Connecting to 'Realtek AmebaZ2' on /dev/ttyUSB0 @ 115200
    I: |-- Success! Chip info: RTL8720CF
    I: Reading chip info...
    I: Chip: RTL8720CF
    I: +---------------------+-------------------+
    I: | Name                | Value             |
    I: +---------------------+-------------------+
    I: | Chip VID            | 5                 |
    I: | Chip Version        | 3                 |
    I: | ROM Version         | v3.0              |
    I: |                     |                   |
    I: | Chip Type           | RTL87x0CF         |
    I: | MAC Address (Wi-Fi) | FF:FF:FF:FF:FF:FF |
    I: | MAC Address (BT)    | FF:FF:FF:FF:FF:FF |
    I: | Boot Debugging      | Disabled          |
    I: | Secure Boot         | Disabled          |
    I: |                     |                   |
    I: | Flash Type          | RTL8720CF         |
    I: | Flash Mode          | SINGLE            |
    I: +---------------------+-------------------+
    I: |-- Finished in 0.637 s
    
    


    That also matched up with the published info on the Tuya site
    https://developer.tuya.com/en/docs/iot/wbr1-m...l-communication-instructions?id=K9pfdx6h4clku

    Added after 42 [minutes]:

    Interesting that the MACs are FF:FF:FF:FF:FF:FF makes me wonder if the is some portion of flash / partition got cleared but shouldn't have when I put ESPHome on it. Luckily I did a full backup so before I solder up the other module I'm going to try flashing the original Della/Tuya firmware then try the PR firmware again.

    Added after 30 [minutes]:

    OK so I flashed the stock firmware back and confirmed that it was working, then flashed the PR firmware, interestingly, on the first boot I got this

    
    == Rtl8710c IoT Platform ==
    Chip VID: 5, Ver: 3
    ROM Version: v3.0
    Test Mode: boot_cfg1=0x20
    Download Image over UART2[tx=16,rx=15] baud=115200
    
    == Rtl8710c IoT Platform ==
    Chip VID: 5, Ver: 3
    ROM Version: v3.0
    
    == Boot Loader ==
    Aug 30 2024:04:22:00
    
    Boot Loader <==
    
    == RAM Start ==
    Build @ 08:29:49, Jun  4 2025
    interface 0 is initialized
    interface 1 is initialized
    
    Initializing WIFI ...Entering initLog()...
    Commands registered!
    initLog() done!
    Info:MAIN:Main_Init_Before_Delay
    Warning: Sector header check failed. Format this sector (0x001f0000).
    Warning: Sector header check failed. Format this sector (0x001f1000).
    Warning: Sector header check failed. Format this sector (0x001f2000).
    Warning: Sector header check failed. Format this sector (0x001f3000).
    Warning: Sector header check failed. Format this sector (0x001f4000).
    Warning: Sector header check failed. Format this sector (0x001f5000).
    Warning: Sector header check failed. Format this sector (0x001f6000).
    Warning: Sector header check failed. Format this sector (0x001f7000).
    Warning: Sector header check failed. Format this sector (0x001f8000).
    Warning: Sector header check failed. Format this sector (0x001f9000).
    Warning: Sector header check failed. Format this sector (0x001fa000).
    Warning: Sector header check failed. Format this sector (0x001fb000).
    Warning: Sector header check failed. Format this sector (0x001fc000).
    Warning: Sector header check failed. Format this sector (0x001fd000).
    Warning: Sector header check failed. Format this sector (0x001fe000).
    Warning: Sector header check failed. Format this sector (0x001ff000).
    Warning: All sector header check failed. Set it to default.
    EasyFlash V4.1.0 is initialize success.
    You can get the latest version on https://github.com/armink/EasyFlash .
    Warn:CFG:CFG_InitAndLoad: Config crc or ident mismatch. Default config will be loaded.
    Info:CFG:CFG_SetDefaultLEDCorrectionTabMain_Init_Before_Delay done
    Main_Init_Delay
    WIFI initialized
    
    inle: setting it_thread(4defaults
    E7), Availabrror:CMD:lfsle heap 0x1 is absent
    9088Info:GEN:PIN_SetupPins pins have been set up.
    Info:MAIN:Main_Init_Before_Delay 
    Main_Init_Delay done
    done
    Info:MAIN:Main_Init_Delay
    Info:MAIN:Main_Init_Delay done
    Info:MAIN:Main_Init_After_Delay
    Info:MAIN:Using SSID []
    Info:MAIN:Using Pass []
    Info:HTTP:TCP server listening
    Info:MQTT:MQTT_RegisterCallback called for bT rtl87x0C0D42BEE4/ subT rtl87x0C0D42BEE4/+/set
    Info:MQTT:MQTT_RegisterCallback called for bT rtl87x0c/ subT rtl87x0c/+/set
    Info:MQTT:MQTT_RegisterCallback called for bT cmnd/rtl87x0C0D42BEE4/ subT cmnd/rtl87x0C0D42BEE4/+
    Info:MQTT:MQTT_RegisterCallback called for bT cmnd/rtl87x0c/ subT cmnd/rtl87x0c/+
    Info:MQTT:MQTT_RegisterCallback called for bT rtl87x0C0D42BEE4/ subT rtl87x0C0D42BEE4/+/get
    Info:CMD:CMD_StartScript: started @startup at the beginning
    Error:CMD:LFS_ReadFile: lfs is absent
    Info:CMD:CMD_StartScript: failed to get file autoexec.bat
    Info:MAIN:Main_Init_After_Delay done
    Info:MAIN:Time 1, idle 0/s, free 101160, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 
    Info:MAIN:Time 2, idle 0/s, free 101160, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 
    Info:MAIN:Time 3, idle 0/s, free 101160, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 
    Info:MAIN:Time 4, idle 0/s, free 101160, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 
    


    Not sure what all the header check format this sector is about. Do I need to format that area did it do it when it booted? I tried the startDriver TCL agfain with the same results as before, Crash then reboot. Will try the other module after work to rule out a possible bad module issue.

    Added after 3 [hours] 23 [minutes]:

    Results from adding the firmware to the fresh board.

    Still got the "Warning: Sector header check failed. Format this sector" messages on first boot

    
    == RAM Start ==
    Build @ 08:29:49, Jun  4 2025
    interface 0 is initialized
    interface 1 is initialized
    
    Initializing WIFI ...Entering initLog()...
    Commands registered!
    initLog() done!
    Info:MAIN:Main_Init_Before_Delay
    Warning: Sector header check failed. Format this sector (0x001f0000).
    Warning: Sector header check failed. Format this sector (0x001f1000).
    Warning: Sector header check failed. Format this sector (0x001f2000).
    Warning: Sector header check failed. Format this sector (0x001f3000).
    Warning: Sector header check failed. Format this sector (0x001f4000).
    Warning: Sector header check failed. Format this sector (0x001f5000).
    Warning: Sector header check failed. Format this sector (0x001f6000).
    Warning: Sector header check failed. Format this sector (0x001f7000).
    Warning: Sector header check failed. Format this sector (0x001f8000).
    Warning: Sector header check failed. Format this sector (0x001f9000).
    Warning: Sector header check failed. Format this sector (0x001fa000).
    Warning: Sector header check failed. Format this sector (0x001fb000).
    Warning: Sector header check failed. Format this sector (0x001fc000).
    Warning: Sector header check failed. Format this sector (0x001fd000).
    Warning: Sector header check failed. Format this sector (0x001fe000).
    Warning: Sector header check failed. Format this sector (0x001ff000).
    Warning: All sector header check failed. Set it to default.
    EasyFlash V4.1.0 is initialize success.
    You can get the latest version on https://github.com/armink/EasyFlash .
    Warn:CFG:CFG_InitAndLoad: Config crc or ident mismatch. Default config will be loaded.
    Info:CFG:CFG_SetDefaultLEDCorrectionTabMain_Init_Before_Delay done
    Main_Init_Delay
    Main_Init_Delay done
    le: setting defaults
    Error:CMD:lfs is absent
    Info:GEN:PIN_SetupPins pins have been set up.
    Info:MAIN:Main_Init_Before_Delay 
    WIFI initialized
    


    I did not try to set up the name, wifi, MQTT, etc just joined the AP

    OpenRTL87X0C dashboard with Config, Restart, Launch Web Application, and About buttons.

    After getting on the AP I tried the startDriver TCL and got exactly the same behavior as the other board, crash then reboot.

    
    [ISR]Assert(( portNVIC_INT_CTRL_REG & portVECTACTIVE_MASK ) == 0) failed on line 443 in file ../../../component/os/freertos/freertos_v10.0.1/Source/portable/GCC/ARM_RTL8710C/port.c
    
    == Rtl8710c IoT Platform ==
    Chip VID: 5, Ver: 3
    ROM Version: v3.0
    
    == Boot Loader ==
    Aug 30 2024:04:22:00[ISR]Assert(( portNVIC_INT_CTRL_REG & portVECTACTIVE_MASK ) == 0) failed on line 443 in file ../../../component/os/freertos/freertos_v10.0.1/Source/portable/GCC/ARM_RTL8710C/port.c
    
    == Rtl8710c IoT Platform ==
    Chip VID: 5, Ver: 3
    ROM Version: v3.0
    
    == Boot Loader ==
    Aug 30 2024:04:22:00
    
    Boot Loader <==
    
    == RAM Start ==
    Build @ 08:29:49, Jun  4 2025
    interface 0 is initialized
    interface 1 is initialized
    
    
    Boot Loader <==
    
    == RAM Start ==
    Build @ 08:29:49, Jun  4 2025
    interface 0 is initialized
    interface 1 is initialized
    
  • #168 21577827
    p.kaczmarek2
    Moderator Smart Home
    Are you sure you have the same version as @dressyspider ? Maybe bug was introduced later?

    What happens if you do "startDriver UART"?

    Maybe would you be able to track which commit related to TCL starts breaking things for you? There are links to older PRs in this topic.

    I've pushed some UI tests - i am testing dropdowns (outside refreshed div) and radio lists:
    User interface for controlling air conditioning with multiple options and an ON button.
    Helpful post? Buy me a coffee.
  • #169 21578210
    AbidingOhmsLaw
    Level 9  
    The UART Driver does not seem to be in this build.

    
    Info:MAIN:Driver UART is not known in this build.
    Info:MAIN:Available drivers:
    Info:MAIN:TuyaMCU
    Info:MAIN:, tmSensor
    Info:MAIN:, TCL
    Info:MAIN:, NTP
    Info:MAIN:, I2C
    Info:MAIN:, BL0942
    Info:MAIN:, BL0937
    Info:MAIN:, CSE7766
    Info:MAIN:, DGR
    Info:MAIN:, Wemo
    Info:MAIN:, SM2135
    Info:MAIN:, BP5758D
    Info:MAIN:, BP1658CJ
    Info:MAIN:, SM2235
    Info:MAIN:, BMPI2C
    Info:MAIN:, CHT83XX
    Info:MAIN:, AHT2X
    Info:MAIN:, DS1820
    


    I will start working backward through the PRs and see if I can get to a firmware where the TCL driver works.
  • #170 21578224
    p.kaczmarek2
    Moderator Smart Home
    Hmm ok, if UART wrapper is not present, then try startDriver BL0942 just to see if it crashes as well.
    Helpful post? Buy me a coffee.
  • #171 21578228
    AbidingOhmsLaw
    Level 9  
    EDIT Note: These are for the startDriver TCL command

    PR# Result of startDriver TCL
    6193 Crash / Reboot
    6192 Crash / Reboot
    6174 Crash / Reboot
    6173 Crash / Reboot
    Decided to go back to the first one I see as "AC TCL 3"
    6126 Crash / Reboot

    Note that all of them produce the same log entry when they crash
    "[ISR]Assert(( portNVIC_INT_CTRL_REG & portVECTACTIVE_MASK ) == 0) failed on line 443 in file ../../../component/os/freertos/freertos_v10.0.1/Source/portable/GCC/ARM_RTL8710C/port.c"

    Added after 5 [minutes]:

    >>21578224 That crashes as well with the same error

    (currently have PR 6126 loaded Built on May 30 2024 16:47:03 version 1659_merge_f663db6db987)

    Error in log
    "[ISR]Assert(( portNVIC_INT_CTRL_REG & portVECTACTIVE_MASK ) == 0) failed on line 443 in file ../../../component/os/freertos/freertos_v10.0.1/Source/portable/GCC/ARM_RTL8710C/port.c"

    Added after 4 [minutes]:

    I'm going to try tracing the circuit, see if that may turn up anything
  • #172 21578238
    p.kaczmarek2
    Moderator Smart Home
    BL0942 driver crashes for you as well? That's interesting. Do any other driver is also crashing?

    @insmod , any ideas?
    Helpful post? Buy me a coffee.
  • #173 21578247
    divadiow
    Level 35  
    does it make a difference to crashing if the module is able to talk to the MCU or not? ie it crashes in and out of the AC
  • #174 21578249
    p.kaczmarek2
    Moderator Smart Home
    Well, if BL0942 driver crashes for him as well, then it looks like some kind of UART-related issue. I would suspect that maybe he still has something else configured? But it was said it's a fresh module, so idk...
    Helpful post? Buy me a coffee.
  • #175 21578250
    AbidingOhmsLaw
    Level 9  
    This is the result of testing all the available drivers

    
    Info:MAIN:Available drivers:
    Info:MAIN:TuyaMCU                  Crash
    Info:MAIN:, tmSensor               OK
    Info:MAIN:, TCL                    Crash
    Info:MAIN:, NTP                    OK
    Info:MAIN:, I2C                    OK
    Info:MAIN:, BL0942                 Crash
    Info:MAIN:, BL0937                 OK               
    Info:MAIN:, CSE7766                Crash
    Info:MAIN:, DGR                    OK
    Info:MAIN:, Wemo                   OK
    Info:MAIN:, SM2135                 OK
    Info:MAIN:, BP5758D                OK
    Info:MAIN:, BP1658CJ               OK
    Info:MAIN:, SM2235                 OK
    Info:MAIN:, BMPI2C                 OK
    Info:MAIN:, CHT83XX                OK
    Info:MAIN:, AHT2X                  OK
    Info:MAIN:, DS1820                 OK
    


    Added after 6 [minutes]:

    I have the modules out of the units right now on my bench, I could try putting one in the units but that might take a day or two due to the accessibility (they are in the garage and stuff has to be moved and ladders used, etc.)
  • #176 21578260
    divadiow
    Level 35  
    yeh cool. just a crazy thought that if it was ONLY happening within the unit, maybe some weird packets from the MCU was causing the crash after any of the drivers that use uart started listening after starting.
  • #177 21578280
    p.kaczmarek2
    Moderator Smart Home
    Well, actually maybe you have some merit with that, @divadiow, but I think the UART input should be safe from any buffer overruns.

    Still, it looks exactly like what I guessed - UART issue. All UART related drivers are crashing. You @AbidingOhmsLaw actually predicted the next step I wanted to suggest - check TuyaMCU driver to see if it crashes... CSE7766 is UART-based as well, so it crashes too.

    I will try to find a spare moment and create some test driver to see if it's also crashing...
    Helpful post? Buy me a coffee.
  • #178 21578287
    AbidingOhmsLaw
    Level 9  
    Since this is on a custom board could the stock firmware be using different pins for the UART to the main board MCU? It's a simple board so I'm tracing it out in KiCad now and will post the schematic I generate. There are also some level shifting components on this board as the main board is supplying 5V logic and the module board is level shifting that to 3v3 logic for the WBR1.
  • #179 21578302
    p.kaczmarek2
    Moderator Smart Home
    To the best of my knowledge, UART should not crash, no matter how it's connected.

    Wait.. maybe you have OBK_FLAG_USE_SECONDARY_UART flag set?
    Helpful post? Buy me a coffee.

Topic summary

The discussion centers on flashing and customizing the WiFi module (WBR3 on TCWBRCU1 board) of a Della Optima Series minisplit air conditioner to run OpenBeken firmware for local, cloud-free control. Initial assumptions about the device using TuyaMCU were revised after UART traffic analysis revealed a custom protocol similar to TCL AC units, leading to the development and testing of a dedicated TCL driver in OpenBeken. The user successfully desoldered the WBR3 module, backed up its firmware using appropriate Realtek tools (ltchiptool and AmebaZ2 PG Tool), and flashed OpenBeken firmware. Key datapoints such as power, mode, fan speed, temperature, humidity, and PM2.5 were identified from the Tuya IoT platform, but the device uses a binary packet protocol rather than standard Tuya DPIDs.

The community collaboratively developed and refined the TCL driver, enabling control of power, mode (cool, heat, dry, fan, auto), fan speeds (mapped to Smart Life app presets including auto, mute, mid-low to turbo), swing positions (vertical and horizontal), buzzer (beep) on/off, and display brightness on/off. The driver was integrated with Home Assistant via MQTT with discovery support, allowing control and state feedback. Challenges included correct UART parity settings (even parity), packet parsing, and mapping driver values to Home Assistant entities. The user provided detailed logs, testing results, and UI feedback, leading to improvements in MQTT integration, UI elements for fan speed and swing controls, and bug fixes for state synchronization. The project also discussed future enhancements like better OBK UI integration, thermostat card improvements, and potential DIY thermostat projects using OBK on ESP32 with external sensors.

Overall, the thread documents a successful reverse engineering and firmware replacement effort for the Della minisplit WiFi module, enabling local control with OpenBeken, full MQTT/Home Assistant integration, and detailed community-driven driver development for a non-standard protocol device.
Summary generated by the language model.
ADVERTISEMENT