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

Della air conditioner: modify based on PR #3080

This appears close enough to the Sendo Hermes Gold in PR 3080 that it is
almost certainly based on the same control module, perhaps with some model
specific optional behaviour.

Extend the Hermes Gold with the one additional fan mode, and the power limit
entities. Rename "anti frost" to "anti mould", it is likely the original is
also that function (to leave the unit running in dry mode for a while when
it is switched off in high humidity conditions)

Add product details for Sendo device, and rename top level name to be more
generic.
Jason Rumney 11 месяцев назад
Родитель
Сommit
5ac017f74f
1 измененных файлов с 87 добавлено и 3 удалено
  1. 87 3
      custom_components/tuya_local/devices/della_airconditioner.yaml

+ 87 - 3
custom_components/tuya_local/devices/della_airconditioner.yaml

@@ -1,4 +1,8 @@
-name: Della air conditioner
+name: Air conditioner
+products:
+  - id: wxqdp6ecfkd78zzz
+    manufacturer: Sendo
+    model: Hermes Gold
 entities:
 entities:
   - entity: climate
   - entity: climate
     dps:
     dps:
@@ -15,12 +19,14 @@ entities:
                 value: cool
                 value: cool
               - dps_val: hot
               - dps_val: hot
                 value: heat
                 value: heat
+                available: full_heatpump
               - dps_val: wet
               - dps_val: wet
                 value: dry
                 value: dry
               - dps_val: wind
               - dps_val: wind
                 value: fan_only
                 value: fan_only
               - dps_val: auto
               - dps_val: auto
                 value: heat_cool
                 value: heat_cool
+                available: full_heatpump
       - id: 2
       - id: 2
         name: temperature
         name: temperature
         type: integer
         type: integer
@@ -49,6 +55,9 @@ entities:
         name: fan_mode
         name: fan_mode
         type: string
         type: string
         mapping:
         mapping:
+          - dps_val: mute
+            value: "off"
+            available: inverter_model
           - dps_val: low
           - dps_val: low
             value: low
             value: low
           - dps_val: mid
           - dps_val: mid
@@ -69,14 +78,42 @@ entities:
       - id: 19
       - id: 19
         name: temperature_unit
         name: temperature_unit
         type: string
         type: string
+      - id: 33
+        name: swing_horizontal_mode
+        type: boolean
+        optional: true
+        mapping:
+          - dps_val: false
+            value: "off"
+          - dps_val: true
+            value: "on"
       - id: 105
       - id: 105
         name: swing_mode
         name: swing_mode
         type: boolean
         type: boolean
         mapping:
         mapping:
           - dps_val: true
           - dps_val: true
-            value: vertical
+            value: "on"
           - dps_val: false
           - dps_val: false
             value: "off"
             value: "off"
+      - id: 108
+        name: full_heatpump
+        optional: true
+        type: bitfield
+        mapping:
+          # if feature flags are unavailable, make it available
+          - dps_val: null
+            value: true
+          - dps_val: 8
+            value: true
+          - value: false
+      - id: 108
+        name: inverter_model
+        optional: true
+        type: bitfield
+        mapping:
+          - dps_val: 2
+            value: true
+          - value: false
   - entity: switch
   - entity: switch
     name: Emergency heat
     name: Emergency heat
     icon: "mdi:fire"
     icon: "mdi:fire"
@@ -128,12 +165,15 @@ entities:
         type: boolean
         type: boolean
   - entity: switch
   - entity: switch
     name: Clean
     name: Clean
+    icon: "mdi:shimmer"
+    category: config
     dps:
     dps:
       - id: 103
       - id: 103
         name: switch
         name: switch
         type: boolean
         type: boolean
   - entity: switch
   - entity: switch
-    translation_key: anti_frost
+    name: Anti-mould
+    icon: "mdi:water-off"
     category: config
     category: config
     dps:
     dps:
       - id: 104
       - id: 104
@@ -159,3 +199,47 @@ entities:
       - id: 107
       - id: 107
         type: bitfield
         type: bitfield
         name: fault_code
         name: fault_code
+  - entity: number
+    name: Power limit
+    icon: "mdi:meter-electric-outline"
+    category: diagnostic
+    hidden: unavailable
+    dps:
+      - id: 113
+        type: integer
+        name: value
+        optional: true
+        unit: "%"
+        range:
+          min: 30
+          max: 100
+        mapping:
+          - dps_val: null
+            value: 100
+            hidden: true
+      - id: 113
+        type: integer
+        optional: true
+        name: available
+        mapping:
+          - dps_val: null
+            value: false
+          - value: true
+  - entity: switch
+    name: Limit power
+    icon: "mdi:meter-electric-outline"
+    category: diagnostic
+    hidden: unavailable
+    dps:
+      - id: 114
+        type: boolean
+        optional: true
+        name: switch
+      - id: 114
+        type: boolean
+        optional: true
+        name: available
+        mapping:
+          - dps_val: null
+            value: false
+          - value: true