Просмотр исходного кода

Added HOM Chernobyl Humidifier (#5478)

* Added HOM Chernobyl Humidifier

Added device support for HOM Chernobyl Humidifier based on:

"model": "Chernobyl humidifier_Hero World",
    "name": "Chernobyl humidifier",
    "product_id": "rfautxbsykmgxthv",
    "product_name": "Chernobyl humidifier",

{
  "result": {
    "model": "{\"modelId\":\"e1kuqscw\",\"services\":[{\"actions\":[],\"code\":\"\",\"description\":\"\",\"events\":[],\"name\":\"\",\"properties\":[{\"abilityId\":1,\"accessMode\":\"rw\",\"code\":\"switch\",\"description\":\"\",\"name\":\"总开关\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":2,\"accessMode\":\"rw\",\"code\":\"switch_spray\",\"description\":\"\",\"name\":\"喷雾开关\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":3,\"accessMode\":\"rw\",\"code\":\"mode\",\"description\":\"【喷雾模式、喷雾档位二选一】【适配语音功能】支持高中低挡喷雾量\",\"name\":\"工作模式\",\"typeSpec\":{\"type\":\"enum\",\"range\":[\"large\",\"middle\",\"small\"]}},{\"abilityId\":4,\"accessMode\":\"rw\",\"code\":\"countdown_set\",\"description\":\"\",\"name\":\"倒计时\",\"typeSpec\":{\"type\":\"enum\",\"range\":[\"cancel\",\"1h\",\"2h\",\"3h\"]}},{\"abilityId\":5,\"accessMode\":\"ro\",\"code\":\"countdown_left\",\"description\":\"\",\"name\":\"倒计时剩余时间\",\"typeSpec\":{\"type\":\"value\",\"max\":360,\"min\":0,\"scale\":0,\"step\":1,\"unit\":\"min\"}},{\"abilityId\":6,\"accessMode\":\"rw\",\"code\":\"sound\",\"description\":\"\",\"name\":\"声音\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":7,\"accessMode\":\"rw\",\"code\":\"switch_led\",\"description\":\"\",\"name\":\"灯光\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":8,\"accessMode\":\"rw\",\"code\":\"bright_value\",\"description\":\"\",\"name\":\"亮度值\",\"typeSpec\":{\"type\":\"value\",\"max\":1000,\"min\":10,\"scale\":0,\"step\":1}},{\"abilityId\":9,\"accessMode\":\"rw\",\"code\":\"work_mode\",\"description\":\"\",\"name\":\"灯光模式\",\"typeSpec\":{\"type\":\"enum\",\"range\":[\"white\",\"colour\",\"colourful1\"]}},{\"abilityId\":10,\"accessMode\":\"rw\",\"code\":\"colour_data\",\"description\":\"\",\"name\":\"彩光值\",\"typeSpec\":{\"type\":\"string\",\"maxlen\":255}},{\"abilityId\":11,\"accessMode\":\"ro\",\"code\":\"fault\",\"description\":\"\",\"name\":\"故障告警\",\"typeSpec\":{\"type\":\"bitmap\",\"label\":[\"lack_water\"],\"maxlen\":1}}]}]}"
  },

* Update chernobyl_aroma_diffuser.yaml

Remove invalid translation and replace with explicit name for power switch.
Remove extra spaces.

* Renamed and removed class for low tank sensor.

Renamed top level name and model to be more generic.  Removed class on low tank sensor since translation key is used instead.

* Rename device from 'Humidifier & Diffuser' to 'Aroma diffuser'

- symbols in device name may cause problems in some contexts, especially when using HA with other systems.
- the device has no humidity sensor or adjustment, so is not a true humidifier

---------

Co-authored-by: Jason Rumney <make-all@users.noreply.github.com>
Thayer Fox 6 дней назад
Родитель
Сommit
84114ad2aa
1 измененных файлов с 129 добавлено и 0 удалено
  1. 129 0
      custom_components/tuya_local/devices/chernobyl_aroma_diffuser.yaml

+ 129 - 0
custom_components/tuya_local/devices/chernobyl_aroma_diffuser.yaml

@@ -0,0 +1,129 @@
+name: Aroma diffuser
+products:
+  - id: rfautxbsykmgxthv
+    model: Chernobyl
+    manufacturer: HOM
+entities:
+
+  - entity: switch
+    name: Power
+    dps:
+      - id: 1
+        name: switch
+        type: boolean
+
+  - entity: fan
+    translation_key: aroma_diffuser
+    dps:
+      - id: 2
+        type: boolean
+        name: switch
+      - id: 3
+        type: string
+        name: preset_mode
+        mapping:
+          - dps_val: middle
+            value: low
+          - dps_val: large
+            value: high
+          - dps_val: small
+            value: intermittent
+
+  - entity: select
+    translation_key: timer
+    category: config
+    dps:
+      - id: 4
+        type: string
+        name: option
+        mapping:
+          - dps_val: "cancel"
+            value: cancel
+          - dps_val: "1h"
+            value: "1h"
+          - dps_val: "2h"
+            value: "2h"
+          - dps_val: "3h"
+            value: "3h"
+
+  - entity: sensor
+    translation_key: time_remaining
+    class: duration
+    category: diagnostic
+    dps:
+      - id: 5
+        type: integer
+        name: sensor
+        unit: min
+
+  - entity: switch
+    translation_key: sound
+    category: config
+    dps:
+      - id: 6
+        type: boolean
+        name: switch
+
+  - entity: light
+    translation_key: nightlight
+    dps:
+      - id: 7
+        name: switch
+        type: boolean
+      - id: 8
+        name: brightness
+        type: integer
+        range:
+          min: 10
+          max: 1000
+      - id: 9
+        name: color_mode
+        type: string
+        mapping:
+          - dps_val: white
+            value: white
+          - dps_val: colour
+            value: hs
+          - dps_val: colourful1
+            value: Cycle
+      - id: 10
+        name: rgbhsv
+        type: hex
+        format:
+          - name: r
+            bytes: 1
+          - name: g
+            bytes: 1
+          - name: b
+            bytes: 1
+          - name: h
+            bytes: 2
+            range:
+              min: 0
+              max: 360
+          - name: s
+            bytes: 1
+            range:
+              min: 0
+              max: 255
+          - name: v
+            bytes: 1
+            range:
+              min: 0
+              max: 255
+
+  - entity: binary_sensor
+    translation_key: tank_empty
+    category: diagnostic
+    dps:
+      - id: 11
+        type: bitfield
+        name: sensor
+        optional: true
+        mapping:
+          - dps_val: 1
+            value: true
+          - value: false
+      - id: 11
+        type: bitfield
+        name: fault_code