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

Add support for Siguro DH-F300W dehumidifier.

Issue #2518
Jason Rumney 1 год назад
Родитель
Сommit
9dda00ef89

+ 1 - 0
ACKNOWLEDGEMENTS.md

@@ -772,3 +772,4 @@ Further device support has been made with the assistance of users. Please consid
 - [egric](https://github.com/egric) for assisting with support for Neptun Smart water leak control system.
 - [dave-parsons](https://github.com/dave-parsons) for assisting with support for Asahom outdoor lights.
 - [netsoft-ruidias](https://github.com/netsoft-ruidias) for assisting with support for HY multifunctional heat pump.
+- [fumantsu](https://github.com/fumantsu) for assisting with support for Siguro DH-F300W dehumidifier.

+ 1 - 0
DEVICES.md

@@ -355,6 +355,7 @@
 - MeacoDry Arete Two 10L dehumidifier
 - Pro Breeze 30L dehumidifier
 - Shinco 30D dehumidifier (also matches Klarstein DryFy Connect)
+- Siguro SGR DH-F300W dehumidifier
 - Sygonix Smarter dehumidifier
 - Tesla Smart XL dehumidifier
 - VacPlus dehumidifier

+ 172 - 0
custom_components/tuya_local/devices/siguro_sgrhdf300w_dehumidifier.yaml

@@ -0,0 +1,172 @@
+name: Dehumidifier
+products:
+  - id: p3fnrnlcjm2yxeks
+    name: Siguro DH-F300W
+primary_entity:
+  entity: humidifier
+  class: dehumidifier
+  dps:
+    - id: 1
+      name: switch
+      type: boolean
+    - id: 2
+      type: integer
+      name: humidity
+      range:
+        min: 30
+        max: 80
+      mapping:
+        - step: 5
+    - id: 5
+      name: mode
+      type: string
+      mapping:
+        - dps_val: Continuities
+          value: boost
+        - dps_val: Auto
+          value: auto
+        - dps_val: Sleep
+          value: sleep
+    - id: 6
+      type: integer
+      name: current_humidity
+    # This doesn't actually have an ionizer, but having the dp
+    # will aid in detection
+    - id: 10
+      type: boolean
+      name: ionizer
+      # Missing from log:
+      # 20 = filter_reset (bool), 23 = filter_life (ro int 0-100 %)
+      # 24 = temp unit (c/f), 28 = runtime_total_reset (bool)
+    - id: 102
+      type: integer
+      name: client_id
+    - id: 104
+      type: integer
+      name: equipment_type
+secondary_entities:
+  - entity: fan
+    dps:
+      - id: 1
+        type: boolean
+        name: switch
+      - id: 4
+        type: string
+        name: speed
+        mapping:
+          - dps_val: "low"
+            value: 50
+          - dps_val: "high"
+            value: 100
+  - entity: sensor
+    class: temperature
+    dps:
+      - id: 7
+        type: integer
+        name: sensor
+        unit: C
+        class: measurement
+  - entity: lock
+    translation_key: child_lock
+    category: config
+    dps:
+      - id: 16
+        type: boolean
+        name: lock
+  - entity: select
+    translation_key: timer
+    category: config
+    dps:
+      - id: 17
+        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
+          - dps_val: 4h
+            value: 4h
+          - dps_val: 5h
+            value: 5h
+          - dps_val: 6h
+            value: 6h
+          - dps_val: 7h
+            value: 7h
+          - dps_val: 8h
+            value: 8h
+          - dps_val: 9h
+            value: 9h
+          - dps_val: 10h
+            value: 10h
+          - dps_val: 11h
+            value: 11h
+          - dps_val: 12h
+            value: 12h
+          - dps_val: 13h
+            value: 13h
+          - dps_val: 14h
+            value: 14h
+          - dps_val: 15h
+            value: 15h
+          - dps_val: 16h
+            value: 16h
+          - dps_val: 17h
+            value: 17h
+          - dps_val: 18h
+            value: 18h
+          - dps_val: 19h
+            value: 19h
+          - dps_val: 20h
+            value: 20h
+          - dps_val: 21h
+            value: 21h
+          - dps_val: 22h
+            value: 22h
+          - dps_val: 23h
+            value: 23h
+          - dps_val: 24h
+            value: 24h
+  - entity: binary_sensor
+    translation_key: tank_full
+    category: diagnostic
+    dps:
+      - id: 19
+        type: bitfield
+        name: sensor
+        mapping:
+          - dps_val: 1
+            value: true
+          - value: false
+  - entity: binary_sensor
+    class: problem
+    category: diagnostic
+    dps:
+      - id: 19
+        type: bitfield
+        name: sensor
+        mapping:
+          - dps_val: 0
+            value: false
+          - dps_val: 1
+            value: false
+          - dps_val: null
+            value: false
+          - value: true
+      - id: 19
+        type: bitfield
+        name: fault_code
+      - id: 19
+        type: bitfield
+        name: description
+        mapping:
+          - dps_val: 0
+            value: OK
+          - dps_val: 1
+            value: Tank full or missing
+          - dps_val: 2
+            value: Clean filter