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

Add support for flymoon humidifier with all controls (#5608)

* Add support for flymoon humidifier with all controls

* Tuya-local's tests want it to use  and not

* Updates to flymoon humidifier yaml

* Updates to flymoon humidifier product id

* Added flymoon humidifier to supported device list

* Naming tweaks and default value for tank sensor

- avoid all caps manufacturer name
- don't repeat device type in model
- don't override icon of sleep switch
- add default value for tank_empty sensor

---------

Co-authored-by: Jason Rumney <make-all@users.noreply.github.com>
Tanner Meade 2 дней назад
Родитель
Сommit
717b8b26aa
2 измененных файлов с 105 добавлено и 0 удалено
  1. 1 0
      DEVICES.md
  2. 104 0
      custom_components/tuya_local/devices/flymoon_5l_humidifier.yaml

+ 1 - 0
DEVICES.md

@@ -600,6 +600,7 @@
 - Eanons QT-JS2014 purifying humidifier
 - Eberg HUMI H03G1 humidifier
 - Eta Noble humidifier
+- Flymoon Top Fill 5L Cool Mist Humidifier
 - Homvana H111S humidifier
 - Inkbird IHC-200 humidity controller
 - Klarta Humea and Humea Grande humidifiers

+ 104 - 0
custom_components/tuya_local/devices/flymoon_5l_humidifier.yaml

@@ -0,0 +1,104 @@
+name: Humidifier
+products:
+  - id: w1na5rczyvflglvn
+    manufacturer: Flymoon
+    model: Top Fill 5L Cool Mist
+
+entities:
+  # Main humidifier (power + target humidity)
+  - entity: humidifier
+    class: humidifier
+    dps:
+      - id: 1
+        type: boolean
+        name: switch
+      - id: 13
+        type: integer
+        name: humidity
+        range:
+          min: 30
+          max: 90
+        mapping:
+          - step: 5
+      - id: 14
+        type: integer
+        name: current_humidity
+      # Mist level
+      - id: 3
+        type: string
+        name: mode
+        mapping:
+          - dps_val: small
+            value: eco
+          - dps_val: middle
+            value: normal
+          - dps_val: large
+            value: boost
+
+  # Sleep mode
+  - entity: switch
+    translation_key: sleep
+    category: config
+    dps:
+      - id: 16
+        type: boolean
+        name: switch
+
+  # Timer
+  - entity: select
+    translation_key: timer
+    category: config
+    dps:
+      - id: 19
+        type: string
+        name: option
+        mapping:
+          - dps_val: cancel
+            value: "cancel"
+          - dps_val: 1h
+            value: "1h"
+          - dps_val: 2h
+            value: "2h"
+          - dps_val: 3h
+            value: "3h"
+          - dps_val: 4h
+            value: "4h"
+          - dps_val: 5h
+            value: "5h"
+          - dps_val: 6h
+            value: "6h"
+          - dps_val: 7h
+            value: "7h"
+          - dps_val: 8h
+            value: "8h"
+          - dps_val: 9h
+            value: "9h"
+          - dps_val: 10h
+            value: "10h"
+          - dps_val: 11h
+            value: "11h"
+          - dps_val: 12h
+            value: "12h"
+
+  # Remaining countdown time
+  - entity: sensor
+    translation_key: time_remaining
+    class: duration
+    category: diagnostic
+    dps:
+      - id: 20
+        type: integer
+        name: sensor
+        unit: min
+
+  # Water shortage alarm
+  - entity: binary_sensor
+    translation_key: tank_empty
+    dps:
+      - id: 22
+        type: bitfield
+        name: sensor
+        mapping:
+          - dps_val: 1
+            value: true
+          - value: false