make-all / tuya-local

Local support for Tuya devices in Home Assistant
MIT License
1.23k stars 490 forks source link

Request support for Suntec Wellness Portable Air Conditioner Coolfixx #1071

Closed KrX3D closed 11 months ago

KrX3D commented 1 year ago

Message


I added the Air Conditioner with this integration and picked "lyfco:portable_airconditioner" which seems mostly to work
What does not work is:

- Drying function, i hear a beep and than it sometimes picks cool, hear or just ventilation
- the high fan speed does not work, it always picks Low

Information about DPS mappings


{
  "result": {
    "category": "kt",
    "functions": [
      {
        "code": "switch",
        "desc": "switch",
        "name": "switch",
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "temp_set",
        "desc": "temp set",
        "name": "temp set",
        "type": "Integer",
        "values": "{\"unit\":\"℃\",\"min\":16,\"max\":32,\"scale\":0,\"step\":1}"
      },
      {
        "code": "temp_unit_convert",
        "desc": "temp unit convert",
        "name": "temp unit convert",
        "type": "Enum",
        "values": "{\"range\":[\"c\",\"f\"]}"
      },
      {
        "code": "temp_set_f",
        "desc": "temp set f",
        "name": "temp set f",
        "type": "Integer",
        "values": "{\"unit\":\"℉\",\"min\":61,\"max\":90,\"scale\":0,\"step\":1}"
      }
    ]
  },
  "success": true,
  "t": 1693685452960,
  "tid": "d151d44a49cc11eeb3f09e6a0abc163a"
}

{
  "result": {
    "active_time": 1693681197,
    "category": "kt",
    "create_time": 1693681197,
    "custom_name": "",
    "icon": "smart/icon/bay1613141165751aiAr/9cf16835061504a7d040dec0d630b30f.png",
    "id": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "ip": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "is_online": true,
    "lat": "XXXXXXXXXXXXXXXXX",
    "local_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "lon": "XXXXXXXXXXXXXXXXXXXXXXXXXX",
    "model": "Coolfixx Advance 2023",
    "name": "Suntec Klimagerät 12.000 BTU/h",
    "product_id": "0ithwpdwkgyqfx54",
    "product_name": "Portable Air Conditioner 12.000",
    "sub": false,
    "time_zone": "+02:00",
    "update_time": 1693681200,
    "uuid": "XXXXXXXXXXXXXXXXXX"
  },
  "success": true,
  "t": 1693684780494,
  "tid": "40819a9e49cb11ee8298eeefa7b3467e"
}

{
  "result": {
    "category": "kt",
    "functions": [
      {
        "code": "switch",
        "desc": "{}",
        "name": "开关",
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "temp_set",
        "desc": "{\"unit\":\"℃\",\"min\":16,\"max\":32,\"scale\":0,\"step\":1}",
        "name": "设置温度",
        "type": "Integer",
        "values": "{\"unit\":\"℃\",\"min\":16,\"max\":32,\"scale\":0,\"step\":1}"
      },
      {
        "code": "temp_unit_convert",
        "desc": "{\"range\":[\"c\",\"f\"]}",
        "name": "温标,华氏度,摄氏度切换新",
        "type": "Enum",
        "values": "{\"range\":[\"c\",\"f\"]}"
      },
      {
        "code": "temp_set_f",
        "desc": "{\"unit\":\"℉\",\"min\":61,\"max\":90,\"scale\":0,\"step\":1}",
        "name": "设置华氏温度",
        "type": "Integer",
        "values": "{\"unit\":\"℉\",\"min\":61,\"max\":90,\"scale\":0,\"step\":1}"
      }
    ],
    "status": [
      {
        "code": "switch",
        "name": "开关",
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "temp_set",
        "name": "设置温度",
        "type": "Integer",
        "values": "{\"unit\":\"℃\",\"min\":16,\"max\":32,\"scale\":0,\"step\":1}"
      },
      {
        "code": "temp_current",
        "name": "当前温度",
        "type": "Integer",
        "values": "{\"unit\":\"℃\",\"min\":0,\"max\":99,\"scale\":0,\"step\":1}"
      },
      {
        "code": "temp_unit_convert",
        "name": "温标,华氏度,摄氏度切换(新)",
        "type": "Enum",
        "values": "{\"range\":[\"c\",\"f\"]}"
      },
      {
        "code": "fault",
        "name": "故障告警",
        "type": "Bitmap",
        "values": "{\"label\":[\"Rtemp_fault\",\"IPtemp_fault\",\"Water_FULL\"]}"
      },
      {
        "code": "temp_set_f",
        "name": "设置华氏温度",
        "type": "Integer",
        "values": "{\"unit\":\"℉\",\"min\":61,\"max\":90,\"scale\":0,\"step\":1}"
      },
      {
        "code": "temp_current_f",
        "name": "当前华氏温度",
        "type": "Integer",
        "values": "{\"unit\":\"℉\",\"min\":0,\"max\":99,\"scale\":0,\"step\":1}"
      }
    ]
  },
  "success": true,
  "t": 1693685124096,
  "tid": "0d4ad0e949cc11ee9a70760d0d3c40d3"
}

{
  "result": {
    "properties": [
      {
        "code": "switch",
        "custom_name": "",
        "dp_id": 1,
        "time": 1693681199147,
        "value": false
      },
      {
        "code": "temp_set",
        "custom_name": "",
        "dp_id": 2,
        "time": 1693681199174,
        "value": 23
      },
      {
        "code": "temp_current",
        "custom_name": "",
        "dp_id": 3,
        "time": 1693683044210,
        "value": 25
      },
      {
        "code": "mode",
        "custom_name": "",
        "dp_id": 4,
        "time": 1693681199305,
        "value": "Fan"
      },
      {
        "code": "fan_speed_enum",
        "custom_name": "",
        "dp_id": 5,
        "time": 1693681199371,
        "value": "Low"
      },
      {
        "code": "windshake",
        "custom_name": "",
        "dp_id": 15,
        "time": 1693681199239,
        "value": "OFF"
      },
      {
        "code": "temp_unit_convert",
        "custom_name": "",
        "dp_id": 19,
        "time": 1693681199412,
        "value": "c"
      },
      {
        "code": "fault",
        "custom_name": "",
        "dp_id": 22,
        "time": 1693681199264,
        "value": 0
      },
      {
        "code": "temp_set_f",
        "custom_name": "",
        "dp_id": 23,
        "time": 1693681197397,
        "value": 61
      },
      {
        "code": "temp_current_f",
        "custom_name": "",
        "dp_id": 24,
        "time": 1693681197397,
        "value": 0
      },
      {
        "code": "Sleep",
        "custom_name": "",
        "dp_id": 101,
        "time": 1693681199330,
        "value": false
      },
      {
        "code": "Model_ID",
        "custom_name": "",
        "dp_id": 103,
        "time": 1693681199444,
        "value": "C_H"
      }
    ]
  },
  "success": true,
  "t": 1693685248161,
  "tid": "5742821c49cc11ee9a70760d0d3c40d3"
}

Product ID

Information about how the device functions

make-all commented 1 year ago

The "Query Things Data Model" API result would help, as that will show the allowable values that each dp can take. The above is only partial data for the "standard" cloud functions.

Also the device diagnostics or debug log for the device, which shows a snapshot of the raw dps that are received from the device.

KrX3D commented 1 year ago

Query Things Data Model:


  "result": {
    "model": "{\"modelId\":\"000004z0dq\",\"services\":[{\"actions\":[],\"code\":\"\",\"description\":\"\",\"events\":[],\"name\":\"默认服务\",\"properties\":[
{\"abilityId\":1,\"accessMode\":\"rw\",\"code\":\"switch\",\"description\":\"\",\"extensions\":{\"attribute\":\"129\"},\"name\":\"开关\",\"typeSpec\":{\"type\":\"bool\",\"typeDefaultValue\":false}},
{\"abilityId\":2,\"accessMode\":\"rw\",\"code\":\"temp_set\",\"description\":\"\",\"extensions\":{\"attribute\":\"128\"},\"name\":\"温度设置\",\"typeSpec\":{\"max\":32,\"min\":16,\"scale\":0,\"step\":1,\"type\":\"value\",\"typeDefaultValue\":16,\"unit\":\"℃\"}},
{\"abilityId\":3,\"accessMode\":\"ro\",\"code\":\"temp_current\",\"description\":\"\",\"extensions\":{\"attribute\":\"128\"},\"name\":\"当前温度\",\"typeSpec\":{\"max\":99,\"min\":0,\"scale\":0,\"step\":1,\"type\":\"value\",\"typeDefaultValue\":0,\"unit\":\"℃\"}},
{\"abilityId\":4,\"accessMode\":\"rw\",\"code\":\"mode\",\"description\":\"\",\"extensions\":{\"iconName\":\"icon-dp_mode\",\"attribute\":\"128\"},\"name\":\"工作模式\",\"typeSpec\":{\"range\":[\"Cool\",\"Dyr\",\"Fan\",\"Heat\"],\"type\":\"enum\",\"typeDefaultValue\":\"Cool\"}},
{\"abilityId\":5,\"accessMode\":\"rw\",\"code\":\"fan_speed_enum\",\"description\":\"\",\"extensions\":{\"iconName\":\"icon-dp_wind\",\"attribute\":\"128\"},\"name\":\"风速\",\"typeSpec\":{\"range\":[\"Low\",\"Mid\",\"High\"],\"type\":\"enum\",\"typeDefaultValue\":\"Low\"}},
{\"abilityId\":15,\"accessMode\":\"rw\",\"code\":\"windshake\",\"description\":\"\",\"extensions\":{\"iconName\":\"icon-dp_shake\"},\"name\":\"摆风\",\"typeSpec\":{\"range\":[\"OFF\",\"ON\"],\"type\":\"enum\",\"typeDefaultValue\":\"OFF\"}},
{\"abilityId\":19,\"accessMode\":\"rw\",\"code\":\"temp_unit_convert\",\"description\":\"\",\"extensions\":{\"attribute\":\"128\"},\"name\":\"温标切换\",\"typeSpec\":{\"range\":[\"c\",\"f\"],\"type\":\"enum\",\"typeDefaultValue\":\"c\"}},
{\"abilityId\":22,\"accessMode\":\"ro\",\"code\":\"fault\",\"description\":\"\",\"extensions\":{\"scope\":\"fault\",\"attribute\":\"128\"},\"name\":\"故障告警\",\"typeSpec\":{\"label\":[\"Rtemp_fault\",\"IPtemp_fault\",\"Water_FULL\"],\"maxlen\":3,\"type\":\"bitmap\",\"typeDefaultValue\":0}},
{\"abilityId\":23,\"accessMode\":\"rw\",\"code\":\"temp_set_f\",\"description\":\"\",\"extensions\":{\"attribute\":\"128\"},\"name\":\"温度设置-℉\",\"typeSpec\":{\"max\":90,\"min\":61,\"scale\":0,\"step\":1,\"type\":\"value\",\"typeDefaultValue\":61,\"unit\":\"℉\"}},
{\"abilityId\":24,\"accessMode\":\"ro\",\"code\":\"temp_current_f\",\"description\":\"\",\"extensions\":{\"attribute\":\"128\"},\"name\":\"当前温度 ℉\",\"typeSpec\":{\"max\":99,\"min\":0,\"scale\":0,\"step\":1,\"type\":\"value\",\"typeDefaultValue\":0,\"unit\":\"℉\"}},
{\"abilityId\":101,\"accessMode\":\"rw\",\"code\":\"Sleep\",\"description\":\"\",\"extensions\":{\"iconName\":\"icon-a_function_sleep\"},\"name\":\"睡眠\",\"typeSpec\":{\"type\":\"bool\",\"typeDefaultValue\":false}},
{\"abilityId\":103,\"accessMode\":\"rw\",\"code\":\"Model_ID\",\"description\":\"C: 单冷\\nC_H: 冷暖\",\"name\":\"机型上报\",\"typeSpec\":{\"range\":[\"C\",\"C_H\"],\"type\":\"enum\",\"typeDefaultValue\":\"C\"}}]}]}"
  },
  "success": true,
  "t": 1694276062347,
  "tid": "eff245ca4f2b11ee8298eeefa7b3467e"
}```

Query Device Details in Bulk:

```{
  "result": [
    {
      "active_time": 1693681197,
      "category": "kt",
      "create_time": 1693681197,
      "custom_name": "",
      "icon": "smart/icon/bay1613141165751aiAr/9cf16835061504a7d040dec0d630b30f.png",
      "id": "XXXXXXXXXXXXX",
      "ip": "XXXXXXXXXXXXX",
      "is_online": true,
      "lat": "XXXXXXXXXXXXX",
      "local_key": "XXXXXXXXXXXXX",
      "lon": "XXXXXXXXXXXXX",
      "model": "Coolfixx Advance 2023",
      "name": "Suntec Klimagerät 12.000 BTU/h",
      "product_id": "0ithwpdwkgyqfx54",
      "product_name": "Portable Air Conditioner 12.000",
      "sub": false,
      "time_zone": "+02:00",
      "update_time": 1693681200,
      "uuid": "66cef36d2055515e"
    }
  ],
  "success": true,
  "t": 1694276237664,
  "tid": "5871c64a4f2c11ee9a70760d0d3c40d3"
}```

For Device Logs, im not sure what the Code Parameter should look like.
make-all commented 1 year ago

Since you added the device already, the Device Diagnostics are probably better.

Settings / Devices / find the device on the Devices tab (you can also filter the tuya-local devices by starting from the Integrations tab) / Download Diagnostics

KrX3D commented 1 year ago

  "home_assistant": {
    "installation_type": "Home Assistant OS",
    "version": "2023.9.1",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.11.5",
    "docker": true,
    "arch": "x86_64",
    "timezone": "Europe/Berlin",
    "os_name": "Linux",
    "os_version": "6.1.45",
    "supervisor": "2023.08.3",
    "host_os": "Home Assistant OS 10.5",
    "docker_version": "23.0.6",
    "chassis": "vm",
    "run_as_root": true
  },
  "custom_components": {
    "ui_lovelace_minimalist": {
      "version": "v1.3.6",
      "requirements": [
        "aiofiles==0.8.0",
        "aiogithubapi>=22.2.4"
      ]
    },
    "spotcast": {
      "version": "v3.6.30",
      "requirements": []
    },
    "hacs": {
      "version": "1.32.1",
      "requirements": [
        "aiogithubapi>=22.10.1"
      ]
    },
    "hass_agent_notifier": {
      "version": "2022.10.25.1",
      "requirements": []
    },
    "localtuya": {
      "version": "5.2.1",
      "requirements": []
    },
    "variable": {
      "version": "3.3.4",
      "requirements": [
        "iso4217==1.11.20220401"
      ]
    },
    "momentary": {
      "version": "0.6.3",
      "requirements": []
    },
    "unifigateway": {
      "version": "0.3.3",
      "requirements": [
        "pyunifi==2.21"
      ]
    },
    "sonoff": {
      "version": "3.5.2",
      "requirements": [
        "pycryptodome>=3.6.6"
      ]
    },
    "hass_agent": {
      "version": "2022.11.9",
      "requirements": []
    },
    "waste_collection_schedule": {
      "version": "1.42.0",
      "requirements": [
        "icalendar",
        "recurring_ical_events",
        "icalevents",
        "bs4"
      ]
    },
    "powercalc": {
      "version": "v1.9.3",
      "requirements": [
        "numpy>=1.21.1"
      ]
    },
    "tuya_local": {
      "version": "2023.8.2",
      "requirements": [
        "pycryptodome~=3.18",
        "tinytuya==1.12.10"
      ]
    },
    "pfsense_gateways": {
      "version": "1.1.1",
      "requirements": []
    },
    "openmindsai": {
      "version": "0.1.0",
      "requirements": []
    },
    "govee_lan": {
      "version": "1.0.0",
      "requirements": [
        "govee-led-wez>=0.0.15"
      ]
    },
    "adaptive_lighting": {
      "version": "1.19.0",
      "requirements": [
        "ulid-transform"
      ]
    },
    "energy_meter": {
      "version": "1.0.1",
      "requirements": []
    },
    "xiaomi_cloud_map_extractor": {
      "version": "v2.2.0",
      "requirements": [
        "pillow",
        "pybase64",
        "python-miio",
        "requests",
        "pycryptodome"
      ]
    },
    "weatherapi": {
      "version": "1.1.0",
      "requirements": []
    },
    "govee": {
      "version": "0.2.2",
      "requirements": [
        "govee-api-laggat==0.2.2",
        "dacite==1.6.0"
      ]
    },
    "alexa_media": {
      "version": "4.6.5",
      "requirements": [
        "alexapy==1.26.8",
        "packaging>=20.3",
        "wrapt>=1.12.1"
      ]
    },
    "browser_mod": {
      "version": "2.3.0",
      "requirements": []
    },
    "openai_response": {
      "version": "0.1.0",
      "requirements": [
        "openai==0.27.0"
      ]
    },
    "ai_thermostat": {
      "version": "0.9.3",
      "requirements": []
    },
    "scheduler": {
      "version": "v0.0.0",
      "requirements": []
    },
    "ssh_command": {
      "version": "1.0.0",
      "requirements": [
        "paramiko"
      ]
    },
    "nodered": {
      "version": "1.0.9",
      "requirements": []
    },
    "better_thermostat": {
      "version": "1.2.2",
      "requirements": []
    },
    "samsungtv_smart": {
      "version": "0.12.0",
      "requirements": [
        "websocket-client!=1.4.0,>=0.58.0",
        "wakeonlan>=2.0.0",
        "aiofiles>=0.8.0",
        "casttube>=0.2.1"
      ]
    },
    "emby_upcoming_media": {
      "version": "0.3.5",
      "requirements": [
        "python-dateutil"
      ]
    },
    "dwd_weather": {
      "version": "1.2.28",
      "requirements": [
        "simple_dwd_weatherforecast==1.1.5",
        "markdownify==0.6.5"
      ]
    },
    "samsungtv_tizen": {
      "version": "1.6.1",
      "requirements": [
        "websocket-client>=0.56.0",
        "wakeonlan>=2.0.0",
        "numpy>=1.19.2"
      ]
    },
    "myjdownloader": {
      "version": "2.3.4",
      "requirements": [
        "myjdapi==1.1.6"
      ]
    },
    "watchman": {
      "version": "0.5.1",
      "requirements": [
        "prettytable==3.0.0"
      ]
    },
    "spook": {
      "version": "1.1.1",
      "requirements": []
    },
    "var": {
      "version": "0.15.0",
      "requirements": []
    }
  },
  "integration_manifest": {
    "domain": "tuya_local",
    "name": "Tuya Local",
    "codeowners": [
      "@make-all"
    ],
    "config_flow": true,
    "dependencies": [],
    "documentation": "https://github.com/make-all/tuya-local",
    "integration_type": "device",
    "iot_class": "local_push",
    "issue_tracker": "https://github.com/make-all/tuya-local/issues",
    "requirements": [
      "pycryptodome~=3.18",
      "tinytuya==1.12.10"
    ],
    "version": "2023.8.2",
    "is_built_in": false
  },
  "data": {
    "name": "Air conditioner",
    "type": "lyfco_portable_airconditioner",
    "device_id": "**REDACTED**",
    "device_cid": "",
    "local_key": "**REDACTED**",
    "host": "**REDACTED**",
    "protocol_version": "auto",
    "tinytuya_version": "1.12.10",
    "api_version_set": 3.4,
    "api_version_used": 3.4,
    "api_working": false,
    "status": {},
    "cached_state": {
      "updated_at": 0
    },
    "pending_state": {},
    "connected": true,
    "force_dps": [],
    "home_assistant": {
      "name": "Air conditioner",
      "name_by_user": null,
      "disabled": false,
      "disabled_by": null,
      "entities": [
        {
          "disabled": false,
          "disabled_by": null,
          "entity_category": null,
          "device_class": null,
          "original_device_class": null,
          "icon": null,
          "unit_of_measurement": null,
          "state": {
            "entity_id": "climate.air_conditioner",
            "state": "unavailable",
            "attributes": {
              "hvac_modes": [
                "off",
                "cool",
                "dry",
                "fan_only",
                "heat"
              ],
              "min_temp": 16,
              "max_temp": 32,
              "target_temp_step": 1.0,
              "fan_modes": [
                "low",
                "medium",
                "high"
              ],
              "preset_modes": [
                "sleep",
                "comfort"
              ],
              "swing_modes": [
                "off",
                "on"
              ],
              "friendly_name": "Air conditioner",
              "supported_features": 57
            },
            "last_changed": "2023-09-09T22:57:16.461008+00:00",
            "last_updated": "2023-09-09T22:57:16.461008+00:00"
          }
        },
        {
          "disabled": false,
          "disabled_by": null,
          "entity_category": "diagnostic",
          "device_class": null,
          "original_device_class": "problem",
          "icon": null,
          "unit_of_measurement": null,
          "state": {
            "entity_id": "binary_sensor.air_conditioner_fault",
            "state": "unavailable",
            "attributes": {
              "device_class": "problem",
              "friendly_name": "Air conditioner Fault"
            },
            "last_changed": "2023-09-09T22:57:16.460215+00:00",
            "last_updated": "2023-09-09T22:57:16.460215+00:00"
          }
        }
      ]
    }
  }
}```
KrX3D commented 1 year ago

is the information ok or is still something missing?

make-all commented 1 year ago

The diagnostics need to be captured when the device is actually communicating.

The data needed is not there in the above log, because the device is offline.

 "api_working": false,
    "status": {},
    "cached_state": {
      "updated_at": 0
    },
KrX3D commented 1 year ago

Here i set it to dry:

{
  "home_assistant": {
    "installation_type": "Home Assistant OS",
    "version": "2023.9.2",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.11.5",
    "docker": true,
    "arch": "x86_64",
    "timezone": "Europe/Berlin",
    "os_name": "Linux",
    "os_version": "6.1.45",
    "supervisor": "2023.09.2",
    "host_os": "Home Assistant OS 10.5",
    "docker_version": "23.0.6",
    "chassis": "vm",
    "run_as_root": true
  },
  "custom_components": {
    "ui_lovelace_minimalist": {
      "version": "v1.3.6",
      "requirements": [
        "aiofiles==0.8.0",
        "aiogithubapi>=22.2.4"
      ]
    },
    "spotcast": {
      "version": "v3.6.30",
      "requirements": []
    },
    "hacs": {
      "version": "1.32.1",
      "requirements": [
        "aiogithubapi>=22.10.1"
      ]
    },
    "hass_agent_notifier": {
      "version": "2022.10.25.1",
      "requirements": []
    },
    "localtuya": {
      "version": "5.2.1",
      "requirements": []
    },
    "variable": {
      "version": "3.3.4",
      "requirements": [
        "iso4217==1.11.20220401"
      ]
    },
    "momentary": {
      "version": "0.6.3",
      "requirements": []
    },
    "unifigateway": {
      "version": "0.3.3",
      "requirements": [
        "pyunifi==2.21"
      ]
    },
    "sonoff": {
      "version": "3.5.2",
      "requirements": [
        "pycryptodome>=3.6.6"
      ]
    },
    "hass_agent": {
      "version": "2022.11.9",
      "requirements": []
    },
    "waste_collection_schedule": {
      "version": "1.42.0",
      "requirements": [
        "icalendar",
        "recurring_ical_events",
        "icalevents",
        "bs4"
      ]
    },
    "powercalc": {
      "version": "v1.9.3",
      "requirements": [
        "numpy>=1.21.1"
      ]
    },
    "tuya_local": {
      "version": "2023.9.0",
      "requirements": [
        "pycryptodome~=3.18",
        "tinytuya==1.12.11"
      ]
    },
    "pfsense_gateways": {
      "version": "1.1.1",
      "requirements": []
    },
    "openmindsai": {
      "version": "0.1.0",
      "requirements": []
    },
    "govee_lan": {
      "version": "1.0.0",
      "requirements": [
        "govee-led-wez>=0.0.15"
      ]
    },
    "adaptive_lighting": {
      "version": "1.19.0",
      "requirements": [
        "ulid-transform"
      ]
    },
    "energy_meter": {
      "version": "1.0.1",
      "requirements": []
    },
    "xiaomi_cloud_map_extractor": {
      "version": "v2.2.0",
      "requirements": [
        "pillow",
        "pybase64",
        "python-miio",
        "requests",
        "pycryptodome"
      ]
    },
    "weatherapi": {
      "version": "1.1.1",
      "requirements": []
    },
    "govee": {
      "version": "0.2.2",
      "requirements": [
        "govee-api-laggat==0.2.2",
        "dacite==1.6.0"
      ]
    },
    "alexa_media": {
      "version": "4.6.5",
      "requirements": [
        "alexapy==1.26.8",
        "packaging>=20.3",
        "wrapt>=1.12.1"
      ]
    },
    "browser_mod": {
      "version": "2.3.0",
      "requirements": []
    },
    "openai_response": {
      "version": "0.1.0",
      "requirements": [
        "openai==0.27.0"
      ]
    },
    "ai_thermostat": {
      "version": "0.9.3",
      "requirements": []
    },
    "scheduler": {
      "version": "v0.0.0",
      "requirements": []
    },
    "ssh_command": {
      "version": "1.0.0",
      "requirements": [
        "paramiko"
      ]
    },
    "nodered": {
      "version": "1.0.9",
      "requirements": []
    },
    "better_thermostat": {
      "version": "1.2.2",
      "requirements": []
    },
    "samsungtv_smart": {
      "version": "0.12.0",
      "requirements": [
        "websocket-client!=1.4.0,>=0.58.0",
        "wakeonlan>=2.0.0",
        "aiofiles>=0.8.0",
        "casttube>=0.2.1"
      ]
    },
    "emby_upcoming_media": {
      "version": "0.3.5",
      "requirements": [
        "python-dateutil"
      ]
    },
    "dwd_weather": {
      "version": "1.2.28",
      "requirements": [
        "simple_dwd_weatherforecast==1.1.5",
        "markdownify==0.6.5"
      ]
    },
    "samsungtv_tizen": {
      "version": "1.6.1",
      "requirements": [
        "websocket-client>=0.56.0",
        "wakeonlan>=2.0.0",
        "numpy>=1.19.2"
      ]
    },
    "myjdownloader": {
      "version": "2.3.4",
      "requirements": [
        "myjdapi==1.1.6"
      ]
    },
    "watchman": {
      "version": "0.5.1",
      "requirements": [
        "prettytable==3.0.0"
      ]
    },
    "spook": {
      "version": "1.1.1",
      "requirements": []
    },
    "var": {
      "version": "0.15.0",
      "requirements": []
    }
  },
  "integration_manifest": {
    "domain": "tuya_local",
    "name": "Tuya Local",
    "codeowners": [
      "@make-all"
    ],
    "config_flow": true,
    "dependencies": [],
    "documentation": "https://github.com/make-all/tuya-local",
    "integration_type": "device",
    "iot_class": "local_push",
    "issue_tracker": "https://github.com/make-all/tuya-local/issues",
    "requirements": [
      "pycryptodome~=3.18",
      "tinytuya==1.12.11"
    ],
    "version": "2023.9.0",
    "is_built_in": false
  },
  "data": {
    "name": "Air conditioner",
    "type": "lyfco_portable_airconditioner",
    "device_id": "**REDACTED**",
    "device_cid": "",
    "local_key": "**REDACTED**",
    "host": "**REDACTED**",
    "protocol_version": "auto",
    "tinytuya_version": "1.12.11",
    "api_version_set": 3.3,
    "api_version_used": 3.3,
    "api_working": true,
    "status": {},
    "cached_state": {
      "updated_at": 1694769868.6531491,
      "1": true,
      "2": 23,
      "3": 24,
      "4": "Cool",
      "5": "Low",
      "15": "OFF",
      "19": "c",
      "22": 0,
      "101": false,
      "103": "C_H"
    },
    "pending_state": {},
    "connected": true,
    "force_dps": [],
    "home_assistant": {
      "name": "Air conditioner",
      "name_by_user": null,
      "disabled": false,
      "disabled_by": null,
      "entities": [
        {
          "disabled": false,
          "disabled_by": null,
          "entity_category": null,
          "device_class": null,
          "original_device_class": null,
          "icon": null,
          "unit_of_measurement": null,
          "state": {
            "entity_id": "climate.air_conditioner",
            "state": "dry",
            "attributes": {
              "hvac_modes": [
                "off",
                "cool",
                "dry",
                "fan_only",
                "heat"
              ],
              "min_temp": 16,
              "max_temp": 32,
              "target_temp_step": 1.0,
              "fan_modes": [
                "low",
                "medium",
                "high"
              ],
              "preset_modes": [
                "sleep",
                "comfort"
              ],
              "swing_modes": [
                "off",
                "on"
              ],
              "current_temperature": 24,
              "temperature": 23,
              "fan_mode": "low",
              "preset_mode": "comfort",
              "swing_mode": "off",
              "fault_code": 0,
              "friendly_name": "Air conditioner",
              "supported_features": 57
            },
            "last_changed": "2023-09-15T09:24:28.653754+00:00",
            "last_updated": "2023-09-15T09:24:28.653754+00:00"
          }
        },
        {
          "disabled": false,
          "disabled_by": null,
          "entity_category": "diagnostic",
          "device_class": null,
          "original_device_class": "problem",
          "icon": null,
          "unit_of_measurement": null,
          "state": {
            "entity_id": "binary_sensor.air_conditioner_fault",
            "state": "off",
            "attributes": {
              "device_class": "problem",
              "friendly_name": "Air conditioner Fault"
            },
            "last_changed": "2023-09-15T09:16:58.981742+00:00",
            "last_updated": "2023-09-15T09:16:58.981742+00:00"
          }
        }
      ]
    }
  }
}

when i set it to dry in HA it stays like 5-10 seconds than it switches back to cool. on the device it beeps when i select dry but it stays or sets it to cool.

while on cool i set the fan speed from low to high:

{
  "home_assistant": {
    "installation_type": "Home Assistant OS",
    "version": "2023.9.2",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.11.5",
    "docker": true,
    "arch": "x86_64",
    "timezone": "Europe/Berlin",
    "os_name": "Linux",
    "os_version": "6.1.45",
    "supervisor": "2023.09.2",
    "host_os": "Home Assistant OS 10.5",
    "docker_version": "23.0.6",
    "chassis": "vm",
    "run_as_root": true
  },
  "custom_components": {
    "ui_lovelace_minimalist": {
      "version": "v1.3.6",
      "requirements": [
        "aiofiles==0.8.0",
        "aiogithubapi>=22.2.4"
      ]
    },
    "spotcast": {
      "version": "v3.6.30",
      "requirements": []
    },
    "hacs": {
      "version": "1.32.1",
      "requirements": [
        "aiogithubapi>=22.10.1"
      ]
    },
    "hass_agent_notifier": {
      "version": "2022.10.25.1",
      "requirements": []
    },
    "localtuya": {
      "version": "5.2.1",
      "requirements": []
    },
    "variable": {
      "version": "3.3.4",
      "requirements": [
        "iso4217==1.11.20220401"
      ]
    },
    "momentary": {
      "version": "0.6.3",
      "requirements": []
    },
    "unifigateway": {
      "version": "0.3.3",
      "requirements": [
        "pyunifi==2.21"
      ]
    },
    "sonoff": {
      "version": "3.5.2",
      "requirements": [
        "pycryptodome>=3.6.6"
      ]
    },
    "hass_agent": {
      "version": "2022.11.9",
      "requirements": []
    },
    "waste_collection_schedule": {
      "version": "1.42.0",
      "requirements": [
        "icalendar",
        "recurring_ical_events",
        "icalevents",
        "bs4"
      ]
    },
    "powercalc": {
      "version": "v1.9.3",
      "requirements": [
        "numpy>=1.21.1"
      ]
    },
    "tuya_local": {
      "version": "2023.9.0",
      "requirements": [
        "pycryptodome~=3.18",
        "tinytuya==1.12.11"
      ]
    },
    "pfsense_gateways": {
      "version": "1.1.1",
      "requirements": []
    },
    "openmindsai": {
      "version": "0.1.0",
      "requirements": []
    },
    "govee_lan": {
      "version": "1.0.0",
      "requirements": [
        "govee-led-wez>=0.0.15"
      ]
    },
    "adaptive_lighting": {
      "version": "1.19.0",
      "requirements": [
        "ulid-transform"
      ]
    },
    "energy_meter": {
      "version": "1.0.1",
      "requirements": []
    },
    "xiaomi_cloud_map_extractor": {
      "version": "v2.2.0",
      "requirements": [
        "pillow",
        "pybase64",
        "python-miio",
        "requests",
        "pycryptodome"
      ]
    },
    "weatherapi": {
      "version": "1.1.1",
      "requirements": []
    },
    "govee": {
      "version": "0.2.2",
      "requirements": [
        "govee-api-laggat==0.2.2",
        "dacite==1.6.0"
      ]
    },
    "alexa_media": {
      "version": "4.6.5",
      "requirements": [
        "alexapy==1.26.8",
        "packaging>=20.3",
        "wrapt>=1.12.1"
      ]
    },
    "browser_mod": {
      "version": "2.3.0",
      "requirements": []
    },
    "openai_response": {
      "version": "0.1.0",
      "requirements": [
        "openai==0.27.0"
      ]
    },
    "ai_thermostat": {
      "version": "0.9.3",
      "requirements": []
    },
    "scheduler": {
      "version": "v0.0.0",
      "requirements": []
    },
    "ssh_command": {
      "version": "1.0.0",
      "requirements": [
        "paramiko"
      ]
    },
    "nodered": {
      "version": "1.0.9",
      "requirements": []
    },
    "better_thermostat": {
      "version": "1.2.2",
      "requirements": []
    },
    "samsungtv_smart": {
      "version": "0.12.0",
      "requirements": [
        "websocket-client!=1.4.0,>=0.58.0",
        "wakeonlan>=2.0.0",
        "aiofiles>=0.8.0",
        "casttube>=0.2.1"
      ]
    },
    "emby_upcoming_media": {
      "version": "0.3.5",
      "requirements": [
        "python-dateutil"
      ]
    },
    "dwd_weather": {
      "version": "1.2.28",
      "requirements": [
        "simple_dwd_weatherforecast==1.1.5",
        "markdownify==0.6.5"
      ]
    },
    "samsungtv_tizen": {
      "version": "1.6.1",
      "requirements": [
        "websocket-client>=0.56.0",
        "wakeonlan>=2.0.0",
        "numpy>=1.19.2"
      ]
    },
    "myjdownloader": {
      "version": "2.3.4",
      "requirements": [
        "myjdapi==1.1.6"
      ]
    },
    "watchman": {
      "version": "0.5.1",
      "requirements": [
        "prettytable==3.0.0"
      ]
    },
    "spook": {
      "version": "1.1.1",
      "requirements": []
    },
    "var": {
      "version": "0.15.0",
      "requirements": []
    }
  },
  "integration_manifest": {
    "domain": "tuya_local",
    "name": "Tuya Local",
    "codeowners": [
      "@make-all"
    ],
    "config_flow": true,
    "dependencies": [],
    "documentation": "https://github.com/make-all/tuya-local",
    "integration_type": "device",
    "iot_class": "local_push",
    "issue_tracker": "https://github.com/make-all/tuya-local/issues",
    "requirements": [
      "pycryptodome~=3.18",
      "tinytuya==1.12.11"
    ],
    "version": "2023.9.0",
    "is_built_in": false
  },
  "data": {
    "name": "Air conditioner",
    "type": "lyfco_portable_airconditioner",
    "device_id": "**REDACTED**",
    "device_cid": "",
    "local_key": "**REDACTED**",
    "host": "**REDACTED**",
    "protocol_version": "auto",
    "tinytuya_version": "1.12.11",
    "api_version_set": 3.3,
    "api_version_used": 3.3,
    "api_working": true,
    "status": {},
    "cached_state": {
      "updated_at": 1694769996.7974815,
      "1": true,
      "2": 23,
      "3": 24,
      "4": "Cool",
      "5": "Low",
      "15": "OFF",
      "19": "c",
      "22": 0,
      "101": false,
      "103": "C_H"
    },
    "pending_state": {
      "5": {
        "value": "Hig",
        "updated_at": 1694769992.8470163,
        "sent": true
      }
    },
    "connected": true,
    "force_dps": [],
    "home_assistant": {
      "name": "Air conditioner",
      "name_by_user": null,
      "disabled": false,
      "disabled_by": null,
      "entities": [
        {
          "disabled": false,
          "disabled_by": null,
          "entity_category": null,
          "device_class": null,
          "original_device_class": null,
          "icon": null,
          "unit_of_measurement": null,
          "state": {
            "entity_id": "climate.air_conditioner",
            "state": "cool",
            "attributes": {
              "hvac_modes": [
                "off",
                "cool",
                "dry",
                "fan_only",
                "heat"
              ],
              "min_temp": 16,
              "max_temp": 32,
              "target_temp_step": 1.0,
              "fan_modes": [
                "low",
                "medium",
                "high"
              ],
              "preset_modes": [
                "sleep",
                "comfort"
              ],
              "swing_modes": [
                "off",
                "on"
              ],
              "current_temperature": 24,
              "temperature": 23,
              "fan_mode": "high",
              "preset_mode": "comfort",
              "swing_mode": "off",
              "fault_code": 0,
              "friendly_name": "Air conditioner",
              "supported_features": 57
            },
            "last_changed": "2023-09-15T09:24:59.394111+00:00",
            "last_updated": "2023-09-15T09:26:36.797949+00:00"
          }
        },
        {
          "disabled": false,
          "disabled_by": null,
          "entity_category": "diagnostic",
          "device_class": null,
          "original_device_class": "problem",
          "icon": null,
          "unit_of_measurement": null,
          "state": {
            "entity_id": "binary_sensor.air_conditioner_fault",
            "state": "off",
            "attributes": {
              "device_class": "problem",
              "friendly_name": "Air conditioner Fault"
            },
            "last_changed": "2023-09-15T09:16:58.981742+00:00",
            "last_updated": "2023-09-15T09:16:58.981742+00:00"
          }
        }
      ]
    }
  }
}

same as in dry i hear a beep but it stays or is set to low. on HA it says high for a couple of seconds than it is set to low again. somethimes i select high it jups to mid on the device and i even got it to jump once on high

all above was when i set it via HA. now i tried to set it on the device itself.

selected High:

{
  "home_assistant": {
    "installation_type": "Home Assistant OS",
    "version": "2023.9.2",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.11.5",
    "docker": true,
    "arch": "x86_64",
    "timezone": "Europe/Berlin",
    "os_name": "Linux",
    "os_version": "6.1.45",
    "supervisor": "2023.09.2",
    "host_os": "Home Assistant OS 10.5",
    "docker_version": "23.0.6",
    "chassis": "vm",
    "run_as_root": true
  },
  "custom_components": {
    "ui_lovelace_minimalist": {
      "version": "v1.3.6",
      "requirements": [
        "aiofiles==0.8.0",
        "aiogithubapi>=22.2.4"
      ]
    },
    "spotcast": {
      "version": "v3.6.30",
      "requirements": []
    },
    "hacs": {
      "version": "1.32.1",
      "requirements": [
        "aiogithubapi>=22.10.1"
      ]
    },
    "hass_agent_notifier": {
      "version": "2022.10.25.1",
      "requirements": []
    },
    "localtuya": {
      "version": "5.2.1",
      "requirements": []
    },
    "variable": {
      "version": "3.3.4",
      "requirements": [
        "iso4217==1.11.20220401"
      ]
    },
    "momentary": {
      "version": "0.6.3",
      "requirements": []
    },
    "unifigateway": {
      "version": "0.3.3",
      "requirements": [
        "pyunifi==2.21"
      ]
    },
    "sonoff": {
      "version": "3.5.2",
      "requirements": [
        "pycryptodome>=3.6.6"
      ]
    },
    "hass_agent": {
      "version": "2022.11.9",
      "requirements": []
    },
    "waste_collection_schedule": {
      "version": "1.42.0",
      "requirements": [
        "icalendar",
        "recurring_ical_events",
        "icalevents",
        "bs4"
      ]
    },
    "powercalc": {
      "version": "v1.9.3",
      "requirements": [
        "numpy>=1.21.1"
      ]
    },
    "tuya_local": {
      "version": "2023.9.0",
      "requirements": [
        "pycryptodome~=3.18",
        "tinytuya==1.12.11"
      ]
    },
    "pfsense_gateways": {
      "version": "1.1.1",
      "requirements": []
    },
    "openmindsai": {
      "version": "0.1.0",
      "requirements": []
    },
    "govee_lan": {
      "version": "1.0.0",
      "requirements": [
        "govee-led-wez>=0.0.15"
      ]
    },
    "adaptive_lighting": {
      "version": "1.19.0",
      "requirements": [
        "ulid-transform"
      ]
    },
    "energy_meter": {
      "version": "1.0.1",
      "requirements": []
    },
    "xiaomi_cloud_map_extractor": {
      "version": "v2.2.0",
      "requirements": [
        "pillow",
        "pybase64",
        "python-miio",
        "requests",
        "pycryptodome"
      ]
    },
    "weatherapi": {
      "version": "1.1.1",
      "requirements": []
    },
    "govee": {
      "version": "0.2.2",
      "requirements": [
        "govee-api-laggat==0.2.2",
        "dacite==1.6.0"
      ]
    },
    "alexa_media": {
      "version": "4.6.5",
      "requirements": [
        "alexapy==1.26.8",
        "packaging>=20.3",
        "wrapt>=1.12.1"
      ]
    },
    "browser_mod": {
      "version": "2.3.0",
      "requirements": []
    },
    "openai_response": {
      "version": "0.1.0",
      "requirements": [
        "openai==0.27.0"
      ]
    },
    "ai_thermostat": {
      "version": "0.9.3",
      "requirements": []
    },
    "scheduler": {
      "version": "v0.0.0",
      "requirements": []
    },
    "ssh_command": {
      "version": "1.0.0",
      "requirements": [
        "paramiko"
      ]
    },
    "nodered": {
      "version": "1.0.9",
      "requirements": []
    },
    "better_thermostat": {
      "version": "1.2.2",
      "requirements": []
    },
    "samsungtv_smart": {
      "version": "0.12.0",
      "requirements": [
        "websocket-client!=1.4.0,>=0.58.0",
        "wakeonlan>=2.0.0",
        "aiofiles>=0.8.0",
        "casttube>=0.2.1"
      ]
    },
    "emby_upcoming_media": {
      "version": "0.3.5",
      "requirements": [
        "python-dateutil"
      ]
    },
    "dwd_weather": {
      "version": "1.2.28",
      "requirements": [
        "simple_dwd_weatherforecast==1.1.5",
        "markdownify==0.6.5"
      ]
    },
    "samsungtv_tizen": {
      "version": "1.6.1",
      "requirements": [
        "websocket-client>=0.56.0",
        "wakeonlan>=2.0.0",
        "numpy>=1.19.2"
      ]
    },
    "myjdownloader": {
      "version": "2.3.4",
      "requirements": [
        "myjdapi==1.1.6"
      ]
    },
    "watchman": {
      "version": "0.5.1",
      "requirements": [
        "prettytable==3.0.0"
      ]
    },
    "spook": {
      "version": "1.1.1",
      "requirements": []
    },
    "var": {
      "version": "0.15.0",
      "requirements": []
    }
  },
  "integration_manifest": {
    "domain": "tuya_local",
    "name": "Tuya Local",
    "codeowners": [
      "@make-all"
    ],
    "config_flow": true,
    "dependencies": [],
    "documentation": "https://github.com/make-all/tuya-local",
    "integration_type": "device",
    "iot_class": "local_push",
    "issue_tracker": "https://github.com/make-all/tuya-local/issues",
    "requirements": [
      "pycryptodome~=3.18",
      "tinytuya==1.12.11"
    ],
    "version": "2023.9.0",
    "is_built_in": false
  },
  "data": {
    "name": "Air conditioner",
    "type": "lyfco_portable_airconditioner",
    "device_id": "**REDACTED**",
    "device_cid": "",
    "local_key": "**REDACTED**",
    "host": "**REDACTED**",
    "protocol_version": "auto",
    "tinytuya_version": "1.12.11",
    "api_version_set": 3.3,
    "api_version_used": 3.3,
    "api_working": true,
    "status": {},
    "cached_state": {
      "updated_at": 1694770223.0895662,
      "1": true,
      "2": 23,
      "3": 24,
      "4": "Cool",
      "5": "High",
      "15": "OFF",
      "19": "c",
      "22": 0,
      "101": false,
      "103": "C_H"
    },
    "pending_state": {},
    "connected": true,
    "force_dps": [],
    "home_assistant": {
      "name": "Air conditioner",
      "name_by_user": null,
      "disabled": false,
      "disabled_by": null,
      "entities": [
        {
          "disabled": false,
          "disabled_by": null,
          "entity_category": null,
          "device_class": null,
          "original_device_class": null,
          "icon": null,
          "unit_of_measurement": null,
          "state": {
            "entity_id": "climate.air_conditioner",
            "state": "cool",
            "attributes": {
              "hvac_modes": [
                "off",
                "cool",
                "dry",
                "fan_only",
                "heat"
              ],
              "min_temp": 16,
              "max_temp": 32,
              "target_temp_step": 1.0,
              "fan_modes": [
                "low",
                "medium",
                "high"
              ],
              "preset_modes": [
                "sleep",
                "comfort"
              ],
              "swing_modes": [
                "off",
                "on"
              ],
              "current_temperature": 24,
              "temperature": 23,
              "fan_mode": "High",
              "preset_mode": "comfort",
              "swing_mode": "off",
              "fault_code": 0,
              "friendly_name": "Air conditioner",
              "supported_features": 57
            },
            "last_changed": "2023-09-15T09:24:59.394111+00:00",
            "last_updated": "2023-09-15T09:30:23.090026+00:00"
          }
        },
        {
          "disabled": false,
          "disabled_by": null,
          "entity_category": "diagnostic",
          "device_class": null,
          "original_device_class": "problem",
          "icon": null,
          "unit_of_measurement": null,
          "state": {
            "entity_id": "binary_sensor.air_conditioner_fault",
            "state": "off",
            "attributes": {
              "device_class": "problem",
              "friendly_name": "Air conditioner Fault"
            },
            "last_changed": "2023-09-15T09:16:58.981742+00:00",
            "last_updated": "2023-09-15T09:16:58.981742+00:00"
          }
        }
      ]
    }
  }
}

in HA it than does not say it is on high is showes just fan mode: image

selected on HA it looks like this: image

selected dry:

on HA: image

on the device: image image

{
  "home_assistant": {
    "installation_type": "Home Assistant OS",
    "version": "2023.9.2",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.11.5",
    "docker": true,
    "arch": "x86_64",
    "timezone": "Europe/Berlin",
    "os_name": "Linux",
    "os_version": "6.1.45",
    "supervisor": "2023.09.2",
    "host_os": "Home Assistant OS 10.5",
    "docker_version": "23.0.6",
    "chassis": "vm",
    "run_as_root": true
  },
  "custom_components": {
    "ui_lovelace_minimalist": {
      "version": "v1.3.6",
      "requirements": [
        "aiofiles==0.8.0",
        "aiogithubapi>=22.2.4"
      ]
    },
    "spotcast": {
      "version": "v3.6.30",
      "requirements": []
    },
    "hacs": {
      "version": "1.32.1",
      "requirements": [
        "aiogithubapi>=22.10.1"
      ]
    },
    "hass_agent_notifier": {
      "version": "2022.10.25.1",
      "requirements": []
    },
    "localtuya": {
      "version": "5.2.1",
      "requirements": []
    },
    "variable": {
      "version": "3.3.4",
      "requirements": [
        "iso4217==1.11.20220401"
      ]
    },
    "momentary": {
      "version": "0.6.3",
      "requirements": []
    },
    "unifigateway": {
      "version": "0.3.3",
      "requirements": [
        "pyunifi==2.21"
      ]
    },
    "sonoff": {
      "version": "3.5.2",
      "requirements": [
        "pycryptodome>=3.6.6"
      ]
    },
    "hass_agent": {
      "version": "2022.11.9",
      "requirements": []
    },
    "waste_collection_schedule": {
      "version": "1.42.0",
      "requirements": [
        "icalendar",
        "recurring_ical_events",
        "icalevents",
        "bs4"
      ]
    },
    "powercalc": {
      "version": "v1.9.3",
      "requirements": [
        "numpy>=1.21.1"
      ]
    },
    "tuya_local": {
      "version": "2023.9.0",
      "requirements": [
        "pycryptodome~=3.18",
        "tinytuya==1.12.11"
      ]
    },
    "pfsense_gateways": {
      "version": "1.1.1",
      "requirements": []
    },
    "openmindsai": {
      "version": "0.1.0",
      "requirements": []
    },
    "govee_lan": {
      "version": "1.0.0",
      "requirements": [
        "govee-led-wez>=0.0.15"
      ]
    },
    "adaptive_lighting": {
      "version": "1.19.0",
      "requirements": [
        "ulid-transform"
      ]
    },
    "energy_meter": {
      "version": "1.0.1",
      "requirements": []
    },
    "xiaomi_cloud_map_extractor": {
      "version": "v2.2.0",
      "requirements": [
        "pillow",
        "pybase64",
        "python-miio",
        "requests",
        "pycryptodome"
      ]
    },
    "weatherapi": {
      "version": "1.1.1",
      "requirements": []
    },
    "govee": {
      "version": "0.2.2",
      "requirements": [
        "govee-api-laggat==0.2.2",
        "dacite==1.6.0"
      ]
    },
    "alexa_media": {
      "version": "4.6.5",
      "requirements": [
        "alexapy==1.26.8",
        "packaging>=20.3",
        "wrapt>=1.12.1"
      ]
    },
    "browser_mod": {
      "version": "2.3.0",
      "requirements": []
    },
    "openai_response": {
      "version": "0.1.0",
      "requirements": [
        "openai==0.27.0"
      ]
    },
    "ai_thermostat": {
      "version": "0.9.3",
      "requirements": []
    },
    "scheduler": {
      "version": "v0.0.0",
      "requirements": []
    },
    "ssh_command": {
      "version": "1.0.0",
      "requirements": [
        "paramiko"
      ]
    },
    "nodered": {
      "version": "1.0.9",
      "requirements": []
    },
    "better_thermostat": {
      "version": "1.2.2",
      "requirements": []
    },
    "samsungtv_smart": {
      "version": "0.12.0",
      "requirements": [
        "websocket-client!=1.4.0,>=0.58.0",
        "wakeonlan>=2.0.0",
        "aiofiles>=0.8.0",
        "casttube>=0.2.1"
      ]
    },
    "emby_upcoming_media": {
      "version": "0.3.5",
      "requirements": [
        "python-dateutil"
      ]
    },
    "dwd_weather": {
      "version": "1.2.28",
      "requirements": [
        "simple_dwd_weatherforecast==1.1.5",
        "markdownify==0.6.5"
      ]
    },
    "samsungtv_tizen": {
      "version": "1.6.1",
      "requirements": [
        "websocket-client>=0.56.0",
        "wakeonlan>=2.0.0",
        "numpy>=1.19.2"
      ]
    },
    "myjdownloader": {
      "version": "2.3.4",
      "requirements": [
        "myjdapi==1.1.6"
      ]
    },
    "watchman": {
      "version": "0.5.1",
      "requirements": [
        "prettytable==3.0.0"
      ]
    },
    "spook": {
      "version": "1.1.1",
      "requirements": []
    },
    "var": {
      "version": "0.15.0",
      "requirements": []
    }
  },
  "integration_manifest": {
    "domain": "tuya_local",
    "name": "Tuya Local",
    "codeowners": [
      "@make-all"
    ],
    "config_flow": true,
    "dependencies": [],
    "documentation": "https://github.com/make-all/tuya-local",
    "integration_type": "device",
    "iot_class": "local_push",
    "issue_tracker": "https://github.com/make-all/tuya-local/issues",
    "requirements": [
      "pycryptodome~=3.18",
      "tinytuya==1.12.11"
    ],
    "version": "2023.9.0",
    "is_built_in": false
  },
  "data": {
    "name": "Air conditioner",
    "type": "lyfco_portable_airconditioner",
    "device_id": "**REDACTED**",
    "device_cid": "",
    "local_key": "**REDACTED**",
    "host": "**REDACTED**",
    "protocol_version": "auto",
    "tinytuya_version": "1.12.11",
    "api_version_set": 3.3,
    "api_version_used": 3.3,
    "api_working": true,
    "status": {},
    "cached_state": {
      "updated_at": 1694770515.1973047,
      "1": true,
      "2": 23,
      "3": 24,
      "4": "Dyr",
      "5": "Low",
      "15": "OFF",
      "19": "c",
      "22": 0,
      "101": false,
      "103": "C_H"
    },
    "pending_state": {},
    "connected": true,
    "force_dps": [],
    "home_assistant": {
      "name": "Air conditioner",
      "name_by_user": null,
      "disabled": false,
      "disabled_by": null,
      "entities": [
        {
          "disabled": false,
          "disabled_by": null,
          "entity_category": null,
          "device_class": null,
          "original_device_class": null,
          "icon": null,
          "unit_of_measurement": null,
          "state": {
            "entity_id": "climate.air_conditioner",
            "state": "unknown",
            "attributes": {
              "hvac_modes": [
                "off",
                "cool",
                "dry",
                "fan_only",
                "heat"
              ],
              "min_temp": 16,
              "max_temp": 32,
              "target_temp_step": 1.0,
              "fan_modes": [
                "low",
                "medium",
                "high"
              ],
              "preset_modes": [
                "sleep",
                "comfort"
              ],
              "swing_modes": [
                "off",
                "on"
              ],
              "current_temperature": 24,
              "temperature": 23,
              "fan_mode": "low",
              "preset_mode": "comfort",
              "swing_mode": "off",
              "fault_code": 0,
              "friendly_name": "Air conditioner",
              "supported_features": 57
            },
            "last_changed": "2023-09-15T09:34:44.457357+00:00",
            "last_updated": "2023-09-15T09:34:44.457357+00:00"
          }
        },
        {
          "disabled": false,
          "disabled_by": null,
          "entity_category": "diagnostic",
          "device_class": null,
          "original_device_class": "problem",
          "icon": null,
          "unit_of_measurement": null,
          "state": {
            "entity_id": "binary_sensor.air_conditioner_fault",
            "state": "off",
            "attributes": {
              "device_class": "problem",
              "friendly_name": "Air conditioner Fault"
            },
            "last_changed": "2023-09-15T09:16:58.981742+00:00",
            "last_updated": "2023-09-15T09:16:58.981742+00:00"
          }
        }
      ]
    }
  }
}

For Dry the log says:

  **"4": "Dyr",**

Log says: (MainThread) [custom_components.tuya_local.climate] Unrecognised HVAC Mode of True ignored

KrX3D commented 11 months ago

Do you still need more info?

KrX3D commented 11 months ago

i tested it and for me it works, so thanks.

i found 1 thing but im not sure if you can "fix" this.

the preset for comfort and sleep:

only Heat and Cool support Sleep, on the machine for Dry and Fan nothing happens when i hit the sleep button on the air conditionor.

so it there way you could prevent the sleep button on home assistant on Heat and Cool?

at the moment this happens: