Răsfoiți Sursa

feat (devices): add VT-14N1 air quality monitor

- device is sold in 9-in-1, 14-in-1 and 15-in-1 variants (tuya portal
  info says 9-in-1, 12-in-1, 14-in-1). Difference is the 15 and 14 in
  1 have time and date (does not seem exposed to Tuya, if the config
  is common as seems to be the case from the portal info), and the
  14-in-1 (12-in-1?) is missing the CO sensor.

- Works with pth9bw_airquality config, but that is missing the CO
  sensor, and has an alarm ringtone config that does not apply to this
  device.
Jason Rumney 4 luni în urmă
părinte
comite
f1a09ddd7d
2 a modificat fișierele cu 107 adăugiri și 0 ștergeri
  1. 1 0
      DEVICES.md
  2. 106 0
      custom_components/tuya_local/devices/vt_14n1_airquality.yaml

+ 1 - 0
DEVICES.md

@@ -1088,6 +1088,7 @@ port and password.
 - TOPENS TC196 remote control for gate openers
 - Treatlife 24GHz mmWave human presence sensor
 - Valehaus SYZN119 towel warmer
+- VT-14N1 9-in-1 air quality monitor
 - Weaja WJ-TUYA-S9 gas alarm
 - WeatherStation Pro
 - Wenzhi WZ-100M-W human presence sensor

+ 106 - 0
custom_components/tuya_local/devices/vt_14n1_airquality.yaml

@@ -0,0 +1,106 @@
+name: Air quality monitor
+products:
+  - id: jqwywcbqaa0xucg7
+    model: VT-14N1
+entities:
+  - entity: sensor
+    translation_key: air_quality
+    class: enum
+    dps:
+      - id: 1
+        type: string
+        name: sensor
+        # platform.tuya.com says 6 levels, but device screen only shows 4
+        mapping:
+          - dps_val: level_1
+            value: excellent
+          - dps_val: level_2
+            value: good
+          - dps_val: level_3
+            value: moderate
+          - dps_val: level_4
+            value: poor
+          - dps_val: level_5
+            value: severe
+          - dps_val: level_6
+            value: danger
+  - entity: sensor
+    class: temperature
+    dps:
+      - id: 2
+        type: integer
+        name: sensor
+        class: measurement
+        unit: C
+        mapping:
+          - scale: 10
+  - entity: sensor
+    class: humidity
+    dps:
+      - id: 3
+        type: integer
+        name: sensor
+        unit: "%"
+        class: measurement
+  - entity: sensor
+    class: carbon_dioxide
+    dps:
+      - id: 4
+        type: integer
+        name: sensor
+        unit: ppm
+        class: measurement
+  - entity: sensor
+    name: HCHO
+    class: volatile_organic_compounds
+    dps:
+      - id: 5
+        type: integer
+        name: sensor
+        unit: ugm3
+        class: measurement
+        mapping:
+          - scale: 0.1
+  - entity: sensor
+    class: volatile_organic_compounds
+    dps:
+      - id: 6
+        type: integer
+        name: sensor
+        unit: ugm3
+        class: measurement
+        mapping:
+          - scale: 0.1
+  - entity: sensor
+    class: pm25
+    dps:
+      - id: 7
+        type: integer
+        name: sensor
+        unit: µg/m³
+        class: measurement
+  - entity: sensor
+    class: pm10
+    dps:
+      - id: 9
+        type: integer
+        name: sensor
+        unit: µg/m³
+        class: measurement
+  - entity: sensor
+    class: battery
+    category: diagnostic
+    dps:
+      - id: 22
+        type: integer
+        name: sensor
+        unit: "%"
+        class: measurement
+  - entity: sensor
+    class: carbon_monoxide
+    dps:
+      - id: 101
+        type: integer
+        name: sensor
+        unit: ppm
+        class: measurement