Kaynağa Gözat

feat (devices): add Happy Llama SoCool pet feeder

Issue #4091
Jason Rumney 2 ay önce
ebeveyn
işleme
c707442443

+ 1 - 0
ACKNOWLEDGEMENTS.md

@@ -1163,3 +1163,4 @@ Further device support has been made with the assistance of users. Please consid
 - [marcins](https://github.com/marcins) for contributing support for Henden Essential pool heat pump.
 - [adrienkohlbecker](https://github.com/adrienkohlbecker) for assisting with support for Venta AH510 Original Connect humidifier.
 - [m4rt0s](https://github.com/m4rt0s) for contributing support for Sime EcoMaxi VB200 heat pump water heater.
+- [chumbazoid](https://github.com/chumbazoid) for assisting with support for Happy Llama Tech SoCool pet feeder.

+ 1 - 0
DEVICES.md

@@ -998,6 +998,7 @@ port and password.
 - FeelNeedy P-LFP01 camera pet feeder
 - Fukumaru AF01-W pet feeder
 - Hapaw pet fountain
+- Happy Llama Tech SoCool pet feeder
 - HoneyGuardian S56 pet feeder
 - iLonda L88 fish feeder
 - iPettie W5 pet feeder

+ 186 - 0
custom_components/tuya_local/devices/happyllama_socool_petfeeder.yaml

@@ -0,0 +1,186 @@
+name: Pet feeder
+products:
+  - id: l0opxehxjnmzyree
+    manufacturer: Happy Llama Tech
+    model: SoCool
+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: 12
+  - 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
+          - dps_val: last_meal
+            value: no_food
+      - id: 130
+        type: string
+        name: firmware_version
+      - id: 131
+        type: string
+        name: hardware_version
+      - id: 132
+        type: base64
+        optional: true
+        name: device_capabilities
+  - entity: sensor
+    translation_key: status
+    name: Food level
+    class: enum
+    category: diagnostic
+    dps:
+      - id: 6
+        type: string
+        optional: true
+        name: sensor
+        mapping:
+          - dps_val: enough
+            value: high
+          - dps_val: insufficient
+            value: low
+          - dps_val: run_out
+            value: empty
+  - entity: binary_sensor
+    class: problem
+    category: diagnostic
+    dps:
+      - id: 13
+        type: bitfield
+        optional: true
+        name: sensor
+        mapping:
+          - dps_val: 0
+            value: false
+          - dps_val: null
+            value: false
+          - value: true
+      - id: 13
+        type: bitfield
+        optional: true
+        name: fault_code
+      - id: 150
+        type: integer
+        name: error_code
+  - entity: sensor
+    name: Last feed
+    category: diagnostic
+    dps:
+      - id: 14
+        type: integer
+        name: sensor
+        unit: portions
+  - entity: button
+    translation_key: factory_reset
+    category: config
+    hidden: true
+    dps:
+      - id: 24
+        type: boolean
+        optional: true
+        name: button
+  - entity: switch
+    name: Alarm
+    category: config
+    dps:
+      - id: 106
+        type: boolean
+        optional: true
+        name: switch
+  - entity: switch
+    name: Stainless steel inserts
+    category: config
+    dps:
+      - id: 110
+        type: boolean
+        name: switch
+  - entity: light
+    dps:
+      - id: 111
+        name: brightness
+        type: integer
+        range:
+          min: 0
+          max: 10
+  - entity: button
+    name: Reset counter
+    category: config
+    dps:
+      - id: 120
+        type: boolean
+        optional: true
+        name: button
+  - entity: switch
+    name: Counter enable
+    category: config
+    dps:
+      - id: 125
+        type: boolean
+        name: switch
+  - entity: text
+    name: Quick feed command
+    category: config
+    icon: "mdi:food-drumstick"
+    hidden: true
+    dps:
+      - id: 140
+        type: base64
+        optional: true
+        name: value
+  - entity: number
+    name: Manual defrost
+    category: config
+    icon: "mdi:snowflake-melt"
+    dps:
+      - id: 142
+        type: integer
+        name: value
+        range:
+          min: -2147483647
+          max: 2147483647
+  - entity: sensor
+    name: Counter
+    category: diagnostic
+    dps:
+      - id: 145
+        type: integer
+        name: sensor
+  - entity: text
+    name: Logs
+    category: config
+    icon: "mdi:script-text"
+    hidden: true
+    dps:
+      - id: 151
+        type: base64
+        optional: true
+        name: value