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

feat(devices): add TA-FD-BL6 camera pet feeder

Issue #5843
Jason Rumney 1 день назад
Родитель
Сommit
fa623cf0a5
2 измененных файлов с 205 добавлено и 0 удалено
  1. 1 0
      DEVICES.md
  2. 204 0
      custom_components/tuya_local/devices/tafdl6_petfeeder.yaml

+ 1 - 0
DEVICES.md

@@ -1276,6 +1276,7 @@ port and password.
 - Rojeco V200 DU3L-VS camera pet feeder
 - Rojeco V200 DU3L-VS camera pet feeder
 - Sailesi self-cleaning litter box
 - Sailesi self-cleaning litter box
 - Sobralik pet fountain
 - Sobralik pet fountain
+- TA-FD-BL6 camera pet feeder
 - Tesla Smart fish and pet feeders
 - Tesla Smart fish and pet feeders
 - Ti Pro25 cat litter box
 - Ti Pro25 cat litter box
 - Tonepie T1PRO cat litter box
 - Tonepie T1PRO cat litter box

+ 204 - 0
custom_components/tuya_local/devices/tafdl6_petfeeder.yaml

@@ -0,0 +1,204 @@
+name: Pet feeder
+products:
+  - id: pvq5aho6c0xsczab
+    model: TA-FD-BL6
+entities:
+  - entity: switch
+    translation_key: flip_image
+    category: config
+    dps:
+      - id: 103
+        type: boolean
+        optional: true
+        name: switch
+  - entity: select
+    translation_key: motion_sensitivity
+    category: config
+    dps:
+      - id: 106
+        type: string
+        optional: true
+        name: option
+        mapping:
+          - dps_val: "0"
+            value: low
+          - dps_val: "1"
+            value: medium
+          - dps_val: "2"
+            value: high
+  - entity: sensor
+    class: enum
+    translation_key: sd_status
+    category: diagnostic
+    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
+      - id: 109
+        type: string
+        optional: true
+        name: capacity
+  - entity: button
+    name: Format SD
+    category: config
+    icon: "mdi:micro-sd"
+    dps:
+      - id: 111
+        type: boolean
+        optional: true
+        name: button
+      - id: 117
+        type: integer
+        optional: true
+        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: switch
+    translation_key: motion_detection
+    category: config
+    dps:
+      - id: 134
+        type: boolean
+        optional: true
+        name: switch
+  - entity: select
+    translation_key: recording_mode
+    category: config
+    dps:
+      - id: 151
+        type: string
+        optional: true
+        name: option
+        mapping:
+          - dps_val: "1"
+            value: event
+          - dps_val: "2"
+            value: continuous
+  - entity: number
+    translation_key: manual_feed
+    category: config
+    dps:
+      - id: 201
+        type: integer
+        optional: true
+        name: value
+        unit: portions
+        range:
+          min: 1
+          max: 10
+        mapping:
+          - dps_val: -2000
+            value: null  # Feeding in progress
+          - dps_val: -2001
+            value: null  # Feeding failed
+  - entity: sensor
+    name: Feed result
+    category: diagnostic
+    dps:
+      - id: 201
+        type: integer
+        optional: true
+        name: sensor
+        unit: portions
+        mapping:
+          - dps_val: -2000
+            value: In progress
+            hidden: true
+          - dps_val: -2001
+            value: Failed
+            hidden: true
+  - entity: sensor
+    name: Food weight
+    class: weight
+    category: diagnostic
+    dps:
+      - id: 202
+        type: integer
+        optional: true
+        name: sensor
+        unit: g
+        class: measurement
+        mapping:
+          - scale: 10
+  - entity: number
+    name: Feed control
+    category: config
+    icon: "mdi:cogs"
+    hidden: true
+    dps:
+      - id: 203
+        type: integer
+        optional: true
+        name: value
+        range:
+          min: 1
+          max: 20
+  - entity: sensor
+    name: Realtime data
+    category: diagnostic
+    hidden: true
+    dps:
+      - id: 204
+        type: integer
+        optional: true
+        name: sensor
+      - id: 206
+        type: integer
+        optional: true
+        name: history
+  - entity: number
+    name: Auto feed config
+    category: config
+    hidden: true  # Encodes flag as hundreds, and portion size as tens and ones
+    dps:
+      - id: 205
+        type: integer
+        optional: true
+        name: value
+        range:
+          min: 1
+          max: 255
+  - entity: text
+    translation_key: schedule
+    category: config
+    hidden: true
+    dps:
+      - id: 207
+        type: string
+        optional: true
+        name: value