Просмотр исходного кода

Add support for LSC Smart Connect video doorbell

Issue #2851
Jason Rumney 11 месяцев назад
Родитель
Сommit
0e17f50dda

+ 1 - 1
ACKNOWLEDGEMENTS.md

@@ -845,7 +845,7 @@ Further device support has been made with the assistance of users. Please consid
 - [enyineer](https://github.com/enyineer) for contributing improvements to Aygrochy fan controller.
 - [ulliohura](https://github.com/ulliohura) for contributing support for Create fan with dimmable light.
 - [MikN313](https://github.com/MikN313) for contributing improvements to Grakit filament dryer.
-- [AlixerVolkov](https://github.com/AlixerVolkov) for assisting with support for LSC Smart Connect outdoor PTZ camera.
+- [AlixerVolkov](https://github.com/AlixerVolkov) for assisting with support for LSC Smart Connect outdoor PTZ camera and LSC Smart Connect video doorbell.
 - [Mantrid42](https://github.com/Mantrid42) for contributing support for Kogan LX15 vacuum and mopping robot, Kogan 5 pro air purifier, Kogan aircons (merged into Fisher Summer).
 - [sweetpi](https://github.com/sweetpi) for contributing improvements to Rotenso Ronix heatpump.
 - [n4dwxihyeyhes2](https://github.com/n4dwxihyeyhes2) for contributing support for Vestfrost VP-A1Z40HW air purifier.

+ 1 - 0
DEVICES.md

@@ -815,6 +815,7 @@ work reliably, even if listed below.
 - HunterTBK HF-6602T video doorbell
 - KW02 video doorbell
 - Linda Smart 7S video doorbell
+- LSC Smart Connect video doorbell
 - MyQ TD8 video doorbell
 - WHM-04 doorbell (sold under various brands)
 

+ 250 - 0
custom_components/tuya_local/devices/lscsmartconnect_videodoorbell.yaml

@@ -0,0 +1,250 @@
+name: Video doorbell
+products:
+  - id: i3olzxc2chxmlz9l
+    manufacturer: LSC Smart Connect
+    model: 3208999
+entities:
+  - entity: switch
+    name: Watermark
+    category: config
+    icon: "mdi:watermark"
+    dps:
+      - id: 104
+        type: boolean
+        name: switch
+  - entity: select
+    name: Nightvision
+    icon: "mdi:weather-night"
+    category: config
+    dps:
+      - id: 108
+        type: string
+        optional: true
+        name: option
+        mapping:
+          - dps_val: "0"
+            value: Auto
+          - dps_val: "1"
+            value: "Off"
+          - dps_val: "2"
+            value: "On"
+  - entity: sensor
+    name: SD status
+    class: enum
+    category: diagnostic
+    dps:
+      - id: 110
+        type: integer
+        optional: true
+        name: sensor
+        mapping:
+          - dps_val: 1
+            value: normal
+          - dps_val: 2
+            value: error
+          - dps_val: 3
+            value: full
+          - dps_val: 4
+            value: formatting
+          - dps_val: 5
+            value: missing
+      - id: 109
+        type: string
+        optional: true
+        name: capacity
+  - entity: button
+    name: SD format
+    category: config
+    icon: "mdi:micro-sd"
+    dps:
+      - id: 111
+        type: boolean
+        optional: true
+        name: button
+      - id: 117
+        type: integer
+        optional: true
+        name: status
+        mapping:
+          - dps_val: 2000
+            value: Formatting
+          - dps_val: 2001
+            value: Format error
+          - dps_val: 2002
+            value: Card missing
+          - dps_val: 2003
+            value: Card error
+  - entity: event
+    class: motion
+    dps:
+      - id: 115
+        type: base64
+        name: event
+        optional: true
+        mapping:
+          - dps_val: null
+            value: null
+          - value: detected
+      - id: 115
+        type: base64
+        optional: true
+        name: snapshot
+  - entity: event
+    class: doorbell
+    dps:
+      - id: 136
+        type: string
+        name: event
+        optional: true
+        mapping:
+          - dps_val: null
+            value: null
+          - value: ring
+      - id: 136
+        type: string
+        optional: true
+        name: call_info
+      - id: 154
+        type: base64
+        optional: true
+        name: snapshot
+  - entity: sensor
+    class: battery
+    category: diagnostic
+    dps:
+      - id: 145
+        type: integer
+        optional: true
+        name: sensor
+        unit: "%"
+        class: measurement
+  - entity: binary_sensor
+    class: plug
+    category: diagnostic
+    dps:
+      - id: 146
+        type: string
+        optional: true
+        name: sensor
+        mapping:
+          - dps_val: "0"
+            value: false
+          - dps_val: "1"
+            value: true
+  - entity: number
+    name: Low battery threshold
+    category: config
+    icon: "mdi:battery-low"
+    dps:
+      - id: 147
+        type: integer
+        optional: true
+        name: value
+        unit: "%"
+        range:
+          min: 10
+          max: 50
+  - entity: binary_sensor
+    class: power
+    category: diagnostic
+    dps:
+      - id: 149
+        type: boolean
+        optional: true
+        name: sensor
+  - entity: select
+    name: Motion detection
+    icon: "mdi:motion-sensor"
+    category: config
+    dps:
+      - id: 152
+        type: string
+        optional: true
+        name: option
+        mapping:
+          - dps_val: "0"
+            value: "Off"
+          - dps_val: "1"
+            value: Low sensitivity
+          - dps_val: "2"
+            value: Medium sensitivity
+          - dps_val: "3"
+            value: High sensitivity
+  - entity: siren
+    dps:
+      - id: 159
+        type: boolean
+        optional: true
+        name: switch
+      - id: 160
+        type: integer
+        optional: true
+        name: volume_level
+        range:
+          min: 1
+          max: 10
+        mapping:
+          - scale: 10
+  - entity: switch
+    name: Humanoid filter
+    category: config
+    dps:
+      - id: 170
+        type: boolean
+        optional: true
+        name: switch
+  - entity: event
+    name: Alarm
+    icon: "mdi:alert"
+    dps:
+      - id: 185
+        type: string
+        name: event
+        optional: true
+        mapping:
+          - dps_val: null
+            value: null
+          - value: alarm
+      - id: 185
+        type: string
+        optional: true
+        name: message
+  - entity: select
+    name: Anti-flicker
+    icon: "mdi:waves"
+    category: config
+    dps:
+      - id: 188
+        type: string
+        name: option
+        mapping:
+          - dps_val: "0"
+            value: "Off"
+          - dps_val: "1"
+            value: "50Hz"
+          - dps_val: "2"
+            value: "60Hz"
+  - entity: event
+    name: Notification
+    icon: "mdi:message"
+    dps:
+      - id: 212
+        type: string
+        name: event
+        optional: true
+        mapping:
+          - dps_val: null
+            value: null
+          - value: message
+      - id: 212
+        type: string
+        name: message
+        optional: true
+  - entity: switch
+    name: Hide voice change
+    category: config
+    dps:
+      - id: 231
+        type: boolean
+        optional: true
+        name: switch