소스 검색

Siguro dehumidifier: add compatible ProBreeze OmniDry 12L

Model is compatible down to the mis-spellings in the mode names.
Seems to report temperature unit and filter reset, but no sign in the
manual that they are actually supported.

Added hidden entities for all the unsupported features except runtime reset,
which makes no sense as there is no runtime and has never been observed.

Issue #2868
Jason Rumney 1 년 전
부모
커밋
95018d0bdf
1개의 변경된 파일98개의 추가작업 그리고 56개의 파일을 삭제
  1. 98 56
      custom_components/tuya_local/devices/siguro_sgrhdf300w_dehumidifier.yaml

+ 98 - 56
custom_components/tuya_local/devices/siguro_sgrhdf300w_dehumidifier.yaml

@@ -3,6 +3,10 @@ products:
   - id: p3fnrnlcjm2yxeks
     manufacturer: Siguro
     model: DH-F300W
+  - id: nkxacpp51xgudnjq
+    manufacturer: ProBreeze
+    model: OmniDry 12L
+    model_id: PB-D-18W-WF
 entities:
   - entity: humidifier
     class: dehumidifier
@@ -31,20 +35,14 @@ entities:
       - 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
+        # Listed, but no log. Pointless, as there is no runtime indicator:
+        # 28 = runtime_total_reset (bool)
   - entity: fan
     dps:
       - id: 1
@@ -83,54 +81,54 @@ entities:
         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
+          - 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
@@ -170,3 +168,47 @@ entities:
             value: Tank full or missing
           - dps_val: 2
             value: Clean filter
+  # The following do not seem to be supported by the devices encountered
+  # so far, so are hidden by default
+  - entity: switch
+    translation_key: ionizer
+    hidden: true
+    category: config
+    dps:
+      - id: 10
+        type: boolean
+        name: switch
+  - entity: button
+    translation_key: filter_reset
+    hidden: true
+    category: config
+    dps:
+      - id: 20
+        type: boolean
+        optional: true
+        name: button
+  - entity: sensor
+    name: Filter
+    hidden: true
+    category: diagnostic
+    dps:
+      - id: 23
+        type: integer
+        optional: true
+        name: sensor
+        unit: "%"
+  - entity: select
+    translation_key: temperature_unit
+    hidden: true
+    # uncertain if this will affect temperature entity or only display
+    category: config
+    dps:
+      - id: 24
+        type: string
+        optional: true
+        name: option
+        mapping:
+          - dps_val: c
+            value: celsius
+          - dps_val: f
+            value: fahrenheit