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

Add support for Suntec Wellness Coolfixx portable air conditioners.

Similar to Lyfco, but with different misspellings in the dp values.
lyfco uses "Hig" for high fan speed, this one uses "Dyr" for dry mode.

Issue #1071
Jason Rumney 2 лет назад
Родитель
Сommit
44fee9a412

+ 1 - 0
ACKNOWLEDGEMENTS.md

@@ -374,3 +374,4 @@ Further device support has been made with the assistance of users.  Please consi
 - [jcastang](https://github.com/jcastang) for contributing support for Dcenta dual clamp meters.
 - [sebastianciupinski](https://github.com/sebastianciupinski) for contributing support for Dcenta dual clamp meters.
 - [cykus](https://github.com/cykus) for contributing support for Rotenso Roni X air conditioners.
+- [KrX3D](https://github.com/KrX3D) for assisting with support for Suntec Wellness Coolfixx air conditioners.

+ 1 - 0
DEVICES.md

@@ -54,6 +54,7 @@
 - Sencor MT7048C air conditioner
 - Sendo air conditioner
 - Star-Light air conditioner (also confirmed to work with Polar branded devices)
+- Suntec Wellness Coolfixx portable air conditioner
 - Tadiran Wind 65/3P
 - TroniTechnik Hellnar Klimagerät
 - Vivax Cool ACP-12CH35REWI

+ 139 - 0
custom_components/tuya_local/devices/suntec_coolfix_airconditioner.yaml

@@ -0,0 +1,139 @@
+name: Air conditioner
+products:
+  - id: 0ithwpdwkgyqfx54
+    name: Suntec Wellness Coolfixx
+primary_entity:
+  entity: climate
+  dps:
+    - id: 1
+      type: boolean
+      name: hvac_mode
+      mapping:
+        - dps_val: false
+          value: "off"
+        - dps_val: true
+          constraint: mode
+          conditions:
+            - dps_val: Cool
+              value: cool
+            - dps_val: Dyr
+              value: dry
+            - dps_val: Fan
+              value: fan_only
+            - dps_val: Heat
+              value: heat
+              mapping:
+                - constraint: model_id
+                  conditions:
+                    - dps_val: C
+                      hidden: true
+                      invalid: true
+    - id: 2
+      type: integer
+      name: temperature
+      range:
+        min: 16
+        max: 32
+      mapping:
+        - constraint: temperature_unit
+          conditions:
+            - dps_val: f
+              value_redirect: temp_set_f
+              range:
+                min: 61
+                max: 90
+    - id: 3
+      type: integer
+      name: current_temperature
+      mapping:
+        - constraint: temperature_unit
+          conditions:
+            - dps_val: f
+              value_redirect: temp_current_f
+    - id: 4
+      type: string
+      name: mode
+      hidden: true
+    - id: 5
+      type: string
+      name: fan_mode
+      mapping:
+        - dps_val: Low
+          value: low
+        - dps_val: Mid
+          value: medium
+        - dps_val: High
+          value: high
+    - id: 15
+      type: string
+      name: swing_mode
+      mapping:
+        - dps_val: "OFF"
+          value: "off"
+        - dps_val: "ON"
+          value: "on"
+    - id: 19
+      type: string
+      name: temperature_unit
+      mapping:
+        - dps_val: c
+          value: C
+        - dps_val: f
+          value: F
+    - id: 22
+      type: bitfield
+      name: fault_code
+    - id: 23
+      type: integer
+      name: temp_set_f
+      optional: true
+      range:
+        min: 61
+        max: 90
+    - id: 24
+      type: integer
+      name: temp_current_f
+    - id: 101
+      type: boolean
+      name: preset_mode
+      mapping:
+        - dps_val: true
+          value: sleep
+        - dps_val: false
+          value: comfort
+    - id: 103
+      type: string
+      name: model_id
+      mapping:
+        - dps_val: C
+          value: Cooling
+        - dps_val: C_H
+          value: Cool+Heat
+secondary_entities:
+  - entity: binary_sensor
+    name: Fault
+    class: problem
+    category: diagnostic
+    dps:
+      - id: 22
+        type: bitfield
+        name: sensor
+        mapping:
+          - dps_val: 0
+            value: false
+          - dps_val: 4
+            value: false
+          - value: true
+  - entity: binary_sensor
+    name: Tank full
+    class: problem
+    category: diagnostic
+    dps:
+      - id: 22
+        type: bitfield
+        name: sensor
+        mapping:
+          - dps_val: 4
+            value: true
+          - value: false
+