ソースを参照

feat (devices): add support for MolyPet F02W pet feeder

Issue #3677
Jason Rumney 4 ヶ月 前
コミット
afe91400ca

+ 1 - 0
ACKNOWLEDGEMENTS.md

@@ -1056,3 +1056,4 @@ Further device support has been made with the assistance of users. Please consid
 - [ffonte](https://github.com/ffonte) for assisting with support for Proscenic 850T robot vacuum.
 - [Shmob1](https://github.com/Shmob1) for assisting with support for Brilliant Smart PIR outdoor sensor.
 - [siobhanellis](https://github.com/siobhanellis) for assisting with support for Weeket KES5211TE-CE kettle.
+- [saappleg](https://github.com/saappleg) for assisting with support for MolyPet F02W pet feeder.

+ 1 - 0
DEVICES.md

@@ -947,6 +947,7 @@ port and password.
 - Littepets MA2 series Cute Baby cat litter box
 - LSC Smart Connect pet feeder
 - Meegeem cat litter box
+- MolyPet F02W pet feeder
 - Mypin 6L Video pet feeder
 - Nedis pet feeder
 - Papifeed pet feeder

+ 164 - 0
custom_components/tuya_local/devices/molypet_f02w_petfeeder.yaml

@@ -0,0 +1,164 @@
+name: Pet feeder
+products:
+  - id: qf3dg2jlcvtacxpk
+    manufacturer: MolyPet
+    model: F02W
+entities:
+  - entity: text
+    name: Meal plan
+    category: config
+    icon: "mdi:calendar-clock"
+    hidden: true
+    dps:
+      - id: 1
+        type: base64
+        optional: true
+        name: value
+  - entity: button
+    name: Quick feed
+    icon: "mdi:paw"
+    dps:
+      - id: 2
+        type: boolean
+        optional: true
+        name: button
+  - entity: number
+    name: Manual feed
+    category: config
+    icon: "mdi:food-drumstick"
+    dps:
+      - id: 3
+        type: integer
+        optional: true
+        persist: false
+        name: value
+        unit: portions
+        range:
+          min: 1
+          max: 50
+  - entity: sensor
+    translation_key: status
+    class: enum
+    category: diagnostic
+    dps:
+      - id: 4
+        type: string
+        name: sensor
+        mapping:
+          - dps_val: standby
+            value: standby
+          - dps_val: feeding
+            value: feeding
+          - dps_val: done
+            value: feeding_complete
+  - entity: switch
+    name: Slow feed
+    icon: "mdi:snail"
+    category: config
+    dps:
+      - id: 6
+        type: boolean
+        name: switch
+  - entity: binary_sensor
+    class: problem
+    category: diagnostic
+    dps:
+      - id: 14
+        type: bitfield
+        name: sensor
+        mapping:
+          - dps_val: 0
+            value: false
+          - value: true
+      - id: 14
+        type: bitfield
+        name: fault_code
+  - entity: sensor
+    name: Last feed
+    icon: "mdi:history"
+    category: diagnostic
+    dps:
+      - id: 15
+        type: integer
+        name: sensor
+        unit: portions
+        class: measurement
+  - entity: number
+    name: Slow release interval
+    class: duration
+    category: config
+    dps:
+      - id: 18
+        type: integer
+        name: value
+        unit: min
+        range:
+          min: 0
+          max: 10
+      - id: 6
+        type: boolean
+        name: available
+  - entity: light
+    translation_key: indicator
+    category: config
+    dps:
+      - id: 19
+        type: boolean
+        name: switch
+  - entity: switch
+    name: Voice playback
+    category: config
+    dps:
+      - id: 101
+        type: boolean
+        name: switch
+  - entity: sensor
+    class: battery
+    category: diagnostic
+    dps:
+      - id: 102
+        type: string
+        name: sensor
+        unit: "%"
+        class: measurement
+        mapping:
+          - dps_val: "0"
+            value: 0
+            hidden: true
+          - dps_val: "2"
+            value: 20
+            hidden: true
+          - dps_val: "3"
+            value: 30
+            hidden: true
+          - dps_val: "4"
+            value: 40
+            hidden: true
+          - dps_val: "5"
+            value: 50
+            hidden: true
+          - dps_val: "6"
+            value: 60
+            hidden: true
+          - dps_val: "7"
+            value: 70
+            hidden: true
+          - dps_val: "8"
+            value: 80
+            hidden: true
+          - dps_val: "9"
+            value: 90
+            hidden: true
+          - dps_val: "10"
+            value: 100
+            hidden: true
+          - value: null
+            hidden: true
+  - entity: button
+    class: restart
+    category: config
+    dps:
+      - id: 103
+        type: boolean
+        optional: true
+        name: button