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

feat(devices): Another version of De'Longhi Pinguino A/C

Differences with pinguino_portable_airconditioner:
 - this one supports heat mode
 - slightly wider temperature range
 - there is no direct swing mode, but there is a "remote" command that
   lets you toggle oscillate, turn on silent mode as well as control
   some of the other functions in a push-buttony way
 - there is an undocumented timer/schedule function

Issue #5644
Jason Rumney 21 часов назад
Родитель
Сommit
3a70053a6a

+ 180 - 0
custom_components/tuya_local/devices/delonghi_pinguino_airconditioner.yaml

@@ -0,0 +1,180 @@
+name: Portable air conditioner
+products:
+  - id: KzuG6E0LBir4AwXE
+    manufacturer: De'Longhi
+    model: Pinguino
+    model_id: PACEL276HGRFK
+entities:
+  - entity: climate
+    dps:
+      - id: 1
+        type: boolean
+        name: hvac_mode
+        mapping:
+          - dps_val: false
+            value: "off"
+          - dps_val: true
+            constraint: set_mode
+            conditions:
+              - dps_val: "0"
+                value: heat
+              - dps_val: "1"
+                value: dry
+              - dps_val: "2"
+                value: cool
+              - dps_val: "3"
+                value: fan_only
+              - dps_val: "4"
+                value: heat_cool
+      - id: 5
+        type: string
+        name: set_mode
+        hidden: true
+      - id: 6
+        type: integer
+        name: temperature
+        range:
+          min: 13
+          max: 32
+        mapping:
+          - constraint: temperature_unit
+            conditions:
+              - dps_val: true
+                range:
+                  min: 55
+                  max: 90
+      - id: 8
+        type: string
+        name: fan_mode
+        mapping:
+          - dps_val: "0"
+            value: auto
+          - dps_val: "1"
+            value: low
+          - dps_val: "2"
+            value: medium
+          - dps_val: "3"
+            value: high
+      - id: 21
+        type: boolean
+        name: temperature_unit
+        mapping:
+          - dps_val: true
+            value: F
+          - value: C
+  - entity: binary_sensor
+    class: problem
+    category: diagnostic
+    dps:
+      - id: 15
+        type: bitfield
+        name: sensor
+        mapping:
+          - dps_val: 0
+            value: false
+          - dps_val: 2
+            value: false
+          - value: true
+      - id: 15
+        type: bitfield
+        name: fault_code
+  - entity: binary_sensor
+    translation_key: tank_full
+    dps:
+      - id: 15
+        type: bitfield
+        name: sensor
+        mapping:
+          - dps_val: 2
+            value: true
+          - value: false
+  - entity: sensor
+    name: Comfort level
+    class: enum
+    category: diagnostic
+    dps:
+      - id: 20
+        type: string
+        name: sensor
+        mapping:
+          - dps_val: "0"
+            value: uncomfortable
+          - dps_val: "1"
+            value: blue
+          - dps_val: "2"
+            value: green
+          - dps_val: "3"
+            value: yellow
+  - entity: select
+    translation_key: temperature_unit
+    category: config
+    dps:
+      - id: 21
+        type: boolean
+        name: option
+        mapping:
+          - dps_val: false
+            value: celsius
+          - dps_val: true
+            value: fahrenheit
+  - entity: text
+    translation_key: schedule
+    category: config
+    hidden: true
+    dps:
+      - id: 23
+        type: string
+        name: value
+  - entity: select
+    name: Command
+    icon: "mdi:remote"
+    category: config
+    hidden: true
+    dps:
+      - id: 24
+        type: string
+        optional: true
+        persist: false
+        name: option
+        mapping:
+          - dps_val: "0"
+            value: "off"
+          - dps_val: "1"
+            value: "on"
+          - dps_val: "2"
+            value: mode
+          - dps_val: "3"
+            value: fan_speed
+          - dps_val: "4"
+            value: temperature_up
+          - dps_val: "5"
+            value: temperature_down
+          - dps_val: "6"
+            value: silent
+          - dps_val: "7"
+            value: oscillation
+  # Functions not available outside the remote control dp
+  - entity: button
+    name: Silent
+    icon: "mdi:sleep"
+    category: config
+    dps:
+      - id: 24
+        type: string
+        optional: true
+        name: button
+        mapping:
+          - dps_val: "6"
+            value: true
+  - entity: button
+    name: Oscillation
+    icon: "mdi:rotate-3d-variant"
+    category: config
+    dps:
+      - id: 24
+        type: string
+        optional: true
+        name: button
+        mapping:
+          - dps_val: "7"
+            value: true