Kaynağa Gözat

Arçelik AHPH-MM.. series heat pump yaml file addition (#4200)

* Add files via upload

* Add files via upload

* Update Arçelik_AHPH-MM--_Heat_Pump.yaml

* Update Arçelik_AHPH-MM--_Heat_Pump.yaml

* Update Arçelik_AHPH-MM--_Heat_Pump.yaml

* Update Arçelik_AHPH-MM--_Heat_Pump.yaml

* cleanup (arcelik_ahphmm_comboheatpump): remove duplication

- remove duplication of climate and water_heater features with number and select entities
- allow water_heater to be switched independently of the climate entity
- leave power as a separate switch on the assumption that the device is not accepting multiple set values at once
- follow HA naming convention for remaining sensors
- remove explicit icons where translations already provide one

PR #4200

---------

Co-authored-by: Jason Rumney <make-all@users.noreply.github.com>
Aykut Korkut 1 ay önce
ebeveyn
işleme
02de0c332e

+ 473 - 0
custom_components/tuya_local/devices/arcelik_ahphmm_comboheatpump.yaml

@@ -0,0 +1,473 @@
+name: Combo heat pump
+products:
+  - id: l01fseshej0xmz8x
+    manufacturer: Arçelik
+    model: AHPH-MM
+
+entities:
+  # CLIMATE ENTİTELERİ
+  - entity: climate
+    dps:
+      - id: 1
+        type: boolean
+        name: available
+      - id: 102
+        type: integer
+        name: cool_temperature
+        range:
+          min: 70
+          max: 250
+        mapping:
+          - scale: 10
+            step: 10
+      - id: 103
+        type: integer
+        name: temperature
+        unit: C
+        range:
+          min: 250
+          max: 650
+        mapping:
+          - scale: 10
+            step: 10
+            constraint: hvac_mode
+            conditions:
+              - dps_val: ["cool", "cool_hot_water"]
+                value_redirect: cool_temperature
+                range:
+                  min: 70
+                  max: 250
+              - dps_val: ["auto", "auto_dhw"]
+                value_redirect: auto_temperature
+                range:
+                  min: 70
+                  max: 600
+      - id: 105
+        type: integer
+        optional: true
+        name: auto_temperature
+        range:
+          min: 70
+          max: 600
+        mapping:
+          - scale: 10
+            step: 10
+      - id: 109
+        type: string
+        name: water_off
+        hidden: true
+        mapping:
+          - dps_val: cool
+            value: true
+          - dps_val: heat
+            value: true
+          - dps_val: auto
+            value: true
+          - value: false
+      - id: 109
+        type: string
+        name: water_on
+        hidden: true
+        mapping:
+          - dps_val: cool
+            value: false
+          - dps_val: heat
+            value: false
+          - dps_val: auto
+            value: false
+          - value: true
+      - id: 109
+        type: string
+        name: hvac_mode
+        mapping:
+          - dps_val: cool
+            value: cool
+            available: water_off
+          - dps_val: heat
+            value: heat
+            available: water_off
+          - dps_val: auto
+            value: heat_cool
+            available: water_off
+          - dps_val: hot_water
+            value: "off"
+            available: water_on
+          - dps_val: cool_hot_water
+            value: cool
+            available: water_on
+          - dps_val: heat_hot_water
+            value: heat
+            available: water_on
+          - dps_val: auto_dhw
+            value: heat_cool
+            available: water_on
+      - id: 115
+        type: boolean
+        name: hvac_action
+        mapping:
+          - dps_val: true
+            value: defrosting
+          - value_redirect: actual_hvac_action
+      - id: 117
+        type: boolean
+        name: actual_hvac_action
+        mapping:
+          - dps_val: false
+            value: idle
+          - dps_val: true
+            constraint: hvac_mode
+            conditions:
+              - dps_val: ["cool", "cool_hot_water"]
+                value: cooling
+              - dps_val: ["heat", "heat_hot_water"]
+                value: heating
+              - dps_val: "hot_water"
+                value: idle
+              - dps_val: ["auto", "auto_dhw"]
+                value: null
+      - id: 106
+        type: integer
+        name: current_temperature
+        mapping:
+          - scale: 10
+  # HOTWATER ENTİTELERİ
+  - entity: water_heater
+    translation_key: water_air
+    dps:
+      - id: 1
+        type: boolean
+        name: available
+      - id: 109
+        type: boolean
+        name: operation_mode
+        mapping:
+          - dps_val: hot_water
+            value_redirect: actual_power
+            available: air_off
+          - dps_val: cool
+            value: "off"
+            available: air_cool
+          - dps_val: cool_hot_water
+            value: heat_pump
+            available: air_cool
+          - dps_val: heat
+            value: "off"
+            available: air_heat
+          - dps_val: heat_hot_water
+            value: heat_pump
+            available: air_heat
+          - dps_val: auto
+            value: "off"
+            available: air_auto
+          - dps_val: auto_dhw
+            value: heat_pump
+            available: air_auto
+      - id: 1
+        type: boolean
+        name: actual_power
+        hidden: true
+        mapping:
+          - dps_val: false
+            value: "off"
+          - dps_val: true
+            value: heat_pump
+      - id: 109
+        type: string
+        name: air_off
+        hidden: true
+        mapping:
+          - dps_val: hot_water
+            value: true
+          - value: false
+      - id: 109
+        type: string
+        name: air_cool
+        hidden: true
+        mapping:
+          - dps_val: cool
+            value: true
+          - dps_val: cool_hot_water
+            value: true
+          - value: false
+      - id: 109
+        type: string
+        name: air_heat
+        hidden: true
+        mapping:
+          - dps_val: heat
+            value: true
+          - dps_val: heat_hot_water
+            value: true
+          - value: false
+      - id: 109
+        type: string
+        name: air_auto
+        hidden: true
+        mapping:
+          - dps_val: auto
+            value: true
+          - dps_val: auto_dhw
+            value: true
+          - value: false
+      - id: 104
+        type: integer
+        name: temperature
+        unit: C
+        range:
+          min: 250
+          max: 600
+        mapping:
+          - scale: 10
+            step: 10
+      - id: 108
+        type: integer
+        name: current_temperature
+        mapping:
+          - scale: 10
+      - id: 165
+        type: boolean
+        optional: true
+        name: away_mode
+        mapping:
+          - dps_val: null
+            value: false
+            hidden: true
+  # SWITCH ENTİTELERİ
+  - entity: switch
+    name: Power
+    icon: "mdi:power"
+    category: config
+    dps:
+      - id: 1
+        type: boolean
+        name: switch
+
+  - entity: switch
+    name: Mute
+    icon: "mdi:volume-off"
+    category: config
+    dps:
+      - id: 101
+        type: boolean
+        name: switch
+
+  # BINARY SENSOR ENTİTELERİ
+  - entity: binary_sensor
+    class: problem
+    category: diagnostic
+    dps:
+      - id: 6
+        type: bitfield
+        name: sensor
+        mapping:
+          - dps_val: 0
+            value_redirect: fault_flag
+          - value: true
+      - id: 6
+        type: bitfield
+        name: fault_code
+      - id: 130
+        type: boolean
+        name: fault_flag
+  - entity: binary_sensor
+    class: safety
+    name: Protection Status
+    category: diagnostic
+    dps:
+      - id: 110
+        type: boolean
+        name: sensor
+
+  - entity: binary_sensor
+    class: cold
+    name: Freeze Status
+    category: diagnostic
+    dps:
+      - id: 114
+        type: boolean
+        name: sensor
+
+  - entity: binary_sensor
+    class: running
+    name: Pump Status
+    category: diagnostic
+    dps:
+      - id: 116
+        type: boolean
+        name: sensor
+
+  - entity: sensor
+    name: Outlet temperature
+    class: temperature
+    category: diagnostic
+    dps:
+      - id: 107
+        type: integer
+        name: sensor
+        unit: C
+        class: measurement
+        mapping:
+          - scale: 10
+
+  - entity: sensor
+    name: Ambient temperature
+    class: temperature
+    category: diagnostic
+    dps:
+      - id: 118
+        type: integer
+        name: sensor
+        unit: C
+        class: measurement
+        mapping:
+          - scale: 10
+
+  - entity: sensor
+    name: Disc temperature
+    class: temperature
+    category: diagnostic
+    dps:
+      - id: 119
+        type: integer
+        name: sensor
+        unit: C
+        class: measurement
+        mapping:
+          - scale: 10
+
+  - entity: sensor
+    name: Back temperature
+    class: temperature
+    category: diagnostic
+    dps:
+      - id: 120
+        type: integer
+        name: sensor
+        unit: C
+        class: measurement
+        mapping:
+          - scale: 10
+
+  - entity: sensor
+    name: Indoor temperature
+    class: temperature
+    category: diagnostic
+    dps:
+      - id: 181
+        type: integer
+        name: sensor
+        unit: C
+        class: measurement
+        mapping:
+          - scale: 10
+
+  # DİĞER SENSÖRLER
+  - entity: sensor
+    name: Compressor frequency
+    class: frequency
+    category: diagnostic
+    dps:
+      - id: 121
+        type: integer
+        name: sensor
+        unit: Hz
+        class: measurement
+
+  - entity: sensor
+    name: Main EEV position
+    icon: "mdi:pipe-valve"
+    category: diagnostic
+    dps:
+      - id: 122
+        type: integer
+        name: sensor
+        unit: step
+        class: measurement
+
+  - entity: sensor
+    name: Auxiliary EEV position
+    icon: "mdi:pipe-valve"
+    category: diagnostic
+    dps:
+      - id: 123
+        type: integer
+        name: sensor
+        unit: step
+        class: measurement
+
+  - entity: sensor
+    name: AC fan
+    icon: "mdi:fan-auto"
+    class: enum
+    category: diagnostic
+    dps:
+      - id: 124
+        type: string
+        name: sensor
+        mapping:
+          - dps_val: close
+            value: "off"
+          - dps_val: low_spd
+            value: "low"
+          - dps_val: high_spd
+            value: "high"
+
+  - entity: sensor
+    name: DC fan 1 speed
+    icon: "mdi:fan-speed-1"
+    category: diagnostic
+    dps:
+      - id: 125
+        type: integer
+        name: sensor
+        unit: RPM
+        class: measurement
+
+  - entity: sensor
+    name: DC fan 2 speed
+    icon: "mdi:fan-speed-2"
+    category: diagnostic
+    dps:
+      - id: 126
+        type: integer
+        name: sensor
+        unit: RPM
+        class: measurement
+
+  - entity: sensor
+    class: volume_flow_rate
+    category: diagnostic
+    dps:
+      - id: 127
+        type: integer
+        name: sensor
+        unit: m³/h
+        class: measurement
+        mapping:
+          - scale: 10
+
+  - entity: sensor
+    class: voltage
+    name: AC voltage
+    category: diagnostic
+    dps:
+      - id: 128
+        type: integer
+        optional: true
+        name: sensor
+        unit: V
+        class: measurement
+
+  - entity: sensor
+    class: current
+    name: AC current
+    category: diagnostic
+    dps:
+      - id: 129
+        type: integer
+        optional: true
+        name: sensor
+        unit: A
+        class: measurement
+        mapping:
+          - scale: 10