Переглянути джерело

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 роки тому
батько
коміт
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.
 - [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.
 - [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.
 - [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
 - Sencor MT7048C air conditioner
 - Sendo air conditioner
 - Sendo air conditioner
 - Star-Light air conditioner (also confirmed to work with Polar branded devices)
 - Star-Light air conditioner (also confirmed to work with Polar branded devices)
+- Suntec Wellness Coolfixx portable air conditioner
 - Tadiran Wind 65/3P
 - Tadiran Wind 65/3P
 - TroniTechnik Hellnar Klimagerät
 - TroniTechnik Hellnar Klimagerät
 - Vivax Cool ACP-12CH35REWI
 - 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
+