Sfoglia il codice sorgente

Add support for SMCM DDV-207 Doorbell Pro camera

Issue #3002
Jason Rumney 9 mesi fa
parent
commit
b3953ff046

+ 1 - 0
ACKNOWLEDGEMENTS.md

@@ -893,3 +893,4 @@ Further device support has been made with the assistance of users. Please consid
 - [Sapd](https://github.com/Sapd) for contributing support for Teknopoint Idra Skiv air conditioner.
 - [wuhgit](https://github.com/wuhgit) for contributing support for SC116-WZ3A camera.
 - [Airey001](https://github.com/Airey001) for contributing support for Neo-A Duoqu cat litter box.
+- [Akira97One](https://github.com/Akira97One) for assisting with support for SMCM DDV-207 Doorbell Pro camera.

+ 1 - 0
DEVICES.md

@@ -864,6 +864,7 @@ port and password.
 - Pinelake BF02 birdfeeder camera
 - RL video intercom (reported unable to connect)
 - SC116-WZ3A PTZ camera
+- SMCM DDV-207 Doorbell Pro camera
 
 ### Alarm control panels
 

+ 249 - 0
custom_components/tuya_local/devices/smcm_doorbellpro_camera.yaml

@@ -0,0 +1,249 @@
+name: Doorbell camera
+products:
+  - id: asw99ynhd4dgwi37
+    manufacturer: SMCM
+    model: AC DoorBell Pro2
+    model_id: DDV-207-Pro
+entities:
+  - entity: camera
+    dps:
+      - id: 134
+        type: boolean
+        name: motion_enable
+      - id: 150
+        type: boolean
+        name: record
+  - entity: light
+    translation_key: indicator
+    category: config
+    dps:
+      - id: 101
+        type: boolean
+        name: switch    
+  - entity: switch
+    name: Flip image
+    category: config
+    dps:
+      - id: 103
+        type: boolean
+        name: switch
+  - entity: switch
+    name: Timestamp
+    icon: "mdi:watermark"
+    category: config
+    dps:
+      - id: 104
+        type: boolean
+        name: switch
+  - entity: select
+    name: Motion sensitivity
+    icon: "mdi:motion-sensor"
+    category: config
+    dps:
+      - id: 106
+        type: string
+        name: option
+        mapping:
+          - dps_val: "0"
+            value: Low
+          - dps_val: "1"
+            value: Medium
+          - dps_val: "2"
+            value: High
+  - entity: select
+    name: Nightvision
+    icon: "mdi:weather-night"
+    category: config
+    dps:
+      - id: 108
+        type: string
+        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
+        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
+        name: memory_card_capacity
+        optional: true
+  - entity: button
+    name: Format SD card
+    category: config
+    dps:
+      - id: 111
+        type: boolean
+        name: button
+      - id: 117
+        type: integer
+        optional: true
+        name: sd_format_status
+        mapping:
+          - dps_val: -2000
+            value: Formatting
+          - dps_val: -2001
+            value: Format error
+          - dps_val: -2002
+            value: "No SD card"
+          - dps_val: -2003
+            value: Card error
+  - entity: event
+    class: motion
+    dps:
+      - id: 115
+        type: base64
+        optional: true
+        name: event
+        mapping:
+          - dps_val: null
+            value: null
+          - value: detected
+      - id: 115
+        type: base64
+        optional: true
+        sensitive: 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
+        name: message
+        optional: true
+  - entity: select
+    name: Recording mode
+    icon: "mdi:file-video"
+    category: config
+    dps:
+      - id: 151
+        type: string
+        name: option
+        mapping:
+          - dps_val: "1"
+            value: Event
+          - dps_val: "2"
+            value: Continuous
+  - entity: switch
+    name: Alarm
+    category: config
+    icon: "mdi:bullhorn"
+    dps:
+      - id: 159
+        type: boolean
+        name: switch
+  - entity: siren
+    category: config
+    dps:
+      - id: 159
+        type: boolean
+        name: switch
+      - id: 160
+        type: integer
+        name: volume_level
+        range:
+          min: 0
+          max: 10
+        mapping:
+          - scale: 0.1
+  - entity: switch
+    name: Motion limit area
+    category: config
+    icon: "mdi:picture-in-picture-bottom-right-outline"
+    hidden: unavailable
+    dps:
+      - id: 168
+        type: boolean
+        name: switch
+  - entity: text
+    name: Motion limit area
+    hidden: true
+    icon: "mdi:picture-in-picture-bottom-right-outline"
+    category: config
+    dps:
+      - id: 169
+        type: string
+        name: value
+      - id: 168
+        type: boolean
+        name: available
+  - entity: switch
+    name: Human detection
+    icon: "mdi:human"
+    category: config
+    dps:
+      - id: 170
+        type: boolean
+        name: switch
+  - entity: event
+    name: Alarm
+    dps:
+      - id: 185
+        type: string
+        optional: true
+        name: event
+        mapping:
+          - dps_val: null
+            value: null
+          - value: alert
+      - id: 185
+        type: utf16b64
+        name: message
+        optional: true
+  - entity: switch
+    name: Silent recording
+    category: config
+    dps:
+      - id: 197
+        type: boolean
+        name: switch
+  - entity: event
+    name: Notification
+    dps:
+      - id: 212
+        type: string
+        name: event
+        optional: true
+        mapping:
+          - dps_val: null
+            value: null
+          - value: message
+      - id: 212
+        type: utf16b64
+        optional: true
+        name: message
+  - entity: binary_sensor
+    class: tamper
+    category: diagnostic
+    dps:
+      - id: 231
+        type: boolean
+        name: sensor