浏览代码

Add Vibrix PureFlow30 air purifier (#6308)

Adds a config for the Vibrix PureFlow30 air purifier (product id
`igqljfdcj6hwjjir`).

Entities:
- fan (`air_purifier`): power (dp 1), preset modes
auto/sleep/low/medium/high/strong (dp 3; device `mid` → `medium`,
`turbo` → `strong`)
- PM2.5 sensor (dp 2)
- filter life sensor (dp 5)
- ionizer switch (dp 6)
- child lock (dp 7)
- backlight light (dp 8)
- timer select, cancel/1h–5h (dp 18)

All dps are present in the LOCAL DPS log, so none are marked optional.
`yamllint` passes and `duplicates` reports no matches.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
ozgurclcc 14 小时之前
父节点
当前提交
4124ed61ff
共有 2 个文件被更改,包括 87 次插入 和 0 次删除
  1. 1 0
      DEVICES.md
  2. 86 0
      custom_components/tuya_local/devices/vibrix_pureflow30_airpurifier.yaml

+ 1 - 0
DEVICES.md

@@ -545,6 +545,7 @@
 - TrueLife P3 and P7 air purifiers
 - TrueLife P3 and P7 air purifiers
 - Vephos True air purifier
 - Vephos True air purifier
 - Vestfrost VP-A1Z40HW air purifier
 - Vestfrost VP-A1Z40HW air purifier
+- Vibrix PureFlow30 air purifier
 - Vork VK6067AW air purifier
 - Vork VK6067AW air purifier
 - Webber AP9750 and APG7800 air purifiers
 - Webber AP9750 and APG7800 air purifiers
 
 

+ 86 - 0
custom_components/tuya_local/devices/vibrix_pureflow30_airpurifier.yaml

@@ -0,0 +1,86 @@
+name: Air purifier
+products:
+  - id: igqljfdcj6hwjjir
+    manufacturer: Vibrix
+    model: PureFlow30
+entities:
+  - entity: fan
+    translation_key: air_purifier
+    dps:
+      - id: 1
+        type: boolean
+        name: switch
+      - id: 3
+        type: string
+        name: preset_mode
+        mapping:
+          - dps_val: auto
+            value: auto
+          - dps_val: sleep
+            value: sleep
+          - dps_val: low
+            value: low
+          - dps_val: mid
+            value: medium
+          - dps_val: high
+            value: high
+          - dps_val: turbo
+            value: strong
+  - entity: sensor
+    class: pm25
+    dps:
+      - id: 2
+        type: integer
+        name: sensor
+        unit: ugm3
+        class: measurement
+  - entity: sensor
+    translation_key: filter_life
+    category: diagnostic
+    dps:
+      - id: 5
+        type: integer
+        name: sensor
+        unit: "%"
+        class: measurement
+  - entity: switch
+    translation_key: ionizer
+    category: config
+    dps:
+      - id: 6
+        type: boolean
+        name: switch
+  - entity: lock
+    translation_key: child_lock
+    category: config
+    dps:
+      - id: 7
+        type: boolean
+        name: lock
+  - entity: light
+    translation_key: backlight
+    category: config
+    dps:
+      - id: 8
+        type: boolean
+        name: switch
+  - entity: select
+    translation_key: timer
+    category: config
+    dps:
+      - id: 18
+        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"