Selaa lähdekoodia

feat(devices); add Beokeo S20Pro litter box

Issue #5402
Jason Rumney 1 päivä sitten
vanhempi
commit
6844d97ff0
2 muutettua tiedostoa jossa 233 lisäystä ja 0 poistoa
  1. 1 0
      DEVICES.md
  2. 232 0
      custom_components/tuya_local/devices/beokeo_s20pro_litterbox.yaml

+ 1 - 0
DEVICES.md

@@ -1162,6 +1162,7 @@ port and password.
 - Advwin 6L camera pet feeder
 - AF3W pet feeder
 - Arlec Grid Connect 5L and PFC002HA Series 2 pet feeders
+- Beokeo S20Pro cat litter box
 - BNETA F1-D pet feeder (likely compatible with Petwant F1-C)
 - Catit Pixi smart fountain
 - Catit pet feeder (Pixi 2.2kg dispenser and 6 meal versions, and another non-Pixi branded single dispenser)

+ 232 - 0
custom_components/tuya_local/devices/beokeo_s20pro_litterbox.yaml

@@ -0,0 +1,232 @@
+name: Cat litter box
+products:
+  - id: l9gslsbbrd50r79y
+    manufacturer: Beokeo
+    model: S20Pro
+entities:
+  - entity: button
+    name: Clean
+    icon: "mdi:shimmer"
+    dps:
+      - id: 107
+        type: boolean
+        name: button
+  - entity: button
+    name: Reset weight
+    icon: "mdi:scale-balance"
+    category: config
+    dps:
+      - id: 108
+        type: boolean
+        name: button
+  - entity: button
+    name: Reset litter level
+    icon: "mdi:delete-empty"
+    category: config
+    dps:
+      - id: 113
+        type: boolean
+        name: button
+        optional: true
+  - entity: button
+    translation_key: factory_reset
+    category: config
+    hidden: true
+    dps:
+      - id: 115
+        type: boolean
+        name: button
+        optional: true
+  - entity: sensor
+    translation_key: status
+    class: enum
+    dps:
+      - id: 109
+        type: string
+        name: sensor
+        mapping:
+          - dps_val: satnd_by
+            value: standby
+          - dps_val: clumping
+            value: caking
+          - dps_val: cleaning
+            value: cleaning
+          - dps_val: sleeping
+            value: sleep
+          - dps_val: weighing
+            value: waiting
+          - dps_val: cat_inside
+            value: occupied
+  - entity: binary_sensor
+    class: occupancy
+    icon: "mdi:cat"
+    dps:
+      - id: 109
+        type: string
+        name: sensor
+        mapping:
+          - dps_val: cat_inside
+            value: true
+          - value: false
+  - entity: sensor
+    name: Uses today
+    icon: "mdi:counter"
+    category: diagnostic
+    dps:
+      - id: 105
+        type: integer
+        name: sensor
+        unit: times
+  - entity: sensor
+    name: Last use duration
+    icon: "mdi:timer-outline"
+    class: duration
+    category: diagnostic
+    dps:
+      - id: 106
+        type: integer
+        name: sensor
+        unit: s
+        class: measurement
+  - entity: sensor
+    name: Litter level
+    translation_key: water_level
+    icon: "mdi:tray"
+    category: diagnostic
+    class: enum
+    dps:
+      - id: 112
+        type: string
+        name: sensor
+        mapping:
+          - dps_val: full
+            icon: "mdi:tray-full"
+            value: full
+          - dps_val: half
+            icon: "mdi:tray-minus"
+            value: medium
+          - dps_val: empty
+            icon: "mdi:tray"
+            value: empty
+  - entity: binary_sensor
+    class: problem
+    category: diagnostic
+    dps:
+      - id: 114
+        type: bitfield
+        name: sensor
+        mapping:
+          - dps_val: 0
+            value: false
+          - value: true
+      - id: 114
+        type: bitfield
+        name: fault_code
+      - id: 114
+        type: bitfield
+        name: description
+        mapping:
+          - dps_val: 0
+            value: OK
+          - dps_val: 1
+            value: Cat protection
+          - dps_val: 2
+            value: Motor fault
+          - dps_val: 4
+            value: Cover fault
+          - dps_val: 8
+            value: Litter silo empty
+          - dps_val: 16
+            value: Waste bin full
+          - value: Unknown
+  - entity: number
+    name: Clumping delay
+    category: config
+    class: duration
+    icon: "mdi:timer-sand"
+    dps:
+      - id: 101
+        type: integer
+        name: value
+        unit: s
+        range:
+          min: 60
+          max: 1800
+  - entity: switch
+    translation_key: sleep
+    category: config
+    dps:
+      - id: 102
+        type: boolean
+        name: switch
+  - entity: time
+    name: Sleep start
+    category: config
+    dps:
+      - id: 103
+        type: integer
+        name: minute
+        range:
+          min: 0
+          max: 1439
+  - entity: time
+    name: Sleep end
+    category: config
+    dps:
+      - id: 104
+        type: integer
+        name: minute
+        range:
+          min: 0
+          max: 1439
+  - entity: lock
+    translation_key: child_lock
+    category: config
+    dps:
+      - id: 110
+        type: boolean
+        name: lock
+  - entity: switch
+    name: Kitten mode
+    category: config
+    icon: "mdi:cat"
+    dps:
+      - id: 111
+        type: boolean
+        name: switch
+  - entity: light
+    translation_key: indicator
+    category: config
+    dps:
+      - id: 116
+        type: boolean
+        name: switch
+  - entity: switch
+    translation_key: sound
+    category: config
+    dps:
+      - id: 117
+        type: boolean
+        name: switch
+  - entity: select
+    name: Weight unit
+    icon: "mdi:weight-kilogram"
+    category: config
+    dps:
+      - id: 118
+        type: string
+        name: option
+        optional: true
+        mapping:
+          - dps_val: kg
+            value: Kilograms
+          - dps_val: lb
+            value: Pounds
+  - entity: switch
+    name: Auto clean
+    category: config
+    icon: "mdi:shimmer"
+    dps:
+      - id: 119
+        type: boolean
+        name: switch