Ver código fonte

Add support for iHome AutoVac Nova vacuum cleaner

Issue #1660
Jason Rumney 1 ano atrás
pai
commit
d619caecff

+ 1 - 0
ACKNOWLEDGEMENTS.md

@@ -513,3 +513,4 @@ Further device support has been made with the assistance of users. Please consid
 - [nk00li](https://github.com/nk00li) for assisting with support for BHT-002 GBLW thermometers that differ slightly from GALW in how they report the heating state.
 - [nk00li](https://github.com/nk00li) for assisting with support for BHT-002 GBLW thermometers that differ slightly from GALW in how they report the heating state.
 - [peteS-UK](https://github.com/peteS-UK) for contributing support for Noiee NSP21 and PU13 smart plugs.
 - [peteS-UK](https://github.com/peteS-UK) for contributing support for Noiee NSP21 and PU13 smart plugs.
 - [zeosson](https://github.com/zeosson) for contributing support for Feit RGBWW lights and Peteme recessed lighting.
 - [zeosson](https://github.com/zeosson) for contributing support for Feit RGBWW lights and Peteme recessed lighting.
+- [backcountrymountains](https://github.com/backcountrymountains) for contributing support for iHome AutoVac Nova vacuum cleaners.

+ 1 - 0
DEVICES.md

@@ -524,6 +524,7 @@ of device.
 ### Vacuum Cleaners
 ### Vacuum Cleaners
 
 
 - Abir X8 vacuum cleaner
 - Abir X8 vacuum cleaner
+- iHome Autoac Nova vacuum cleaner
 - Kabum Smart 500 vacuum cleaner
 - Kabum Smart 500 vacuum cleaner
 - Kabum Smart 700 vacuum cleaner (also sold as Liectroux XR500[T2] and maybe others)
 - Kabum Smart 700 vacuum cleaner (also sold as Liectroux XR500[T2] and maybe others)
 - Kabum Smart 700 vacuum cleaner 2023 model (not quite compatible with Liectroux XR500 T3, but similar revision)
 - Kabum Smart 700 vacuum cleaner 2023 model (not quite compatible with Liectroux XR500 T3, but similar revision)

+ 138 - 0
custom_components/tuya_local/devices/ihome_autovac_nova.yaml

@@ -0,0 +1,138 @@
+name: Vacuum
+products:
+  - id: gejo2t2mgux3avdq
+    name: iHome AutoVac Nova iHRV6
+primary_entity:
+  entity: vacuum
+  dps:
+    - id: 1
+      type: boolean
+      name: power
+      optional: true
+      mapping:
+        - dps_val: null
+          value: false
+          hidden: true
+    - id: 2
+      type: boolean
+      name: command
+      optional: true
+      mapping:
+        - dps_val: true
+          value: pause
+        - dps_val: false
+          constraint: mode
+          conditions:
+            - dps_val: standby
+              value: standby
+            - dps_val: random
+              value: random
+            - dps_val: smart
+              value: smart
+            - dps_val: wall_follow
+              value: wall_follow
+            - dps_val: mop
+              value: mop
+            - dps_val: spiral
+              value: clean_spot
+            - dps_val: left_spiral
+              value: left_spiral
+            - dps_val: right-spiral
+              value: right_spiral
+            - dps_val: bow
+              value: bow
+            - dps_val: left_bow
+              value: left_bow
+            - dps_val: right_bow
+              value: right_bow
+            - dps_val: partial_bow
+              value: partial_bow
+            - dps_val: chargego
+              value: return_to_base
+        - dps_val: null
+          hidden: true
+          constraint: mode
+          conditions:
+            - dps_val: standby
+              value: standby
+            - dps_val: random
+              value: random
+            - dps_val: smart
+              value: smart
+            - dps_val: wall_follow
+              value: wall_follow
+            - dps_val: mop
+              value: mop
+            - dps_val: spiral
+              value: clean_spot
+            - dps_val: left_spiral
+              value: left_spiral
+            - dps_val: right-spiral
+              value: right_spiral
+            - dps_val: bow
+              value: bow
+            - dps_val: left_bow
+              value: left_bow
+            - dps_val: right_bow
+              value: right_bow
+            - dps_val: partial_bow
+              value: partial_bow
+            - dps_val: chargego
+              value: return_to_base
+    - id: 3
+      type: string
+      name: mode
+      hidden: true
+      optional: true
+    - id: 5
+      type: string
+      name: status
+      mapping:
+        - dps_val: standby
+          value: standby
+        - dps_val: smart_clean
+          value: cleaning
+        - dps_val: wall_clean
+          value: cleaning
+        - dps_val: spot_clean
+          value: cleaning
+        - dps_val: mop_clean
+          value: mopping
+        - dps_val: goto_charge
+          value: returning
+        - dps_val: charging
+          value: charging
+        - dps_val: charge_done
+          value: charged
+        - dps_val: paused
+          value: pause
+        - dps_val: cleaning
+          value: cleaning
+        - dps_val: sleep
+          value: sleep
+    - id: 13
+      type: boolean
+      name: locate
+      optional: true
+    - id: 14
+      type: string
+      name: fan_speed
+      optional: true
+      mapping:
+        - dps_val: strong
+          value: High
+        - dps_val: normal
+          value: Medium
+        - dps_val: gentle
+          value: Low
+    - id: 102
+      type: base64
+      name: info
+      optional: true
+    - id: 110
+      type: bitfield
+      name: error
+    - id: 111
+      type: integer
+      name: event_report
+      optional: true