Explorar o código

Add support for ZY-M100-WiFi mmWave presence sensor

Issue #636
Jason Rumney %!s(int64=2) %!d(string=hai) anos
pai
achega
a4957eb61f

+ 3 - 2
ACKNOWLEDGEMENTS.md

@@ -244,6 +244,7 @@ Further device support has been made with the assistance of users.  Please consi
 - [jprasm](https://github.com/jprasm) for assisting with support for Inkbird air quality monitors.
 - [Muelner](https://github.com/Muelner) for assisting with support for WDYK 3-phase energy meter circuit breakers.
 - [Cyrelion](https://github.com/Cyrelion) for assisting with support for Lifubide X600 air purifiers.
-- [mwkchan](https://github.com/mwkchan) for assisting with support for Princess 350 panel heater.
+- [mwkchan](https://github.com/mwkchan) for assisting with support for Princess 350 panel heaters.
 - [aletsweb](https://github.com/aletsweb) for assisting with support for A60 rgbcw lightbubs and Rinkmo D2 vacuums.
-- [FaboThePlayer](https://github.com/FaboThePlayer) for assisting with support for a whitelabel PIR motion sensor.
+- [FaboThePlayer](https://github.com/FaboThePlayer) for assisting with support for a whitelabel PIR motion sensors.
+- [paobrunelli](https://github.com/paobrunelli) for assisting with support for ZY-M100 WiFi mmWave presence sensors.

+ 1 - 0
DEVICES.md

@@ -366,3 +366,4 @@ of device.
 - Universal remote control (supports sensors only)
 - Yieryi water quality monitor (also matches unbranded PH-W3988 device)
 - ZX-G30 alarm system (not as an alarm_control_panel, as individual inputs and sensors)
+- ZY-M100-WiFi mmWave human presence sensor

+ 80 - 0
custom_components/tuya_local/devices/zym100_presence_sensor.yaml

@@ -0,0 +1,80 @@
+name: mmWave presence sensor
+products:
+  - id: k2h8vkj98fhvnpiv
+    name: ZY-M100 WiFi
+primary_entity:
+  entity: binary_sensor
+  class: occupancy
+  dps:
+    - id: 1
+      type: boolean
+      name: sensor
+    - id: 101
+      type: integer
+      name: detection_delay
+    - id: 102
+      type: integer
+      name: fading_time
+secondary_entities:
+  - entity: number
+    name: Sensitivity
+    category: config
+    icon: "mdi:"
+    dps:
+      - id: 2
+        type: integer
+        name: value
+        range:
+          min: 0
+          max: 9
+  - entity: number
+    name: Minimum distance
+    category: config
+    icon: "mdi:arrow-collapse"
+    dps:
+      - id: 3
+        type: integer
+        name: value
+        unit: m 
+        range:
+          min: 0
+          max: 1000
+        mapping:
+          - scale: 100
+            step: 10
+  - entity: number
+    name: Maximum distance
+    category: config
+    icon: "mdi:arrow-collapse"
+    dps:
+      - id: 4
+        type: integer
+        name: value
+        unit: m 
+        range:
+          min: 0
+          max: 1000
+        mapping:
+          - scale: 100
+            step: 10
+  - entity: sensor
+    name: Status
+    class: enum
+    category: diagnostic
+    dps:
+      - id: 6
+        type: string
+        name: sensor
+        mapping:
+          - dps_val: check_failure
+            value: Fault
+          - dps_val: check_success
+            value: OK
+          - dps_val: checking
+            value: Checking
+          - dps_val: comm_fault
+            value: Communication fault
+          - dps_val: others
+            value: Timeout
+          - dps_val: radar_fault
+            value: Radar fault