Browse Source

feat (devices): add Yakry camera pet feeder

Issue #4304
Jason Rumney 2 tuần trước cách đây
mục cha
commit
61ed83c807

+ 1 - 0
ACKNOWLEDGEMENTS.md

@@ -1257,3 +1257,4 @@ Further device support has been made with the assistance of users. Please consid
 - [benjamin-lyon](https://github.com/benjamin-lyon) for contributing support for Arida Eva humidifier.
 - [Ramon-Balaguer](https://github.com/Ramon-Balaguer) for assisting with support for Cecotec Conga Z100 vacuum.
 - [zombielinux](https://github.com/zombielinux) for assisting with support for Dxophiex fish feeder.
+- [Derek6711](https://github.com/Derek6711) for assisting with support for Yakry camera pet feeder.

+ 1 - 0
DEVICES.md

@@ -1099,6 +1099,7 @@ port and password.
 - Vevor 76L self-cleaning litter box
 - WellToBe Automatic Pet Feeder (WB S36D)
 - Xtuos dual pet feeder
+- Yakry camera pet feeder
 - YP pet feeder
 - Yuposl dual-band pet feeder
 - Zedar K1200 cat litter box

+ 256 - 0
custom_components/tuya_local/devices/yakry_camera_petfeeder.yaml

@@ -0,0 +1,256 @@
+name: Camera pet feeder
+products:
+  - id: ycekchncwlkmtmgp
+    manufacturer: Yakry
+    model: C6
+entities:
+  - entity: light
+    translation_key: indicator
+    category: config
+    dps:
+      - id: 101
+        type: boolean
+        name: switch
+  - entity: switch
+    translation_key: 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: camera
+    dps:
+      - id: 105
+        type: boolean
+        name: switch
+        mapping:
+          - dps_val: false
+            value: true
+          - dps_val: true
+            value: false
+      - id: 134
+        type: boolean
+        optional: true
+        name: motion_enable
+      - id: 115
+        name: snapshot
+        type: base64
+        optional: true
+        sensitive: true
+      - id: 150
+        type: boolean
+        name: record
+      - id: 254
+        type: string
+        name: mac_address
+  - entity: select
+    translation_key: motion_sensitivity
+    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: Night vision
+    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
+    translation_key: status
+    icon: "mdi:micro-sd"
+    category: diagnostic
+    dps:
+      - id: 110
+        type: integer
+        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
+      - id: 109
+        type: string
+        name: capacity
+  - entity: button
+    name: Format SD
+    category: config
+    icon: "mdi:micro-sd"
+    dps:
+      - id: 111
+        type: boolean
+        name: button
+      - 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: select
+    name: Motion recording
+    icon: "mdi:file-video"
+    category: config
+    dps:
+      - id: 113
+        type: boolean
+        optional: true
+        name: option
+        mapping:
+          - dps_val: true
+            value: Motion
+          - dps_val: false
+            value: Continuous
+  - 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: number
+    translation_key: volume
+    category: config
+    dps:
+      - id: 160
+        type: integer
+        name: value
+        unit: "%"
+        range:
+          min: 1
+          max: 100
+  - entity: event
+    name: Notification
+    dps:
+      - id: 212
+        type: utf16b64
+        name: event
+        optional: true
+        mapping:
+          - dps_val: null
+            value: null
+          - value: message
+      - id: 212
+        type: utf16b64
+        optional: true
+        name: message
+  - entity: sensor
+    name: Food weight
+    class: weight
+    category: diagnostic
+    dps:
+      - id: 232
+        type: integer
+        name: sensor
+        unit: g
+        class: measurement
+  - entity: binary_sensor
+    name: Feed level
+    translation_key: tank_empty
+    icon: "mdi:food-drumstick"
+    category: diagnostic
+    dps:
+      - id: 233
+        type: string
+        optional: true
+        name: sensor
+        mapping:
+          - dps_val: "0"
+            value: true
+          - value: false
+  - entity: switch
+    name: Track feeds
+    category: config
+    dps:
+      - id: 234
+        type: boolean
+        name: switch
+  - entity: switch
+    name: Voice recording
+    category: config
+    dps:
+      - id: 235
+        type: string
+        name: switch
+        mapping:
+          - dps_val: "0"
+            value: false
+          - dps_val: "1"
+            value: true
+  - entity: text
+    name: Schedule
+    category: config
+    icon: "mdi:calendar-clock"
+    hidden: true
+    dps:
+      - id: 236
+        type: string
+        name: value
+  - entity: number
+    name: Publish feed
+    category: config
+    icon: "mdi:food-drumstick"
+    dps:
+      - id: 237
+        type: integer
+        name: value
+        unit: portions
+        range:
+          min: 0
+          max: 20
+  - entity: sensor
+    name: Feed report
+    category: diagnostic
+    dps:
+      - id: 238
+        type: integer
+        name: sensor
+        unit: portions
+        class: measurement