Browse Source

Add support for Meowmatic pet feeder

Issue #3717
Jason Rumney 6 months ago
parent
commit
636c9f7056
3 changed files with 127 additions and 0 deletions
  1. 1 0
      ACKNOWLEDGEMENTS.md
  2. 1 0
      DEVICES.md
  3. 125 0
      custom_components/tuya_local/devices/meowmatic_petfeeder.yaml

+ 1 - 0
ACKNOWLEDGEMENTS.md

@@ -1064,3 +1064,4 @@ Further device support has been made with the assistance of users. Please consid
 - [pmaene](https://github.com/pmaene) for contributing support for Eurom Mon Soleil DSP and Sani heaters.
 - [hsuchengchih](https://github.com/hsuchengchih) for assisting with support for Vephos True air purifier.
 - [nmaitland](https://github.com/nmaitland) for contributing support for Beok SH-TGM50 WP thermostat.
+- [patriiiiiiiiiick](https://github.com/patriiiiiiiiiick) for assisting with support for Meowmatic pet feeder.

+ 1 - 0
DEVICES.md

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

+ 125 - 0
custom_components/tuya_local/devices/meowmatic_petfeeder.yaml

@@ -0,0 +1,125 @@
+name: Pet feeder
+products:
+  - id: pawsuez99frai45a
+    manufacturer: Meowmatic
+entities:
+  - entity: text
+    name: Meal plan
+    category: config
+    icon: "mdi:calendar-clock"
+    hidden: true
+    dps:
+      - id: 1
+        type: base64
+        optional: true
+        name: value
+  - entity: number
+    name: Manual feed
+    icon: "mdi:food-drumstick"
+    dps:
+      - id: 3
+        type: integer
+        optional: true
+        name: value
+        unit: portions
+        range:
+          min: 1
+          max: 20
+  - entity: sensor
+    class: enum
+    translation_key: status
+    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: sensor
+    name: Last feed
+    category: diagnostic
+    dps:
+      - id: 5
+        type: integer
+        name: sensor
+        unit: portions
+  - entity: sensor
+    class: battery
+    category: diagnostic
+    dps:
+      - id: 10
+        type: integer
+        name: sensor
+        unit: "%"
+        class: measurement
+  - entity: binary_sensor
+    class: problem
+    category: diagnostic
+    dps:
+      - id: 19
+        type: bitfield
+        name: sensor
+        mapping:
+          - dps_val: 0
+            value: false
+          - value: true
+      - id: 19
+        type: bitfield
+        name: fault_code
+      - id: 19
+        type: bitfield
+        name: description
+        mapping:
+          - dps_val: 0
+            value: ok
+          - dps_val: 1
+            value: jammed
+          - dps_val: 2
+            value: low
+          - dps_val: 4
+            value: no_food
+          - dps_val: 8
+            value: dessicant_low
+          - dps_val: 16
+            value: battery_low
+          - dps_val: 32
+            value: blocked
+  - entity: number
+    name: Feed amount
+    category: config
+    icon: "mdi:food-drumstick"
+    dps:
+      - id: 26
+        type: integer
+        name: value
+        unit: portions
+        range:
+          min: 0
+          max: 10
+  - entity: light
+    translation_key: indicator
+    category: config
+    dps:
+      - id: 101
+        type: boolean
+        name: switch
+  - 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
+        name: message
+        optional: true