make-all / tuya-local

Local support for Tuya devices in Home Assistant
MIT License
1.28k stars 503 forks source link

[New device] Support for iHunt Air Purifier Smart 50m3/h #2344

Closed robex2005 closed 4 days ago

robex2005 commented 4 days ago

Log message

{
  "home_assistant": {
    "installation_type": "Home Assistant Container",
    "version": "2024.9.3",
    "dev": false,
    "hassio": false,
    "virtualenv": false,
    "python_version": "3.12.4",
    "docker": true,
    "arch": "x86_64",
    "timezone": "Europe/Bucharest",
    "os_name": "Linux",
    "os_version": "6.1.0-25-amd64",
    "run_as_root": true
  },
  "custom_components": {
    "tplink_router": {
      "documentation": "https://github.com/menahishayan/Home-Assistant-TP-Link-Router",
      "version": "0.0.7",
      "requirements": [
        "tplinkrouter>=1.0.0"
      ]
    },
    "scheduler": {
      "documentation": "https://github.com/nielsfaber/scheduler-component",
      "version": "v0.0.0",
      "requirements": []
    },
    "imou_life": {
      "documentation": "https://github.com/user2684/imou_life",
      "version": "1.0.15",
      "requirements": [
        "imouapi==1.0.15"
      ]
    },
    "tuya_local": {
      "documentation": "https://github.com/make-all/tuya-local",
      "version": "2024.9.1",
      "requirements": [
        "tinytuya==1.15.1",
        "tuya-device-sharing-sdk>=0.1.9,<=0.2.99"
      ]
    },
    "browser_mod": {
      "documentation": "https://github.com/thomasloven/hass-browser_mod/blob/master/README.md",
      "version": "2.3.1",
      "requirements": []
    },
    "hikvision_next": {
      "documentation": "https://github.com/maciej-or/hikvision_next",
      "version": "1.0.17",
      "requirements": [
        "xmltodict==0.13.0",
        "hikvisionapi==0.3.2",
        "requests-toolbelt==1.0.0"
      ]
    },
    "powercalc": {
      "documentation": "https://docs.powercalc.nl",
      "version": "v1.14.9",
      "requirements": [
        "numpy>=1.21.1"
      ]
    },
    "localtuya": {
      "documentation": "https://github.com/xZetsubou/hass-localtuya/",
      "version": "2024.9.0",
      "requirements": []
    },
    "hacs": {
      "documentation": "https://hacs.xyz/docs/configuration/start",
      "version": "2.0.1",
      "requirements": [
        "aiogithubapi>=22.10.1"
      ]
    },
    "watchman": {
      "documentation": "https://github.com/dummylabs/thewatchman",
      "version": "0.6.3",
      "requirements": [
        "prettytable==3.10.0"
      ]
    },
    "virtual": {
      "documentation": "https://github.com/twrecked/hass-virtual/blob/master/README.md",
      "version": "0.8.0.1",
      "requirements": []
    },
    "dahua": {
      "documentation": "https://github.com/rroller/dahua",
      "version": "0.9.60",
      "requirements": []
    },
    "webrtc": {
      "documentation": "https://github.com/AlexxIT/WebRTC",
      "version": "v3.5.2",
      "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": [
      "tinytuya==1.15.1",
      "tuya-device-sharing-sdk>=0.1.9,<=0.2.99"
    ],
    "version": "2024.9.1",
    "is_built_in": false
  },
  "setup_times": {
    "null": {
      "setup": 5.217129364609718e-05
    },
    "dd79d94214bd471d8d5d016927751e28": {
      "wait_import_platforms": -7.233800454065204,
      "config_entry_setup": 8.279217539355159
    },
    "58ebc1d6fac48275df90fb4c1eb5a0e8": {
      "wait_import_platforms": -7.238736346829683,
      "config_entry_setup": 8.279266916681081
    },
    "d12a02625451d728caafc4e1b60c4ab4": {
      "wait_import_platforms": -7.323434611782432,
      "config_entry_setup": 8.297544728964567
    },
    "e3cd91280f4bfca8a5ce3d921760bc26": {
      "wait_import_platforms": -7.326100453734398,
      "config_entry_setup": 8.283666010014713
    },
    "ff7fc0b6af2169b421b83665ba330dd9": {
      "wait_import_platforms": -7.326446097809821,
      "config_entry_setup": 8.287361241877079
    },
    "01ef5ffc070be8fb286a13204a5e3a6c": {
      "wait_import_platforms": -7.3267826633527875,
      "config_entry_setup": 8.287855648435652
    },
    "891593273f8163822993c0ee8336b542": {
      "wait_import_platforms": -7.3269274439662695,
      "config_entry_setup": 8.288229300174862
    },
    "bee3338d0e3983c6780a8c0d12b7bd5e": {
      "wait_import_platforms": -7.326943995896727,
      "config_entry_setup": 8.291247279848903
    },
    "5b38acd90bc7aaef27bbf9bb460bf581": {
      "wait_import_platforms": -7.330758168362081,
      "config_entry_setup": 8.291546202264726
    },
    "861840c157f7283442426460df0d229a": {
      "wait_import_platforms": -7.364822133909911,
      "config_entry_setup": 8.291567991953343
    },
    "828633252b8a3d1d8f93f091e92f3b0c": {
      "wait_import_platforms": -7.380086574237794,
      "config_entry_setup": 8.291588595137
    },
    "01J8W8SH47MF5AC0MT6BNX3Y8V": {
      "wait_import_platforms": -7.391615482978523,
      "config_entry_setup": 8.290908758994192
    },
    "31edc989f384675ed970f7046326da00": {
      "wait_import_platforms": -7.663098871242255,
      "config_entry_setup": 8.326423609163612
    }
  },
  "data": {
    "name": "iHunt Air Purifier 50",
    "type": "ihunt_air_purifier_50",
    "device_id": "**REDACTED**",
    "device_cid": "",
    "local_key": "**REDACTED**",
    "host": "**REDACTED**",
    "protocol_version": 3.4,
    "tinytuya_version": "1.15.1",
    "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": "iHunt Air Purifier 50",
      "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": "switch.ihunt_air_purifier_50",
            "state": "unavailable",
            "attributes": {
              "icon": "mdi:air-purifier",
              "friendly_name": "iHunt Air Purifier 50"
            },
            "last_changed": "2024-09-28T12:18:18.032063+00:00",
            "last_reported": "2024-09-28T12:18:18.032063+00:00",
            "last_updated": "2024-09-28T12:18:18.032063+00:00"
          }
        },
        {
          "disabled": false,
          "disabled_by": null,
          "entity_category": "config",
          "device_class": null,
          "original_device_class": null,
          "icon": null,
          "unit_of_measurement": null,
          "state": {
            "entity_id": "switch.ihunt_air_purifier_50_ionizer",
            "state": "unavailable",
            "attributes": {
              "icon": "mdi:atom-variant",
              "friendly_name": "iHunt Air Purifier 50 Ionizer"
            },
            "last_changed": "2024-09-28T12:18:18.032752+00:00",
            "last_reported": "2024-09-28T12:18:18.032752+00:00",
            "last_updated": "2024-09-28T12:18:18.032752+00:00"
          }
        },
        {
          "disabled": false,
          "disabled_by": null,
          "entity_category": "config",
          "device_class": null,
          "original_device_class": null,
          "icon": null,
          "unit_of_measurement": null,
          "state": {
            "entity_id": "select.ihunt_air_purifier_50_fan_speed",
            "state": "unavailable",
            "attributes": {
              "options": [
                "Sleep",
                "Low",
                "Middle",
                "High"
              ],
              "icon": "mdi:fan",
              "friendly_name": "iHunt Air Purifier 50 Fan Speed"
            },
            "last_changed": "2024-09-28T12:18:18.011168+00:00",
            "last_reported": "2024-09-28T12:18:18.011168+00:00",
            "last_updated": "2024-09-28T12:18:18.011168+00:00"
          }
        },
        {
          "disabled": false,
          "disabled_by": null,
          "entity_category": "diagnostic",
          "device_class": null,
          "original_device_class": null,
          "icon": null,
          "unit_of_measurement": "%",
          "state": {
            "entity_id": "sensor.ihunt_air_purifier_50_filter",
            "state": "unavailable",
            "attributes": {
              "unit_of_measurement": "%",
              "icon": "mdi:air-filter",
              "friendly_name": "iHunt Air Purifier 50 Filter"
            },
            "last_changed": "2024-09-28T12:18:18.014721+00:00",
            "last_reported": "2024-09-28T12:18:18.014721+00:00",
            "last_updated": "2024-09-28T12:18:18.014721+00:00"
          }
        },
        {
          "disabled": false,
          "disabled_by": null,
          "entity_category": "diagnostic",
          "device_class": null,
          "original_device_class": null,
          "icon": null,
          "unit_of_measurement": "min",
          "state": {
            "entity_id": "sensor.ihunt_air_purifier_50_runtime_total_left",
            "state": "unavailable",
            "attributes": {
              "unit_of_measurement": "min",
              "icon": "mdi:air-filter",
              "friendly_name": "iHunt Air Purifier 50 Runtime total left"
            },
            "last_changed": "2024-09-28T12:18:18.015754+00:00",
            "last_reported": "2024-09-28T12:18:18.015754+00:00",
            "last_updated": "2024-09-28T12:18:18.015754+00:00"
          }
        },
        {
          "disabled": false,
          "disabled_by": null,
          "entity_category": "diagnostic",
          "device_class": null,
          "original_device_class": "restart",
          "icon": null,
          "unit_of_measurement": null,
          "state": {
            "entity_id": "button.ihunt_air_purifier_50_filter_reset",
            "state": "unavailable",
            "attributes": {
              "device_class": "restart",
              "friendly_name": "iHunt Air Purifier 50 Filter reset"
            },
            "last_changed": "2024-09-28T12:18:17.942602+00:00",
            "last_reported": "2024-09-28T12:18:17.942602+00:00",
            "last_updated": "2024-09-28T12:18:17.942602+00:00"
          }
        }
      ]
    }
  }
}

DPS information

{
  "result": {
    "category": "kj",
    "functions": [
      {
        "code": "switch",
        "desc": "{}",
        "name": "开关",
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "fan_speed_enum",
        "desc": "{\"range\":[\"sleep\",\"low\",\"mid\",\"high\"]}",
        "name": "风速模式",
        "type": "Enum",
        "values": "{\"range\":[\"sleep\",\"low\",\"mid\",\"high\"]}"
      },
      {
        "code": "anion",
        "desc": "{}",
        "name": "净离子",
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "filter_reset",
        "desc": "{}",
        "name": "滤芯复位",
        "type": "Boolean",
        "values": "{}"
      }
    ],
    "status": [
      {
        "code": "switch",
        "name": "开关",
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "fan_speed_enum",
        "name": "风速模式",
        "type": "Enum",
        "values": "{\"range\":[\"sleep\",\"low\",\"mid\",\"high\"]}"
      },
      {
        "code": "filter",
        "name": "滤芯使用率",
        "type": "Integer",
        "values": "{\"unit\":\"%\",\"min\":0,\"max\":100,\"scale\":0,\"step\":1}"
      },
      {
        "code": "anion",
        "name": "净离子",
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "filter_reset",
        "name": "滤芯复位",
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "runtime_total",
        "name": "累计工作时间",
        "type": "Integer",
        "values": "{\"unit\":\"min\",\"min\":0,\"max\":5256000,\"scale\":0,\"step\":1}"
      }
    ]
  },
  "success": true,
  "t": 1727523853889,
  "tid": "fbf50ccb7d8e11efbc016e7818a0f8a2"
}

Product ID

qjlhoysvavudtp3d

Product Name

iHunt Air Purifier Smart 50m3/h

Information about how the device functions

Below full working config file:

name: iHunt Air Purifier 50 products:

robex2005 commented 4 days ago

Attached full config (renamed to txt) ihunt_air_purifier_50.txt

make-all commented 4 days ago

Log message is not optional