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

feat (devices): add Haier air-water combo heat pump

Issue #4387
Jason Rumney 2 дней назад
Родитель
Сommit
fbd42c0c9b
3 измененных файлов с 227 добавлено и 0 удалено
  1. 1 0
      ACKNOWLEDGEMENTS.md
  2. 1 0
      DEVICES.md
  3. 225 0
      custom_components/tuya_local/devices/haier_airwater_heatpump.yaml

+ 1 - 0
ACKNOWLEDGEMENTS.md

@@ -1276,3 +1276,4 @@ Further device support has been made with the assistance of users. Please consid
 - [kong09](https://github.com/kong09) for contributing improvements to thermostat icons, support for RF remote controls.
 - [hrko](https://github.com/hrko) for contributing support for Edison Smart Treo dual zone ceiling light.
 - [akoky](https://github.com/akoky) for assisting with support for Meian SW02 water leak detector.
+- [rwblokzijl](https://github.com/rwblokzijl) for assisting with support for Haier air-water combo heat pump.

+ 1 - 0
DEVICES.md

@@ -198,6 +198,7 @@ devices # Supported
 - Fisher air to water heat pump
 - Geyserwise TSE1 and MWS Geyser controller kits
 - Giatsu VAW 2 heat pump water heater
+- Haier air-water combo heat pump
 - HY multifunctional heat pump V1.2
 - Hydrotherm Dynamic/X8 heat pump hot water systems (Gen 5 and 6)
 - Intaflo Intabloc DC Inverter air-water heat pump

+ 225 - 0
custom_components/tuya_local/devices/haier_airwater_heatpump.yaml

@@ -0,0 +1,225 @@
+name: Combo heat pump
+products:
+  - id: dzkashyduh1tuqin
+    manufacturer: Haier
+entities:
+  - entity: switch
+    dps:
+      - id: 1
+        type: boolean
+        name: switch
+  - entity: climate
+    dps:
+      - id: 5
+        type: string
+        name: hvac_mode
+        mapping:
+          - dps_val: "0"
+            value: "off"
+          - dps_val: "1"
+            value: heat
+          - dps_val: "2"
+            value: cool
+      - id: 4
+        type: integer
+        name: temperature
+        unit: C
+        range:
+          min: 25
+          max: 75
+        mapping:
+          - constraint: hvac_mode
+            conditions:
+              - dps_val: "2"
+                value_redirect: cold_temp
+                range:
+                  min: 5
+                  max: 25
+      - id: 35
+        type: integer
+        name: current_temperature
+      - id: 104
+        type: integer
+        name: cold_temp
+        hidden: true
+        range:
+          min: 5
+          max: 25
+  - entity: water_heater
+    dps:
+      - id: 3
+        type: boolean
+        name: operation_mode
+        mapping:
+          - dps_val: false
+            value: "off"
+          - dps_val: true
+            value: heat_pump
+      - id: 16
+        type: integer
+        name: current_temperature
+      - id: 34
+        type: integer
+        name: temperature
+        unit: C
+        range:
+          min: 25
+          max: 75
+  - entity: text
+    name: Time
+    category: config
+    icon: "mdi:clock"
+    hidden: true
+    dps:
+      - id: 103
+        type: base64
+        optional: true
+        name: value
+  - entity: text
+    name: Program 1
+    category: config
+    icon: "mdi:calendar-clock"
+    hidden: true
+    dps:
+      - id: 105
+        type: base64
+        optional: true
+        name: value
+  - entity: text
+    name: Program 2
+    category: config
+    icon: "mdi:calendar-clock"
+    hidden: true
+    dps:
+      - id: 106
+        type: base64
+        optional: true
+        name: value
+  - entity: text
+    name: Program 3
+    category: config
+    icon: "mdi:calendar-clock"
+    hidden: true
+    dps:
+      - id: 107
+        type: base64
+        optional: true
+        name: value
+  - entity: text
+    name: Program 4
+    category: config
+    icon: "mdi:calendar-clock"
+    hidden: true
+    dps:
+      - id: 108
+        type: base64
+        optional: true
+        name: value
+  - entity: text
+    name: Program 5
+    category: config
+    icon: "mdi:calendar-clock"
+    hidden: true
+    dps:
+      - id: 109
+        type: base64
+        optional: true
+        name: value
+  - entity: text
+    name: Program 6
+    category: config
+    icon: "mdi:calendar-clock"
+    hidden: true
+    dps:
+      - id: 110
+        type: base64
+        optional: true
+        name: value
+  - entity: text
+    name: Program 7
+    category: config
+    icon: "mdi:calendar-clock"
+    hidden: true
+    dps:
+      - id: 111
+        type: base64
+        optional: true
+        name: value
+  - entity: text
+    name: Program 8
+    category: config
+    icon: "mdi:calendar-clock"
+    hidden: true
+    dps:
+      - id: 112
+        type: base64
+        optional: true
+        name: value
+  - entity: text
+    name: Program 9
+    category: config
+    icon: "mdi:calendar-clock"
+    hidden: true
+    dps:
+      - id: 113
+        type: base64
+        optional: true
+        name: value
+  - entity: select
+    name: Engineering operation
+    icon: "mdi:tools"
+    category: config
+    hidden: true
+    dps:
+      - id: 114
+        type: string
+        optional: true
+        name: option
+        mapping:
+          - dps_val: start
+            value: start
+          - dps_val: query
+            value: query
+          - dps_val: exit
+            value: exit
+  - entity: text
+    name: Engineering parameters
+    category: config
+    icon: "mdi:tools"
+    hidden: true
+    dps:
+      - id: 115
+        type: string
+        optional: true
+        name: value
+      - id: 116
+        type: integer
+        optional: true
+        name: return_code
+  - entity: sensor
+    name: Diagnostics
+    category: diagnostic
+    hidden: true
+    dps:
+      - id: 117
+        type: base64
+        optional: true
+        name: sensor
+  - entity: binary_sensor
+    class: problem
+    category: diagnostic
+    dps:
+      - id: 118
+        type: base64
+        optional: true
+        name: sensor
+        mapping:
+          - dps_val: 0
+            value: false
+          - dps_val: null
+            value: false
+          - value: true
+      - id: 118
+        type: base64
+        optional: true
+        name: fault_code