logo elektroda
logo elektroda
X
logo elektroda

[Tuya] Daitsu Split Air conditioner DOSM-21KDT with TCWBRCU1(WBR3)(RTL) - T

Nauttor 801 17
Best answers

How can I get an OpenBeken/TuyaAC driver working with a Daitsu DOSM-21KDT air conditioner and control it over MQTT?

Use Notupus’s OpenBK7231T TuyaAC driver rather than the generic TuyaMCU approach; the thread concludes that TuyaMCU does not fit this unit well [#21919462] After a full power-off/power-on of the AC indoor board, the TuyaAC driver starts reading the device correctly and most of the important values appear in the log, including power, temperatures, fan speed, mode, swing, eco, and other DPID data [#21922082] Control works through MQTT command topics such as `cmnd//ACPower`, `ACMode`, `FANMode`, and `TargetTemperature` [#21922082] One remaining issue is that fan states are not mapped perfectly: auto and mute are being shown/reported incorrectly in the UI/Home Assistant, so that mapping still needs correction [#21922082] [#21922494]
Summary generated by AI based on the discussion content.
ADVERTISEMENT
  • Tuya DPID mapping and UART traces captured

    #1 21919441
    Nauttor
    Level 3  
    Posts: 17
    Rate: 1
    Hi, 

    As advice by some members I opened a separated thread as seem my TCL / tuya device is not matching  exactly with the others ACs that has been reverse engineered so far. Here is what I have found so far. 

    The air conditioner is a Daitsu 3x multisplit that works with the Tuya smartlife app. It seems this machine is build by Gree. 

    Exterior units: Daitsu DOSM-21KDTInterior units: DS-18KZ & 2xDS-9KZ

    [Tuya] Daitsu Split Air conditioner DOSM-21KDT with TCWBRCU1(WBR3)(RTL) - T [Tuya] Daitsu Split Air conditioner DOSM-21KDT with TCWBRCU1(WBR3)(RTL) - T [Tuya] Daitsu Split Air conditioner DOSM-21KDT with TCWBRCU1(WBR3)(RTL) - T USB circuit board with SMD parts and a white Wi‑Fi/Bluetooth module housing with certification label 

    USB plug circuit board next to a white Wi‑Fi/Bluetooth module label with certification marks

    From the description of the USB module it says:
    WIFI ad Blutoth ModuleMODEL(MODÉLE):TCWBRCU1
    FCC ID:2ANDL-TCWBRCU1
    IC:23243-TCWBRCU1
    rt18720cf_voice_aircon_tcl_home_Ql0_1.0.60G0303-110084

    Inside as expected the same WBR3 module. I added it to the tuya app, and I get to extract from the cloud api the DPIDs, model and all relevant information. I have also as suggested extract a boot log from the TX0_LOG in the original firmware, and also I have captured some traces form the UART that is sent to the AC from the WBR3.

    First the Tuya Cloud  info DPIDs

    {  "result": {    "properties": [      {        "code": "switch",        "custom_name": "",        "dp_id": 1,        "time": 1780412154848,        "type": "bool",        "value": true      },      {        "code": "temp_set",        "custom_name": "",        "dp_id": 2,        "time": 1780412154848,        "type": "value",        "value": 2500      },      {        "code": "temp_current",        "custom_name": "",        "dp_id": 3,        "time": 1780412692520,        "type": "value",        "value": 2540      },      {        "code": "mode",        "custom_name": "",        "dp_id": 4,        "time": 1780412154848,        "type": "enum",        "value": "1"      },      {        "code": "fan_speed_enum",        "custom_name": "",        "dp_id": 5,        "time": 1780412154848,        "type": "enum",        "value": "1"      },      {        "code": "auto",        "custom_name": "",        "dp_id": 7,        "time": 1780412155131,        "type": "bool",        "value": false      },      {        "code": "eco",        "custom_name": "",        "dp_id": 8,        "time": 1780412155131,        "type": "bool",        "value": true      },      {        "code": "drying",        "custom_name": "",        "dp_id": 9,        "time": 1780412155131,        "type": "bool",        "value": false      },      {        "code": "heat",        "custom_name": "",        "dp_id": 12,        "time": 1780397501067,        "type": "bool",        "value": false      },      {        "code": "light",        "custom_name": "",        "dp_id": 13,        "time": 1780412154848,        "type": "bool",        "value": false      },      {        "code": "beep",        "custom_name": "",        "dp_id": 16,        "time": 1780412155131,        "type": "bool",        "value": true      },      {        "code": "temp_set_f",        "custom_name": "",        "dp_id": 24,        "time": 1780412154848,        "type": "value",        "value": 77      },      {        "code": "health",        "custom_name": "",        "dp_id": 26,        "time": 1780412155259,        "type": "bool",        "value": false      },      {        "code": "cleaning",        "custom_name": "",        "dp_id": 27,        "time": 1780412154848,        "type": "bool",        "value": false      },      {        "code": "gear_vertical",        "custom_name": "",        "dp_id": 31,        "time": 1780412154848,        "type": "enum",        "value": "1"      },      {        "code": "gear_horizontal",        "custom_name": "",        "dp_id": 34,        "time": 1780412154848,        "type": "enum",        "value": "8"      },      {        "code": "fresh_air_valve",        "custom_name": "",        "dp_id": 39,        "time": 1780397501067,        "type": "bool",        "value": false      },      {        "code": "supply_fan_speed",        "custom_name": "",        "dp_id": 40,        "time": 1780397501067,        "type": "enum",        "value": "0"      },      {        "code": "temperature_type",        "custom_name": "",        "dp_id": 101,        "time": 1780412154848,        "type": "bool",        "value": false      },      {        "code": "eight_add_hot",        "custom_name": "",        "dp_id": 102,        "time": 1780412155259,        "type": "bool",        "value": false      },      {        "code": "heat_status",        "custom_name": "",        "dp_id": 103,        "time": 1780412155131,        "type": "bool",        "value": false      },      {        "code": "high_temperature_wind",        "custom_name": "",        "dp_id": 104,        "time": 1780412155259,        "type": "bool",        "value": false      },      {        "code": "cool_feel_wind",        "custom_name": "",        "dp_id": 105,        "time": 1780412155259,        "type": "bool",        "value": false      },      {        "code": "new_wind_auto_switch",        "custom_name": "",        "dp_id": 106,        "time": 1780397501067,        "type": "bool",        "value": false      },      {        "code": "weektimer1",        "custom_name": "",        "dp_id": 107,        "time": 1780397501067,        "type": "string",        "value": ""      },      {        "code": "freshair_status",        "custom_name": "",        "dp_id": 108,        "time": 1780397501067,        "type": "bool",        "value": false      },      {        "code": "weektimer2",        "custom_name": "",        "dp_id": 109,        "time": 1780397501067,        "type": "string",        "value": ""      },      {        "code": "filter_block_status",        "custom_name": "",        "dp_id": 110,        "time": 1780412155131,        "type": "bool",        "value": false      },      {        "code": "ai_eco_switch",        "custom_name": "",        "dp_id": 111,        "time": 1780412154848,        "type": "bool",        "value": true      },      {        "code": "access_card_insert",        "custom_name": "",        "dp_id": 112,        "time": 1780397501067,        "type": "bool",        "value": false      },      {        "code": "upper_tem_limit",        "custom_name": "",        "dp_id": 113,        "time": 1780412155259,        "type": "value",        "value": 3100      },      {        "code": "lower_tem_limit",        "custom_name": "",        "dp_id": 114,        "time": 1780412155259,        "type": "value",        "value": 1600      },      {        "code": "wind_speed_percentage",        "custom_name": "",        "dp_id": 115,        "time": 1780397501067,        "type": "value",        "value": 0      },      {        "code": "ure",        "custom_name": "",        "dp_id": 116,        "time": 1780412608882,        "type": "value",        "value": 1900      },      {        "code": "external_unit_fanspeed",        "custom_name": "",        "dp_id": 117,        "time": 1780412155131,        "type": "value",        "value": 840      },      {        "code": "outdoor_fan_tarspeed",        "custom_name": "",        "dp_id": 118,        "time": 1780412155259,        "type": "value",        "value": 0      },      {        "code": "compressor_frequency",        "custom_name": "",        "dp_id": 119,        "time": 1780412708053,        "type": "value",        "value": 20      },      {        "code": "outdoor_comptar_freqrun",        "custom_name": "",        "dp_id": 120,        "time": 1780412155259,        "type": "value",        "value": 0      },      {        "code": "outdoor_comptar_freqset",        "custom_name": "",        "dp_id": 121,        "time": 1780412155259,        "type": "value",        "value": 0      },      {        "code": "outdoor_eevtar_opendegree",        "custom_name": "",        "dp_id": 122,        "time": 1780412155259,        "type": "value",        "value": 0      },      {        "code": "soft_wind",        "custom_name": "",        "dp_id": 123,        "time": 1780397501067,        "type": "enum",        "value": "0"      },      {        "code": "ai_eco_status",        "custom_name": "",        "dp_id": 124,        "time": 1780412155259,        "type": "enum",        "value": "0"      },      {        "code": "regular_reporting",        "custom_name": "",        "dp_id": 125,        "time": 1780412154848,        "type": "enum",        "value": "1"      },      {        "code": "sleep_enum",        "custom_name": "",        "dp_id": 126,        "time": 1780412155131,        "type": "enum",        "value": "0"      },      {        "code": "electricity",        "custom_name": "",        "dp_id": 127,        "time": 1780412630789,        "type": "value",        "value": 0      },      {        "code": "electricity_starttime",        "custom_name": "",        "dp_id": 128,        "time": 1780412630789,        "type": "value",        "value": 1780412510      },      {        "code": "electricity_endtime",        "custom_name": "",        "dp_id": 129,        "time": 1780412630789,        "type": "value",        "value": 1780412630      },      {        "code": "clearele_starttime",        "custom_name": "",        "dp_id": 130,        "time": 1780397501067,        "type": "value",        "value": 0      },      {        "code": "clearele_endtime",        "custom_name": "",        "dp_id": 131,        "time": 1780397501067,        "type": "value",        "value": 0      },      {        "code": "generator_mode",        "custom_name": "",        "dp_id": 132,        "time": 1780412155131,        "type": "enum",        "value": "0"      },      {        "code": "capabilities",        "custom_name": "",        "dp_id": 133,        "time": 1780412155052,        "type": "raw",        "value": "EwIDBwgJCwwNFRccHyEiJCcoKjA="      },      {        "code": "error_code",        "custom_name": "",        "dp_id": 134,        "time": 1780410693360,        "type": "raw",        "value": "AA=="      },      {        "code": "light_sense",        "custom_name": "",        "dp_id": 135,        "time": 1780397501067,        "type": "bool",        "value": false      },      {        "code": "specialtimer",        "custom_name": "",        "dp_id": 136,        "time": 1780397501067,        "type": "string",        "value": ""      },      {        "code": "vertical_wind",        "custom_name": "",        "dp_id": 137,        "time": 1780412154848,        "type": "enum",        "value": "1"      },      {        "code": "horizontal_wind",        "custom_name": "",        "dp_id": 138,        "time": 1780412154848,        "type": "enum",        "value": "0"      },      {        "code": "wakeup_word",        "custom_name": "",        "dp_id": 139,        "time": 1780397501067,        "type": "enum",        "value": "0"      },      {        "code": "wakeup_status",        "custom_name": "",        "dp_id": 140,        "time": 1780397501067,        "type": "enum",        "value": "0"      },      {        "code": "volume",        "custom_name": "",        "dp_id": 141,        "time": 1780401946340,        "type": "value",        "value": 28      },      {        "code": "voice_switch",        "custom_name": "",        "dp_id": 142,        "time": 1780397501067,        "type": "bool",        "value": false      },      {        "code": "voice_status",        "custom_name": "",        "dp_id": 143,        "time": 1780397501067,        "type": "enum",        "value": "0"      },      {        "code": "examine_mode",        "custom_name": "",        "dp_id": 144,        "time": 1780397501067,        "type": "bool",        "value": false      },      {        "code": "stores_mode",        "custom_name": "",        "dp_id": 145,        "time": 1780397501067,        "type": "bool",        "value": false      },      {        "code": "sound_location",        "custom_name": "",        "dp_id": 146,        "time": 1780397501067,        "type": "enum",        "value": "0"      },      {        "code": "smart_windmode",        "custom_name": "",        "dp_id": 147,        "time": 1780397501067,        "type": "enum",        "value": "0"      },      {        "code": "mic_distance",        "custom_name": "",        "dp_id": 148,        "time": 1780397501067,        "type": "value",        "value": 0      },      {        "code": "filter_blocknotify",        "custom_name": "",        "dp_id": 149,        "time": 1780397501067,        "type": "bool",        "value": false      },      {        "code": "max_volume",        "custom_name": "",        "dp_id": 150,        "time": 1780397501067,        "type": "value",        "value": 1      },      {        "code": "auto_gen_mode",        "custom_name": "",        "dp_id": 151,        "time": 1780397501067,        "type": "enum",        "value": "0"      },      {        "code": "power_source",        "custom_name": "",        "dp_id": 152,        "time": 1780397501067,        "type": "enum",        "value": "0"      },      {        "code": "ble_module_status",        "custom_name": "",        "dp_id": 153,        "time": 1780401558193,        "type": "enum",        "value": "0"      },      {        "code": "ble_module_mac",        "custom_name": "",        "dp_id": 154,        "time": 1780397501067,        "type": "string",        "value": ""      },      {        "code": "newwind_super",        "custom_name": "",        "dp_id": 155,        "time": 1780397501067,        "type": "bool",        "value": false      },      {        "code": "light_senser_status",        "custom_name": "",        "dp_id": 156,        "time": 1780397501067,        "type": "bool",        "value": false      },      {        "code": "voice_language",        "custom_name": "",        "dp_id": 197,        "time": 1780397501067,        "type": "string",        "value": ""      },      {        "code": "virtual_period",        "custom_name": "",        "dp_id": 198,        "time": 1780397501067,        "type": "value",        "value": 0      },      {        "code": "virtual_electricity",        "custom_name": "",        "dp_id": 199,        "time": 1780397501067,        "type": "value",        "value": 0      }    ]



    Information about the model extracted from the Tuya Cloud:

    Model Id and other parameters:

    {
      "result": {
        "active_time": 1780397501,
        "bind_space_id": "291474605",
        "category": "kt",
        "create_time": 1780397501,
        "custom_name": "Split Living",
        "icon": "smart/icon/bay17107630453468cMu/89ed9839341260acccaba5f2925bb7b3.png",
        "id": "xxxxxx",
        "ip": "xxxxxx",
        "is_online": true,
        "lat": "0",
        "local_key": "xxxxx",
        "lon": "0",
        "model": "Artic",
        "name": "Split Pared Artic ",
        "product_id": "ytdek3ddm6hlig7r",
        "product_name": "Split Pared Artic ",
        "sub": false,
        "time_zone": "+02:00",
        "update_time": 1780397570,
        "uuid": "xxxxxxx"
      },
  • ADVERTISEMENT
  • TuyaMCU driver unsupported; use Notupus OpenBeken build

    #2 21919462
    divadiow
    Level 38  
    Posts: 5153
    Help: 442
    Rate: 906
    despite having different schemas, your Daitsu DOSM-21KDT shares 77 dpIDs with @notupus's Nordstar NORX-10CHSD.

    Yours has 18 unique IDs.

    Nordstar only dpIDs
    dpidcodeaccesstypemeaning
    157anti_directblowrwboolAnti direct-blow
    158widearea_windrwboolWide-area airflow
    159encircle_windrwboolEncircling wind
    160zone_windrwboolZone airflow
    161left_ht_directionrwenum 0-18Left horizontal airflow direction
    162right_ht_directionrwenum 0-18Right horizontal airflow direction
    163wind3d_switchrwbool3D wind switch
    164wind3d_typerwenum 0,13D wind type
    165solar_powerrovaluePV input power
    166grid_powerrovalueGrid input power
    167solar_electricityrovaluePV energy
    168solar_stateroenum 0,1PV operating state
    169openadr_eventlistrwstringADR event parameters
    170openadr_switchrwboolADR switch
    171openadr_statusrwboolADR status
    172openadr_requestrwenum 0,1Request DR task
    195virtual_ai_timerovalueCloud-only AI eco runtime
    196virtual_ai_saverovalueCloud-only AI energy saving


    Nauttor wrote:
    I did some diggings with Gemini and based on his replies I tried to configure the Openbeken to send thru channels the basic ON/OFF sequences but I failed badly to get any result. I was getting all the time:


    The TuyaMCU driver will be of no use for this device. @notupus's work-in-progress build seen in their fork here https://github.com/Notupus/OpenBK7231T_App will need to be flashed - either by UART or OTA to it. The build files are under the actions here https://github.com/Notupus/OpenBK7231T_App/actions and require you to be logged into GitHub to download.

    However, as it's in development, maybe it's not ready. Only notupus will know I guess. And even then their build may not cater for the additional dpIDs seen in your device.
  • Boot log from RTL8710C original firmware

    #3 21919471
    Nauttor
    Level 3  
    Posts: 17
    Rate: 1
    Attached below the boot log extracted from the Original firmware thru the TX0_LOG:

    
    06-11 13:46:51 ty N][lr:0x9b02ecf1] --cmd enqueue 0x0c 0,port:1, queue_in:1,queue_cnt:1,queue_num:15
    [06-11 13:46:51 ty N][lr:0x9b0387a9] report dp_cnt:1
    
    == Rtl8710c IoT Platform ==
    Chip VID: 5, Ver: 3
    ROM Version: v3.0
    
    == Boot Loader ==
    Dec 5 2019:14:02:18
    
    fwx SELE[fffffffc]
    fw SELE Bitidx 2, fw1 valid 1, sn 0, fw2 valid 1, sn 1
    fw1 USE, return sn 0
    
    Boot Loader <==
    
    == RAM Start ==
    Build @ 15:45:27, Oct 15 2025
    
    
    vPortDefineHeapRegions-----------------------addr:0x->10011b80 size:0x2ce80
    
    [MEM DBG] heap init-------size:183936 addr:->10011b80---------
    get country code:0
    
    Initializing WIFI ...[01-01 00:00:00 ty I][3c4][tal_thread.c:185] thread_create name:wq_system,stackDepth:5120,totalstackDepth:11264,priority:3
    [01-01 00:00:00 ty I][3c4][tal_thread.c:185] thread_create name:wq_highpri,stackDepth:4096,totalstackDepth:15360,priority:4
    [01-01 00:00:00 ty D][lr:0x9b05d9cf] link[9] is registered [0]
    [01-01 00:00:00 ty D][lr:0x9b05d9cf] link[2] is registered [1]
    [01-01 00:00:00 ty D][lr:0x9b059aad] add new node,type:0
    [01-01 00:00:00 ty D][lr:0x9b059aad] add new node,type:1
    [01-01 00:00:00 ty D][lr:0x9b059aad] add new node,type:2
    [01-01 00:00:00 ty D][lr:0x9b059aad] add new node,type:3
    [01-01 00:00:00 ty D][lr:0x9b059aad] add new node,type:4
    [01-01 00:00:00 ty D][lr:0x9b059aad] add new node,type:5
    [01-01 00:00:00 ty D][lr:0x9b059aad] add new node,type:6
    [01-01 00:00:00 ty D][lr:0x9b059aad] add new node,type:7
    [01-01 00:00:00 ty D][lr:0x9b059aad] add new node,type:8
    [01-01 00:00
    WIFI initialized
    get country code:0
    [WIFI NOTICE]tuya_os_adapt_wifi_set_work_mode:2 now mode:2
    
    WIFI Mode No Need To Change: STA -->STA
    init_thread(69), Available heap 0x195c0:00 ty D][lr:0x9b059aad] add new node,type:9
    [01-01 00:00:00 ty D][lr:0x9b059c4d] init watchdog, interval: 60
    [01-01 00:00:00 ty D][lr:0x9b059b2b] update type:7,period:20
    [01-01 00:00:00 ty D][lr:0x9b059c7d] watch_dog_interval:60, monitor_detect_interval:600
    [01-01 00:00:00 ty D][2a8][tal_thread.c:209] Thread:health_monitor Exec Start. Set to Running Stat ->1002a8d4
    [01-01 00:00:00 ty D][2e5][tal_thread.c:209] Thread:wq_highpri Exec Start. Set to Running Stat ->1002e5dc
    [01-01 00:00:00 ty I][3c4][tal_thread.c:185] thread_create name:health_monitor,stackDepth:2048,totalstackDepth:17408,priority:5
    [01-01 00:00:00 ty I][lr:0x9b04f863] mqc app init ...
    [01-01 00:00:00 ty D][lr:0x9b04f78f] mq_pro:5 cnt:1
    [01-01 00:00:00 ty D][lr:0x9b04f78f] mq_pro:31 cnt:2
    [01-01 00:00:00 ty D][lr:0x9b054267] svc online log init success
    [01-01 00:00:00 ty D][lr:0x9b052715] read m:0 f:0 l:0
    [01-01 00:00:00 ty N][lr:0x9b02d977] tcl_voice_aircon:1.0.60
    [01-01 00:00:00 ty D][lr:0x9b049133] init fs. Path: null
    [01-01 00:00:00 ty D][lr:0x9b049aef] *****************kvs_init.
    current kv info, addr: ef000, cnt: 1, is valid: 0
    mirror kv info, addr: 1cf000, cnt: 20, is valid: 0
    [01-01 00:00:00 ty D][lr:0x9b049575] protected init. addr:0x001cf000
    [01-01 00:00:00 ty N][lr:0x9b0493d1] init protected data length 732 wr_cnt 20
    [01-01 00:00:00 ty N][lr:0x9b04b7f9] key_addr: 0x1d8000 block_sz 4096
    [01-01 00:00:00 ty N][lr:0x9b04b881] get key:
    0xde 0x63 0xe0 0x1a 0x9e 0x37 0x67 0x2d 0x20 0x23 0x4 0xbd 0xaf 0xa3 0x93 0x69
    [01-01 00:00:00 ty D][lr:0x9b04959b] protected verify begin
    [01-01 00:00:00 ty D][lr:0x9b0495ff] check [kv.ccode.avtive][2]
    [01-01 00:00:00 ty D][lr:0x9b0495ff] check [gw_bi][328]
    [01-01 00:00:00 ty D][lr:0x9b0495ff] check [rcs.active][55]
    [01-01 00:00:00 ty D][lr:0x9b0495ff] check [gw_wsm][203]
    [01-01 00:00:00 ty D][lr:0x9b0495d1] protected verify end
    [01-01 00:00:00 ty D][lr:0x9b04ab21] begin try update kv version
    [01-01 00:00:00 ty D][lr:0x9b04ab37] pre kv version is 2
    [01-01 00:00:00 ty D][lr:0x9b04bea5] 111 k=7 i=12 3
    [01-01 00:00:00 ty I][lr:0x9b031831] -----------------------------------------get reset_module_count:0
    [01-01 00:00:00 ty N][lr:0x9b02da9b] reset_module_count:1
    [01-01 00:00:00 ty N][lr:0x9b02dad7] --------------------------parse thing module:99204,gw active stat:0,reset reason:0-------------------------------
    [01-01 00:00:00 ty N][3c4][ty_gfw_wifi.c:2595] ---thing data get 1428 <->100296dc>
    64 98 02 10 31 2e 30 2e 31 30 00 00 00 00 00 00
    [01-01 00:00:00 ty N][3c4][ty_gfw_wifi.c:2614] ---cloud mcu info get 89 <->1002961c>
    04 56 39 2d 52 41 42 4d 54 32 36 41 43 2d 46 00 00 00 00 00 00 a6 09 56 39 2d 52 31 30 46 54 32 37 41 43 2d 46 00 00 00 00 00 00 9b 0a 56 39 2d 52 31 30 46 54 34 32 41 43 2d 46 00 00 00 00 00
    00 a5 0b 56 39 2d 52 31 30 48 54 33 32 41 43 2d 46 00 00 00 00 00 00 a5 0c .........
    
    [01-01 00:00:00 ty N][lr:0x9b02daeb] --------------------------parse thing module:97672,ret=0-------------------------------
    [01-01 00:00:00 ty N][lr:0x9b0537a1] uni_random_init...
    [01-01 00:00:00 ty N][lr:0x9b053a67] tuya_tls_rand_init ok!
    [01-01 00:00:00 ty D][lr:0x9b049791] protected read [gw_bi]
    [01-01 00:00:00 ty D][lr:0x9b0497f7] protected read ret:0 length:328
    [01-01 00:00:00 ty D][lr:0x9b058c59] gw_bi read ret:0
    [01-01 00:00:00 ty D][lr:0x9b049791] protected read [gw_wsm]
    [01-01 00:00:00 ty D][lr:0x9b0497f7] protected read ret:0 length:203
    [01-01 00:00:00 ty D][lr:0x9b058e53] gw_wsm read ret:0
    [01-01 00:00:00 ty N][lr:0x9b05611b] gw_cntl->gw_wsm.stat:2
    [01-01 00:00:00 ty D][lr:0x9b059405] gw_di read ret:0
    [01-01 00:00:00 ty D][lr:0x9b059149] gw_ai read ret:0
    [01-01 00:00:00 ty D][lr:0x9b05345b] cache dns [http://a.tuyaeu.com/d.json]<->[35.159.150.3]
    [01-01 00:00:00 ty D][lr:0x9b05345b] cache dns [https://a3.tuyaeu.com/d.json]<->[18.158.227.228]
    [01-01 00:00:00 ty D][lr:0x9b05345b] cache dns [m2.tuyaeu.com:1883]<->[3.64.85.28]
    [01-01 00:00:00 ty D][lr:0x9b05345b] cache dns [m3.tuyaeu.com:8886]<->[18.184.224.184]
    [01-01 00:00:00 ty D][lr:0x9b05345b] cache dns [baal.tuyaeu.com:443]<->[18.193.97.90]
    [01-01 00:00:01 ty D][lr:0x9b049791] protected read [rcs.active]
    [01-01 00:00:01 ty D][lr:0x9b0497f7] protected read ret:0 length:55
    [01-01 00:00:01 ty D][lr:0x9b04f051] tls_ca_cnt:0 and parse:0
    [01-01 00:00:01 ty D][lr:0x9b04e859] psk key was 3.0
    [01-01 00:00:01 ty D][lr:0x9b04e7f3] psk_id len:49
    [01-01 00:00:01 ty D][3c4][tuya_cert_manager.c:899] psk_id_arr 49 <->1002950c>
    03 ab 54 6d .....
    
    [01-01 00:00:01 ty D][lr:0x9b04e929] pub was 1,use mf psk key
    [01-01 00:00:01 ty D][lr:0x9b04f435] cert manager init
    [01-01 01:00:01 ty D][lr:0x9b075903] set station.
    [01-01 01:00:01 ty D][lr:0x9b049791] protected read [kv.ccode.avtive]
    [01-01 01:00:01 ty D][lr:0x9b0497f7] protected read ret:0 length:2
    [01-01 01:00:01 ty D][lr:0x9b073cc3] kv has ccode ES
    [WIFI NOTICE]tuya_os_adapt_wifi_set_work_mode:2 now mode:2
    
    WIFI Mode No Need To Change: STA -->STA[01-01 01:00:01 ty D][lr:0x9b047bab] wifi auto reconn ssid XXXXXXX
    [01-01 01:00:01 ty D][lr:0x9b075c45] ap_info_v2 read success
    [01-01 01:00:01 ty D][lr:0x9b075c65] fast connect mode:0
    [WIFI NOTICE]fast connect ssid:XXXXXXXX,sec_type:400004,chan:1
    
    [Driver]: set ssid [XXXXXXX]
    [01-01 01:00:01 ty D][2f7][tal_thread.c:209] Thread:wq_system Exec Start. Set to Running Stat ->1002f7c8
    WPA2 join!!!
    [Driver]: start auth to b6:fb:e4:9a:84:76
    
    [Driver]: auth alg = 2
    
    [Driver]: auth success, start assoc
    
    [Driver]: association success(res=6)
    
    [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
    
    Interface 0 IP address : 172.16.77.104[WIFI[01-01 01:0 NOTICE]__hw0:01 ty N][ll_enter_powr:0x9b0479b9ersave*****] wifi statu***
    s changed to 0, stat: 1
    [01-01 01:00:01 ty N][lr:0x9b07581d] cur stat:6 0x0 -->>
    [01-01 01:00:01 ty N][lr:0x9b07582d] wifi netstat changed to:6 -->>
    [01-01 01:00:01 ty D][lr:0x9b075981] wf fast connect succ.
    [01-01 01:00:01 ty D][lr:0x9b056e4d] set netcfgstat, stage:2, status:0
    [01-01 01:00:01 ty D][lr:0x9b05cca5] ble get conn stat:4
    [01-01 01:00:01 ty D][lr:0x9b073be3] stat:6
    [01-01 01:00:01 ty D][lr:0x9b05dc01] link[2][1] is_up[1] active_link[2][1] status[0]
    [01-01 01:00:01 ty E][2e5][tuya_svc_mqtt_client.c:1475] handle null
    [01-01 01:00:01 ty I][lr:0x9b04f9a9] mqc app start ...
    [01-01 01:00:01 ty D][lr:0x9b04f9f7] MQTT Protocol URL:m3.tuyaeu.com:8886 Port:8886
    [01-01 01:00:01 ty D][lr:0x9b0475e9] mf_core_init success
    [01-01 01:00:01 ty I][3c4][tal_thread.c:185] thread_create name:mf_test,stackDepth:5120,totalstackDepth:26624,priority:4
    [01-01 01:00:01 ty D][3d9][tal_thread.c:209] Thread:mqtt_thread Exec Start. Set to Running Stat ->1003d974
    [01-01 01:00:01 ty I][2e5][tal_thread.c:185] thread_create name:mqtt_thread,stackDepth:4096,totalstackDepth:21504,priority:4
    [01-01 01:00:01 ty D][lr:0x9b04fae7] mqtt send topic:smart/device/out/bf23212e39f3afed31arzy
    [01-01 01:00:01 ty D][lr:0x9b04fafd] mqtt-media send topic:d/m/o/bf23212e39f3afed31arzy
    [01-01 01:00:01 ty N][lr:0x9b0500f5] [mqtts://m3.tuyaeu.com:8886] mqtt state change 0 -> 1
    [01-01 01:00:01 ty D][3d8][tal_thread.c:201] enter Thread:mf_test func call
    [01-01 01:00:01 ty D][3d8][tal_thread.c:209] Thread:mf_test Exec Start. Set to Running Stat ->1003d804
    [01-01 01:00:01 ty D][lr:0x9b04f78f] mq_pro:64 cnt:3
    [01-01 01:00:01 ty D][lr:0x9b04f78f] mq_pro:19 cnt:4
    [01-01 01:00:01 ty D][lr:0x9b04f78f] mq_pro:22 cnt:5
    [01-01 01:00:01 ty D][lr:0x9b04f78f] mq_pro:55 cnt:6
    [01-01 01:00:01 ty N][lr:0x9b07581d] cur stat:6 0x0 -->>
    [01-01 01:00:01 ty D][lr:0x9b0479e1] wifi connected in check
    [01-01 01:00:01 ty N][lr:0x9b050697] connect to mqtt broker mqtts://m3.tuyaeu.com:8886 port 8886
    [01-01 01:00:01 ty N][lr:0x9b0506dd] mqtt client ip:172.16.77.104, link-tp:2
    [01-01 01:00:01 ty D][lr:0x9b053583] unw_gethostbyname m3.tuyaeu.com, prio 1
    [01-01 01:00:01 ty D][lr:0x9b0535df] use dynamic dns ip:18.184.224.184 for domain:m3.tuyaeu.com
    [01-01 01:00:01 ty D][lr:0x9b0693cb] bind ip:ac104d68 port:24713 ok
    [01-01 01:00:01 ty D][lr:0x9b053c0b] MAX SECURITY_LEVEL:0, TUYA SECURITY_LEVEL:0, mode:0
    [01-01 01:00:01 ty D][lr:0x9b053c25] TUYA_TLS Begin Connect m3.tuyaeu.com:8886
    [01-01 01:00:01 ty D][lr:0x9b053c97] TUYA_TLS PSK Mode
    [01-01 01:00:01 ty D][lr:0x9b053d13] socket fd is set. set to inner send/recv to handshake
    [01-01 01:00:01 ty D][lr:0x9b053d2d] handshake finish for m3.tuyaeu.com. set send/recv to user set
    [01-01 01:00:01 ty D][lr:0x9b053d51] TUYA_TLS Success Connect m3.tuyaeu.com:8886 Suit:TLS-PSK-WITH-AES-128-CBC-SHA256
    [01-01 01:00:01 ty N][lr:0x9b050715] setup mqtt transporter success
    [01-01 01:00:01 ty N][lr:0x9b0500f5] [mqtts://m3.tuyaeu.com:8886] mqtt state change 1 -> 2
    [01-01 01:00:01 ty N][lr:0x9b050821] send mqtt connect success
    [01-01 01:00:01 ty N][lr:0x9b0500f5] [mqtts://m3.tuyaeu.com:8886] mqtt state change 2 -> 3
    [01-01 01:00:01 ty N][lr:0x9b05088f] mqtt connect success
    [01-01 01:00:01 ty N][lr:0x9b0500f5] [mqtts://m3.tuyaeu.com:8886] mqtt state change 3 -> 4
    [01-01 01:00:01 ty N][lr:0x9b050939] mqtt topics cnt 1
    [01-01 01:00:01 ty N][lr:0x9b050989] send mqtt subscribe success
    [01-01 01:00:01 ty N][lr:0x9b0500f5] [mqtts://m3.tuyaeu.com:8886] mqtt state change 4 -> 5
    [01-01 01:00:01 ty N][lr:0x9b0509e9] mqtt subscribe success
    [01-01 01:00:01 ty N][lr:0x9b0500f5] [mqtts://m3.tuyaeu.com:8886] mqtt state change 5 -> 6
    [01-01 01:00:01 ty D][lr:0x9b04f4a1] mqtt connect success
    [01-01 01:00:01 ty D][lr:0x9b05dc01] link[2][1] is_up[1] active_link[2][1] status[2]
    [01-01 01:00:01 ty N][lr:0x9b07581d] cur stat:7 0x0 -->>
    [01-01 01:00:01 ty N][lr:0x9b07582d] wifi netstat changed to:7 -->>
    [WIFI NOTICE]ssid XXXXXXXXXX,sec_type:400004,chan:1
    [01-01 01:00:01 ty D][lr:0x9b075c45] ap_info_v2 read success
    [01-01 01:00:01 ty D][lr:0x9b06a633] sync chan:1
    [01-01 01:00:01 ty D][lr:0x9b04fc01] Send MQTT Msg.P:18 N:13319 Q:1 Data:{"reqType":"sntp"}
    [01-01 01:00:01 ty D][lr:0x9b0513d9] packet id: 2
    [01-01 01:00:01 ty D][lr:0x9b04724d] mf thread delete
    [01-01 01:00:01 ty D][3d8][tal_thread.c:250] Del Thrd:mf_test
    [01-01 01:00:01 ty N][lr:0x9b02d9af] mf_init succ
    [01-01 01:00:01 ty D][lr:0x9b02d9c5] device_init in
    [01-01 01:00:01 ty I][3c4][tal_thread.c:185] thread_create name:gfw_core,stackDepth:4096,totalstackDepth:30720,priority:5
    [01-01 01:00:01 ty N][lr:0x9b039635] file_download_init OK
    [01-01 01:00:01 ty I][lr:0x9b0310fd] tal_uart_init, port:1
    [01-01 01:00:01 ty I][3c4][tal_thread.c:185] thread_create name:ty_voice_tsk,stackDepth:3072,totalstackDepth:33792,priority:3
    [01-01 01:00:01 ty I][lr:0x9b033865] -----------------------------------------get kv which_model_ota:0
    [01-01 01:00:01 ty I][lr:0x9b0318f1] -----------------------------------------get kv voice_volume:100
    [01-01 01:00:01 ty N][lr:0x9b02e5fd] read baud rate 115200
    [01-01 01:00:01 ty I][lr:0x9b0318f1] -----------------------------------------get kv voice_volume:100
    [01-01 01:00:01 ty N][lr:0x9b02e3a1] get_voice_volume_kv():100
    [01-01 01:00:01 ty I][lr:0x9b0318f1] -----------------------------------------get kv voice_volume:100
    [01-01 01:00:01 ty I][lr:0x9b033c67] tcl_voice_set_volume:100
    [01-01 01:00:01 ty I][lr:0x9b031945] -----------------------------------------get kv max_volume:0
    [01-01 01:00:02 ty N][lr:0x9b033c31] -------------------------------local_voice_volume_set :100
    [01-01 01:00:02 ty I][lr:0x9b03391f] tcl_voice_set_volume to voice chip:90
    [01-01 01:00:02 ty I][lr:0x9b030e1f] __tfm_recv_ty_uart_task_cb
    [01-01 01:00:02 ty I][lr:0x9b02dd93] now not get voice_model_version info, send voice_model_get_version cmd
    [06-11 13:47:07 ty N][lr:0x9b05416d] timeout,delete uf local log
    [06-11 13:47:07 ty I][lr:0x9b033fbd] send tcl_voice_get_volume cmd
    [06-11 13:47:07 ty I][lr:0x9b02dd93] now not get voice_model_version info, send voice_model_get_version cmd
    [06-11 13:47:07 ty I][lr:0x9b02dd93] now not get voice_model_version info, send voice_model_get_version cmd
    [06-11 13:47:07 ty I][lr:0x9b02dd93] now not get voice_model_version info, send voice_model_get_version cmd
    [06-11 13:47:07 ty I][lr:0x9b02dd93] now not get voice_model_version info, send voice_model_get_version cmd
    [06-11 13:47:07 ty I][lr:0x9b02dd93] now not get voice_model_version info, send voice_model_get_version cmd
    [06-11 13:47:07 ty I][lr:0x9b02dd93] now not get voice_model_version info, send voice_model_get_version cmd
    [06-11 13:47:07 ty I][lr:0x9b02dd93] now not get voice_model_version info, send voice_model_get_version cmd
    [06-11 13:47:07 ty I][lr:0x9b02dd93] now not get voice_model_version info, send voice_model_get_version cmd
    [06-11 13:47:07 ty I][lr:0x9b02dd93] now not get voice_model_version info, send voice_model_get_version cmd
    [06-11 13:47:07 ty I][lr:0x9b02dd93] now not get voice_model_version info, send voice_model_get_version cmd
    [06-11 13:47:07 ty I][lr:0x9b02dd93] now not get voice_model_version info, send voice_model_get_version cmd
    [06-11 13:47:07 ty I][lr:0x9b02dd93] now not get voice_model_version info, send voice_model_get_version cmd
    [06-11 13:47:07 ty I][lr:0x9b02dd93] now not get voice_model_version info, send voice_model_get_version cmd
    [06-11 13:47:07 ty I][lr:0x9b02dd93] now not get voice_model_version info, send voice_model_get_version cmd
    [06-11 13:47:07 ty I][lr:0x9b02dd93] now not get voice_model_version info, send voice_model_get_version cmd
    [06-11 13:47:07 ty I][lr:0x9b02dd93] now not get voice_model_version info, send voice_model_get_version cmd
    [06-11 13:47:07 ty I][lr:0x9b02dd93] now not get voice_model_version info, send voice_model_get_version cmd
    [06-11 13:47:08 ty I][lr:0x9b02dd93] now not get voice_model_version info, send voice_model_get_version cmd
    [06-11 13:47:08 ty I][lr:0x9b02dd93] now not get voice_model_version info, send voice_model_get_version cmd
    [06-11 13:47:08 ty I][lr:0x9b02dd93] now not get voice_model_version info, send voice_model_get_version cmd
    [06-11 13:47:08 ty N][lr:0x9b02e8ff] detect 115200,cnt:4,index:1
    [06-11 13:47:09 ty I][lr:0x9b02dd93] now not get voice_model_version info, send voice_model_get_version cmd
    [06-11 13:47:09 ty N][lr:0x9b02ecf1] --cmd enqueue 0x0c 0,port:1, queue_in:2,queue_cnt:1,queue_num:15
    [06-11 13:47:09 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:09 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:09 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:09 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:09 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:09 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:09 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:09 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:09 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:09 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:09 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:09 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:09 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:09 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:09 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:09 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:09 ty E][lr:0x9b038993] dp err:1,found thing model...
    [06-11 13:47:09 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:09 ty E][lr:0x9b038993] dp err:2,found thing model...
    [06-11 13:47:09 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:09 ty E][lr:0x9b038993] dp err:3,found thing model...
    [06-11 13:47:09 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:09 ty E][lr:0x9b038993] dp err:5,found thing model...
    [06-11 13:47:09 ty I][lr:0x9b02dd93] now not get voice_model_version info, send voice_model_get_version cmd
    [06-11 13:47:09 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:09 ty E][lr:0x9b038993] dp err:137,found thing model...
    [06-11 13:47:09 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:09 ty E][lr:0x9b038993] dp err:138,found thing model...
    [06-11 13:47:09 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:09 ty E][lr:0x9b038993] dp err:34,found thing model...
    [06-11 13:47:09 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:09 ty E][lr:0x9b038993] dp err:31,found thing model...
    [06-11 13:47:09 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:09 ty E][lr:0x9b038993] dp err:4,found thing model...
    [06-11 13:47:09 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:09 ty E][lr:0x9b038993] dp err:111,found thing model...
    [06-11 13:47:09 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:09 ty E][lr:0x9b038993] dp err:125,found thing model...
    [06-11 13:47:09 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:09 ty E][lr:0x9b038993] dp err:27,found thing model...
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b038993] dp err:13,found thing model...
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b038993] dp err:24,found thing model...
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b038993] dp err:101,found thing model...
    [06-11 13:47:10 ty N][lr:0x9b0387a9] report dp_cnt:15
    [06-11 13:47:10 ty E][lr:0x9b038b2b] dp report err -2
    [06-11 13:47:10 ty I][lr:0x9b02dd93] now not get voice_model_version info, send voice_model_get_version cmd
    [06-11 13:47:10 ty N][lr:0x9b02ecf1] --cmd enqueue 0x0c 0,port:1, queue_in:3,queue_cnt:2,queue_num:15
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b038993] dp err:126,found thing model...
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b038993] dp err:16,found thing model...
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b038993] dp err:9,found thing model...
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b038993] dp err:132,found thing model...
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b038993] dp err:110,found thing model...
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b038993] dp err:134,found thing model...
    [06-11 13:47:10 ty W][lr:0x9b038865] unconvert identifier_id:[5c],is_array[0],basic_type:[0],offset:[4]
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b038993] dp err:133,found thing model...
    [06-11 13:47:10 ty I][lr:0x9b031f0f] cap_tbl_len = 20
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b038993] dp err:103,found thing model...
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b038993] dp err:116,found thing model...
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b038993] dp err:117,found thing model...
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b038993] dp err:119,found thing model...
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b038993] dp err:8,found thing model...
    [06-11 13:47:10 ty W][lr:0x9b038865] unconvert identifier_id:[72],is_array[0],basic_type:[0],offset:[4]
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b038993] dp err:7,found thing model...
    [06-11 13:47:10 ty N][lr:0x9b0387a9] report dp_cnt:11
    [06-11 13:47:10 ty I][lr:0x9b02dd93] now not get voice_model_version info, send voice_model_get_version cmd
    [06-11 13:47:10 ty E][lr:0x9b038b2b] dp report err -2
    [06-11 13:47:10 ty N][lr:0x9b02ecf1] --cmd enqueue 0x0c 0,port:1, queue_in:4,queue_cnt:3,queue_num:15
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty W][lr:0x9b038865] unconvert identifier_id:[74],is_array[0],basic_type:[2],offset:[1]
    [06-11 13:47:10 ty W][lr:0x9b038865] unconvert identifier_id:[95],is_array[0],basic_type:[0],offset:[4]
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b038993] dp err:26,found thing model...
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b038993] dp err:124,found thing model...
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b038993] dp err:121,found thing model...
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b038993] dp err:118,found thing model...
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b038993] dp err:122,found thing model...
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b038993] dp err:120,found thing model...
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b038993] dp err:102,found thing model...
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b038993] dp err:114,found thing model...
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b038993] dp err:113,found thing model...
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b038993] dp err:104,found thing model...
    [06-11 13:47:10 ty E][lr:0x9b06a317] no find dev:bf23212e39f3afed31arzy
    [06-11 13:47:10 ty E][lr:0x9b038993] dp err:105,found thing model...
    [06-11 13:47:10 ty N][lr:0x9b0387a9] report dp_cnt:11
    [06-11 13:47:10 ty E][lr:0x9b038b2b] dp report err -2
    [06-11 13:47:10 ty I][lr:0x9b02dd93] now not get voice_model_version info, send voice_model_get_version cmd
    [06-11 13:47:10 ty I][lr:0x9b02dd93] now not get voice_model_version info, send voice_model_get_version cmd
    [06-11 13:47:10 ty I][lr:0x9b02dd93] now not get voice_model_version info, send voice_model_get_version cmd
    [06-11 13:47:10 ty N][lr:0x9b0346d7] wifi_state:7>>>>>>>>>
    [06-11 13:47:10 ty N][lr:0x9b02ecf1] --cmd enqueue 0x0c 0,port:0, queue_in:5,queue_cnt:3,queue_num:15
    [06-11 13:47:17 ty I][lr:0x9b02dff5] tcl_isvoice_send_notice(0)!!!!!!!!!!
    [06-11 13:47:17 ty N][lr:0x9b02ecf1] --cmd enqueue 0x28 0,port:0, queue_in:6,queue_cnt:1,queue_num:15
    [06-11 13:47:17 ty N][lr:0x9b0344f7] baud lock success
    [06-11 13:47:17 ty N][lr:0x9b03491b] wifi_mode:3
    [06-11 13:47:17 ty N][lr:0x9b02ecf1] --cmd enqueue 0x00 0,port:0, queue_in:7,queue_cnt:1,queue_num:15
    [06-11 13:47:17 ty N][lr:0x9b03605d] mcu support protocol ver:1
    [06-11 13:47:17 ty N][lr:0x9b035873] vers_cnt:1, str_cnt:41,vers_flag:1>>>>>>>>
    [06-11 13:47:17 ty N][lr:0x9b0359f7] str[ACMCU/V9-R10FT27AC-FV001.001.030"],"SN":"111201XXXXXXXXXXXXXXXXX"}sr]
    [06-11 13:47:17 ty N][lr:0x9b035a07] begin_idx[9],separator_idx[15], ver_idx[30],end_idx[41]
    [06-11 13:47:17 ty N][lr:0x9b035a65] mcu_type:0,ver_len:11, mcu_id:V9-R10FT27AC-FV,mcu_vers:001.001.030
    [06-11 13:47:17 ty N][lr:0x9b035379] ctx_mcu_attr:1,heapsize:76160####
    [06-11 13:47:17 ty N][lr:0x9b035401] DEV_VERS: 01.001.030
    [06-11 13:47:17 ty N][lr:0x9b0354bd] DEV_MCU_ID: V9-R10FT27AC-FV,CH:0
    [06-11 13:47:17 ty N][lr:0x9b0354d9] cloud ch:9,id:V9-RABMT26AC-F,attr_cnt:0
    [06-11 13:47:17 ty N][lr:0x9b0354bd] DEV_MCU_ID: V9-R10FT27AC-FV,CH:0
    [06-11 13:47:17 ty N][lr:0x9b0354d9] cloud ch:10,id:V9-R10FT27AC-F,attr_cnt:0
    [06-11 13:47:18 ty N][lr:0x9b035521] DEV_MCU_ID: V9-R10FT27AC-FV,CH:10
    [06-11 13:47:18 ty N][lr:0x9b035535] cloud ch:10,id:V9-R10FT27AC-F,attr_cnt:0
    [WIFI NOTICE]set_lp_mode 0
    [WIFI NOTICE]open ble exit wifi powersave!!!
    [06-11 13:47:18 ty N][lr:0x9b036127] active work mode auto enter
    [06-11 13:47:18 ty N][lr:0x9b03506d] ssid:tcl_AC_t*ap_szkt,pwd:b\fyhDBm9kf\foCVb$EVSB,ubULVn_5F
    [06-11 13:47:18 ty N][lr:0x9b03735b] mcu ver init>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    [06-11 13:47:18 ty N][lr:0x9b035379] ctx_mcu_attr:1,heapsize:76024####
    [06-11 13:47:18 ty N][lr:0x9b035401] DEV_VERS: 01.001.030
    [06-11 13:47:18 ty N][lr:0x9b0354bd] DEV_MCU_ID: V9-R10FT27AC-FV,CH:0
    [06-11 13:47:18 ty N][lr:0x9b0354d9] cloud ch:9,id:V9-RABMT26AC-F,attr_cnt:0
    [06-11 13:47:18 ty N][lr:0x9b0354bd] DEV_MCU_ID: V9-R10FT27AC-FV,CH:0
    [06-11 13:47:18 ty N][lr:0x9b0354d9] cloud ch:10,id:V9-R10FT27AC-F,attr_cnt:0
    [06-11 13:47:18 ty N][lr:0x9b035521] DEV_MCU_ID: V9-R10FT27AC-FV,CH:10
    [06-11 13:47:18 ty N][lr:0x9b035535] cloud ch:10,id:V9-R10FT27AC-F,attr_cnt:0
    [06-11 13:47:18 ty N][lr:0x9b037371] tuya_iot_wf_dev_init:01.001.030
    [06-11 13:47:18 ty N][lr:0x9b0742af] start wifi link params validate, nc_tp:9 md:3
    [06-11 13:47:18 ty N][lr:0x9b0742fb] gw_wsm.nc_tp:9
    [06-11 13:47:18 ty N][lr:0x9b074305] gw_wsm.md:3
    [06-11 13:47:18 ty N][lr:0x9b0567f1] Last reset reason: 0
    [06-11 13:47:18 ty N][lr:0x9b0561f5] gw_cntl->gw_if.abi:0 input:0
    [06-11 13:47:18 ty N][lr:0x9b0561ff] gw_cntl->gw_if.product_key:nn2ooaacswz6uyi0, input:nn2ooaacswz6uyi0
    [06-11 13:47:18 ty N][lr:0x9b05620b] gw_cntl->gw_if.tp:9, input:9
    [06-11 13:47:18 ty N][lr:0x9b056219] gw_cntl->gw_if.firmware_key:keymwdn9ed8pvsnq, input:keymwdn9ed8pvsnq
    [06-11 13:47:18 ty N][lr:0x9b056ae5] enter success_proc
    [WIFI NOTICE]read wifi mac:20:f1:b2:9d:09:77
    [06-11 13:47:18 ty N][lr:0x9b056af9] serial_no:20f1b29d097cc
    [06-11 13:47:18 ty N][lr:0x9b0373c5] OPRT_OK == rt
    [06-11 13:47:18 ty N][lr:0x9b0373d3] INT-tuya_iot_dev_update_attachs:01.001.030,attr_tp_cnt1
    [06-11 13:47:18 ty N][lr:0x9b03511b] recv net status changed to 7
    [06-11 13:47:18 ty N][lr:0x9b03512b] s_wifi_ctx.work_mode:0
    [06-11 13:47:18 ty N][lr:0x9b034c05] conn_state:7
    [06-11 13:47:18 ty N][lr:0x9b02ecf1] --cmd enqueue 0x0b 0,port:0, queue_in:8,queue_cnt:1,queue_num:15
    [06-11 13:47:18 ty N][lr:0x9b034c7b] get wifi state:5,66292
    [06-11 13:47:18 ty N][lr:0x9b035223] get gw nw statue2:2
    [06-11 13:47:18 ty N][lr:0x9b0351e1] get gw nw statue:2
    [06-11 13:47:18 ty N][lr:0x9b03742d] mcu ver init exit >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    [06-11 13:47:18 ty N][lr:0x9b0350b9] dev active state:2
    [06-11 13:47:18 ty N][lr:0x9b034c05] conn_state:7
    [06-11 13:47:18 ty N][lr:0x9b02ecf1] --cmd enqueue 0x0b 0,port:0, queue_in:9,queue_cnt:2,queue_num:15
    [06-11 13:47:18 ty N][lr:0x9b034c7b] get wifi state:5,65916
    [WIFI NOTICE]tuya_os_adapt_wifi_set_work_mode:2 now mode:2
    
    WIFI Mode No Need To Change: STA -->STA[06-11 13:47:18 ty N][lr:0x9b082d31] bt startup attr:1
    [06-11 13:47:18 ty N][lr:0x9b05577d] __devos_init_evt success
    [06-11 13:47:18 ty N][lr:0x9b056523] already bind
    [06-11 13:47:18 ty N][lr:0x9b0372cd] gw status changed to 3
    [06-11 13:47:18 ty N][lr:0x9b07581d] cur stat:7 0x9b035109 -->>
    [WIFI NOTICE]ssid MiFibra-C0DM,sec_type:400004,chan:1
    [06-11 13:47:18 ty I][lr:0x9b04f9a9] mqc app start ...
    [06-11 13:47:18 ty E][lr:0x9b081679] read timer_full_key failed
    [06-11 13:47:18 ty N][lr:0x9b07581d] cur stat:7 0x9b035109 -->>
    [06-11 13:47:18 ty N][lr:0x9b05577d] Main Module: v1.0.0 (1.0.60)
    [06-11 13:47:18 ty N][lr:0x9b03491b] wifi_mode:3
    [06-11 13:47:18 ty N][lr:0x9b02ecf1] --cmd enqueue 0x00 0,port:0, queue_in:10,queue_cnt:2,queue_num:15
    [06-11 13:47:21 ty N][lr:0x9b02f3c7] 1111ble_pait_state_report_cb_wifi_state:7
    [06-11 13:47:21 ty N][lr:0x9b02f3d5] 22222ble_pait_state_report_cb_wifi_state:7
    [06-11 13:47:21 ty N][lr:0x9b02f30d] report dp id:153, val:0
    [06-11 13:47:23 ty N][lr:0x9b038c41] query dp >>>>>>>
    [06-11 13:47:23 ty N][lr:0x9b02ecf1] --cmd enqueue 0x0b 0,port:1, queue_in:11,queue_cnt:1,queue_num:15
    [06-11 13:47:23 ty N][lr:0x9b037db5] power init ota inform>>>>>>>>>>>>>>>>>>>>>
    [06-11 13:47:23 ty N][lr:0x9b0379fd] mcu local ota param err
    [06-11 13:47:23 ty N][lr:0x9b037689] ota image null
    [06-11 13:47:23 ty N][lr:0x9b03484d] wifi_state:7,rt:0
    [06-11 13:47:23 ty N][lr:0x9b03484d] wifi_state:7,rt:0
    [06-11 13:47:23 ty N][lr:0x9b035873] vers_cnt:1, str_cnt:41,vers_flag:1>>>>>>>>
    [06-11 13:47:23 ty N][lr:0x9b0359f7] str[ACMCU/V9-R10FT27AC-FV001.001.030"],"SN":"111201XXXXXXXXXXXXXXXXX"}sr]
    [06-11 13:47:23 ty N][lr:0x9b035a07] begin_idx[9],separator_idx[15], ver_idx[30],end_idx[41]
    [06-11 13:47:23 ty N][lr:0x9b035a65] mcu_type:0,ver_len:11, mcu_id:V9-R10FT27AC-FV,mcu_vers:001.001.030
    [06-11 13:47:23 ty N][lr:0x9b035379] ctx_mcu_attr:1,heapsize:62996####
    [06-11 13:47:23 ty N][lr:0x9b035401] DEV_VERS: 01.001.030
    [06-11 13:47:23 ty N][lr:0x9b0354bd] DEV_MCU_ID: V9-R10FT27AC-FV,CH:0
    [06-11 13:47:23 ty N][lr:0x9b0354d9] cloud ch:9,id:V9-RABMT26AC-F,attr_cnt:0
    [06-11 13:47:23 ty N][lr:0x9b0354bd] DEV_MCU_ID: V9-R10FT27AC-FV,CH:0
    [06-11 13:47:23 ty N][lr:0x9b0354d9] cloud ch:10,id:V9-R10FT27AC-F,attr_cnt:0
    [06-11 13:47:23 ty N][lr:0x9b035521] DEV_MCU_ID: V9-R10FT27AC-FV,CH:10
    [06-11 13:47:23 ty N][lr:0x9b035535] cloud ch:10,id:V9-R10FT27AC-F,attr_cnt:0
    [06-11 13:47:23 ty E][lr:0x9b05f58f] uf_open netcfg_log err 8
    [06-11 13:47:23 ty N][lr:0x9b02ecf1] --cmd enqueue 0x0c 0,port:1, queue_in:12,queue_cnt:1,queue_num:15
    [06-11 13:47:23 ty N][lr:0x9b0387a9] report dp_cnt:15
    [06-11 13:47:23 ty N][lr:0x9b02ecf1] --cmd enqueue 0x0c 0,port:1, queue_in:13,queue_cnt:2,queue_num:15
    [06-11 13:47:23 ty W][lr:0x9b038865] unconvert identifier_id:[5c],is_array[0],basic_type:[0],offset:[4]
    [06-11 13:47:24 ty I][lr:0x9b031f0f] cap_tbl_len = 20
    [06-11 13:47:24 ty W][lr:0x9b038865] unconvert identifier_id:[72],is_array[0],basic_type:[0],offset:[4]
    [06-11 13:47:24 ty N][lr:0x9b0387a9] report dp_cnt:11
    [06-11 13:47:24 ty N][lr:0x9b02ecf1] --cmd enqueue 0x0c 0,port:1, queue_in:14,queue_cnt:2,queue_num:15
    [06-11 13:47:24 ty W][lr:0x9b038865] unconvert identifier_id:[74],is_array[0],basic_type:[2],offset:[1]
    [06-11 13:47:24 ty W][lr:0x9b038865] unconvert identifier_id:[95],is_array[0],basic_type:[0],offset:[4]
    [06-11 13:47:24 ty N][lr:0x9b0387a9] report dp_cnt:11
    [06-11 13:47:24 ty N][lr:0x9b03461f] check time sync
    [06-11 13:47:24 ty N][lr:0x9b034649] utc time inform,zone_num:02
    [06-11 13:47:24 ty N][lr:0x9b02ecf1] --cmd enqueue 0x15 0,port:0, queue_in:0,queue_cnt:2,queue_num:15
    [06-11 13:47:29 ty N][lr:0x9b0345e5] zone_num:2,posix:1781178449
    [06-11 13:47:29 ty N][lr:0x9b02ecf1] --cmd enqueue 0x10 0,port:0, queue_in:1,queue_cnt:1,queue_num:15
    [06-11 13:47:29 ty N][lr:0x9b0346d7] wifi_state:7>>>>>>>>>
    [06-11 13:47:29 ty N][lr:0x9b02ecf1] --cmd enqueue 0x0c 0,port:0, queue_in:2,queue_cnt:2,queue_num:15
    [06-11 13:47:34 ty E][2f7][tuya_svc_upgrade.c:928] result null
    [06-11 13:47:35 ty N][lr:0x9b02dd21] station state:6
    [MEM DBG] Heap size=183936, free=62876, free_largest=55947, malloc_block=750, free_block=8
    [06-11 13:47:53 ty N][lr:0x9b02ecf1] --cmd enqueue 0x0c 0,port:1, queue_in:3,queue_cnt:1,queue_num:15
    [06-11 13:47:53 ty N][lr:0x9b0387a9] report dp_cnt:1


    Also the traces I obtained from the UART while booting the machine from cold, power completely off.

    Complete initial boot trace labeled with its memory address offsets.
    00000420: 0ca5 0101 2300 e900 0c39 c880 0ca5 0100
    00000430: 2101 0000 0d68 e600 0001 a501 0123 0004
    00000440: 000c 23be 800c a501 0123 0005 000c 89ef
    00000450: 800c a501 0123 0006 000c 673d 800c a501
    00000460: 0121 0100 000e 4ae9 0b0b ffff a501 0023
    00000470: 0007 0012 96ce 8012 0001 0000 0000 a501
    00000480: 0023 0008 0012 1dfd 8012 0001 0000 0000
    00000490: a501 0123 0009 000c 02c4 800c a501 0123
    000004a0: 000a 000c ec16 800c a501 0123 000b 000c
    000004b0: 4647 800c a501 0021 0200 0012 01af 2828
    
    000004c0: 0001 0000 0000 a501 0021 0300 000d 0805
    000004d0: 0000 01a5 0100 2104 0000 0e75 eb0b 0b03
    000004e0: 05a5 0100 2105 0000 0e32 380b 0b03 05a5
    000004f0: 0100 2106 0000 0d71 a200 0001 a501 0121
    00000500: 0700 000e ca22 0b0b ffff a501 0123 000c
    00000510: 000c 2193 800c a501 0123 000d 000c 8bc2
    00000520: 800c a501 0123 000e 000c 6510 800c a501
    00000530: 0123 000f 000c cf41 800c a501 0123 0010
    00000540: 000c aee2 800c a501 0123 0000 0c04 b380
    00000550: 0ca5 0101 2300 1200 0cea 6180 0ca5 0101
    00000560: 2300 000c 4030 800c a501 0123 0014 000c
    00000570: 27e4 800c a501 0021 0800 0048 2615 156a
    00000580: 2abf 2702 a501 0023 0000 000f 0b80 106a
    00000590: 2abf 2b02 a501 0023 0000 0012 d430 800c
    


    As you can see the device use the same header seem in other devices A5 01.

    I did some diggings with Gemini and based on his replies I tried to configure the Openbeken to send thru channels the basic ON/OFF sequences but I failed badly to get any result. I was getting all the time:

    Info:TuyaMCU:Consumed 66 unwanted non-header byte in Tuya MCU buffer
    Info:TuyaMCU:Skipped data (part) A5 01 01 21 42 00 00 42 46 F7 0C 0C 00 01 00 00 02 00 00 09 60 00 03 00 00 0B 0E 00 05 02 00 0C 01 00 0D 00 00 0E 08 00 11 01 00 12 01 00 DF 01 00 C9 00 00 17 00 00 1E 01 02 27 00 00 00 4B 01 48 00

    The size of the 66 bytes change all the time like the traces are in variable size.

    I tried with the Tuya driver and TCL, non of them work out of the box, that was the first thing I tried.

    Below what Gemini seems to interpret of my initial tests. No idea if this is right or wrong.

    1. Discoveries from the Boot Trace (Initial State)The boot sequence captures the air conditioner's baseline profile when waking up (configured at 21°C and Medium-Low Fan).
    #Target Set Temperature Baseline (21°C):
    Location: Offset 00000570
    Raw Sequence: ... a5 01 00 21 08 00 00 48 26 15 15 ...
    Discovery: The twin adjacent bytes 15 15 translate directly to 21 in decimal notation. This establishes how the MCU stores the initial comfort boundary.
    
    #Ambient Air Sensor Baseline:
    Location: Offsets 000004d0 & 000004e0 (Payload IDs 04 and 05)
    Raw Sequence: ... eb 0b 0b ... and ... 38 0b 0b ...
    Discovery: The recurring twin bytes 0b 0b represent 11 in decimal.
    This serves as the raw index for the room's environmental probe resting around 21°C–22°C at boot.
    
    #Initial Fan Speed Configuration (40%):
    Location: Offset 000004b0 (Payload ID 02)Raw Sequence: ... a5 01 00 21 02 00 00 12 01 af 28 28
    Discovery: The duplicate trailing bytes 28 28 equal 40 in decimal, mapping directly to a 40% Fan Speed (Medium-Low or Auto profile) initialized by the TCL comfort curve.
    
    2. Discoveries from the App Interactions (ON vs. OFF)
    When interacting via the Wi-Fi network, the payload changes from status reporting to execution commands, altering specific byte offsets.
    
    #A. App Command ON (Set to Cooling @ 25°C)
    Raw Sequence: ... a5 01 01 21 0b 00 00 12 eb 65 0a 0a 00 01 01 00 df 00
    Temperature Target Shift: The target comfort zone shifted from the boot value of 15 15 (21°C) to 0a 0a (10 in decimal) to scale the compressor's inverter bounds for a 25°C app setting.
    
    Power & Mode Registers: The trailing byte sequence 00 01 01 00 contains the active run flags:
    01 (First): Inverter operation flag / Cooling mode enabled.
    01 (Second): Power state set to ON.
    
    #B. App Command OFF (Standby State)
    Raw Sequence: ... a5 01 01 21 0c 00 00 0f 38 55 0a 0a 00 01 00
    Power State Toggle: Comparing this directly to the ON frame, the trailing active run flags mutated down to 00 01 00.
    *The second 01 dropped to 00, mapping directly to the Power OFF (Standby) state.
    
    Mode & Temp Memory Retention: Notice that 0a 0a (25°C target) and the first 01 (Cooling mode) remain intact in the OFF payload.
    This proves that the TCL MCU maintains the last used settings in volatile memory while sleeping, ensuring it knows its target state upon the next wake cycle.
    
    3. Infrastructure and Signal Maintenance (Type 23 Commands)Throughout all running logs, the constant background ping loop (01 23) contains telemetry for wireless health.
    
    Wi-Fi Signal Strength (RSSI):Raw Sequence: ... a5 01 00 23 00 00 00 12 05 9d 80 0c 02 64 ff ff ff c5
    
    Discovery: The isolated byte 64 translates to 100 in decimal, revealing that the WBR3 uses this specific byte block to broadcast a 100% Wi-Fi Signal Link back to the main control unit.
    


    I can take traces and do all tests needed, but openbeken is new to me, and my developer skill are very limited. Any help is most welcome.

    Added after 12 [minutes]:
  • ADVERTISEMENT
  • #5 21919484
    Nauttor
    Level 3  
    Posts: 17
    Rate: 1
    >>21919462

    Thanks @divadiow .

    I logged in and I tried to download the files but I don't see any option.

    @notupus Is your init ver ready for testing? Seems similar to my device.

    Added after 11 [minutes]:

    >>21919482
    OK I did the OTA. The device booted normally, but the UI is not showing any channels configured or anything.
  • TuyaAC driver mismatch causing empty UI and garbage RX

    #6 21919752
    Nauttor
    Level 3  
    Posts: 17
    Rate: 1
    divadiow wrote:


    Hi @divadiow,

    I was going thru the code from notupus and I get to start the driver from @notupus with Startdriver TuyaAC.

    Seems something is not matching to my AC as all figures in the UI look empty when I interact with the remote.

    [Tuya] Daitsu Split Air conditioner DOSM-21KDT with TCWBRCU1(WBR3)(RTL) - T

    In the logs I see a loop reporting indefinitely
    Info:TuyaAC:Garbage RX: 00
    Info:TuyaAC:Garbage RX: 00
    Info:TuyaAC:Garbage RX: 00
    Info:TuyaAC:Garbage RX: 00
    Info:TuyaAC:Garbage RX: 00
    Info:TuyaAC:Garbage RX: 00
    Info:TuyaAC:Garbage RX: 00
    Info:TuyaAC:Garbage RX: 00
    Info:TuyaAC:Garbage RX: 00
    Info:TuyaAC:Garbage RX: 00
  • ADVERTISEMENT
  • #7 21919984
    divadiow
    Level 38  
    Posts: 5153
    Help: 442
    Rate: 906
    not really sure. maybe yours is different enough that the TuyaAC driver is still not the right fit. Maybe it is and yours is a different baud?

    Did you run your backup through Easy Flasher Tuya config extractor to see what baud it shows, if any?
    Screenshot of BK7231 Easy UART Flasher showing JSON output and a message about missing pin data
  • Power cycle restored AC UART communication

    #8 21919991
    Nauttor
    Level 3  
    Posts: 17
    Rate: 1
    Well, some developments, strange ones, after I loaded the Notupus firmware.

    My WBR3 was refusing to load drivers and every time I tried it manually, it crashed and rebooted. So, I cleaned all conf in the module in case any conf was wrong, and I left it vanilla. It kept happening. I uploaded the standard version of openbek and same. So at that point I thought the module is fried, or the AC CPU or AC UART controller crashed somehow because of the flood.

    Seems the firmware from notupus crashed my internal board. I cut the power to the AC completely for 1 minute, reverted it back, and then the Tuyamcu driver and all others started working again, allowing.

    Now comes the strangest of all things. Now if I load the TCL generic driver, which did not work initially, and if I click on change mode in the UI from off to 1, it works. Well, sort of works, it sends something and I hear the beep in the AC and it switches on, what mode or what it does, no idea.

    However, it is not updating the temps or other values in the UI, so I guess at least the mode change is sending a DPID that the AC recognizes behind TCL driver.

    One more thing to note is I don't see error logs in the openbeken log about header not recognized, so the complete shutdown of the AC must have done something to the AC CPU. That was different when the original Tuyaclod firmware was plugged in. Maybe the tuya firmware change or adjust something on boot on the device and change its behaviour.

    So based on what I have seen, if I add my DPIDs to the standard tcl it should work???
  • ADVERTISEMENT
  • #10 21921997
    Nauttor
    Level 3  
    Posts: 17
    Rate: 1
    Thanks divadiow, the github link seems truncated. Can you share the complete link? I want to see what changes the AI proposed to understand what's the difference between both devices.
  • #11 21922003
    divadiow
    Level 38  
    Posts: 5153
    Help: 442
    Rate: 906
    sure. fixed link
  • Power cycle fixed AC board hang and restored telemetry

    #12 21922082
    Nauttor
    Level 3  
    Posts: 17
    Rate: 1
    I loaded the new version, and...

    Status screen for “Tuya AC Driver” showing AC parameters, mostly OFF and 0 values.

    Pretty much the same result just a list of things that show 0 or Off like is not reading. I started the driver with the command startdriver tuyaac but nothing.

    Also I don't see any reaction on the LOG when i send commands with the remote neither, not sure if it is expected.

    Well when I load the driver I see this

    Info:MAIN:Starting tuyaAC.
    Info:TuyaAC:TX UART: LEN=13 CRC=0x0805 A5 01 00 21 03 00 00 0D 08 05 00 00 01
    Info:TuyaAC:TX UART: LEN=14 CRC=0x0257 A5 01 01 21 04 00 00 0E 02 57 0B 0B FF FF
    Info:MAIN:Started tuyaAC.

    but nothing afterwards. just wifi messages. That HEX with the FFFF should ask the machine to send back the parameters to fill the UI info, but that is clearly not happening,

    UPDATE!!!

    Added after 49 [minutes]:

    Well, you will not believe it, same happen again, my AC was hanged, the internal board I guess, so I was not seeing anything.

    I did a complete power off and on again, that rebooted the AC board, and all of a sudden on a fresh boot:


    Screenshot of “Tuya AC Driver” showing air conditioner status settings and temperatures.


    So that was success.

    Now I get almost all parameters, at least all relevant ones. I have detected a minor error, Fan Mute is detected as lowest, instead of mute, and mute detected as lowest, they are exchanged.

    I'm trying to sent the commands over Mqtt but seems that i can not make it work.

    I'm sending
    mosquitto_pub -h x.x.x.x -t "nameofdevice/mute/set" -m "On"

    Info:MQTT:MQTT client in mqtt_incoming_publish_cb topic nameofdevice/mute/set
    Info:MQTT:MQTT client in mqtt_incoming_data_cb data is off for ch 0
    Info:GEN:No change in channel 0 (still set to 0) - ignoring

    I received all parameters in the mqtt stream but i'm not sure how to send them back to change parameters, i assume is with /set but this seems to not work, maybe is not fully implemented in notopus firmware still.

    Added after 20 [minutes]:

    OK, checking Notopus code I see he has implemented for now only:

    CMD_RegisterCommand("ACMode", CMD_TuyaAC_Mode, NULL);
    CMD_RegisterCommand("FANMode", CMD_TuyaAC_Fan, NULL);
    CMD_RegisterCommand("TargetTemperature", CMD_TuyaAC_TargetTemp, NULL);
    CMD_RegisterCommand("ACPower", CMD_TuyaAC_Power, NULL);

    I was able to control all those sending a mqtt message like:
    mosquitto_pub -h x.x.x.x -t "cmnd/devicename/FANMode" -m "mid"

    That works.

    One question that comes to my mind is if your modification made it work, or it was my AC CPU hanged again. I need to load Notopus version to validate if that is the case or not, but at least we have some good progress :)

    Added after 1 [minutes]:

    >>21922082

    Added after 23 [minutes]:

    OK I tested back Notopus version and it seems to work, with some caveats, like the fan modes not matching 100%, and other parameters.

    This is what I see in the Log:

    Info:TuyaAC: - [0x0001] Power: On
    Info:TuyaAC: - [0x0002] Target Temp: 23.0 C
    Info:TuyaAC: - [0x0003] Current Temp: 20.3 C
    Info:TuyaAC: - [0x0005] Fan Speed Mode: auto
    Info:TuyaAC: - [0x000C] Vert Motor Status: Stopped
    Info:TuyaAC: - [0x000D] Horiz Motor Status: Stopped
    Info:TuyaAC: - [0x000E] Horizontal Swing: Unknown
    Info:TuyaAC: - [0x0011] Vertical Swing: Unknown
    Info:TuyaAC: - [0x0012] AC Mode: cool
    Info:TuyaAC: - [0x00DF] Eco Mode: Off
    Info:TuyaAC: - [0x00C9] Regular Reporting: 1
    Info:TuyaAC: - [0x0017] Unknown: 0
    Info:TuyaAC: - [0x001E] Display Light: On
    Info:TuyaAC: - [0x0227] Temp Set Fahrenheit: 73
    Info:TuyaAC: - [0x0148] Unknown: 0
    Info:TuyaAC:RX UART: LEN=91 CRC=0x970D A5 01 01 21 A2 00 00 5B 97 0D 0C 0C 00 22 00 00 25 01 00 27 00 00 2D 00 00 35 00 00 38 00 00 5C 00 00 07 6C 00 39 13 02 03 07 08 09 0B 0C 0D 15 17 1C 1F 21 22 24 27 28 2A 30 00 5E 00 00 60 00 00 09 C4 00 64 00 00 00 00 00 65 00 00 00 00 00
    Info:TuyaAC: - [0x0022] Sleep Mode: Off
    Info:TuyaAC: - [0x0025] Buzzer/Beep: On
    Info:TuyaAC: - [0x0027] Unknown: 0
    Info:TuyaAC: - [0x002D] Generator Mode: Off
    Info:TuyaAC: - [0x0035] Unknown: 0
    Info:TuyaAC: - [0x0038] Error Code Raw: 0
    Info:TuyaAC: - [0x005C] Indoor Fan Speed: 1900 RPM
    Info:TuyaAC: - [0x0039] Unknown (20 bytes)
    Info:TuyaAC: - [0x005E] Unknown: 0
    Info:TuyaAC: - [0x0060] Outdoor Temp: 25.0 C
    Info:TuyaAC: - [0x0064] Outdoor Fan Speed: 0 RPM
    Info:TuyaAC: - [0x0065] Compressor Frequency: 100 mins
    Info:TuyaAC: - [0x0013] Unknown: 0
    Info:TuyaAC: - [0x0072] Indoor Fan Speed: 0%
    Info:TuyaAC: - [0x0073] Mute: On
    Info:TuyaAC:RX UART: LEN=72 CRC=0x4F77 A5 01 01 21 A3 00 00 48 4F 77 0C 0C 00 74 06 00 95 00 00 00 00 00 15 00 00 A4 00 00 BD 00 00 00 00 00 BE 00 00 00 00 00 BF 00 00 00 00 00 C0 00 00 00 00 01 47 00 02 21 00 00 06 40 02 22 00 00 0C 1C 02 24 00 02 25 00
    Info:TuyaAC: - [0x0074] Internal or Reserved: 6
    Info:TuyaAC: - [0x0095] Internal or Reserved: 0
    Info:TuyaAC: - [0x0015] Health/Ionizer Mode: Off
    Info:TuyaAC: - [0x00A4] Filter Health: 0%
    Info:TuyaAC: - [0x00BD] Unknown: 0
    Info:TuyaAC: - [0x00BE] Outdoor Fan Tarspeed: 0
    Info:TuyaAC: - [0x00BF] Outdoor EEVTAR Opendegree: 0
    Info:TuyaAC: - [0x00C0] Compressor: 0 Hz
    Info:TuyaAC: - [0x0147] Eight Degree Heat: Off
    Info:TuyaAC: - [0x0221] Lower Temp Limit: 16.0 C
    Info:TuyaAC: - [0x0222] Upper Temp Limit: 31.0 C
    Info:TuyaAC: - [0x0224] High Temperature Wind: 0
    Info:TuyaAC: - [0x0225] Cool Feel Wind: 0

    One strange thing, or maybe is mapped incorrectly in notopus UI, is that in the log it says:
    Info:TuyaAC: - [0x0005] Fan Speed Mode: auto

    which is correct, but in the Wen UI it is shown as
    Fan: mute
  • Auto fan mode is misreported as mute

    #14 21922453
    Nauttor
    Level 3  
    Posts: 17
    Rate: 1
    Thanks @divadiow, I tested but I see some strange behaviors.

    I reverted back to the Notopus original version to start from there again.

    Let's focus on the Fan mode for now.

    Fan mode AUTO:
    If I send auto from the remote the log shows correctly auto. If I sent Auto from MQTT, it shows also auto in the log; however, in the WEB UI it is reflected as MUTE. The problem with this is that MQTT reports also MUTE back to Home Assistant even when the log is showing auto, that means this reflects the wrong mode in the Home Assistant UI. So this need to be remapped. I guess is a bug in Notopus code.

    Fan Mode Mute:
    This one has been assigned to mode LOWEST in Notopus firmware, I think he did that to match the lowest value from Home Assistant, so I think this one is fine even if it is called lowest instead of mute. Not sure if Home Assistant allows to add mute as a fan mode.
  • #16 21922494
    Nauttor
    Level 3  
    Posts: 17
    Rate: 1
    >>21922463
    I loaded it again, and when I hit auto it shows fan mute, and mute ON instead of auto.
  • #17 21922584
    divadiow
    Level 38  
    Posts: 5153
    Help: 442
    Rate: 906
    but did you do HA discover again?

    Screenshot of a Home Assistant configuration page with device name, “Start… Discovery” and “Configure” buttons.
  • Auto mode misreported as fan mute in MQTT UI

    #18 21923021
    Nauttor
    Level 3  
    Posts: 17
    Rate: 1
    Auto discovery does not work.

    I did it manually. That way it works, but as I said, when I hit auto it shows fan mute, and mute ON instead of auto. When I choose mute it is identified as lowest, fine, but the auto is not recognize as there is a bug in the Web UI and mqtt get that sends mute for auto.

      climate:
        - name: "AC Living"
          unique_id: "ac_wbr3_Living"
          
          modes:
            - "off"
            - "cool"
            - "heat"
            - "auto"
            - "dry"
          mode_command_topic: "cmnd/ACLiving/ACMode"
          temperature_command_topic: "cmnd/ACLiving/TargetTemperature"
          fan_mode_command_topic: "cmnd/ACLiving/FANMode"
          mode_state_topic: "ACLiving/ac_mode/get"
          temperature_state_topic: "ACLiving/ac_target_temp/get"
          current_temperature_topic: "ACLiving/ac_current_temp/get"
          fan_mode_state_topic: "ACLiving/ac_fan/get"
          min_temp: 16
          max_temp: 31
          temp_step: 1
          fan_modes:
            - "auto"
            - "lowest"
            - "low"
            - "mid-low"
            - "mid"
            - "mid-high"
            - "high"
            - "turbo"
    

Topic summary

✨ Discussion about reverse engineering a Tuya/Smart Life Wi‑Fi air conditioner controller for a Daitsu 3‑split system (likely Gree-built) using a TCWBRCU1 / WBR3 module. The device did not match existing TuyaAC schemas: the Daitsu DOSM-21KDT shared many dpIDs with a Nordstar NORX-10CHSD profile but also had unique IDs and different behavior. Firmware logs from the RTL8710C-based module were extracted, and several OpenBK7231T/TuyaAC firmware builds were tested. Initial attempts produced empty UI values, repeated “Garbage RX: 00” messages, and no proper response to remote commands. Later testing showed partial control: some mode changes triggered AC beeps and power-on, but temperature and state reporting remained incorrect. The thread focused on dpID mapping fixes, baud-rate/config extraction, and correcting fan/mute/eco handling, especially the confusion between AUTO and MUTE states in Home Assistant and the web UI.
Summary generated by AI based on the discussion content.

FAQ

TL;DR: With 77 shared DPIDs and “The TuyaMCU driver will be of no use,” this FAQ helps Daitsu DOSM-21KDT owners on WBR3/TCWBRCU1 get OpenBeken working by using the TuyaAC test driver, power-cycling the AC when the indoor board hangs, and mapping TCL-style DPIDs instead of generic TuyaMCU frames. [#21919462]

Why it matters: This thread shows the difference between a dead-end generic flash and a working OpenBeken setup that reports temperatures, mode, fan state, and accepts core MQTT commands.

Option What happened on DOSM-21KDT Best use
Standard TuyaMCU driver Rejected frames with non-header/skip errors Not recommended for this AC
TCL generic driver Could beep and power on, but status stayed incomplete Quick proof of partial compatibility
TuyaAC test build After full AC power reset, reported most key values and accepted core commands Best current choice

Key insight: The main blocker was not only firmware selection. The indoor AC board could hang after flashing, and a full mains power-off for about 1 minute was the step that restored UART communication and let TuyaAC start reading live data. [#21919991]

Quick Facts

  • The Daitsu setup uses a TCWBRCU1 Wi‑Fi/Bluetooth module with WBR3 inside, and the original firmware log shows RTL8710C, build date Oct 15 2025, and UART baud 115200. [#21919471]
  • The extracted Tuya Cloud profile reports category "kt", model "Artic", product ID ytdek3ddm6hlig7r, and temperature limits of 16.0°C to 31.0°C via DPIDs 114 and 113. [#21919441]
  • Compared with Nordstar NORX-10CHSD, this Daitsu shares 77 DPIDs and has 18 unique IDs, so reuse is possible but not drop-in compatible. [#21919462]
  • Once TuyaAC began working, live values included target 23.0°C, current 20.3°C, outdoor 25.0°C, indoor fan 1900 RPM, and compressor 0 Hz in one captured status set. [#21922082]

How can I get a Daitsu DOSM-21KDT air conditioner with a TCWBRCU1/WBR3 module working with OpenBeken?

Use a TuyaAC-capable OpenBeken test build, not the standard TuyaMCU driver. The working path in this thread was: 1. OTA flash the TuyaAC test firmware to the WBR3. 2. Start it with startdriver tuyaac. 3. If nothing reads, cut AC mains power for about 1 minute and boot again. After that reset, the UI began showing key values and MQTT control worked for ACPower, ACMode, FANMode, and TargetTemperature. [#21922082]

Why does the OpenBeken TuyaMCU driver show "Consumed unwanted non-header byte" and skipped A5 01 frames on this Daitsu/TCL air conditioner?

It happens because this AC does not speak the simple TuyaMCU format the generic driver expects. The module sends TCL/Tuya AC packets with an A5 01 header, variable lengths, and grouped status payloads, so the standard parser treats leading bytes as garbage and logs skipped data. The thread also states directly that “The TuyaMCU driver will be of no use for this device,” which matches those header and buffer errors. [#21919462]

What is the TuyaAC driver in OpenBeken, and how is it different from the standard TuyaMCU driver for air conditioners?

"TuyaAC" is a specialized OpenBeken driver that parses TCL-style air-conditioner UART packets, grouped status reports, and AC-specific commands, unlike the generic TuyaMCU driver that expects simpler datapoint traffic and fixed framing. On this Daitsu, TuyaAC sent A5 01 00 21 and A5 01 01 21 packets, then later decoded live values like 23.0°C target and 1900 RPM fan speed. The generic TuyaMCU driver did not. [#21922082]

What are Tuya DPIDs, and how do I use the cloud-extracted DPID list to map functions on a Daitsu or TCL AC?

"DPIDs" are Tuya datapoint identifiers that link each device function to a numeric ID, data type, and value, letting you match power, mode, temperature, fan, and telemetry fields between cloud data and UART traffic. For this AC, cloud data exposed DPID 1 power, 2 set temperature, 3 current temperature, 4 mode, and 5 fan speed. You use that list to compare UART reports and rename or remap fields in TuyaAC or TCL-specific code. [#21919441]

Which differences between the Daitsu DOSM-21KDT and the Nordstar NORX-10CHSD DPIDs matter when adapting @notupus's TuyaAC work?

The important difference is not the shared base but the missing extras. The thread says the Daitsu shares 77 DPIDs with the Nordstar but has 18 unique differences, while the Nordstar has extra IDs such as 157–172 and 195–196 for 3D wind, anti-direct-blow, solar, and OpenADR functions. That means TuyaAC logic can be reused, but unsupported fan, airflow, and energy features need new mapping or can stay unimplemented. [#21919462]

How do I extract the UART baud rate and Tuya config from a WBR3 backup using Easy Flasher Tuya config extractor?

Run the saved WBR3 backup through Easy Flasher’s Tuya config extractor and check whether it reports UART settings. In this thread, that step was suggested specifically to confirm whether the AC used a different baud. The original firmware boot log later confirmed read baud rate 115200, so the extractor is useful as a fast cross-check before changing driver assumptions. [#21919984]

Why does the TuyaAC UI stay empty and log repeated "Garbage RX: 00" messages after starting the driver?

The usual cause here was a hung AC indoor board, not a dead WBR3. After one flash, the UI stayed blank and logged repeated Garbage RX: 00, but a full power cut to the air conditioner restored communication. On the next cold boot, TuyaAC began receiving status and populated most fields. If the UI is empty, power-cycle the whole AC first, then retry startdriver tuyaac. [#21919752]

What is the meaning of the A5 01 UART header seen in TCL/Tuya air conditioner traces, and how should those packets be decoded?

A5 01 is the packet header for this TCL/Tuya AC UART protocol, not proof of compatibility with the generic TuyaMCU parser. The thread’s traces show frames such as A5 01 01 21 A2... and A5 01 01 21 A3..., where the payload carries multiple datapoints in one report. Decode them as framed TCL/TuyaAC packets: header, direction/type, command class 21, length, CRC, then packed ID/value pairs. [#21922082]

When an AC stops responding after flashing OpenBeken or a custom TuyaAC build, what recovery steps should I try before assuming the board is damaged?

First, do not assume the board is fried. In this thread, the AC stopped reacting, drivers crashed, and the module kept rebooting, but the fix was simple: 1. Remove power from the entire air conditioner. 2. Leave it off for about 1 minute. 3. Reapply power and test again with a clean or known-good build. That reset cleared the hang and brought back UART behavior that earlier seemed broken. [#21919991]

How do I OTA flash @notupus's OpenBK7231T_App test build onto a WBR3 module, and what should I expect on first boot?

Use the GitHub Actions build artifacts from the test branch and flash the OTA file to the WBR3. On first boot, do not expect a ready-made UI with channels already populated. One user reported the module booted normally after OTA, but “the UI is not showing any channels configured or anything.” You may need to start the driver manually and, if the AC board is stuck, power-cycle the air conditioner before data appears. [#21919484]

TuyaAC vs TCL generic driver vs standard TuyaMCU driver — which one is the right choice for a Daitsu DOSM-21KDT built on a TCL/Gree platform?

Choose TuyaAC first, use TCL generic only as a partial test, and avoid standard TuyaMCU for final use. On this DOSM-21KDT, TuyaMCU failed on headers, the TCL generic driver could beep and switch the unit on, but did not update temperatures or status, while TuyaAC eventually read most live parameters after a full AC reset. That makes TuyaAC the best fit for this TCL/Gree-style platform today. [#21919991]

How can I control ACMode, FANMode, TargetTemperature, and ACPower over MQTT in @notupus's TuyaAC firmware?

Use command topics, not /set state topics. The working format was cmnd/devicename/FANMode with payloads like mid, and the code currently implements only four commands: ACMode, FANMode, TargetTemperature, and ACPower. A direct test using nameofdevice/mute/set failed and was ignored, but mosquitto_pub -h x.x.x.x -t "cmnd/devicename/FANMode" -m "mid" worked. [#21922082]

Why do some fan modes appear swapped in the TuyaAC web UI, such as Mute showing as Lowest and Lowest showing as Mute?

The likely cause is incorrect enum mapping in the driver UI, not a hardware failure. The user observed that Fan Mute was detected as Lowest and Lowest as Mute, while the logs still parsed valid fan-related values. Later, the log showed Fan Speed Mode: auto even when the web UI displayed Fan: mute, which points to a label or index mismatch between received DPID values and displayed fan names. [#21922082]

What does the boot log reveal about the TCWBRCU1/WBR3 module, including baud rate, MCU ID, firmware version, and cloud model matching?

The boot log is rich enough to fingerprint the setup. It shows RTL8710C hardware, WBR3-class firmware, read baud rate 115200, app string tcl_voice_aircon:1.0.60, and MCU identification V9-R10FT27AC-FV with version 001.001.030. It also shows cloud matching against channels 9 and 10, plus a Tuya product key and firmware key, confirming this is a TCL-style cloud-linked AC implementation rather than a plain TuyaMCU device. [#21919471]

If the TCL generic driver can beep the AC and turn it on but does not update temperatures or status, how should I add or remap DPIDs to make it fully work?

Treat that beep as proof of partial command compatibility, then remap the DPID set to this AC’s schema. Start from the known working core IDs: 1 power, 2 target temperature, 3 current temperature, 4 mode, 5 fan, 31 vertical, 34 horizontal, 111 AI eco, 113 upper limit, and 114 lower limit. The thread’s conclusion was that if TCL generic can actuate the unit, adding this device’s DPIDs to the standard TCL/TuyaAC mapping is the next practical step. [#21919991]
Summary generated by AI based on the discussion content.
ADVERTISEMENT