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

feat(devices): add Webber APG7800 air purifier hot and cool fan

Issue #5542
Jason Rumney 9 часов назад
Родитель
Сommit
569ee03508
2 измененных файлов с 188 добавлено и 1 удалено
  1. 1 1
      DEVICES.md
  2. 187 0
      custom_components/tuya_local/devices/webber_apg7800_airpurifier.yaml

+ 1 - 1
DEVICES.md

@@ -517,7 +517,7 @@
 - Vephos True air purifier
 - Vestfrost VP-A1Z40HW air purifier
 - Vork VK6067AW air purifier
-- Webber AP9750 air purifier
+- Webber AP9750 and APG7800 air purifiers
 
 ### Dehumidifiers
 

+ 187 - 0
custom_components/tuya_local/devices/webber_apg7800_airpurifier.yaml

@@ -0,0 +1,187 @@
+name: Purifier heater fan
+entities:
+  - entity: climate
+    dps:
+      - id: 1
+        type: boolean
+        name: hvac_mode
+        mapping:
+          - dps_val: false
+            value: "off"
+          - dps_val: true
+            constraint: fan_setting
+            conditions:
+              - dps_val: natural
+                value: fan_only
+              - dps_val: hotwind
+                value: heat
+      - id: 12
+        type: integer
+        name: current_temperature
+      - id: 24
+        type: integer
+        name: temperature
+        unit: C
+        range:
+          min: 30
+          max: 35
+      - id: 101
+        type: boolean
+        name: preset_mode
+        mapping:
+          - dps_val: false
+            value: normal
+          - dps_val: true
+            value: eco
+      - id: 102
+        type: boolean
+        name: swing_mode
+        mapping:
+          - dps_val: false
+            value: "off"
+          - dps_val: true
+            value: "on"
+      - id: 103
+        type: string
+        name: fan_setting
+        hidden: true
+  - entity: fan
+    translation_key: air_purifier
+    dps:
+      - id: 1
+        type: boolean
+        name: switch
+      - id: 3
+        type: string
+        name: speed
+        mapping:
+          - dps_val: "1"
+            value: 8
+          - dps_val: "2"
+            value: 16
+          - dps_val: "3"
+            value: 25
+          - dps_val: "4"
+            value: 33
+          - dps_val: "5"
+            value: 41
+          - dps_val: "6"
+            value: 50
+          - dps_val: "7"
+            value: 58
+          - dps_val: "8"
+            value: 66
+          - dps_val: "9"
+            value: 75
+          - dps_val: "10"
+            value: 83
+          - dps_val: "11"
+            value: 91
+          - dps_val: "12"
+            value: 100
+          - dps_val: Auto
+            value: null
+            hidden: true
+      - id: 3
+        type: string
+        name: preset_mode
+        mapping:
+          - dps_val: Auto
+            value: auto
+          - dps_val: "4"
+            value: manual
+          - value: manual
+            hidden: true
+  - entity: sensor
+    class: pm25
+    dps:
+      - id: 2
+        type: integer
+        name: sensor
+        unit: ugm3
+        class: measurement
+  - entity: sensor
+    translation_key: filter_life
+    dps:
+      - id: 5
+        type: integer
+        name: sensor
+        unit: "%"
+  - entity: switch
+    translation_key: ionizer
+    category: config
+    dps:
+      - id: 6
+        type: boolean
+        name: switch
+  - entity: lock
+    translation_key: child_lock
+    category: config
+    dps:
+      - id: 7
+        type: boolean
+        name: lock
+  - entity: light
+    translation_key: indicator
+    category: config
+    dps:
+      - id: 8
+        type: boolean
+        name: switch
+  - entity: switch
+    translation_key: uv_sterilization
+    category: config
+    dps:
+      - id: 9
+        type: boolean
+        name: switch
+  - entity: button
+    translation_key: filter_reset
+    category: config
+    dps:
+      - id: 11
+        type: boolean
+        optional: true
+        name: button
+  - entity: select
+    translation_key: timer
+    category: config
+    dps:
+      - id: 18
+        type: string
+        name: option
+        mapping:
+          - dps_val: Cancel
+            value: cancel
+          - dps_val: "1h"
+            value: "1h"
+          - dps_val: "3h"
+            value: "3h"
+          - dps_val: "6h"
+            value: "6h"
+          - dps_val: "9h"
+            value: "9h"
+  - entity: sensor
+    translation_key: time_remaining
+    class: duration
+    category: diagnostic
+    dps:
+      - id: 19
+        type: integer
+        name: sensor
+        unit: min
+  - entity: sensor
+    translation_key: air_quality
+    class: enum
+    category: diagnostic
+    dps:
+      - id: 21
+        type: string
+        name: sensor
+        mapping:
+          - dps_val: good
+            value: good
+          - dps_val: medium
+            value: moderate
+          - dps_val: severe
+            value: severe