Explorar o código

feat (devices): add support for Tolviviov alarm panel

Issue #3354

- also docs for PR #3668
Jason Rumney hai 6 meses
pai
achega
d0e91478d5

+ 2 - 1
ACKNOWLEDGEMENTS.md

@@ -957,7 +957,7 @@ Further device support has been made with the assistance of users. Please consid
 - [FragMenthor](https://github.com/FragMenthor) for assisting with support for Fuers video doorbell.
 - [netforceatg](https://github.com/netforceatg) for assisting with support for Arida S7L-2 dehumidifier.
 - [Dungeonkeaper](https://github.com/Dungeonkeaper) for assisting with support for CPVAN CP2W alarm system.
-- [danps1](https://github.com/danps1) for assisting with support for Arlec 10 path lights.
+- [danps1](https://github.com/danps1) for assisting with support for Arlec 10 path lights and contributing support for Dream of You dual lamp.
 - [GianlucaUlivi](https://github.com/GianlucaUlivi) for contributing improvements to Airrobo P20 vacuum.
 - [BevDan](https://github.com/BevDan) for contributing support for EARU EASEM-D multi-circuit power meter.
 - [Felwat](https://github.com/Felwat) for contributing support for TruCool TC1150 air conditioner, Princess Smart Tower fan.
@@ -1034,3 +1034,4 @@ Further device support has been made with the assistance of users. Please consid
 - [Kevin6872](https://github.com/Kevin6872) for assisting with support for Petwant F13-W pet feeder.
 - [stevene1919](https://github.com/stevene1919) for assisting with support for Breville AirRounder Plus Connect purifier heater.
 - [Dead96](https://github.com/Dead96) for contributing support for Tongou SA1 energy meter.
+- [dustball62](https://github.com/dustball62) for assisting with support for Tolviviov DP-W2.1 alarm panel.

+ 2 - 0
DEVICES.md

@@ -688,6 +688,7 @@ of device.
 - Deta/Arlec motion sensor lights (DET100HA/DET102HA/MAL315HA)
 - Deta 6910HA series2 dimmer switch
 - Dim2Warm G95 Gold 1800-2700K CCT lightbulb
+- Dream of You dual dimmable lamp
 - Dual-mode magic light string controller
 - Enbrighten Café string lights
 - Enbrighten Curtain lights
@@ -900,6 +901,7 @@ port and password.
 - HLG Infinity alarm
 - Smart alarm siren (unbranded)
 - Staniot smart security panel
+- Tolviviov DP-W2.1 security alarm panel
 - TS106 alarm system
 - Wolf Guard WT2R alarm system
 - ZX-DB11 doorbell and alarm system

+ 175 - 0
custom_components/tuya_local/devices/tolviviov_dp21w_alarmpanel.yaml

@@ -0,0 +1,175 @@
+name: Alarm security system
+products:
+  - id: bsck4bhwubkpggmb
+    manufacturer: Tolviviov
+    name: DP-W2.1
+entities:
+  - entity: alarm_control_panel
+    dps:
+      - id: 101
+        type: string
+        name: alarm_state
+        mapping:
+          - dps_val: "1"
+            value: armed_away
+          - dps_val: "2"
+            value: disarmed
+          - dps_val: "3"
+            value: armed_home
+      - id: 103
+        type: boolean
+        name: trigger
+  - entity: number
+    name: Exit delay
+    category: config
+    class: duration
+    dps:
+      - id: 113
+        type: integer
+        name: value
+        unit: s
+        range:
+          min: 0
+          max: 600
+  - entity: number
+    name: Entry delay
+    category: config
+    class: duration
+    dps:
+      - id: 114
+        type: integer
+        name: value
+        unit: s
+        range:
+          min: 0
+          max: 600
+  - entity: siren
+    category: config
+    dps:
+      - id: 105
+        type: integer
+        name: duration
+        unit: min
+        range:
+          min: 1
+          max: 60
+      - id: 106
+        type: string
+        name: tone
+        mapping:
+          - dps_val: "1"
+            value: Tone 1
+          - dps_val: "2"
+            value: Tone 2
+          - dps_val: "3"
+            value: Tone 3
+          - dps_val: "4"
+            value: Tone 4
+          - dps_val: "5"
+            value: Tone 5
+          - dps_val: "6"
+            value: Tone 6
+          - dps_val: "7"
+            value: Tone 7
+          - dps_val: "8"
+            value: Tone 8
+      - id: 107
+        type: string
+        name: volume_level
+        mapping:
+          - dps_val: "0"
+            value: 0.0
+          - dps_val: "25"
+            value: 0.25
+          - dps_val: "50"
+            value: 0.5
+          - dps_val: "75"
+            value: 0.75
+          - dps_val: "100"
+            value: 1.0
+  - entity: light
+    translation_key: nightlight
+    category: config
+    dps:
+      - id: 104
+        type: boolean
+        name: switch
+  - entity: switch
+    name: Remote notification
+    category: config
+    dps:
+      - id: 111
+        type: boolean
+        name: switch
+  - entity: switch
+    name: Sensor notification
+    category: config
+    dps:
+      - id: 112
+        type: boolean
+        name: switch
+  - entity: event
+    name: Remote
+    category: diagnostic
+    dps:
+      - id: 115
+        type: utf16b64
+        optional: true
+        name: event
+        mapping:
+          - dps_val: null
+            value: null
+          - value: triggered
+      - id: 115
+        type: utf16b64
+        optional: true
+        name: message
+  - entity: event
+    name: Accessory
+    category: diagnostic
+    dps:
+      - id: 116
+        type: utf16b64
+        optional: true
+        name: event
+        mapping:
+          - dps_val: null
+            value: null
+          - value: triggered
+      - id: 116
+        type: utf16b64
+        optional: true
+        name: message
+  - entity: event
+    name: Sensor
+    category: diagnostic
+    dps:
+      - id: 120
+        type: utf16b64
+        optional: true
+        name: event
+        mapping:
+          - dps_val: null
+            value: null
+          - value: detected
+      - id: 120
+        type: utf16b64
+        name: message
+        optional: true
+  - entity: event
+    name: Accessory History
+    category: diagnostic
+    dps:
+      - id: 121
+        type: string
+        name: event
+        optional: true
+        mapping:
+          - dps_val: null
+            value: null
+          - value: logged
+      - id: 121
+        type: utf16b64
+        name: information
+        optional: true
+        # missing: dp 110 (wr) - Accessory pairing (enum ["1", "2", "3"])