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

Add support for HY multifunctional heat pump

Issue #2510
Jason Rumney 1 год назад
Родитель
Сommit
5928ed59fc
3 измененных файлов с 291 добавлено и 0 удалено
  1. 1 0
      ACKNOWLEDGEMENTS.md
  2. 1 0
      DEVICES.md
  3. 289 0
      custom_components/tuya_local/devices/hy_combo_heatpump.yaml

+ 1 - 0
ACKNOWLEDGEMENTS.md

@@ -771,3 +771,4 @@ Further device support has been made with the assistance of users. Please consid
 - [circa1665](https://github.com/circa1665) for assisting with support for Mypin 6L video pet feeder.
 - [egric](https://github.com/egric) for assisting with support for Neptun Smart water leak control system.
 - [dave-parsons](https://github.com/dave-parsons) for assisting with support for Asahom outdoor lights.
+- [netsoft-ruidias](https://github.com/netsoft-ruidias) for assisting with support for HY multifunctional heat pump.

+ 1 - 0
DEVICES.md

@@ -154,6 +154,7 @@
 - Fisher air to water heat pump
 - Geyserwise TSE1 Geyser controller kit
 - Giatsu VAW 2 heat pump water heater
+- HY multifunctional heat pump V1.2
 - Hydrotherm Dynamic/X8 heat pump hot water systems (Gen 5 and 6)
 - ITS-4.5HD super water heat pump
 - Koi Duo HTW-TD-080KOID

+ 289 - 0
custom_components/tuya_local/devices/hy_combo_heatpump.yaml

@@ -0,0 +1,289 @@
+name: Multifunction heat pump
+# products:
+#   - id: UNKNOWN
+#     name: HY V1.2
+primary_entity:
+  entity: climate
+  dps:
+    - id: 1
+      type: boolean
+      name: hvac_mode
+      mapping:
+        - dps_val: false
+          value: "off"
+          hidden: true
+        - dps_val: true
+          constraint: mode
+          conditions:
+            - dps_val: Hot
+              value: "off"
+            - dps_val: Heating
+              value: heat
+              hidden: true
+            - dps_val: Hot_Heating
+              value: heat
+            - dps_val: Cooling
+              value: cool
+              hidden: true
+            - dps_val: Hot_Cooling
+              value: cool
+    - id: 2
+      type: string
+      name: mode
+    - id: 21
+      type: integer
+      name: current_temperature
+      mapping:
+        - scale: 10
+    - id: 117
+      type: integer
+      name: temperature
+      unit: C
+      range:
+        min: 10
+        max: 75
+      mapping:
+        - constraint: mode
+          conditions:
+            - dps_val: ["Cooling", "Hot_Cooling"]
+              value_redirect: cool_temperature
+              range:
+                min: 7
+                max: 25
+    - id: 118
+      type: integer
+      name: cool_temperature
+      range:
+        min: 7
+        max: 25
+secondary_entities:
+  - entity: water_heater
+    dps:
+      - id: 1
+        type: boolean
+        name: operation_mode
+        mapping:
+          - dps_val: false
+            value: "off"
+          - dps_val: true
+            constraint: mode
+            conditions:
+              - dps_val: Hot
+                value: hot_water
+              - dps_val: Heating
+                value: air_heating
+              - dps_val: Cooling
+                value: air_cooling
+              - dps_val: Hot_Heating
+                value: hot_water_and_heating
+              - dps_val: Hot_Cooling
+                value: hot_water_and_cooling
+      - id: 2
+        type: string
+        name: mode
+        hidden: true
+      - id: 119
+        type: integer
+        name: temperature
+        unit: C
+        range:
+          min: 10
+          max: 70
+      - id: 24
+        type: integer
+        name: current_temperature
+        mapping:
+          - scale: 10
+  - entity: lock
+    translation_key: child_lock
+    category: config
+    dps:
+      - id: 3
+        type: boolean
+        name: lock
+  - entity: binary_sensor
+    class: problem
+    category: diagnostic
+    dps:
+      - id: 15
+        type: bitfield
+        name: sensor
+        mapping:
+          - dps_val: 0
+            value_redirect: fault_2
+          - value: true
+      - id: 15
+        type: bitfield
+        name: fault_code
+      - id: 35
+        type: integer
+        name: fault_7
+        hidden: true
+        mapping:
+          - dps_val: 0
+            value: false
+          - value: true
+      - id: 35
+        type: integer
+        name: fault_code_7
+      - id: 109
+        type: bitfield
+        name: fault_2
+        hidden: true
+        mapping:
+          - dps_val: 0
+            value_redirect: fault_3
+          - value: true
+      - id: 109
+        type: bitfield
+        name: fault_code_2
+      - id: 120
+        type: bitfield
+        name: fault_3
+        hidden: true
+        mapping:
+          - dps_val: 0
+            value_redirect: fault_4
+          - value: true
+      - id: 120
+        type: bitfield
+        name: fault_code_3
+      - id: 121
+        type: bitfield
+        name: fault_4
+        hidden: true
+        mapping:
+          - dps_val: 0
+            value_redirect: fault_5
+          - value: true
+      - id: 121
+        type: bitfield
+        name: fault_code_4
+      - id: 122
+        type: bitfield
+        name: fault_5
+        hidden: true
+        mapping:
+          - dps_val: 0
+            value_redirect: fault_6
+          - value: true
+      - id: 122
+        type: bitfield
+        name: fault_code_5
+      - id: 123
+        type: bitfield
+        name: fault_6
+        hidden: true
+        mapping:
+          - dps_val: 0
+            value_redirect: fault_7
+          - value: true
+      - id: 123
+        type: bitfield
+        name: fault_code_6
+  - entity: number
+    name: Night start
+    category: config
+    icon: "mdi:weather-night"
+    dps:
+      - id: 4
+        type: integer
+        name: value
+        unit: h
+        range:
+          min: 0
+          max: 23
+  - entity: number
+    name: Night end
+    category: config
+    icon: "mdi:weather-sunset-up"
+    dps:
+      - id: 10
+        type: integer
+        name: value
+        unit: h
+        range:
+          min: 0
+          max: 23
+  - entity: sensor
+    name: Compressor operating frequency
+    class: frequency
+    category: diagnostic
+    dps:
+      - id: 16
+        type: integer
+        name: sensor
+        unit: Hz
+        class: measurement
+  - entity: sensor
+    name: Coil temperature
+    class: temperature
+    category: diagnostic
+    dps:
+      - id: 18
+        type: integer
+        name: sensor
+        unit: C
+        class: measurement
+        mapping:
+          - scale: 10
+  - entity: sensor
+    name: Discharge temperature
+    class: temperature
+    category: diagnostic
+    dps:
+      - id: 20
+        type: integer
+        name: sensor
+        unit: C
+        class: measurement
+        mapping:
+          - scale: 10
+  - entity: sensor
+    name: Return temperature
+    class: temperature
+    category: diagnostic
+    dps:
+      - id: 22
+        type: integer
+        name: sensor
+        unit: C
+        class: measurement
+        mapping:
+          - scale: 10
+  - entity: sensor
+    name: Inlet temperature
+    class: temperature
+    category: diagnostic
+    dps:
+      - id: 23
+        type: integer
+        name: sensor
+        unit: C
+        class: measurement
+        mapping:
+          - scale: 10
+  - entity: sensor
+    name: Tank temperature
+    class: temperature
+    category: diagnostic
+    dps:
+      - id: 25
+        type: integer
+        name: sensor
+        unit: C
+        class: measurement
+        mapping:
+          - scale: 10
+  - entity: number
+    name: Boiler temperature
+    category: config
+    icon: "mdi:coolant-temperature"
+    dps:
+      - id: 125
+        type: integer
+        name: value
+        unit: C
+        range:
+          min: 7
+          max: 75