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

feat(devices): Add Olimpia Splendid Unico Pro air conditioner (#5564)

* feat(devices): Add Olimpia Splendid Unico Pro air conditioner

* renaming and consolidation

- rename file to follow brand_model_type convention
- merge eco switch into climate as preset_mode
- default temperature unit to C to avoid any situation where the unit can be unset and cause error messages in the HA log

---------

Co-authored-by: Jason Rumney <make-all@users.noreply.github.com>
Andrei Don 1 неделя назад
Родитель
Сommit
2e85832fca
1 измененных файлов с 143 добавлено и 0 удалено
  1. 143 0
      custom_components/tuya_local/devices/olimpiasplendid_unicopro_airconditioner.yaml

+ 143 - 0
custom_components/tuya_local/devices/olimpiasplendid_unicopro_airconditioner.yaml

@@ -0,0 +1,143 @@
+name: Air conditioner
+products:
+  - id: fzawbjqmucsvttvc
+    manufacturer: Olimpia Splendid
+    model: Unico Pro
+entities:
+  - entity: climate
+    translation_key: aircon_extra
+    dps:
+      - id: 1
+        type: boolean
+        name: hvac_mode
+        mapping:
+          - dps_val: false
+            value: "off"
+          - dps_val: true
+            constraint: mode
+            conditions:
+              - dps_val: auto
+                value: heat_cool
+              - dps_val: cool
+                value: cool
+              - dps_val: dehum
+                value: dry
+              - dps_val: fan
+                value: fan_only
+              - dps_val: heat
+                value: heat
+      - id: 2
+        type: integer
+        name: temperature
+        range:
+          min: 16
+          max: 32
+        mapping:
+          - constraint: temperature_unit
+            conditions:
+              - dps_val: f
+                value_redirect: temp_set_f
+                range:
+                  min: 60
+                  max: 90
+      - id: 3
+        type: integer
+        name: current_temperature
+        mapping:
+          - constraint: temperature_unit
+            conditions:
+              - dps_val: f
+                value_redirect: temp_current_f
+      - id: 4
+        type: string
+        name: mode
+        hidden: true
+      - id: 5
+        type: string
+        name: fan_mode
+        mapping:
+          - dps_val: auto
+            value: auto
+          - dps_val: low
+            value: low
+          - dps_val: middle
+            value: medium
+          - dps_val: high
+            value: high
+      - id: 15
+        type: string
+        name: swing_mode
+        mapping:
+          - dps_val: "OFF"
+            value: "off"
+          - dps_val: "ON"
+            value: "on"
+      - id: 19
+        type: string
+        name: temperature_unit
+        mapping:
+          - dps_val: f
+            value: F
+          - value: C
+      - id: 24
+        type: integer
+        name: temp_set_f
+        hidden: true
+        optional: true
+        range:
+          min: 60
+          max: 90
+      - id: 115
+        type: integer
+        name: temp_current_f
+        hidden: true
+        optional: true
+      - id: 8
+        type: boolean
+        name: preset_mode
+        mapping:
+          - dps_val: true
+            value: eco
+          - dps_val: false
+            value: comfort
+  - entity: light
+    translation_key: display
+    category: config
+    dps:
+      - id: 36
+        type: boolean
+        name: switch
+        optional: true
+  - entity: switch
+    translation_key: sleep
+    category: config
+    dps:
+      - id: 25
+        type: boolean
+        name: switch
+  - entity: select
+    translation_key: temperature_unit
+    category: config
+    dps:
+      - id: 19
+        type: string
+        name: option
+        mapping:
+          - dps_val: c
+            value: celsius
+          - dps_val: f
+            value: fahrenheit
+  - entity: binary_sensor
+    class: problem
+    category: diagnostic
+    dps:
+      - id: 22
+        type: bitfield
+        name: sensor
+        mapping:
+          - dps_val: 0
+            value: false
+          - value: true
+      - id: 22
+        type: bitfield
+        name: fault_code