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

feat (devices): add ComfortZone AP100 air purifier

Issue #4514
Jason Rumney 2 дней назад
Родитель
Сommit
3d09770e5e

+ 1 - 0
ACKNOWLEDGEMENTS.md

@@ -1312,3 +1312,4 @@ Further device support has been made with the assistance of users. Please consid
 - [8k37](https://github.com/8k37) for contributing support for SWC32v2 CBU circuit breaker energy meter.
 - [killercece](https://github.com/killercece) for contributing support for EM3395TY-2 weather station.
 - [jonno-m](https://github.com/jonno-m) for contributing support for ILife A12 Pro vacuum.
+- [tfmm](https://github.com/tfmm) for assisting with support for ComfortZone AP100 air purifier.

+ 1 - 0
DEVICES.md

@@ -423,6 +423,7 @@
 - Breville Easy Air, Smart Air Connect, Smart Air Viral Protect Plus and Night Glow purifiers
 - Cecotec TotalPure purifier
 - Cleverio AP100 air purifier
+- ComfortZone AP100 air purifier
 - Duux Bright air purifier
 - essentials portable air purifier
 - Himox H05 and H06 air purifiers

+ 83 - 0
custom_components/tuya_local/devices/comfortzone_ap100_airpurifier.yaml

@@ -0,0 +1,83 @@
+name: Air purifier
+products:
+  - id: mzeflj6aygwytyoy
+    manufacturer: ComfortZone
+    model: AP100
+entities:
+  - entity: fan
+    dps:
+      - id: 1
+        type: boolean
+        name: switch
+      - id: 4
+        type: string
+        name: speed
+        mapping:
+          - dps_val: "1"
+            value: 33
+          - dps_val: "2"
+            value: 66
+          - dps_val: "3"
+            value: 100
+  - entity: switch
+    translation_key: ionizer
+    category: config
+    dps:
+      - id: 6
+        type: boolean
+        name: switch
+  - entity: light
+    dps:
+      - id: 8
+        type: boolean
+        name: switch
+  - entity: button
+    translation_key: filter_reset
+    category: config
+    dps:
+      - id: 11
+        type: boolean
+        name: button
+  - entity: select
+    translation_key: timer
+    category: config
+    dps:
+      - id: 19
+        type: string
+        name: option
+        mapping:
+          - dps_val: "0"
+            value: cancel
+          - dps_val: "1"
+            value: "1h"
+          - dps_val: "2"
+            value: "2h"
+          - dps_val: "3"
+            value: "3h"
+          - dps_val: "4"
+            value: "4h"
+          - dps_val: "5"
+            value: "5h"
+          - dps_val: "6"
+            value: "6h"
+          - dps_val: "7"
+            value: "7h"
+          - dps_val: "8"
+            value: "8h"
+          - dps_val: "9"
+            value: "9h"
+          - dps_val: "10"
+            value: "10h"
+          - dps_val: "11"
+            value: "11h"
+          - dps_val: "12"
+            value: "12h"
+  - entity: sensor
+    translation_key: time_remaining
+    class: duration
+    category: diagnostic
+    dps:
+      - id: 20
+        type: integer
+        name: sensor
+        unit: min