Kaynağa Gözat

Add support for Inventor EvaIon Pro dehumidifier

Issue #331
Jason Rumney 3 yıl önce
ebeveyn
işleme
581e411470

+ 1 - 0
ACKNOWLEDGEMENTS.md

@@ -152,3 +152,4 @@ Further device support has been made with the assistance of users.  Please consi
 - [markwellis](https://github.com/markwellis) for contributing support for Eurom Sani Wall Heat 2000 heaters.
 - [escoand](https://github.com/escoand) for contributing support for Tellur USB power strip.
 - [BrettEBowman](https://github.com/BrettEBowman) for assistance supporting Treatlife DS02-F fans.
+- [sohail579](https://github.com/sohail579) for assistance supporting Inventor Eva Ion Pro dehumidifiers.

+ 1 - 0
DEVICES.md

@@ -129,6 +129,7 @@
 - Honeywell TP(30/50/70) dehumidifiers
 - Hyundai Sahara dehumidifier
 - Inventor Atmosphere XL dehumidifier
+- Inventor Eva Ion Pro dehumidifier
 - JJPro JPD01 dehumidifer
 - JJPro JPD02 dehumidifier
 - Kogan SmarterHome 7L desiccant dehumidifier

+ 121 - 0
custom_components/tuya_local/devices/inventor_evaionpro_dehumidifier.yaml

@@ -0,0 +1,121 @@
+name: Inventor Eva Ion Pro dehumidifier
+primary_entity:
+  entity: humidifier
+  class: dehumidifier
+  dps:
+    - id: 1
+      type: boolean
+      name: switch
+    - id: 2
+      type: integer
+      name: humidity
+      range:
+        min: 35
+        max: 85
+      mapping:
+        - step: 5
+    - id: 5
+      type: string
+      name: mode
+      mapping:
+        - dps_val: manual
+          value: Manual
+        - dps_val: continuous
+          value: Continuous
+        - dps_val: smart
+          value: Smart
+        - dps_val: drying
+          value: Drying
+    - id: 19
+      type: bitfield
+      name: fault_code
+      # Mappings are a guess, as protocol doc uses numeric codes, while
+      # manual uses alphanumeric codes.  Probably only defrosting will show
+      # up with any regularity, so should be easiest to check
+      mapping:
+        - dps_val: 0
+          value: OK
+        - dps_val: 1
+          value: Humidity sensor error
+        - dps_val: 2
+          value: Temperature sensor error
+        - dps_val: 4
+          value: Unit malfunction
+        - dps_val: 8
+          value: Refrigerant leak
+        - dps_val: 16
+          value: Defrosting
+    # The following two are documented in the protocol as read/write, and appear
+    # in the app to be so.  But there is no mention in the manual of a pump
+    # and likely this is an indicator that the compressor is operating.
+    # Water level also seems more likely to be an indicator.
+    # If known for sure, they can be moved to sensors (or switch/number if
+    # they are really configurable)
+    - id: 103
+      type: boolean
+      name: pump
+    - id: 104
+      type: integer
+      name: water_level
+secondary_entities:
+  - entity: fan
+    dps:
+      - id: 1
+        type: boolean
+        name: switch
+      - id: 4
+        type: string
+        name: speed
+        mapping:
+          - dps_val: low
+            value: 33
+          - dps_val: middle
+            value: 66
+          - dps_val: high
+            value: 100
+  - entity: switch
+    name: Ionizer
+    category: config
+    dps:
+      - id: 10
+        type: boolean
+        name: switch
+  - entity: sensor
+    name: Humidity
+    class: humidity
+    dps:
+      - id: 6
+        type: integer
+        name: sensor
+        unit: "%"
+        class: measurement
+  - entity: sensor
+    name: Temperature
+    class: temperature
+    dps:
+      - id: 7
+        type: integer
+        name: sensor
+        unit: C
+        class: measurement
+  - entity: binary_sensor
+    name: Fault
+    class: problem
+    category: diagnostic
+    dps:
+      - id: 19
+        type: bitfield
+        name: sensor
+        mapping:
+          - dps_val: 0
+            value: false
+          - value: true
+  - entity: binary_sensor
+    name: Tank Full
+    class: problem
+    category: diagnostic
+    dps:
+      - id: 101
+        type: boolean
+        name: sensor
+