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

added supporting for Cooper&Hunter Nordic Evo Ng AC

Yaroslav Derman 2 лет назад
Родитель
Сommit
ffffdb12f2
2 измененных файлов с 297 добавлено и 0 удалено
  1. 1 0
      DEVICES.md
  2. 296 0
      custom_components/tuya_local/devices/cooper_hunter_air_conditioner.yaml

+ 1 - 0
DEVICES.md

@@ -28,6 +28,7 @@
 
 - Be Cool BC14KL2101F
 - Carson CB PA280
+- Cooper&Hunter Nordic Evo Ng
 - Daizuki heat pump
 - Eberg Cooly C35HD
 - Eberg Qubo Q40HD

+ 296 - 0
custom_components/tuya_local/devices/cooper_hunter_air_conditioner.yaml

@@ -0,0 +1,296 @@
+name: Cooper&Hunter Air Conditioner
+products:
+  - id: a38i3yjbj4b4r9o0
+    name: Cooper&Hunter Nordic Evo Ng
+primary_entity:
+  entity: climate
+  dps:
+    - id: 1
+      name: hvac_mode
+      type: boolean
+      mapping:
+        - dps_val: false
+          value: "off"
+          icon: "mdi:hvac-off"
+        - dps_val: true
+          constraint: mode
+          conditions:
+            - dps_val: auto
+              icon: "mdi:hvac"
+              value: heat_cool
+            - dps_val: cold
+              icon: "mdi:snowflake"
+              value: cool
+            - dps_val: hot
+              icon: "mdi:fire"
+              value: heat
+            - dps_val: wet
+              icon: "mdi:water-off"
+              value: dry
+            - dps_val: wind
+              icon: "mdi:fan"
+              value: fan_only
+
+    - id: 2
+      name: temperature
+      type: integer
+      range:
+        min: 16
+        max: 31
+      mapping:
+        - step: 1
+          constraint: mode
+          conditions:
+            - dps_val: wet
+              invalid: true
+            - dps_val: wind
+              invalid: true
+    - id: 150
+      name: current_temperature
+      type: integer
+      mapping:
+        - scale: 10
+          #step: 5
+    - id: 4
+      name: mode
+      type: string
+      hidden: true
+    - id: 5
+      name: fan_mode
+      type: string
+      mapping:
+        - dps_val: auto
+          value: Auto
+        - dps_val: quiet
+          value: Quiet
+        - dps_val: fan1
+          value: Slow
+        - dps_val: fan2
+          value: Low
+        - dps_val: fan3
+          value: Medium
+        - dps_val: fan4
+          value: High
+        - dps_val: fan5
+          value: Super High
+    - id: 31
+      name: swing_mode
+      type: string
+      mapping:
+        - dps_val: "off"
+          value: "off"
+        - dps_val: "on"
+          value: "on"
+        - dps_val: "angle1" #Topmost
+          value: "Topmost"
+        - dps_val: "angle2" #Top
+          value: "Top"
+        - dps_val: "angle3" #Middle
+          value: "Middle"
+        - dps_val: "angle4" #Down
+          value: "Down"
+        - dps_val: "angle5" #Downmost
+          value: "Downmost"
+    - id: 19
+      name: temperature_unit
+      type: string
+      mapping:
+        - dps_val: f
+          value: F
+        - dps_val: c
+          value: C
+    - id: 17
+      name: humidity # current_humidity is absent
+      type: integer
+      optional: true
+      unit: "%"
+      range:
+        min: 40
+        max: 90
+      mapping:
+        - step: 5
+          constraint: mode
+          conditions:
+            - dps_val: auto
+              invalid: true
+            - dps_val: cold
+              invalid: true
+            - dps_val: hot
+              invalid: true
+            - dps_val: wind
+              invalid: true
+secondary_entities:
+  - entity: switch
+    name: Power
+    category: config
+    icon: "mdi:power"
+    dps:
+      - id: 1
+        name: switch
+        type: boolean
+  - entity: switch
+    name: Eco
+    category: config
+    icon: "mdi:flower"
+    dps:
+      - id: 8
+        name: switch
+        type: boolean
+  - entity: switch
+    name: Dry
+    category: config
+    icon: "mdi:sun-wireless"
+    dps:
+      - id: 9
+        name: switch
+        type: boolean
+        constraint: mode
+        conditions:
+          - dps_val: auto
+            invalid: true
+          - dps_val: wind
+            invalid: true
+          - dps_val: hot
+            invalid: true
+  - entity: switch
+    name: Humidifier/Anion
+    category: config
+    icon: "mdi:sun-wireless"
+    dps:
+      - id: 11
+        name: switch
+        type: boolean
+  - entity: light
+    name: Light
+    category: config
+    class: light
+    icon: "mdi:television-ambient-light"
+    dps:
+      - id: 13
+        name: switch
+        type: boolean
+  - entity: lock
+    name: Child lock
+    category: config
+    icon: "mdi:lock"
+    dps:
+      - id: 14
+        name: lock
+        type: boolean
+  - entity: switch
+    name: Beep
+    category: config
+    icon: "mdi:bell"
+    dps:
+      - id: 16
+        name: switch
+        type: boolean
+  - entity: switch
+    name: Sleep
+    category: config
+    optional: true
+    icon: "mdi:power-sleep"
+    dps:
+      - id: 25
+        name: switch
+        type: boolean
+  - entity: switch
+    name: Health
+    category: config
+    optional: true
+    icon: "mdi:leaf"
+    dps:
+      - id: 26
+        name: switch
+        type: boolean
+  - entity: switch
+    name: Horizontal Swing
+    category: config
+    icon: "mdi:arrow-left-right-bold"
+    dps:
+      - id: 34
+        name: switch
+        type: string
+        mapping:
+          - dps_val: "on"
+            value: true
+          - dps_val: "off"
+            value: false
+  - entity: switch
+    name: Deforest
+    category: config
+    optional: true
+    icon: "mdi:snowflake-off"
+    dps:
+      - id: 181
+        name: switch
+        type: boolean
+  - entity: switch
+    name: 8C Heating
+    category: config
+    optional: true
+    icon: "mdi:numeric-8-circle-outline"
+    dps:
+      - id: 180
+        name: switch
+        type: boolean
+  - entity: sensor
+    name: AC Voltage
+    category: diagnostic
+    class: voltage
+    dps:
+      - id: 104
+        name: sensor
+        type: integer
+        unit: "V"
+        class: measurement
+  - entity: sensor
+    name: AC Current
+    category: diagnostic
+    class: current
+    dps:
+      - id: 106
+        name: sensor
+        type: integer
+        unit: "A"
+        class: measurement
+        force: true
+        mapping:
+          - scale: 10
+  - entity: sensor
+    name: Outdoor Temperature
+    category: diagnostic
+    class: temperature
+    dps:
+      - id: 108
+        name: sensor
+        type: integer
+        unit: "°C"
+        class: measurement
+        mapping:
+          - scale: 10
+  - entity: sensor
+    name: Indoor Temperature
+    category: diagnostic
+    class: temperature
+    dps:
+      - id: 150
+        name: sensor
+        type: integer
+        unit: "°C"
+        class: measurement
+        mapping:
+          - scale: 10
+  - entity: sensor
+    name: Indoor Humidity
+    category: diagnostic
+    class: humidity
+    optional: true
+    dps:
+      - id: 152
+        name: sensor
+        type: integer
+        unit: "%"
+        class: measurement
+        mapping:
+          - scale: 10