Explorar el Código

feat(devices): add Breville Smart Mist Top humidifier

Like Wilfa Haze, but different modes and a couple more dps.

Issue #5870
Jason Rumney hace 1 día
padre
commit
fd77917630

+ 1 - 1
DEVICES.md

@@ -605,7 +605,7 @@
 - AlecoAir PU55 Humino humidifier
 - Arida Eva humidifier
 - BlitzWolf BW-SH2, BW-SH5 humidifiers
-- Breville Smart Mist Glow Connect humidifier
+- Breville Smart Mist Glow Connect and Smart Mist Top humidifiers
 - Carro VES1011 humidifier
 - Clean Air Optima CA-604B, CA-605B, CA-607B humidifiers
 - Clofte Duo 400 humidifier

+ 214 - 0
custom_components/tuya_local/devices/breville_smartmisttop_humidifier.yaml

@@ -0,0 +1,214 @@
+name: Humidifier
+products:
+  - id: 6pxoqf0qpaxqtpj3
+    manufacturer: Breville
+    model: Smart Mist Top
+    model_id: LAH508
+entities:
+  - entity: humidifier
+    class: humidifier
+    dps:
+      - id: 1
+        name: switch
+        type: boolean
+      - id: 13
+        name: humidity
+        type: integer
+        range:
+          min: 30
+          max: 95
+        mapping:
+          - step: 5
+      - id: 14
+        type: integer
+        name: current_humidity
+      - id: 24
+        type: string
+        name: mode
+        mapping:
+          - dps_val: auto
+            value: auto
+          - dps_val: adjust_speed
+            value: Auto speed
+          - dps_val: adjust_humi
+            value: Auto humidity
+          - dps_val: manual
+            value: manual
+      - id: 101
+        type: boolean
+        name: action
+        mapping:
+          - dps_val: false
+            value: humidifying
+          - dps_val: true
+            value: idle
+  - entity: fan
+    dps:
+      - id: 1
+        name: switch
+        type: boolean
+      - id: 23
+        type: string
+        name: speed
+        mapping:
+          - dps_val: level_1
+            value: 20
+          - dps_val: level_2
+            value: 40
+          - dps_val: level_3
+            value: 60
+          - dps_val: level_4
+            value: 80
+          - dps_val: level_5
+            value: 100
+  - entity: light
+    translation_key: ambient_light
+    category: config
+    dps:
+      - id: 5
+        type: boolean
+        name: switch
+        mapping:
+          - dps_val: true
+            icon: "mdi:led-on"
+          - dps_val: false
+            icon: "mdi:led-off"
+  - entity: switch
+    translation_key: sound
+    category: config
+    dps:
+      - id: 8
+        name: switch
+        type: boolean
+  - entity: sensor
+    class: temperature
+    dps:
+      - id: 10
+        name: sensor
+        type: integer
+        class: measurement
+        mapping:
+          - constraint: unit
+            conditions:
+              - dps_val: f
+                value_redirect: temp_f
+      - id: 18
+        name: unit
+        type: string
+        mapping:
+          - dps_val: f
+            value: F
+          - value: C
+      - id: 12
+        type: integer
+        name: temp_f
+  - entity: light
+    translation_key: display
+    category: config
+    dps:
+      - id: 16
+        type: boolean
+        name: switch
+        mapping:
+          - dps_val: true
+            value: false
+          - dps_val: false
+            value: true
+  - entity: select
+    category: config
+    translation_key: temperature_unit
+    dps:
+      - id: 18
+        name: option
+        type: string
+        mapping:
+          - dps_val: c
+            value: celsius
+          - dps_val: f
+            value: fahrenheit
+  - entity: select
+    translation_key: timer
+    category: config
+    dps:
+      - id: 19
+        name: option
+        type: string
+        mapping:
+          - dps_val: cancel
+            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"
+  - entity: sensor
+    translation_key: time_remaining
+    class: duration
+    category: diagnostic
+    dps:
+      - id: 20
+        type: integer
+        name: sensor
+        unit: min
+        class: measurement
+  - entity: switch
+    name: Heat
+    category: config
+    icon: "mdi:air-purifier"
+    dps:
+      - id: 26
+        name: switch
+        type: boolean
+  - entity: switch
+    translation_key: ionizer
+    category: config
+    dps:
+      - id: 35
+        name: switch
+        type: boolean
+  - entity: binary_sensor
+    translation_key: tank_empty
+    category: diagnostic
+    dps:
+      - id: 22
+        type: bitfield
+        name: sensor
+        mapping:
+          - dps_val: 1
+            value: true
+          - value: false
+  - entity: binary_sensor
+    class: problem
+    category: diagnostic
+    dps:
+      - id: 22
+        type: bitfield
+        name: sensor
+        mapping:
+          - dps_val: 0
+            value: false
+          - dps_val: 1
+            value: false
+          - value: true
+      - id: 22
+        type: bitfield
+        name: fault_code