Forráskód Böngészése

Add support for ITS 4.5HD super pool heatpump.

Issue #866
Jason Rumney 2 éve
szülő
commit
0000855846

+ 1 - 0
ACKNOWLEDGEMENTS.md

@@ -322,3 +322,4 @@ Further device support has been made with the assistance of users.  Please consi
 - [jafar-atili](https://github.com/jafar-atili) for contributing improvements to Lytmi Fantasy 3 HDMI sync backlights.
 - [samgalagher](https://github.com/samgalagher) for contributing support for Yinmik WF-3188 water quality monitors.
 - [tariya-garker](https://github.com/tariya-garker) for assitance with support for Royal Clima RCB 150 ventilation systems.
+- [nicopret1](https://github.com/nicopret1) for assistance with support for ITS-4.5HD super pool heatpumps.

+ 1 - 0
DEVICES.md

@@ -59,6 +59,7 @@
 - Fairland IPHCR15 pool heatpump (matches others above, but allows control of heat/cool modes while others seem to be fixed to auto only)
 - Garden PAC pool heatpump (also works with Summerwave Si Series)
 - IPS Pro pool-systems heatpump (seems to match Fairland Inver-X as well)
+- ITS-4.5HD super pool heatpump
 - Madimack Elite V3 pool heatpump
 - Madimack(model unknown) pool heatpump (seems to match Fairland IPH45 as well)
 - Poolex Silverline, Q-7, Q-line and Vertigo heatpumps

+ 283 - 0
custom_components/tuya_local/devices/its_45hd_heatpump.yaml

@@ -0,0 +1,283 @@
+name: Heat pump
+products:
+  - id: hqegspadimukzmll
+    name: ITS-4.5HD super
+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: HEAT
+              value: heat
+    - id: 2
+      type: string
+      name: mode
+      hidden: true
+    - id: 4
+      type: integer
+      name: temperature
+      range:
+        min: 15
+        max: 75
+      unit: C
+    - id: 14
+      type: integer
+      name: EEV
+    - id: 15
+      type: bitfield
+      name: fault_code
+    - id: 17
+      type: string
+      name: hvac_action
+      mapping:
+        - dps_val: normal
+          constraint: four_valve_state
+          conditions:
+            - dps_val: false
+              value: heating
+            - dps_val: true
+              value: cooling
+        - dps_val: ERR
+          value: "off"
+        - dps_val: "NO"
+          constraint: hvac_mode
+          conditions:
+            - dps_val: true
+              value: idle
+            - dps_val: false
+              value: "off"
+    - id: 20
+      type: integer
+      name: compressor_strength
+    - id: 26
+      type: integer
+      name: current_temperature
+    - id: 28
+      type: boolean
+      name: four_valve_state
+      hidden: true
+    - id: 32
+      type: boolean
+      name: aux_heat
+      readonly: true
+    - id: 40
+      type: integer
+      name: model_code
+    - id: 108
+      type: boolean
+      name: dipswitch_1
+    - id: 109
+      type: boolean
+      name: dipswitch_2
+secondary_entities:
+  - entity: switch
+    name: Defrost
+    icon: "mdi:snowflake"
+    category: config
+    dps:
+      - id: 7
+        type: boolean
+        name: switch
+  - entity: binary_sensor
+    name: Fault
+    class: problem
+    category: diagnostic
+    dps:
+      - id: 15
+        type: bitfield
+        name: sensor
+        mapping:
+          - dps_val: 0
+            value: false
+          - value: true
+  - entity: sensor
+    name: Energy today
+    category: diagnostic
+    dps:
+      - id: 18
+        type: integer
+        name: sensor
+        unit: kWh
+        mapping:
+          - scale: 100
+  - entity: sensor
+    name: Water flow
+    class: enum
+    category: diagnostic
+    dps:
+      - id: 19
+        type: string
+        name: sensor
+        mapping:
+          - dps_val: "OFF"
+            value: "Off"
+          - dps_val: LOW
+            value: Low
+          - dps_val: High
+            value: High
+      - id: 107
+        type: boolean
+        name: valve
+  - entity: sensor
+    name: Inlet temperature
+    class: temperature
+    category: diagnostic
+    dps:
+      - id: 21
+        type: integer
+        name: sensor
+        unit: C
+        class: measurement
+  - entity: sensor
+    name: Outlet temperature
+    class: temperature
+    category: diagnostic
+    dps:
+      - id: 22
+        type: integer
+        name: sensor
+        unit: C
+        class: measurement
+  - entity: sensor
+    name: Coil temperature
+    class: temperature
+    category: diagnostic
+    dps:
+      - id: 23
+        type: integer
+        name: sensor
+        unit: C
+        class: measurement
+  - entity: sensor
+    name: Exhaust temperature
+    class: temperature
+    category: diagnostic
+    dps:
+      - id: 24
+        type: integer
+        name: sensor
+        unit: C
+        class: measurement
+  - entity: binary_sensor
+    name: Compressor
+    class: running
+    category: diagnostic
+    dps:
+      - id: 27
+        type: boolean
+        name: sensor
+  - entity: binary_sensor
+    name: Low pressure valve
+    class: opening
+    icon: "mdi:valve"
+    category: diagnostic
+    dps:
+      - id: 29
+        type: boolean
+        name: sensor
+  - entity: binary_sensor
+    name: Chorination
+    category: diagnostic
+    dps:
+      - id: 30
+        type: boolean
+        name: sensor
+  - entity: binary_sensor
+    name: Water pump
+    class: running
+    category: diagnostic
+    dps:
+      - id: 31
+        type: boolean
+        name: sensor
+  - entity: binary_sensor
+    name: High pressure valve
+    class: opening
+    icon: "mdi:valve"
+    category: diagnostic
+    dps:
+      - id: 33
+        type: boolean
+        name: sensor
+  - entity: sensor
+    name: Time since defrost
+    class: duration
+    category: diagnostic
+    dps:
+      - id: 41
+        type: integer
+        name: sensor
+        unit: min
+  - entity: sensor
+    name: Current
+    class: current
+    category: diagnostic
+    dps:
+      - id: 101
+        type: integer
+        name: sensor
+        unit: A
+        class: measurement
+        mapping:
+          - scale: 1000
+  - entity: sensor
+    name: Voltage
+    class: voltage
+    category: diagnostic
+    dps:
+      - id: 102
+        type: integer
+        name: sensor
+        unit: V
+        class: measurement
+        mapping:
+          - scale: 10
+  - entity: sensor
+    name: Power
+    class: power
+    category: diagnostic
+    dps:
+      - id: 103
+        type: integer
+        name: sensor
+        unit: W
+        class: measurement
+        mapping:
+          - scale: 10
+  - entity: sensor
+    name: Energy
+    class: energy
+    category: diagnostic
+    dps:
+      - id: 104
+        type: integer
+        name: sensor
+        unit: kWh
+        class: total_increasing
+        mapping:
+          - scale: 100
+  - entity: binary_sensor
+    name: Electricity monitor
+    class: power
+    category: diagnostic
+    dps:
+      - id: 105
+        type: boolean
+        name: sensor
+  - entity: binary_sensor
+    name: Linkage
+    class: connectivity
+    category: diagnostic
+    dps:
+      - id: 106
+        type: boolean
+        name: sensor