Ver Fonte

Add EuropAce EDH3122A Dehumidifier (#5267)

* Add EuropAce EDH3122A Dehumidifier

* Update europace_edh3122a_dehumidifier.yaml

- Updated product `id`
- Added `translation_key: extended` to extend translations to cover continuous mode
- Used lower case for modes to match translation keys for auto and continuous
- Used `cancel` to match the translation key
- Remove `Persist: false`

* feat(europace_edh3122a_dehumidifier): Changes from review

- remove repetition of name from model
- rename the overly technical "Inside drying" to "Anti-mould" for future translation harmonisation.
- remove category from some sensors

---------

Co-authored-by: Jason Rumney <make-all@users.noreply.github.com>
c1em3ntchua há 2 semanas atrás
pai
commit
345d78153c

+ 184 - 0
custom_components/tuya_local/devices/europace_edh3122a_dehumidifier.yaml

@@ -0,0 +1,184 @@
+name: Dehumidifier
+products:
+  - id: yfozn0xg1gkbmawq
+    manufacturer: EuropAce
+    model: EDH3122A 12L
+entities:
+  - entity: humidifier
+    class: dehumidifier
+    translation_key: extended
+    dps:
+      - id: 1
+        type: boolean
+        name: switch
+      - id: 2
+        type: string
+        name: mode
+        mapping:
+          - dps_val: "0"
+            value: auto
+          - dps_val: "1"
+            value: continuous
+      - id: 3
+        type: integer
+        name: current_humidity
+      - id: 4
+        type: integer
+        name: humidity
+        range:
+          min: 30
+          max: 80
+        mapping:
+          - step: 5
+  - entity: fan
+    dps:
+      - id: 1
+        type: boolean
+        name: switch
+      - id: 6
+        type: string
+        name: speed
+        mapping:
+          - dps_val: "0"
+            value: 100
+          - dps_val: "1"
+            value: 50
+  - entity: lock
+    translation_key: child_lock
+    category: config
+    dps:
+      - id: 7
+        type: boolean
+        name: lock
+  - entity: binary_sensor
+    class: problem
+    category: diagnostic
+    dps:
+      - id: 11
+        type: bitfield
+        name: sensor
+        mapping:
+          - dps_val: 0
+            value: false
+          - value: true
+      - id: 11
+        type: bitfield
+        name: fault_code
+      - id: 11
+        name: description
+        type: bitfield
+        mapping:
+          - dps_val: 0
+            value: OK
+          - dps_val: 1
+            value: "E2: Room temperature sensor fault"
+          - dps_val: 2
+            value: "E1: Coil sensor fault"
+          - dps_val: 4
+            value: "P1: Defrost"
+          - dps_val: 8
+            value: "FL: Tank full"
+          - dps_val: 16
+            value: "LO: Low temperature"
+          - dps_val: 32
+            value: "HI: High temperature"
+  - entity: binary_sensor
+    translation_key: tank_full
+    dps:
+      - id: 11
+        type: bitfield
+        name: sensor
+        mapping:
+          - dps_val: 8
+            value: true
+          - value: false
+  - entity: binary_sensor
+    translation_key: defrost
+    dps:
+      - id: 11
+        type: bitfield
+        name: sensor
+        mapping:
+          - dps_val: 4
+            value: true
+          - value: false
+  - entity: select
+    translation_key: timer
+    category: config
+    dps:
+      - id: 12
+        type: string
+        name: option
+        optional: true
+        mapping:
+          - dps_val: "0"
+            value: "cancel"
+          - dps_val: "1"
+            value: "1h"
+          - dps_val: "2"
+            value: "2h"
+          - dps_val: "3"
+            value: "3h"
+          - dps_val: "4"
+            value: "4h"
+          - dps_val: "5"
+            value: "5h"
+          - dps_val: "6"
+            value: "6h"
+          - dps_val: "7"
+            value: "7h"
+          - dps_val: "8"
+            value: "8h"
+          - dps_val: "9"
+            value: "9h"
+          - dps_val: "10"
+            value: "10h"
+          - dps_val: "11"
+            value: "11h"
+          - dps_val: "12"
+            value: "12h"
+          - dps_val: "13"
+            value: "13h"
+          - dps_val: "14"
+            value: "14h"
+          - dps_val: "15"
+            value: "15h"
+          - dps_val: "16"
+            value: "16h"
+          - dps_val: "17"
+            value: "17h"
+          - dps_val: "18"
+            value: "18h"
+          - dps_val: "19"
+            value: "19h"
+          - dps_val: "20"
+            value: "20h"
+          - dps_val: "21"
+            value: "21h"
+          - dps_val: "22"
+            value: "22h"
+          - dps_val: "23"
+            value: "23h"
+          - dps_val: "24"
+            value: "24h"
+  - entity: sensor
+    translation_key: time_remaining
+    class: duration
+    category: diagnostic
+    dps:
+      - id: 13
+        type: integer
+        name: sensor
+        unit: min
+  - entity: switch
+    name: Anti mould
+    category: config
+    icon: "mdi:hair-dryer"
+    dps:
+      - id: 101
+        type: boolean
+        name: switch
+        optional: true
+        mapping:
+          - dps_val: null
+            value: false