Răsfoiți Sursa

feat(devices): add support for Fuers video doorbell

- brand name is uncertain (based on match to photo on packaging)

Issue #3252
Jason Rumney 8 luni în urmă
părinte
comite
b9e9b7e243

+ 1 - 0
ACKNOWLEDGEMENTS.md

@@ -954,3 +954,4 @@ Further device support has been made with the assistance of users. Please consid
 - [jaso1000](https://github.com/jaso1000) for contributing support for Temple and Webster Alina ceiling fan.
 - [hprombex](https://github.com/hprombex) for contributing support for Götze and Jensen KT975K kettle.
 - [Anzic23](https://github.com/Anzic23) for contributing support for Tary TA-AC380/22 EV charger.
+- [FragMenthor](https://github.com/FragMenthor) for assisting with support for Fuers video doorbell.

+ 1 - 0
DEVICES.md

@@ -798,6 +798,7 @@ work reliably, even if listed below.
 ### Doorbells
 
 - Cleverio CD200 video doorbell
+- (Fuers?) video doorbell
 - Iebeyond ECH doorbell with 433MHz RF hub
 - iGET HOME DS1 video doorbell
 - HunterTBK HF-6602T video doorbell

+ 267 - 0
custom_components/tuya_local/devices/fuers_videodoorbell.yaml

@@ -0,0 +1,267 @@
+name: Video doorbell
+products:
+  - id: rdopirknpltovvth
+  # image search on packaging brings up a 404 page for Fuers camera
+  # that is no longer sold. Design copies Ring, so probably pulled
+  # from market, but not certain it is the same device.
+entities:
+  - entity: switch
+    name: Flip image
+    icon: "mdi:flip-horizontal"
+    category: config
+    dps:
+      - id: 103
+        type: boolean
+        optional: true
+        name: switch
+        mapping:
+          - dps_val: null
+            value: false
+            hidden: true
+  - entity: switch
+    name: Watermark
+    icon: "mdi:watermark"
+    category: config
+    dps:
+      - id: 104
+        type: boolean
+        optional: true
+        name: switch
+        mapping:
+          - dps_val: null
+            value: false
+            hidden: true
+  - entity: sensor
+    name: SD status
+    class: enum
+    translation_key: status
+    category: diagnostic
+    icon: "mdi:micro-sd"
+    dps:
+      - id: 110
+        type: integer
+        optional: true
+        name: sensor
+        mapping:
+          - dps_val: 1
+            value: normal
+          - dps_val: 2
+            value: fault
+          - dps_val: 3
+            value: full
+          - dps_val: 4
+            value: formatting
+          - dps_val: 5
+            value: missing
+          - dps_val: null
+            value: normal
+            hidden: true
+      - id: 109
+        type: string
+        optional: true
+        name: capacity
+  - entity: button
+    name: SD format
+    category: config
+    icon: "mdi:micro-sd"
+    dps:
+      - id: 111
+        type: boolean
+        name: button
+        optional: true
+        persist: false
+      - id: 117
+        type: integer
+        name: state
+        mapping:
+          - dps_val: -2000
+            value: Formatting
+          - dps_val: -2001
+            value: Format failed
+          - dps_val: -2002
+            value: Card missing
+          - dps_val: -2003
+            value: Card error
+          - dps_val: 0
+            value: Formatted
+  - entity: event
+    class: motion
+    dps:
+      - id: 115
+        type: string
+        name: event
+        optional: true
+        mapping:
+          - dps_val: null
+            value: null
+          - value: detected
+      - id: 115
+        type: base64
+        optional: true
+        name: snapshot
+  - entity: event
+    name: Doorbell call
+    class: doorbell
+    dps:
+      - id: 136
+        type: string
+        name: event
+        optional: true
+        mapping:
+          - dps_val: null
+            value: null
+          - dps_val: ""
+            value: null
+          - value: ring
+      - id: 136
+        type: string
+        optional: true
+        name: message
+  - entity: sensor
+    class: battery
+    category: diagnostic
+    dps:
+      - id: 145
+        type: integer
+        optional: true
+        name: sensor
+        unit: "%"
+  - entity: binary_sensor
+    class: battery_charging
+    category: diagnostic
+    dps:
+      - id: 146
+        type: string
+        optional: true
+        name: sensor
+        mapping:
+          - dps_val: "1"
+            value: true
+          - value: false
+  - entity: number
+    name: Battery low threshold
+    category: config
+    class: battery
+    dps:
+      - id: 147
+        type: integer
+        name: value
+        optional: true
+        unit: "%"
+        range:
+          min: 10
+          max: 50
+  - entity: binary_sensor
+    class: running
+    category: diagnostic
+    dps:
+      - id: 149
+        type: boolean
+        optional: true
+        name: sensor
+  - entity: select
+    name: PIR sensitivity
+    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
+          - dps_val: "2"
+            value: medium
+          - dps_val: "3"
+            value: high
+  - entity: event
+    name: Door image
+    class: doorbell
+    # image is not directly usable and we have other events for doorbell
+    hidden: true
+    dps:
+      - id: 154
+        type: string
+        name: event
+        optional: true
+        mapping:
+          - dps_val: null
+            value: null
+          - value: captured
+      - id: 154
+        type: base64
+        optional: true
+        name: snapshot
+  - entity: event
+    name: Alarm
+    dps:
+      - id: 185
+        type: string
+        name: event
+        optional: true
+        mapping:
+          - dps_val: null
+            value: null
+          - value: triggered
+      - id: 185
+        type: utf16b64
+        optional: true
+        name: message
+  - entity: select
+    name: Anti-flicker
+    icon: "mdi:waves"
+    category: config
+    dps:
+      - id: 188
+        type: string
+        optional: true
+        name: option
+        mapping:
+          - dps_val: "0"
+            value: "off"
+          - dps_val: "1"
+            value: "50Hz"
+          - dps_val: "2"
+            value: "60Hz"
+  - entity: event
+    name: Tamper alarm
+    dps:
+      - id: 231
+        type: string
+        name: event
+        optional: true
+        mapping:
+          - dps_val: "0"
+            value: normal
+          - dps_val: "1"
+            value: dismantled
+          - dps_val: "2"
+            value: abnormal
+  - entity: select
+    name: Installation
+    icon: "mdi:wrench"
+    category: config
+    dps:
+      - id: 232
+        type: string
+        name: option
+        optional: true
+        mapping:
+          - dps_val: "0"
+            value: Indoors
+          - dps_val: "1"
+            value: Outdoors
+  - entity: event
+    class: doorbell
+    dps:
+      - id: 233
+        type: string
+        name: event
+        optional: true
+        mapping:
+          - dps_val: "1"
+            value: ring
+          - value: null