logo elektroda
logo elektroda
X
logo elektroda

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

dressyspider 3300 200
ADVERTISEMENT
  • #61 21552158
    dressyspider
    Level 2  
    Thanks @divadiow, that makes sense. I'm still pretty new to this kind of reverse engineering so I really appreciate your insights. Is there anything I can do on my end to help confirm which product key the module is using?
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #62 21552191
    divadiow
    Level 34  
    Assuming you have a Tuya dev account linked to your app and the Della is still paired, it'll be in the API explorer under here

    Screenshot of Tuya IoT Platform showing an API request for device details and a JSON response with device information.

    That device_ids is this in your cloud project device list

    Screenshot of device management panel with a highlighted device ID.
  • #63 21552194
    dressyspider
    Level 2  
    Device ID: eb167a59f8fd4e4acdzgt4
    Product ID: klo4xmr94giahmug
    Product Name: Air conditioner
    Product_name: 新风分体(客)
    Category: kt

    Edit: I have two WBR3/TCWBRCU1 USB modules. One is running OBK and the other is the stock Tuya OS. So, I can swap between them, as needed. See above for the requested info and let me know if you need anything else.
    Helpful post? Buy me a coffee.
  • #64 21552197
    divadiow
    Level 34  
    ah very good. cool

    Added after 1 [minutes]:

    any update urls returned when you check update info?

    Tuya IoT Platform panel with API Explorer open, showing the Get Update Information section.
  • #65 21552202
    dressyspider
    Level 2  
    Checking. I had the other info handy, but need to pull this one.

    Edit:
    No URLs

    Get Update Information:
    
    {
      "result": [
        {
          "channel": 0,
          "control_type": 0,
          "current_version": "1.0.14",
          "dev_type": 0,
          "firmware_key": "keynuxqpvy4cag75",
          "last_upgrade_time": 0,
          "timeout": 0,
          "type": 0,
          "type_desc": "Main Module",
          "upgrade_status": 0
        },
        {
          "channel": 9,
          "control_type": 0,
          "current_version": "1.0.0",
          "dev_type": 0,
          "firmware_key": "",
          "last_upgrade_time": 0,
          "timeout": 0,
          "type": 9,
          "type_desc": "MCU Module",
          "upgrade_status": 0
        }
      ],
      "success": true,
      "t": 1747510451295,
      "tid": "e85569ad335511f0a8a396867ed24c6e"
    }
    
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #66 21552206
    divadiow
    Level 34  
    no real use perhaps but I pulled the Query Things Data Model for all keys found in our first Della MiniSplit dump back in January. That had one additional pk not seen in yours.
  • #67 21552214
    dressyspider
    Level 2  
    Query Things Data Model:
    
    {
      "result": {
        "model": "{\"modelId\":\"000004rdgc\",\"services\":[{\"actions\":[],\"code\":\"\",\"description\":\"\",\"events\":[],\"name\":\"默认服务\",\"properties\":[{\"abilityId\":1,\"accessMode\":\"rw\",\"code\":\"Power\",\"description\":\"\",\"extensions\":{\"iconName\":\"icon-dp_power\",\"attribute\":\"1\"},\"name\":\"开关\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":2,\"accessMode\":\"rw\",\"code\":\"temp_set\",\"description\":\"摄氏:16~31\\n华氏:61~88\",\"extensions\":{\"iconName\":\"icon-dp_temp\"},\"name\":\"设置温度\",\"typeSpec\":{\"type\":\"value\",\"max\":310,\"min\":160,\"scale\":1,\"step\":5,\"unit\":\"℃\"}},{\"abilityId\":3,\"accessMode\":\"ro\",\"code\":\"temp_current\",\"description\":\"\",\"extensions\":{\"iconName\":\"icon-dp_sun\"},\"name\":\"当前温度\",\"typeSpec\":{\"type\":\"value\",\"max\":100,\"min\":-20,\"scale\":0,\"step\":1,\"unit\":\"℃\"}},{\"abilityId\":4,\"accessMode\":\"rw\",\"code\":\"mode\",\"description\":\"\",\"extensions\":{\"iconName\":\"icon-dp_mode\"},\"name\":\"工作模式\",\"typeSpec\":{\"type\":\"enum\",\"range\":[\"cold\",\"hot\",\"wet\",\"wind\",\"auto\"]}},{\"abilityId\":5,\"accessMode\":\"rw\",\"code\":\"windspeed\",\"description\":\"强劲/高风/中高风/中风/中低风/低风/静音/自动\",\"extensions\":{\"iconName\":\"icon-dp_wind\"},\"name\":\"风速\",\"typeSpec\":{\"type\":\"enum\",\"range\":[\"strong\",\"high\",\"mid_high\",\"mid\",\"mid_low\",\"low\",\"mute\",\"auto\"]}},{\"abilityId\":18,\"accessMode\":\"rw\",\"code\":\"humidity_current\",\"description\":\"\",\"extensions\":{\"iconName\":\"icon-dp_wet\"},\"name\":\"当前湿度\",\"typeSpec\":{\"type\":\"value\",\"max\":100,\"min\":0,\"scale\":0,\"step\":1,\"unit\":\"%\"}},{\"abilityId\":19,\"accessMode\":\"rw\",\"code\":\"temp_unit_convert\",\"description\":\"\",\"extensions\":{\"iconName\":\"icon-dp_temp\",\"attribute\":\"1024\"},\"name\":\"温标切换\",\"typeSpec\":{\"type\":\"enum\",\"range\":[\"c\",\"f\"]}},{\"abilityId\":20,\"accessMode\":\"ro\",\"code\":\"Fault\",\"description\":\"\",\"extensions\":{\"iconName\":\"icon-dp_warming\",\"scope\":\"fault\"},\"name\":\"故障告警\",\"typeSpec\":{\"type\":\"bitmap\",\"label\":[\"E0\",\"E1\",\"E2\",\"E3\",\"E4\",\"E5\",\"E6\",\"E7\",\"E8\",\"E9\",\"EA\",\"Eb\",\"EC\",\"EE\",\"EF\",\"EP\",\"EU\",\"EH\",\"EJ\",\"En\",\"Ey\",\"F9\",\"FA\",\"H1\",\"H2\",\"bd\",\"PA\",\"b5\",\"d4\"],\"maxlen\":29}},{\"abilityId\":23,\"accessMode\":\"ro\",\"code\":\"temp_current_f\",\"description\":\"\",\"extensions\":{\"iconName\":\"icon-dp_temp\",\"attribute\":\"1024\"},\"name\":\"当前温度 ℉\",\"typeSpec\":{\"type\":\"value\",\"max\":100,\"min\":-20,\"scale\":0,\"step\":1,\"unit\":\"℉\"}},{\"abilityId\":24,\"accessMode\":\"rw\",\"code\":\"temp_set_f\",\"description\":\"华氏 61~88\\n摄氏  16~31\",\"extensions\":{\"iconName\":\"icon-dp_temp\",\"attribute\":\"1024\"},\"name\":\"温度设置-℉\",\"typeSpec\":{\"type\":\"value\",\"max\":880,\"min\":610,\"scale\":1,\"step\":10,\"unit\":\"℉\"}},{\"abilityId\":101,\"accessMode\":\"ro\",\"code\":\"pm25\",\"description\":\"\",\"name\":\"PM2.5\",\"typeSpec\":{\"type\":\"value\",\"max\":3000,\"min\":0,\"scale\":0,\"step\":1,\"unit\":\"\"}},{\"abilityId\":102,\"accessMode\":\"rw\",\"code\":\"fresh_air\",\"description\":\"\",\"name\":\"新风\",\"typeSpec\":{\"type\":\"enum\",\"range\":[\"auto\",\"low\",\"mid\",\"strong\",\"off\"]}},{\"abilityId\":103,\"accessMode\":\"ro\",\"code\":\"freshair_filter\",\"description\":\"新风标识位为1时生效\",\"name\":\"新风脏堵\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":104,\"accessMode\":\"ro\",\"code\":\"SN_SW_ver\",\"description\":\"20210816:固件上报即可,面板暂不解析。预留功能。\",\"name\":\"SN及软件版本\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":105,\"accessMode\":\"rw\",\"code\":\"sleep\",\"description\":\"无、标准、老人、儿童\",\"name\":\"睡眠\",\"typeSpec\":{\"type\":\"enum\",\"range\":[\"off\",\"normal\",\"old\",\"child\"]}},{\"abilityId\":110,\"accessMode\":\"ro\",\"code\":\"markbit\",\"description\":\"用以表示是否有该功能。\\n0、除湿模式下温度是否可调 \\n1、送风模式下温度是否可调 \\n2、自动模式下温度是否可调 \\n3、新风量标识 \\n4、矢量送风 \\n5、左右扫风 \\n6、光敏 \\n7、智能除湿防霉变 \\n8、湿度传感器 \\n9、蒸发器清洁 \\n10、省钱看得见 \\n11、电量统计 \\n12、发电机模式 \\n13、高温风/凉感风 \\n14、空气质量检测功能 \\n15、置为空(原:湿度功能) \\n16、置为空(原:设备运行省钱看得见,温度曲线展示) \\n17、8℃制热 \\n18、滤网脏堵功能 \\n20、PM2.5有无\\n21、温标切换,1为华氏度,0为摄氏度\\n22、柔风\\n23、左右广角送风\\n24、新风功能有无\\n\",\"extensions\":{\"scope\":\"fault\"},\"name\":\"标识位\",\"typeSpec\":{\"type\":\"bitmap\",\"label\":[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\",\"20\",\"21\",\"22\",\"23\",\"24\"],\"maxlen\":25}},{\"abilityId\":113,\"accessMode\":\"rw\",\"code\":\"up_down_sweep\",\"description\":\"无/上下送风/上送风/下送风\",\"name\":\"上下扫风\",\"typeSpec\":{\"type\":\"enum\",\"range\":[\"0\",\"1\",\"2\",\"3\"]}},{\"abilityId\":114,\"accessMode\":\"rw\",\"code\":\"left_right_sweep\",\"description\":\"无/左右送风/左送风/中送风/右送风/偏左送风/偏右送风/广角送风\",\"name\":\"左右扫风\",\"typeSpec\":{\"type\":\"enum\",\"range\":[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\"]}},{\"abilityId\":115,\"accessMode\":\"ro\",\"code\":\"totalN\",\"description\":\"\",\"extensions\":{\"trigger\":\"direct\"},\"name\":\"电量整数\",\"typeSpec\":{\"type\":\"value\",\"max\":1000000,\"min\":0,\"scale\":0,\"step\":1,\"unit\":\"\"}},{\"abilityId\":116,\"accessMode\":\"ro\",\"code\":\"totalP\",\"description\":\"\",\"extensions\":{\"trigger\":\"direct\"},\"name\":\"电量小数\",\"typeSpec\":{\"type\":\"value\",\"max\":1000000,\"min\":0,\"scale\":0,\"step\":1,\"unit\":\"\"}},{\"abilityId\":119,\"accessMode\":\"rw\",\"code\":\"money\",\"description\":\"无/默认省电/定额省电/定温省电\",\"name\":\"省钱看的见\",\"typeSpec\":{\"type\":\"enum\",\"range\":[\"0\",\"1\",\"2\",\"3\"]}},{\"abilityId\":120,\"accessMode\":\"rw\",\"code\":\"energy\",\"description\":\"\",\"name\":\"发电机模式\",\"typeSpec\":{\"type\":\"enum\",\"range\":[\"off\",\"L1\",\"L2\",\"L3\"]}},{\"abilityId\":122,\"accessMode\":\"ro\",\"code\":\"fault2\",\"description\":\"预留\",\"extensions\":{\"scope\":\"fault\"},\"name\":\"故障报警2\",\"typeSpec\":{\"type\":\"bitmap\",\"label\":[\"P6\",\"P7\",\"P8\",\"P9\",\"PA\",\"F0\",\"F1\",\"F2\",\"F3\",\"F4\",\"F5\",\"F6\",\"F7\",\"F8\",\"Fb\",\"FC\",\"FE\",\"FF\",\"FH\",\"FP\",\"FU\",\"Fj\",\"Fn\",\"Fy\",\"bf\",\"bc\",\"bj\"],\"maxlen\":27}},{\"abilityId\":123,\"accessMode\":\"rw\",\"code\":\"boolCode\",\"description\":\"两个字节,\\n第一个字节:\\nbit0:eco,\\nbit1:智能除湿防霉变, \\nbit2:蒸发器清洁, \\nbit3:灯光, \\nbit4:蜂鸣,\\nbit5:健康,\\nbit6:空(原清洁,重复),\\nbit7:光敏。\\n\\n第二个字节:\\nbit0:干燥,\\nbit1:空(原来是高温风/凉感风),\\nbit2:空(原来是水平风摆),\\nbit3:空(原来是垂直风摆) \\nbit4: 8℃制热 \\nbit5:滤网检测\\nbit6:华氏加1标志位\\nbit7:柔风\",\"name\":\"布尔型\",\"typeSpec\":{\"type\":\"string\",\"maxlen\":255}},{\"abilityId\":125,\"accessMode\":\"ro\",\"code\":\"airquality\",\"description\":\"优/良/中/差/很差/非常差\",\"name\":\"空气质量\",\"typeSpec\":{\"type\":\"enum\",\"range\":[\"great\",\"good\",\"middle\",\"bad\",\"verybad\",\"veryverybad\"]}},{\"abilityId\":126,\"accessMode\":\"rw\",\"code\":\"up_down_freeze\",\"description\":\"当前位置定格/上定格/偏上定格/中定格/偏下定格/下定格/\",\"name\":\"上下定格\",\"typeSpec\":{\"type\":\"enum\",\"range\":[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\"]}},{\"abilityId\":127,\"accessMode\":\"rw\",\"code\":\"left_right_freeze\",\"description\":\"当前位置定格/左定格/偏左定格/中定格/偏右定格/右定格/广角定格/左广角定格/右广角定格\",\"name\":\"左右定格\",\"typeSpec\":{\"type\":\"enum\",\"range\":[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"8\",\"6\",\"7\"]}},{\"abilityId\":128,\"accessMode\":\"ro\",\"code\":\"style\",\"description\":\"挂机/柜机\",\"name\":\"机型\",\"typeSpec\":{\"type\":\"enum\",\"range\":[\"0\",\"1\"]}},{\"abilityId\":129,\"accessMode\":\"rw\",\"code\":\"kwh\",\"description\":\"可选1~5kwh\",\"name\":\"功率\",\"typeSpec\":{\"type\":\"enum\",\"range\":[\"1\",\"2\",\"3\",\"4\",\"5\"]}},{\"abilityId\":130,\"accessMode\":\"rw\",\"code\":\"savemoney_temp\",\"description\":\"用于省钱看得见中的定温省电的温度设置\",\"name\":\"定温温度\",\"typeSpec\":{\"type\":\"value\",\"max\":31,\"min\":26,\"scale\":0,\"step\":1,\"unit\":\"℃\"}},{\"abilityId\":131,\"accessMode\":\"ro\",\"code\":\"dirty_filter\",\"description\":\"\",\"name\":\"滤网脏堵\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":132,\"accessMode\":\"rw\",\"code\":\"hot_cold_wind\",\"description\":\"\",\"name\":\"高温风/凉感风\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":133,\"accessMode\":\"rw\",\"code\":\"wind\",\"description\":\"0:水平垂直关    \\n1:水平开 垂直关\\n2:水平关 垂直开\\n3:水平垂直开\",\"name\":\"水平摆风/垂直摆风\",\"typeSpec\":{\"type\":\"enum\",\"range\":[\"0\",\"1\",\"2\",\"3\"]}},{\"abilityId\":134,\"accessMode\":\"ro\",\"code\":\"work_time\",\"description\":\"\",\"name\":\"运行状态时间\",\"typeSpec\":{\"type\":\"string\",\"maxlen\":255}},{\"abilityId\":135,\"accessMode\":\"ro\",\"code\":\"run_time\",\"description\":\"用于运行时间累计,每2分钟上报1次。因此运行时间是2*次数\",\"name\":\"运行时间\",\"typeSpec\":{\"type\":\"value\",\"max\":65525,\"min\":0,\"scale\":0,\"step\":1,\"unit\":\"次\"}}]}]}"
      },
      "success": true,
      "t": 1747510737438,
      "tid": "92f0bf62335611f0a74d42609d977689"
    }
    



    Edit:
    Converted to a table for easier reading:
    Ability ID Access Mode Code Name Description / Notes Type Details / Range / Unit
    1rwPower开关 (Power)On/Off switchbool
    2rwtemp_set设置温度Celsius: 16~31, Fahrenheit: 61~88valuemin:16, max:31, step:5, unit: ℃
    3rotemp_current当前温度Current temperaturevaluemin:-20, max:100, step:1, unit: ℃
    4rwmode工作模式Working modeenumcold, hot, wet, wind, auto
    5rwwindspeed风速Fan speedenumstrong, high, mid_high, mid, mid_low, low, mute, auto
    18rwhumidity_current当前湿度Current humidityvaluemin:0, max:100, step:1, unit: %
    19rwtemp_unit_convert温标切换Temperature unit switchenumc, f
    20roFault故障告警Fault alarms (bitmap)bitmap29 flags (E0, E1, ..., d4)
    23rotemp_current_f当前温度 ℉Current temperature in Fahrenheitvaluemin:-20, max:100, step:1, unit: ℉
    24rwtemp_set_f温度设置-℉Set temperature in Fahrenheitvaluemin:610, max:880 (scaled), step:10, unit: ℉
    101ropm25PM2.5Air quality indicatorvaluemin:0, max:3000
    102rwfresh_air新风Fresh air modeenumauto, low, mid, strong, off
    103rofreshair_filter新风脏堵Fresh air filter dirty flagbool
    104roSN_SW_verSN及软件版本Serial Number & Software versionrawmaxlen:128
    105rwsleep睡眠Sleep modesenumoff, normal, old, child
    110romarkbit标识位Feature flags (bitmap)bitmap25 bits representing various features
    113rwup_down_sweep上下扫风Up/down swingenum0, 1, 2, 3
    114rwleft_right_sweep左右扫风Left/right swingenum0 to 7
    115rototalN电量整数Electricity integer partvaluemax:1000000
    116rototalP电量小数Electricity decimal partvaluemax:1000000
    119rwmoney省钱看的见Energy saving modeenum0, 1, 2, 3
    120rwenergy发电机模式Generator modeenumoff, L1, L2, L3
    122rofault2故障报警2Reserved fault alarms (bitmap)bitmap27 flags
    123rwboolCode布尔型Boolean flags (2 bytes)stringVarious bit flags (eco, light, buzzer, etc.)
    125roairquality空气质量Air qualityenumgreat, good, middle, bad, verybad, veryverybad
    126rwup_down_freeze上下定格Up/down freeze positionenum0 to 5
    127rwleft_right_freeze左右定格Left/right freeze positionenum0 to 8
    128rostyle机型Type of unitenum0 (wall unit), 1 (cabinet unit)
    129rwkwh功率Power levelenum1 to 5
    130rwsavemoney_temp定温温度Temp setting for saving modevalue26 to 31 ℃
    131rodirty_filter滤网脏堵Filter dirty flagbool
    132rwhot_cold_wind高温风/凉感风Hot/cool wind flagbool
    133rwwind水平摆风/垂直摆风Swing modeenum0 to 3
    134rowork_time运行状态时间Running status timestringmaxlen 255
    135rorun_time运行时间Running time countvaluemax 65525 (units of 2 mins/count)


    Added after 7 [minutes]:

    divadiow wrote:
    That had one additional pk not seen in yours.


    Interesting. Is there additional information I can get for you that could help? Either from query or chip markings, etc?
    Helpful post? Buy me a coffee.
  • #68 21552223
    divadiow
    Level 34  
    Ah nope thanks. More a point of interest which product id exactly yours was.
  • #70 21552338
    p.kaczmarek2
    Moderator Smart Home
    I've pushed a new version. It should read current and target temperature:
    Screenshot of a device control interface showing ON state, temperatures at zero, and electrical parameters.
    There is a new command - TargetTemperature [Number]
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #71 21552350
    dressyspider
    Level 2  
    I will be home soon and can test. Is the number in Fahrenheit or Celsius?


    Edit:

    I tested the latest OTA from this build:
    GitHub Actions Artifact

    I'm not sure how to get the temperature show...
    Control panel of the Della Mini Split device with configuration, restart buttons, and device status information.

    Steps Taken (Unit started powered OFF):
    1. Flashed OTA
    2. Restarted the module
    3. Ran: startDriver TCL
    4. Ran ACMode 1
    5. Ran: TargetTemperature 75 - The unit showed "81" on the display
    6. Ran: TargetTemperature 77 - The unit showed "84" on the display
    7. Ran: ACMode 0

    Observation: Unit powered on in "cool" mode. When changing the temperature, the number input did not match what the display on the unit was showing.

    OBK Log:

    
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DE 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2E 43 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C7 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 701, idle 0/s, free 85152, MQTT 1(1), bWifi 1, secondsWithNoPing 632, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DE 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2E 43 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C7 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 702, idle 0/s, free 93912, MQTT 1(1), bWifi 1, secondsWithNoPing 633, socks 2/21 
    Info:MAIN:Drv TCL is already loaded.
    Info:CMD:[WebApp Cmd 'startDriver TCL' Result] OK
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DE 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2E 43 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C7 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 703, idle 0/s, free 93912, MQTT 1(1), bWifi 1, secondsWithNoPing 634, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DE 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2E 43 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C7 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 704, idle 0/s, free 93912, MQTT 1(1), bWifi 1, secondsWithNoPing 635, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DE 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2E 43 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C7 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 705, idle 0/s, free 94080, MQTT 1(1), bWifi 1, secondsWithNoPing 636, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DE 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2E 43 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C7 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 706, idle 0/s, free 94080, MQTT 1(1), bWifi 1, secondsWithNoPing 637, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DE 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2E 43 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C7 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 707, idle 0/s, free 94080, MQTT 1(1), bWifi 1, secondsWithNoPing 638, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DE 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2E 43 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C7 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 708, idle 0/s, free 93912, MQTT 1(1), bWifi 1, secondsWithNoPing 639, socks 2/21 
    Warn:EnergyMeter:User set mode 1
    Warn:EnergyMeter:build_set_cmd: sizeof(get_cmd_resp_t) = 61, sizeof(m_set_cmd.data) = 35, sizeof(m_set_cmd.raw) = 35
    Info:CMD:[WebApp Cmd 'ACMode 1' Result] OK
    Warn:EnergyMeter:Sending data
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DE 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2E 43 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C7 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 709, idle 0/s, free 93912, MQTT 1(1), bWifi 1, secondsWithNoPing 640, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Info:MAIN:Time 710, idle 0/s, free 93744, MQTT 1(1), bWifi 1, secondsWithNoPing 641, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DE 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2E 43 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C7 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 711, idle 0/s, free 93912, MQTT 1(1), bWifi 1, secondsWithNoPing 642, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DE 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2E 43 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C7 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 712, idle 0/s, free 93912, MQTT 1(1), bWifi 1, secondsWithNoPing 643, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DE 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2E 43 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C7 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 713, idle 0/s, free 94248, MQTT 1(1), bWifi 1, secondsWithNoPing 644, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DE 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2E 43 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C7 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 714, idle 0/s, free 92024, MQTT 1(1), bWifi 1, secondsWithNoPing 645, socks 3/21 
    Warn:EnergyMeter:build_set_cmd: sizeof(get_cmd_resp_t) = 61, sizeof(m_set_cmd.data) = 35, sizeof(m_set_cmd.raw) = 35
    Info:CMD:[WebApp Cmd 'TargetTemperature 75' Result] OK
    Warn:EnergyMeter:Sending data
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DE 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2E 43 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C7 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 715, idle 0/s, free 94080, MQTT 1(1), bWifi 1, secondsWithNoPing 646, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Info:MAIN:Time 716, idle 0/s, free 93912, MQTT 1(1), bWifi 1, secondsWithNoPing 647, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DB 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2E 43 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C2 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 717, idle 0/s, free 93912, MQTT 1(1), bWifi 1, secondsWithNoPing 648, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DB 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2E 43 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C2 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 718, idle 0/s, free 94080, MQTT 1(1), bWifi 1, secondsWithNoPing 649, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DB 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2E 42 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C3 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 719, idle 0/s, free 94080, MQTT 1(1), bWifi 1, secondsWithNoPing 650, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DB 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2E 42 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C3 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 720, idle 0/s, free 94080, MQTT 1(1), bWifi 1, secondsWithNoPing 651, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DB 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2E 42 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C3 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 721, idle 0/s, free 94080, MQTT 1(1), bWifi 1, secondsWithNoPing 652, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DB 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2E 42 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C3 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 722, idle 0/s, free 94080, MQTT 1(1), bWifi 1, secondsWithNoPing 653, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DB 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2E 42 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C3 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 723, idle 0/s, free 94248, MQTT 1(1), bWifi 1, secondsWithNoPing 654, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DB 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2E 42 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C3 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 724, idle 0/s, free 94080, MQTT 1(1), bWifi 1, secondsWithNoPing 655, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DB 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2E 42 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C3 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 725, idle 0/s, free 94080, MQTT 1(1), bWifi 1, secondsWithNoPing 656, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DB 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2E 42 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C3 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 726, idle 0/s, free 94080, MQTT 1(1), bWifi 1, secondsWithNoPing 657, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DB 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2D 42 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C0 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 727, idle 0/s, free 94080, MQTT 1(1), bWifi 1, secondsWithNoPing 658, socks 2/21 
    Warn:EnergyMeter:build_set_cmd: sizeof(get_cmd_resp_t) = 61, sizeof(m_set_cmd.data) = 35, sizeof(m_set_cmd.raw) = 35
    Info:CMD:[WebApp Cmd 'TargetTemperature 77' Result] OK
    Warn:EnergyMeter:Sending data
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DB 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2D 42 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C0 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 728, idle 0/s, free 93912, MQTT 1(1), bWifi 1, secondsWithNoPing 659, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Info:MAIN:Time 729, idle 0/s, free 93912, MQTT 1(1), bWifi 1, secondsWithNoPing 660, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DD 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2D 42 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C6 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 730, idle 0/s, free 93912, MQTT 1(1), bWifi 1, secondsWithNoPing 661, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DD 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2D 42 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C6 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 731, idle 0/s, free 94248, MQTT 1(1), bWifi 1, secondsWithNoPing 662, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DD 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2D 42 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C6 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 732, idle 0/s, free 94248, MQTT 1(1), bWifi 1, secondsWithNoPing 663, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DD 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2D 42 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C6 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 733, idle 0/s, free 94248, MQTT 1(1), bWifi 1, secondsWithNoPing 664, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DD 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2D 42 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C6 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 734, idle 0/s, free 94248, MQTT 1(1), bWifi 1, secondsWithNoPing 665, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DD 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2D 42 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C6 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 735, idle 0/s, free 94080, MQTT 1(1), bWifi 1, secondsWithNoPing 666, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DD 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2D 42 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C6 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 736, idle 0/s, free 94080, MQTT 1(1), bWifi 1, secondsWithNoPing 667, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DD 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2D 42 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C6 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 737, idle 0/s, free 94248, MQTT 1(1), bWifi 1, secondsWithNoPing 668, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DD 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2D 42 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C6 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 738, idle 0/s, free 94080, MQTT 1(1), bWifi 1, secondsWithNoPing 669, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DD 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2D 42 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C6 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 739, idle 0/s, free 94080, MQTT 1(1), bWifi 1, secondsWithNoPing 670, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DD 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2D 42 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C6 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 740, idle 0/s, free 94248, MQTT 1(1), bWifi 1, secondsWithNoPing 671, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DD 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2D 42 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C6 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 741, idle 0/s, free 94248, MQTT 1(1), bWifi 1, secondsWithNoPing 672, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DD 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2D 42 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C6 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 742, idle 0/s, free 94080, MQTT 1(1), bWifi 1, secondsWithNoPing 673, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DD 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 32 2D 42 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 C6 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 743, idle 0/s, free 94248, MQTT 1(1), bWifi 1, secondsWithNoPing 674, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DD 00 C0 00 00 00 00 00 00 70 2B 88 00 00 00 00 00 00 00 00 00 00 70 FF 42 00 69 32 2D 42 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 F8 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 744, idle 0/s, free 94080, MQTT 1(1), bWifi 1, secondsWithNoPing 675, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DD 00 C0 00 00 00 00 00 00 70 2B 88 00 00 00 00 00 00 00 00 00 00 70 FF 42 00 69 32 2D 42 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 F8 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 745, idle 0/s, free 93784, MQTT 1(1), bWifi 1, secondsWithNoPing 676, socks 2/21 
    Warn:EnergyMeter:User set mode 0
    Warn:EnergyMeter:build_set_cmd: sizeof(get_cmd_resp_t) = 61, sizeof(m_set_cmd.data) = 35, sizeof(m_set_cmd.raw) = 35
    Info:CMD:[WebApp Cmd 'ACMode 0' Result] OK
    Warn:EnergyMeter:Sending data
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 DD 00 C0 00 00 00 00 00 00 70 2B 88 00 00 00 00 00 00 00 00 00 00 70 FF 42 00 69 32 2D 42 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 F8 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 746, idle 0/s, free 94080, MQTT 1(1), bWifi 1, secondsWithNoPing 677, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Info:MAIN:Time 747, idle 0/s, free 94080, MQTT 1(1), bWifi 1, secondsWithNoPing 678, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 21 DD 00 C0 00 00 00 00 00 00 70 2B 88 00 00 00 00 00 00 00 00 00 00 70 FF 42 00 00 32 2D 42 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 81 
    Warn:EnergyMeter:Ok we got reply with mode 0, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 748, idle 0/s, free 94080, MQTT 1(1), bWifi 1, secondsWithNoPing 679, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 21 DD 00 C0 00 00 00 00 00 00 70 2B 88 00 00 00 00 00 00 00 00 00 00 70 FF 42 00 00 32 2D 42 00 00 80 00 00 00 00 F1 00 00 00 44 40 18 04 00 00 1A 00 00 00 00 81 
    Warn:EnergyMeter:Ok we got reply with mode 0, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #72 21552449
    p.kaczmarek2
    Moderator Smart Home
    There is no TCL driver running on your screenshot. Temperature should only show once the TCL driver is started.

    
        traits.set_visual_min_temperature(16.0);
        traits.set_visual_max_temperature(31.0);
        traits.set_visual_target_temperature_step(1.0);
    

    Temp is just 4 bits in that protocol:
    A code snippet in C showing a struct with uint8_t bit fields, with the temp : 4 line highlighted.
    They subtract 16 from value:
    
          get_cmd_resp.data.temp = uint8_t(temp) - 16;
    

    So the input range is 16 to 31 and they convert it to 0 to 15 which matches 4 bit value.


    Try temperature like from range 16 to 31 (in degrees)
    Helpful post? Buy me a coffee.
  • #73 21552500
    dressyspider
    Level 2  
    You’re right. Sorry about that. Here is one from my phone and it’s there. Looks like it’s displaying in Celsius.
    Screenshot of the Della Mini Split air conditioner control panel showing current and target temperature with configuration options.

    Edit:
    Just a quick clarification, earlier I said that the temp was showing incorrectly on the unit. I meant on the actual mini split.
    Helpful post? Buy me a coffee.
  • #74 21552544
    p.kaczmarek2
    Moderator Smart Home
    So, is it displaying correctly now or incorrectly? Maybe the physical display is in F?
    Helpful post? Buy me a coffee.
  • #76 21552560
    p.kaczmarek2
    Moderator Smart Home
    I think I need more detailed information. Step by step.

    So, you power on the unit, and use TargetTemperature temperature, to let's say, set 20 C.

    What happens there?
    - what is shown on OBK page
    - what is shown on physical device screen

    My problem is that I don't know this device and I don't know how it worked with Tuya app, so that's why I'm asking for clarification.

    Then, can you with OBK, I don't know, enable cooling, and set lower target temperature?
    If you set lower target temperature and enable cooling, then:
    - which temperature did you set?
    - what is on obk panel?
    - what is on the physical display?
    - is device cooling?
    I am not sure, but you probably need to use ACMode command with the value number matching 'auto' as shown few posts before and then set temperature, I guess...
    Screenshot of code fragment showing climate mode enumeration, with CLIMATE_MODE_COOL highlighted.

    Once we resolve it, we can also start thinking about the UI for the driver.
    Helpful post? Buy me a coffee.
  • #77 21552978
    dressyspider
    Level 2  
    I can get all those steps, but would it make things easier if I sniffed communications with a link analyzer?


    Edit:
    Please see the step by step below and let me know if it's not what you were looking for or if you need additional information.


    OpenBeken TCL Driver Test Log — Della Mini Split

    Overview:
    1. Enable TCL driver
    2. Power on mini split
    3. Set fan speed to 3
    4. Set target temperature to 75°F
    5. Set target temperature to 77°F
    6. Power off mini split

    ---

    1. Reboot WBR3 from OBK dashboard
    Action Taken: Restarted from OBK interface

    - Any immediate changes on physical device? No

    - OBK Logs:
    
    Info:MAIN:Time 185, idle 0/s, free 94448, MQTT 1(1), bWifi 1, secondsWithNoPing 116, socks 2/21 
    Info:MAIN:Time 186, idle 0/s, free 94448, MQTT 1(1), bWifi 1, secondsWithNoPing 117, socks 2/21 
    Info:MAIN:Time 187, idle 0/s, free 94448, MQTT 1(1), bWifi 1, secondsWithNoPing 118, socks 2/21 
    Info:MAIN:Time 188, idle 0/s, free 94616, MQTT 1(1), bWifi 1, secondsWithNoPing 119, socks 2/21 
    Info:MAIN:Time 189, idle 0/s, free 94448, MQTT 1(1), bWifi 1, secondsWithNoPing 120, socks 2/21 
    Info:MAIN:Module reboot in 2...
    Info:MAIN:Time 190, idle 0/s, free 93832, MQTT 1(1), bWifi 1, secondsWithNoPing 121, socks 3/21 
    Info:MAIN:Module reboot in 1...
    Info:MAIN:Main_Init_Before_Delay
    Warn:CFG:CFG_InitAndLoad: Correct config has been loaded with 19 changes count.
    Error:CMD:no file early.bat err -2
    Info:GEN:PIN_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 [Sparks-IoT]
    Info:MAIN:Using Pass [REDACTED]
    Info:HTTP:TCP server listening
    Info:MQTT:MQTT_RegisterCallback called for bT Mini Split/ subT Mini Split/+/set
    Info:MQTT:MQTT_RegisterCallback called for bT Mini Split/ subT Mini Split/+/set
    Info:MQTT:MQTT_RegisterCallback called for bT cmnd/Mini Split/ subT cmnd/Mini Split/+
    Info:MQTT:MQTT_RegisterCallback called for bT cmnd/Mini Split/ subT cmnd/Mini Split/+
    Info:MQTT:MQTT_RegisterCallback called for bT Mini Split/ subT Mini Split/+/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 102432, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 
    Info:MAIN:Time 2, idle 0/s, free 102432, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 
    Info:MAIN:Time 3, idle 0/s, free 102432, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 
    Info:MAIN:Time 4, idle 0/s, free 102432, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 
    Info:MAIN:Time 5, idle 0/s, free 102432, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 
    Info:MAIN:Registered for wifi changes
    Info:MAIN:Connecting to SSID [Sparks-IoT]
    Info:MAIN:Time 6, idle 0/s, free 99240, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 
    Info:MAIN:Boot complete time reached (5 seconds)
    Info:MAIN:Main_OnWiFiStatusChange - WIFI_STA_CONNECTING - 1
    Info:MAIN:Time 7, idle 0/s, free 99568, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 
    Info:MAIN:Time 8, idle 0/s, free 99568, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 
    Info:MAIN:Time 9, idle 0/s, free 100072, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 
    Info:MAIN:Main_OnWiFiStatusChange - WIFI_STA_CONNECTED - 4
    Info:MAIN:Time 10, idle 0/s, free 98288, MQTT 0(0), bWifi 1, secondsWithNoPing -1, socks 2/21 
    Info:MAIN:Time 11, idle 0/s, free 98096, MQTT 0(0), bWifi 1, secondsWithNoPing -1, socks 2/21 
    Info:MQTT:mqtt_userName mqtt_user
    mqtt_pass ********
    mqtt_clientID Mini Split
    mqtt_host 10.1.107.100:1883
    Info:MAIN:Time 12, idle 0/s, free 94776, MQTT 0(1), bWifi 1, secondsWithNoPing -1, socks 2/21 
    Info:MQTT:mqtt_connection_cb: Successfully connected
    Info:MQTT:mqtt_subscribed to Mini Split/+/set
    Info:MQTT:mqtt_subscribed to Mini Split/+/set
    Info:MQTT:mqtt_subscribed to cmnd/Mini Split/+
    Info:MQTT:mqtt_subscribed to cmnd/Mini Split/+
    Info:MQTT:mqtt_subscribed to Mini Split/+/get
    Info:MQTT:Publishing val Della_Mini_Split to Mini Split/host retain=0
    Info:MAIN:Time 13, idle 0/s, free 94952, MQTT 1(1), bWifi 1, secondsWithNoPing -1, socks 2/21 
    Info:MQTT:Publishing val OpenRTL87X0C 1635_merge_f21b94299d2c May 17 2025 22:37:13 to Mini Split/build retain=0
    Info:MAIN:Time 14, idle 0/s, free 94952, MQTT 1(1), bWifi 1, secondsWithNoPing -1, socks 2/21 
    Info:MQTT:Publishing val c4:82:e1:bc:18:52 to Mini Split/mac retain=0
    Info:MAIN:Time 15, idle 0/s, free 94952, MQTT 1(1), bWifi 1, secondsWithNoPing -1, socks 2/21 
    Info:MQTT:Publishing val Sparks-IoT to Mini Split/ssid retain=0
    Info:MAIN:Time 16, idle 0/s, free 94448, MQTT 1(1), bWifi 1, secondsWithNoPing -1, socks 2/21 
    Info:MQTT:Publishing val 3 to Mini Split/sockets retain=0
    Info:MAIN:Time 17, idle 0/s, free 92224, MQTT 1(1), bWifi 1, secondsWithNoPing -1, socks 3/21 
    Info:MQTT:Publishing val -69 to Mini Split/rssi retain=0
    Info:MAIN:Time 18, idle 0/s, free 94168, MQTT 1(1), bWifi 1, secondsWithNoPing -1, socks 2/21 
    Info:MQTT:Publishing val 18 to Mini Split/uptime retain=0
    Info:MAIN:Time 19, idle 0/s, free 94448, MQTT 1(1), bWifi 1, secondsWithNoPing -1, socks 2/21 
    Info:MQTT:Publishing val 94448 to Mini Split/freeheap retain=0
    Info:MAIN:Time 20, idle 0/s, free 94448, MQTT 1(1), bWifi 1, secondsWithNoPing -1, socks 2/21 
    Info:MQTT:Publishing val 10.1.107.12 to Mini Split/ip retain=0
    Info:MAIN:Time 21, idle 0/s, free 94448, MQTT 1(1), bWifi 1, secondsWithNoPing -1, socks 2/21 
    Info:MAIN:Time 22, idle 0/s, free 94280, MQTT 1(1), bWifi 1, secondsWithNoPing -1, socks 2/21 
    

    - OBK UI:
    Device control panel screen for Della Mini Split with status details and configuration buttons.

    ---

    2. Start TCL driver
    Command Used:
    startDriver TCL


    - Any UI changes or new values on OBK page? Yes. Current temperature and target temperature are displayed in Celsius.

    - OBK Logs:
    
    Info:MAIN:Time 199, idle 0/s, free 94784, MQTT 1(1), bWifi 1, secondsWithNoPing 130, socks 2/21 
    Info:MAIN:Started TCL.
    Info:CMD:[WebApp Cmd 'startDriver TCL' Result] OK
    Warn:EnergyMeter:Initial size: 0
    Info:MAIN:Time 200, idle 0/s, free 94216, MQTT 1(1), bWifi 1, secondsWithNoPing 131, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 21 D6 00 C0 00 00 00 00 00 00 6E 23 88 00 00 00 00 00 00 00 00 00 00 6B FF 42 00 00 32 2D 30 00 00 80 00 00 00 00 ED 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 FD 
    Warn:EnergyMeter:Ok we got reply with mode 0, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 201, idle 0/s, free 94048, MQTT 1(1), bWifi 1, secondsWithNoPing 132, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 21 D6 00 C0 00 00 00 00 00 00 6E 23 88 00 00 00 00 00 00 00 00 00 00 6B FF 42 00 00 32 2D 30 00 00 80 00 00 00 00 ED 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 FD 
    Warn:EnergyMeter:Ok we got reply with mode 0, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 202, idle 0/s, free 94048, MQTT 1(1), bWifi 1, secondsWithNoPing 133, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 21 D6 00 C0 00 00 00 00 00 00 6E 23 88 00 00 00 00 00 00 00 00 00 00 6B FF 42 00 00 32 2D 30 00 00 80 00 00 00 00 ED 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 FD 
    Warn:EnergyMeter:Ok we got reply with mode 0, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 203, idle 0/s, free 94384, MQTT 1(1), bWifi 1, secondsWithNoPing 134, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 21 D6 00 C0 00 00 00 00 00 00 6E 23 88 00 00 00 00 00 00 00 00 00 00 6B FF 42 00 00 33 2D 30 00 00 80 00 00 00 00 ED 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 FC 
    Warn:EnergyMeter:Ok we got reply with mode 0, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 204, idle 0/s, free 94216, MQTT 1(1), bWifi 1, secondsWithNoPing 135, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 21 D6 00 C0 00 00 00 00 00 00 6E 23 88 00 00 00 00 00 00 00 00 00 00 6B FF 42 00 00 33 2D 30 00 00 80 00 00 00 00 ED 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 FC 
    Warn:EnergyMeter:Ok we got reply with mode 0, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 205, idle 0/s, free 94216, MQTT 1(1), bWifi 1, secondsWithNoPing 136, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 21 D6 00 C0 00 00 00 00 00 00 6E 23 88 00 00 00 00 00 00 00 00 00 00 6B FF 42 00 00 33 2D 30 00 00 80 00 00 00 00 EE 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 FF 
    Warn:EnergyMeter:Ok we got reply with mode 0, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 206, idle 0/s, free 94384, MQTT 1(1), bWifi 1, secondsWithNoPing 137, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 21 D6 00 C0 00 00 00 00 00 00 6E 23 88 00 00 00 00 00 00 00 00 00 00 6B FF 42 00 00 33 2D 30 00 00 80 00 00 00 00 EE 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 FF 
    

    - OBK UI:
    Della Mini Split control panel displaying temperature and device status.

    ---

    3. Power on mini split
    Command Used:
    ACMode 1
    (sets unit to "Cool")

    - Physical Unit Display: Indoor unit beeps, then starts power on sequence. Display says "72" as that is the last temperature set prior to shutdown. The air being moved is clearly being cooled.

    - Is unit visibly running (fan, compressor)? Indoor fan is running at last set speed. Outdoor unit fan and compressor start.

    - OBK Logs:
    
    Warn:EnergyMeter:Ok we got reply with mode 0, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 234, idle 0/s, free 94216, MQTT 1(1), bWifi 1, secondsWithNoPing 165, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 21 D6 00 C0 00 00 00 00 00 00 70 2B 08 00 00 00 00 00 00 00 00 00 00 6B FF 42 00 00 33 2F 30 00 00 80 00 00 00 00 EE 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 6B 
    Warn:EnergyMeter:Ok we got reply with mode 0, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 235, idle 0/s, free 94216, MQTT 1(1), bWifi 1, secondsWithNoPing 166, socks 2/21 
    Warn:EnergyMeter:User set mode 1
    Warn:EnergyMeter:build_set_cmd: sizeof(get_cmd_resp_t) = 61, sizeof(m_set_cmd.data) = 35, sizeof(m_set_cmd.raw) = 35
    Info:CMD:[WebApp Cmd 'ACMode 1' Result] OK
    Warn:EnergyMeter:Sending data
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 21 D6 00 C0 00 00 00 00 00 00 70 2B 08 00 00 00 00 00 00 00 00 00 00 6B FF 42 00 00 33 2F 30 00 00 80 00 00 00 00 EE 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 6B 
    Warn:EnergyMeter:Ok we got reply with mode 0, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 236, idle 0/s, free 93744, MQTT 1(1), bWifi 1, secondsWithNoPing 167, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Info:MAIN:Time 237, idle 0/s, free 85608, MQTT 1(1), bWifi 1, secondsWithNoPing 168, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 D6 00 C0 00 00 00 00 00 00 70 2B 08 00 00 00 00 00 00 00 00 00 00 6B FF 42 00 00 33 2F 30 00 00 80 00 00 00 00 EE 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 7B 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 238, idle 0/s, free 93912, MQTT 1(1), bWifi 1, secondsWithNoPing 169, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 D6 00 C0 00 00 00 00 00 00 70 2B 88 00 00 00 00 00 00 00 00 00 00 6B FF 42 00 00 33 2F 30 00 00 80 00 00 00 00 ED 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 F8 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 239, idle 0/s, free 93912, MQTT 1(1), bWifi 1, secondsWithNoPing 170, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 D6 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 00 33 2F 30 00 00 80 00 00 00 00 ED 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 DD 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 240, idle 0/s, free 93912, MQTT 1(1), bWifi 1, secondsWithNoPing 171, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 D6 00 C0 00 00 00 00 00 00 70 2B 88 00 00 00 00 00 00 00 00 00 00 6B FF 42 00 00 33 2F 30 00 00 80 00 00 00 00 ED 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 F8 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 241, idle 0/s, free 94080, MQTT 1(1), bWifi 1, secondsWithNoPing 172, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 D6 00 C0 00 00 00 00 00 00 70 2B 88 00 00 00 00 00 00 00 00 00 00 6B FF 42 00 00 33 2F 30 00 00 80 00 00 00 00 ED 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 F8 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 242, idle 0/s, free 94080, MQTT 1(1), bWifi 1, secondsWithNoPing 173, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 D6 00 C0 00 00 00 00 00 00 70 2B 88 00 00 00 00 00 00 00 00 00 00 6B FF 42 00 00 33 2F 30 00 00 80 00 00 00 00 ED 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 F8 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 243, idle 0/s, free 94080, MQTT 1(1), bWifi 1, secondsWithNoPing 174, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 D6 00 C0 00 00 00 00 00 00 70 2B 88 00 00 00 00 00 00 00 00 00 00 6B FF 42 00 69 33 2F 30 00 00 80 00 00 00 00 ED 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 91 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 244, idle 0/s, free 94248, MQTT 1(1), bWifi 1, secondsWithNoPing 175, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 D6 00 C0 00 00 00 00 00 00 70 2B 88 00 00 00 00 00 00 00 00 00 00 6B FF 42 00 69 33 2F 30 00 00 80 00 00 00 00 ED 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 91 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 245, idle 0/s, free 85560, MQTT 1(1), bWifi 1, secondsWithNoPing 176, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 D6 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 33 2F 30 00 00 80 00 00 00 00 ED 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 B4 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 246, idle 0/s, free 94248, MQTT 1(1), bWifi 1, secondsWithNoPing 177, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 D6 00 C0 00 00 00 00 00 00 70 2B 88 00 00 00 00 00 00 00 00 00 00 6B FF 42 00 69 33 2F 30 00 00 80 00 00 00 00 EE 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 92 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 247, idle 0/s, free 94080, MQTT 1(1), bWifi 1, secondsWithNoPing 178, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 D6 00 C0 00 00 00 00 00 00 70 2B 88 00 00 00 00 00 00 00 00 00 00 6B FF 42 00 69 33 2F 30 00 00 80 00 00 00 00 EE 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 92 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 248, idle 0/s, free 94080, MQTT 1(1), bWifi 1, secondsWithNoPing 179, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 D6 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 33 2F 30 00 00 80 00 00 00 00 EE 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 B7 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 249, idle 0/s, free 94248, MQTT 1(1), bWifi 1, secondsWithNoPing 180, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 D6 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 69 33 2F 30 00 00 80 00 00 00 00 ED 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 B4 
    

    - OBK UI:
    Della Mini Split control panel showing temperature, connection and system status.

    ---

    4. Set fan speed to 3
    Command Used:
    FANMode 3


    - Physical Display/Fan Behavior: Indoor unit beeps. In this case, the fan speed slowed to speed 3.

    - OBK Logs:
    
    Info:MAIN:Time 714, idle 0/s, free 94752, MQTT 1(1), bWifi 1, secondsWithNoPing 645, socks 2/21 
    Warn:EnergyMeter:build_set_cmd: sizeof(get_cmd_resp_t) = 61, sizeof(m_set_cmd.data) = 35, sizeof(m_set_cmd.raw) = 35
    Info:CMD:[WebApp Cmd 'FANMode 3' Result] OK
    Warn:EnergyMeter:Sending data
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 D6 00 C0 00 00 00 00 00 00 6E 03 88 00 00 00 00 00 00 00 00 00 00 69 FF 42 00 69 30 34 4F 54 3E 8A 00 00 00 00 EC 02 00 00 44 40 08 00 00 00 1A 00 00 00 00 A1 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 5, turbo 0, mute 0
    Warn:EnergyMeter:fan 05
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 715, idle 0/s, free 94584, MQTT 1(1), bWifi 1, secondsWithNoPing 646, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Info:MAIN:Time 716, idle 0/s, free 94584, MQTT 1(1), bWifi 1, secondsWithNoPing 647, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 A6 00 C0 00 00 00 00 00 00 6B 0B 88 00 00 00 00 00 00 00 00 00 00 69 FF 42 00 69 30 34 4F 54 3E 8A 00 00 00 00 EC 02 00 00 44 40 08 00 00 00 1A 00 00 00 00 DC 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 2, turbo 0, mute 0
    Warn:EnergyMeter:fan 02
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 717, idle 0/s, free 94584, MQTT 1(1), bWifi 1, secondsWithNoPing 648, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 A6 00 C0 00 00 00 00 00 00 6B 0B 88 00 00 00 00 00 00 00 00 00 00 69 FF 42 00 5A 30 34 4F 54 3E 8A 00 00 00 00 EC 02 00 00 44 40 08 00 00 00 1A 00 00 00 00 EF 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 2, turbo 0, mute 0
    Warn:EnergyMeter:fan 02
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 718, idle 0/s, free 94584, MQTT 1(1), bWifi 1, secondsWithNoPing 649, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 A6 00 C0 00 00 00 00 00 00 6E 03 88 00 00 00 00 00 00 00 00 00 00 69 FF 42 00 5A 30 34 4F 54 3E 8A 00 00 00 00 EC 02 00 00 44 40 08 00 00 00 1A 00 00 00 00 E2 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 2, turbo 0, mute 0
    Warn:EnergyMeter:fan 02
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 719, idle 0/s, free 94248, MQTT 1(1), bWifi 1, secondsWithNoPing 650, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 A6 00 C0 00 00 00 00 00 00 6B 0B 88 00 00 00 00 00 00 00 00 00 00 69 FF 42 00 5A 30 34 4F 55 3E 8A 00 00 00 00 EC 02 00 00 44 40 08 00 00 00 1A 00 00 00 00 EE 
    


    - OBK UI:
    Della Mini Split control panel showing temperatures, WiFi and MQTT status, and buttons for config and restart.

    ---

    5. Set target temperature to 75°F
    Command Used:
    TargetTemperature 75


    - OBK Target Temp: 75°F

    - Any UI changes or new values on OBK page? Yes, the target temperature changes to 27.

    - Physical Display/Fan Behavior: Indoor unit beeps, then the display changes to "81".

    - Is cooling behavior as expected? Kind of... Unit should be displaying 75.

    - OBK Logs:
    
    Info:MAIN:Time 940, idle 0/s, free 85224, MQTT 1(1), bWifi 1, secondsWithNoPing 871, socks 2/21 
    Warn:EnergyMeter:build_set_cmd: sizeof(get_cmd_resp_t) = 61, sizeof(m_set_cmd.data) = 35, sizeof(m_set_cmd.raw) = 35
    Info:CMD:[WebApp Cmd 'TargetTemperature 75' Result] OK
    Warn:EnergyMeter:Sending data
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 A6 00 C0 00 00 00 00 00 00 6B 0B 88 00 00 00 00 00 00 00 00 00 00 5F FF 42 00 5A 30 32 52 55 1E 8A 00 00 00 00 EC 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 E1 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 2, turbo 0, mute 0
    Warn:EnergyMeter:fan 02
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 941, idle 0/s, free 93744, MQTT 1(1), bWifi 1, secondsWithNoPing 872, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Info:MAIN:Time 942, idle 0/s, free 93744, MQTT 1(1), bWifi 1, secondsWithNoPing 873, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 AB 00 C0 00 00 00 00 00 00 6B 0B 88 00 00 00 00 00 00 00 00 00 00 5F FF 42 00 5A 30 32 52 55 1E 8A 00 00 00 00 EC 01 00 00 44 40 08 00 00 00 1A 00 00 00 00 ED 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 2, turbo 0, mute 0
    Warn:EnergyMeter:fan 02
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 943, idle 0/s, free 91560, MQTT 1(1), bWifi 1, secondsWithNoPing 874, socks 3/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 AB 00 C0 00 00 00 00 00 00 6B 0B 88 00 00 00 00 00 00 00 00 00 00 5F FF 42 00 5A 30 32 52 55 1E 8A 00 00 00 00 EC 01 00 00 44 40 08 00 00 00 1A 00 00 00 00 ED 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 2, turbo 0, mute 0
    Warn:EnergyMeter:fan 02
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 944, idle 0/s, free 93912, MQTT 1(1), bWifi 1, secondsWithNoPing 875, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 AB 00 C0 00 00 00 00 00 00 6B 0B 88 00 00 00 00 00 00 00 00 00 00 5F FF 42 00 5A 30 32 52 55 1E 8A 00 00 00 00 EC 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 EC 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 2, turbo 0, mute 0
    Warn:EnergyMeter:fan 02
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 945, idle 0/s, free 93912, MQTT 1(1), bWifi 1, secondsWithNoPing 876, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 AB 00 C0 00 00 00 00 00 00 6B 0B 88 00 00 00 00 00 00 00 00 00 00 5F FF 42 00 5A 30 32 52 54 1E 8A 00 00 00 00 EC 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 ED 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 2, turbo 0, mute 0
    Warn:EnergyMeter:fan 02
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 946, idle 0/s, free 93912, MQTT 1(1), bWifi 1, secondsWithNoPing 877, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 AB 00 C0 00 00 00 00 00 00 6B 0B 88 00 00 00 00 00 00 00 00 00 00 5F FF 42 00 5A 30 32 52 54 1E 8A 00 00 00 00 ED 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 EC 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 2, turbo 0, mute 0
    Warn:EnergyMeter:fan 02
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 947, idle 0/s, free 93912, MQTT 1(1), bWifi 1, secondsWithNoPing 878, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 AB 00 C0 00 00 00 00 00 00 6B 0B 88 00 00 00 00 00 00 00 00 00 00 5F FF 42 00 5A 30 32 52 54 1E 8A 00 00 00 00 ED 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 EC 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 2, turbo 0, mute 0
    Warn:EnergyMeter:fan 02
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 948, idle 0/s, free 93912, MQTT 1(1), bWifi 1, secondsWithNoPing 879, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 AB 00 C0 00 00 00 00 00 00 6B 0B 88 00 00 00 00 00 00 00 00 00 00 5F FF 42 00 5A 30 32 52 54 00 80 00 00 00 00 ED 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 F8 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 2, turbo 0, mute 0
    Warn:EnergyMeter:fan 02
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 949, idle 0/s, free 93912, MQTT 1(1), bWifi 1, secondsWithNoPing 880, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 AB 00 C0 00 00 00 00 00 00 6B 0B 88 00 00 00 00 00 00 00 00 00 00 5F FF 42 00 5A 30 32 52 54 00 80 00 00 00 00 ED 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 F8 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 2, turbo 0, mute 0
    Warn:EnergyMeter:fan 02
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 950, idle 0/s, free 93912, MQTT 1(1), bWifi 1, secondsWithNoPing 881, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 AB 00 C0 00 00 00 00 00 00 6B 0B 88 00 00 00 00 00 00 00 00 00 00 5F FF 42 00 5A 30 32 52 54 00 80 00 00 00 00 ED 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 F8 
    

    - OBK UI:
    Web interface of a Della Mini Split device showing current and target temperatures, Wi-Fi status, and control buttons.

    ---

    6. Change target temperature to 77°F
    Command Used:
    TargetTemperature 77


    - OBK Target Temp: 77°F

    - Any UI changes or new values on OBK page? Yes, the target temperature changes to 29.

    - Physical Display/Fan Behavior: Indoor unit beeps, then the display changes to "84".

    - Is cooling behavior as expected? Kind of... Unit should be displaying 77.

    - OBK Logs:
    
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 AB 00 C0 00 00 00 00 00 00 6E 03 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 5A 36 32 46 00 00 80 00 00 00 00 EF 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 80 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 2, turbo 0, mute 0
    Warn:EnergyMeter:fan 02
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 1677, idle 0/s, free 94248, MQTT 1(1), bWifi 1, secondsWithNoPing 1608, socks 2/21 
    Warn:EnergyMeter:build_set_cmd: sizeof(get_cmd_resp_t) = 61, sizeof(m_set_cmd.data) = 35, sizeof(m_set_cmd.raw) = 35
    Info:CMD:[WebApp Cmd 'TargetTemperature 77' Result] OK
    Warn:EnergyMeter:Sending data
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 AB 00 C0 00 00 00 00 00 00 6E 03 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 5A 36 32 46 00 00 80 00 00 00 00 EF 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 80 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 2, turbo 0, mute 0
    Warn:EnergyMeter:fan 02
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 1678, idle 0/s, free 93912, MQTT 1(1), bWifi 1, secondsWithNoPing 1609, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Info:MAIN:Time 1679, idle 0/s, free 93912, MQTT 1(1), bWifi 1, secondsWithNoPing 1610, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 AD 00 C0 00 00 00 00 00 00 6E 03 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 5A 36 32 46 00 00 80 00 00 00 00 EF 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 86 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 2, turbo 0, mute 0
    Warn:EnergyMeter:fan 02
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 1680, idle 0/s, free 94080, MQTT 1(1), bWifi 1, secondsWithNoPing 1611, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 AD 00 C0 00 00 00 00 00 00 6E 03 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 5A 36 32 46 00 00 80 00 00 00 00 EF 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 86 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 2, turbo 0, mute 0
    Warn:EnergyMeter:fan 02
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 1681, idle 0/s, free 94080, MQTT 1(1), bWifi 1, secondsWithNoPing 1612, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 AD 00 C0 00 00 00 00 00 00 6E 03 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 5A 36 32 46 00 00 80 00 00 00 00 EF 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 86 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 2, turbo 0, mute 0
    Warn:EnergyMeter:fan 02
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 1682, idle 0/s, free 94080, MQTT 1(1), bWifi 1, secondsWithNoPing 1613, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 AD 00 C0 00 00 00 00 00 00 6E 03 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 5A 36 32 46 00 00 80 00 00 00 00 EF 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 86 
    


    - OBK UI:
    Della Mini Split control panel showing current and target temperatures with configuration options.

    ---

    7. Power off mini split
    Command Used:
    ACMode 0


    - Any UI changes or new values on OBK page? Not that I noticed.

    - Physical Display/Fan Behavior: The indoor unit beeps, then shuts down. The indoor display turns off with no codes.

    
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 2, turbo 0, mute 0
    Warn:EnergyMeter:fan 02
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 1856, idle 0/s, free 94080, MQTT 1(1), bWifi 1, secondsWithNoPing 1787, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 AD 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 5A 36 32 46 00 00 80 00 00 00 00 EF 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 90 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 2, turbo 0, mute 0
    Warn:EnergyMeter:fan 02
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 1857, idle 0/s, free 94080, MQTT 1(1), bWifi 1, secondsWithNoPing 1788, socks 2/21 
    Warn:EnergyMeter:User set mode 0
    Warn:EnergyMeter:build_set_cmd: sizeof(get_cmd_resp_t) = 61, sizeof(m_set_cmd.data) = 35, sizeof(m_set_cmd.raw) = 35
    Info:CMD:[WebApp Cmd 'ACMode 0' Result] OK
    Warn:EnergyMeter:Sending data
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 AD 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 5A 36 32 46 00 00 80 00 00 00 00 EF 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 90 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 2, turbo 0, mute 0
    Warn:EnergyMeter:fan 02
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 1858, idle 0/s, free 93744, MQTT 1(1), bWifi 1, secondsWithNoPing 1789, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Info:MAIN:Time 1859, idle 0/s, free 93912, MQTT 1(1), bWifi 1, secondsWithNoPing 1790, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 21 AD 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 5A 36 32 46 00 00 80 00 00 00 00 EF 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 80 
    Warn:EnergyMeter:Ok we got reply with mode 0, fan 2, turbo 0, mute 0
    Warn:EnergyMeter:fan 02
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 1860, idle 0/s, free 94080, MQTT 1(1), bWifi 1, secondsWithNoPing 1791, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 21 AD 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 00 36 32 46 00 00 80 00 00 00 00 EF 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 DA 
    Warn:EnergyMeter:Ok we got reply with mode 0, fan 2, turbo 0, mute 0
    Warn:EnergyMeter:fan 02
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 1861, idle 0/s, free 93912, MQTT 1(1), bWifi 1, secondsWithNoPing 1792, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 21 AD 00 C0 00 00 00 00 00 00 70 0B 88 00 00 00 00 00 00 00 00 00 00 6E FF 42 00 00 36 32 46 00 00 80 00 00 00 00 EF 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 DA 
    


    - OBK UI:
    Control panel for Della Mini Split air conditioner showing current and target temperatures, WiFi and MQTT status, and control buttons.
    Helpful post? Buy me a coffee.
  • #78 21553236
    p.kaczmarek2
    Moderator Smart Home
    I see why your tests are giving strange results. That's because you're doing:
    dressyspider wrote:

    5. Set target temperature to 75°F
    Command Used:
    TargetTemperature 75


    - OBK Target Temp: 75°F


    This will give random results because, as I said earlier, the protocol uses value in C which is in 16 to 31 range.

    p.kaczmarek2 wrote:

    
        traits.set_visual_min_temperature(16.0);
        traits.set_visual_max_temperature(31.0);
        traits.set_visual_target_temperature_step(1.0);
    

    Temp is just 4 bits in that protocol:
    A code snippet in C showing a struct with uint8_t bit fields, with the temp : 4 line highlighted.
    They subtract 16 from value:
    
          get_cmd_resp.data.temp = uint8_t(temp) - 16;
    

    So the input range is 16 to 31 and they convert it to 0 to 15 which matches 4 bit value.


    Try temperature like from range 16 to 31 (in degrees)


    Can you do testing with TargetTemperature in range 16 to 31?

    Also, are you using F? Once we get it working, we can add unit switch, but for now, let's stick to C on OBK side, because C is used internally by the device.

    Added after 27 [minutes]:

    BTW:
    Screenshot with text about OBK target temperature and UI changes on the OBK page.
    You type 77 for C value. Code subtracts 16 from it , to get 16 to 31 range. So it's 61. But it's just 4 bits. So squeezed into 4 bits, it gives 61%16 = 13. Now add back offset 16, as it's [16,31] range. So 13+16 = 29. So it works. The value 29 is expected... by that logic. So device now thinks the target value is 29 centigrade (84,2F?)

    Added after 44 [seconds]:

    And you said yourself:
    Quote:

    - Physical Display/Fan Behavior: Indoor unit beeps, then the display changes to "84".

    So everything works, just a user error on your side - currently, OBK expects value in C.
    Helpful post? Buy me a coffee.
  • #80 21553294
    p.kaczmarek2
    Moderator Smart Home
    Well, my calculations indicate that it works, or at least, the physical display correctly displays the target value in F.
    Helpful post? Buy me a coffee.
  • #82 21553340
    p.kaczmarek2
    Moderator Smart Home
    No problem, you can do testing when you have time.

    I've also looked at the earlier post and saw;
    
    19	temp_unit_convert	温标切换	enum		true	c, f
    

    so this device allows a C/F switch for display, but internally uses C. Hm, interestingly enough our references on Github do not specify where is the C/F setting stored...
    Helpful post? Buy me a coffee.
  • #83 21553392
    dressyspider
    Level 2  
    I can confirm that you are correct. I ran TargetTemperature 24 and the display on the mini split shows "75". The OBK dashboard showers “target temperature: 24”. When I ran TargetTemperature 25, the display changed to "77" and the OBK dashboard showed “target temperature: 25”.

    Prior to stetting thr temperature, I ran startDriver TCL, then ACMode 1, then set the temps using Celsius. The log below only contains the TargetTemperature commands.

    OBK Logs:
    
    Info:MAIN:Time 296, idle 0/s, free 94072, MQTT 1(1), bWifi 1, secondsWithNoPing 226, socks 2/21 
    Warn:EnergyMeter:build_set_cmd: sizeof(get_cmd_resp_t) = 61, sizeof(m_set_cmd.data) = 35, sizeof(m_set_cmd.raw) = 35
    Info:CMD:[WebApp Cmd 'TargetTemperature 24' Result] OK
    Warn:EnergyMeter:Sending data
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 AD 00 C0 00 00 00 00 00 00 6B 2B 88 00 00 00 00 00 00 00 00 00 00 6B FF 42 00 5A 2C 2C 2E 00 00 80 00 00 00 00 F0 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 DD 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 2, turbo 0, mute 0
    Warn:EnergyMeter:fan 02
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 297, idle 0/s, free 93904, MQTT 1(1), bWifi 1, secondsWithNoPing 227, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Info:MAIN:Time 298, idle 0/s, free 84504, MQTT 1(1), bWifi 1, secondsWithNoPing 228, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 A8 00 C0 00 00 00 00 00 00 6B 2B 88 00 00 00 00 00 00 00 00 00 00 6B FF 42 00 5A 2C 2C 2E 00 00 80 00 00 00 00 F0 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 D8 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 2, turbo 0, mute 0
    Warn:EnergyMeter:fan 02
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 299, idle 0/s, free 94240, MQTT 1(1), bWifi 1, secondsWithNoPing 229, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 A8 00 C0 00 00 00 00 00 00 6B 2B 88 00 00 00 00 00 00 00 00 00 00 6B FF 42 00 5A 2C 2C 2E 00 00 80 00 00 00 00 F0 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 D8 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 2, turbo 0, mute 0
    Warn:EnergyMeter:fan 02
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 300, idle 0/s, free 93904, MQTT 1(1), bWifi 1, secondsWithNoPing 230, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 A8 00 C0 00 00 00 00 00 00 6B 2B 88 00 00 00 00 00 00 00 00 00 00 6B FF 42 00 5A 2C 2C 2E 00 00 80 00 00 00 00 F0 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 D8 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 2, turbo 0, mute 0
    Warn:EnergyMeter:fan 02
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 301, idle 0/s, free 94072, MQTT 1(1), bWifi 1, secondsWithNoPing 231, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 A8 00 C0 00 00 00 00 00 00 6B 2B 88 00 00 00 00 00 00 00 00 00 00 6B FF 42 00 5A 2C 2C 2E 00 00 80 00 00 00 00 F0 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 D8 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 2, turbo 0, mute 0
    Warn:EnergyMeter:fan 02
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 302, idle 0/s, free 94072, MQTT 1(1), bWifi 1, secondsWithNoPing 232, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 A8 00 C0 00 00 00 00 00 00 6B 2B 88 00 00 00 00 00 00 00 00 00 00 6B FF 42 00 5A 2C 2C 2E 00 00 80 00 00 00 00 F0 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 D8 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 2, turbo 0, mute 0
    Warn:EnergyMeter:fan 02
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 303, idle 0/s, free 94072, MQTT 1(1), bWifi 1, secondsWithNoPing 233, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 A8 00 C0 00 00 00 00 00 00 6B 2B 88 00 00 00 00 00 00 00 00 00 00 6B FF 42 00 5A 2C 2C 2E 00 00 80 00 00 00 00 F0 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 D8 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 2, turbo 0, mute 0
    Warn:EnergyMeter:fan 02
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 304, idle 0/s, free 84672, MQTT 1(1), bWifi 1, secondsWithNoPing 234, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 A8 00 C0 00 00 00 00 00 00 6B 2B 88 00 00 00 00 00 00 00 00 00 00 6B FF 42 00 5A 2C 2C 2E 00 00 80 00 00 00 00 F0 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 D8 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 2, turbo 0, mute 0
    Warn:EnergyMeter:fan 02
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 305, idle 0/s, free 94240, MQTT 1(1), bWifi 1, secondsWithNoPing 235, socks 2/21 
    Warn:EnergyMeter:build_set_cmd: sizeof(get_cmd_resp_t) = 61, sizeof(m_set_cmd.data) = 35, sizeof(m_set_cmd.raw) = 35
    Info:CMD:[WebApp Cmd 'TargetTemperature 25' Result] OK
    Warn:EnergyMeter:Sending data
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 A8 00 C0 00 00 00 00 00 00 6B 2B 88 00 00 00 00 00 00 00 00 00 00 6B FF 42 00 5A 2C 2C 2E 00 00 80 00 00 00 00 F0 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 D8 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 2, turbo 0, mute 0
    Warn:EnergyMeter:fan 02
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 306, idle 0/s, free 93736, MQTT 1(1), bWifi 1, secondsWithNoPing 236, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Info:MAIN:Time 307, idle 0/s, free 93904, MQTT 1(1), bWifi 1, secondsWithNoPing 237, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 A9 00 C0 00 00 00 00 00 00 6B 2B 88 00 00 00 00 00 00 00 00 00 00 6B FF 42 00 5A 2C 2C 2E 00 00 80 00 00 00 00 F0 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 D9 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 2, turbo 0, mute 0
    Warn:EnergyMeter:fan 02
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 308, idle 0/s, free 94072, MQTT 1(1), bWifi 1, secondsWithNoPing 238, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 A9 00 C0 00 00 00 00 00 00 6B 2B 88 00 00 00 00 00 00 00 00 00 00 6B FF 42 00 5A 2C 2C 2E 00 00 80 00 00 00 00 F0 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 D9 
    Warn:EnergyMeter:Ok we got reply with mode 1, fan 2, turbo 0, mute 0
    Warn:EnergyMeter:fan 02
    Warn:EnergyMeter:mode 01
    Info:MAIN:Time 309, idle 0/s, free 94072, MQTT 1(1), bWifi 1, secondsWithNoPing 239, socks 2/21 
    Warn:EnergyMeter:Initial size: 61
    Warn:EnergyMeter:BB 01 00 04 37 04 00 31 A9 00 C0 00 00 00 00 00 00 6B 2B 88 00 00 00 00 00 00 00 00 00 00 6B FF 42 00 5A 2C 2C 2E 00 00 80 00 00 00 00 F0 00 00 00 44 40 08 00 00 00 1A 00 00 00 00 D9 
    
    Helpful post? Buy me a coffee.
  • #84 21553582
    p.kaczmarek2
    Moderator Smart Home
    That's a good news. Now, do we want to support toggling C to F on the device screen? It's not documented in the Githubs we are basing on.

    Apart from that, I think it's time to improve GUI?
    Helpful post? Buy me a coffee.
  • #85 21553850
    dressyspider
    Level 2  
    I am in the US, so I primarily use Fahrenheit. I am fine without the ability to toggle units, but it is probably a good idea to support that feature for users outside the States. The mini split’s display already shows Fahrenheit. It is just the OBK dashboard that is displaying Celsius.

    I will be traveling for the next five days, so I will not be able to test anything in the meantime.

    Once I am back, I plan to sniff the traffic because the Smart Life app has an option to mute the beeping sound. I do not remember seeing any datapoints related to that, so I want to dig deeper. It might be DP 123, but I want to confirm.
    Helpful post? Buy me a coffee.
  • #86 21554357
    p.kaczmarek2
    Moderator Smart Home
    dpIDs are useful for TuyaMCU, but here we have one binary packet, so dpIDs won't help. They can only tell you what to look for.

    There is some mute fan options mentioned in the driver we are porting, but I am not sure if it's the same as sound mute?
    A fragment of C++ code with the word Mute highlighted in a conditional and variable assignment.

    Or maybe, even better, this fits? Buzzer on/off:
    A table showing the structure of command 0x03 with parameter descriptions and possible values.
    Helpful post? Buy me a coffee.
  • #89 21558508
    p.kaczmarek2
    Moderator Smart Home
    I can try adding that "mute sound" today
    Helpful post? Buy me a coffee.

Topic summary

The discussion centers on flashing and integrating the WiFi module (WBR3 on TCWBRCU1 board) of a Della Optima Series minisplit air conditioner with a fully local, cloud-free firmware solution such as OpenBeken (OBK). Initial assumptions about the module using TuyaMCU were revised after UART traffic analysis revealed a custom protocol similar to TCL AC devices, requiring development of a dedicated driver. The user successfully desoldered the WBR3 module, backed up its firmware using appropriate Realtek tools (ltchiptool and AmebaZ2 PG Tool), and flashed OpenBeken firmware. Subsequent efforts focused on reverse engineering datapoints (DPIDs) from the Tuya IoT platform and correlating them with UART commands to control power, mode, fan speed, temperature, swing positions, buzzer, and display settings. A custom TCL driver was developed and iteratively improved with community testing, enabling control via OBK commands and Home Assistant (HA) integration through MQTT with discovery support. Challenges included mapping fan speed presets and swing modes to HA entities, handling temperature units (Celsius internally, Fahrenheit display), and managing UI elements and logs in OBK. The user contributed detailed testing logs, UI feedback, and feature requests, facilitating driver refinement. The project progressed to stable control of power, mode, temperature, fan speed, swing, buzzer mute, and display brightness, with ongoing work on UI polish and MQTT integration for seamless HA control.
Summary generated by the language model.
ADVERTISEMENT