Kaynağa Gözat

feat (devices): add support for Airwoods AV-EW8/DF HRV

- compatible with Arida, but with humidity control instead of CO2 control.
- current temperature does not always seem to be reported (not sure if
  this will also be the case for the Arida).

Issue #3804
Jason Rumney 3 ay önce
ebeveyn
işleme
a40c24a039

+ 1 - 1
ACKNOWLEDGEMENTS.md

@@ -731,7 +731,7 @@ Further device support has been made with the assistance of users. Please consid
 - [Thommav](https://github.com/Thommav) for assisting with support for ZPmeter 214C water meter.
 - [Esp32-zapper](https://github.com/Esp32-zapper) for assisting with support for HunterTBK video doorbell.
 - [masfernandez](https://github.com/masfernandez) for assisting with support for Create Warm Towel Advance bathroom heater.
-- [Smandurlo](https://github.com/Smandurlo) for assisting with support for Klarstein Amazonia dishwasher and Weaja gas alarm.
+- [Smandurlo](https://github.com/Smandurlo) for assisting with support for Klarstein Amazonia dishwasher, Weaja gas alarm, Airwoods AV-EW8/DF HRV.
 - [ChrisDes](https://github.com/ChrisDes) for assisting with support for Raykube A1 Pro Max clip-over door lock.
 - [pimpalaputty](https://github.com/pimpalaputty) for contributing support for AFYEEV 16A EV charger.
 - [SimonAnnetts](https://github.com/SimonAnnetts) for contributing support for Solar Grid/Smart GTB series solar inverters.

+ 1 - 0
DEVICES.md

@@ -252,6 +252,7 @@
 - generic 5-speed fan controller (HomeMate, Conbre)
 - 3A Nue 3 speed fan and light controller
 - Aeratron AE3+ ceiling fan (may match other Aeratron models with same WiFi module)
+- Airwoods AV-EW8/DF heat recovery ventilation with humidity control
 - Amico 52" ceiling fan with light
 - Anko HEGSM40 fan
 - Arida Venti 160 small through-wall heat-recovery ventilation fan

+ 162 - 0
custom_components/tuya_local/devices/airwoods_avew8df_hrv.yaml

@@ -0,0 +1,162 @@
+name: Ventilation
+products:
+  - id: ycmsi0gq6qfa9zm3
+    manufacturer: Airwoods
+    model: AV-EW8/DF
+entities:
+  - entity: fan
+    dps:
+      - id: 1
+        type: boolean
+        name: switch
+      - id: 2
+        type: string
+        name: preset_mode
+        mapping:
+          - dps_val: supply
+            value: fresh
+          - dps_val: exhaust
+            value: extractor
+          - dps_val: ventilate
+            value: heat_recovery
+      - id: 3
+        type: integer
+        name: speed
+        range:
+          min: 1
+          max: 3
+  - entity: switch
+    translation_key: ionizer
+    category: config
+    dps:
+      - id: 9
+        type: boolean
+        name: switch
+  - entity: light
+    translation_key: indicator
+    category: config
+    dps:
+      - id: 15
+        type: boolean
+        name: switch
+  - entity: climate
+    name: Free cooling
+    dps:
+      - id: 102
+        type: boolean
+        name: hvac_mode
+        mapping:
+          - dps_val: false
+            value: "off"
+          - dps_val: true
+            value: fan_only
+      - id: 20
+        type: integer
+        name: temperature
+        unit: C
+        range:
+          min: 10
+          max: 29
+      - id: 21
+        type: integer
+        optional: true
+        name: current_temperature
+  - entity: select
+    translation_key: timer
+    category: config
+    dps:
+      - id: 22
+        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"
+  - entity: sensor
+    translation_key: time_remaining
+    class: duration
+    category: diagnostic
+    dps:
+      - id: 23
+        type: integer
+        name: sensor
+        unit: min
+  - entity: binary_sensor
+    class: problem
+    category: diagnostic
+    dps:
+      - id: 24
+        type: bitfield
+        optional: true
+        name: sensor
+        mapping:
+          - dps_val: 0
+            value: false
+          - dps_val: null
+            value: false
+          - value: true
+      - id: 24
+        type: bitfield
+        optional: true
+        name: fault_code
+  - entity: binary_sensor
+    translation_key: connectivity
+    category: diagnostic
+    dps:
+      - id: 101
+        type: boolean
+        name: sensor
+  - entity: humidifier
+    class: dehumidifier
+    name: Humidity control
+    dps:
+      - id: 103
+        type: boolean
+        name: switch
+      - id: 104
+        type: integer
+        name: humidity
+        range:
+          min: 40
+          max: 95
+      - id: 105
+        type: integer
+        name: current_humidity
+  - entity: binary_sensor
+    name: Filter change
+    class: problem
+    category: diagnostic
+    dps:
+      - id: 106
+        type: boolean
+        name: sensor
+  - entity: switch
+    name: Boost
+    icon: "mdi:rocket-launch"
+    dps:
+      - id: 107
+        type: boolean
+        name: switch

+ 1 - 1
custom_components/tuya_local/manifest.json

@@ -18,5 +18,5 @@
         "tinytuya==1.17.4",
         "tuya-device-sharing-sdk~=0.2.1"
     ],
-    "version": "2025.10.0"
+    "version": "2025.10.1"
 }