Explorar el Código

Add Zedar K1200 Cat Litterbox device configuration (#4054)

* Add Zedar K1200 Cat Litterbox device configuration

* fix linting

remove empty lines at end of file

* Zedar k1200 use translations instead of static naming

* Zedar k1200: replace unit days with d

* Introduce 'smoothing' status translation

* feat (zedar_k1200_litterbox): naming changes

- follow HA naming convention for device name
- shorten some entity names and make them more distinct
- remove ranges from sensors, as they are not used

PR #4054

* cleanup (zedar_k1200_litterbox): remove more sensor ranges

Removed range constraints for sensor values.

---------

Co-authored-by: Marco Kaldenbach <marco.kaldenbach@outlook.com>
Co-authored-by: Jason Rumney <make-all@users.noreply.github.com>
MarcoKaldenbach hace 2 meses
padre
commit
d85114b1e2
Se han modificado 25 ficheros con 251 adiciones y 23 borrados
  1. 1 0
      DEVICES.md
  2. 204 0
      custom_components/tuya_local/devices/zedar_k1200_litterbox.yaml
  3. 2 1
      custom_components/tuya_local/translations/bg.json
  4. 2 1
      custom_components/tuya_local/translations/ca.json
  5. 2 1
      custom_components/tuya_local/translations/cz.json
  6. 2 1
      custom_components/tuya_local/translations/de.json
  7. 2 1
      custom_components/tuya_local/translations/el.json
  8. 2 1
      custom_components/tuya_local/translations/en.json
  9. 2 1
      custom_components/tuya_local/translations/es.json
  10. 2 1
      custom_components/tuya_local/translations/fr.json
  11. 2 1
      custom_components/tuya_local/translations/hu.json
  12. 2 1
      custom_components/tuya_local/translations/id.json
  13. 2 1
      custom_components/tuya_local/translations/it.json
  14. 2 1
      custom_components/tuya_local/translations/ja.json
  15. 2 1
      custom_components/tuya_local/translations/no-NB.json
  16. 2 1
      custom_components/tuya_local/translations/pl.json
  17. 2 1
      custom_components/tuya_local/translations/pt-BR.json
  18. 2 1
      custom_components/tuya_local/translations/pt-PT.json
  19. 2 1
      custom_components/tuya_local/translations/ro.json
  20. 2 1
      custom_components/tuya_local/translations/ru.json
  21. 2 1
      custom_components/tuya_local/translations/sv.json
  22. 2 1
      custom_components/tuya_local/translations/uk.json
  23. 2 1
      custom_components/tuya_local/translations/ur.json
  24. 2 1
      custom_components/tuya_local/translations/zh-Hans.json
  25. 2 1
      custom_components/tuya_local/translations/zh-Hant.json

+ 1 - 0
DEVICES.md

@@ -1028,6 +1028,7 @@ port and password.
 - WellToBe Automatic Pet Feeder (WB S36D)
 - YP pet feeder
 - Yuposl dual-band pet feeder
+- Zedar K1200 cat litter box
 
 ### Remote controllers
 

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

@@ -0,0 +1,204 @@
+name: Litter box
+products:
+  - id: pkv5fgzrh4joaces
+    manufacturer: Zedar
+    model: K1200
+entities:
+  - entity: switch
+    name: Disinfect
+    icon: "mdi:bacteria"
+    dps:
+      - id: 1
+        type: boolean
+        name: switch
+  - entity: switch
+    name: Auto clean
+    category: config
+    icon: "mdi:refresh-auto"
+    dps:
+      - id: 4
+        type: boolean
+        name: switch
+  - entity: number
+    name: Delay clean time
+    category: config
+    class: duration
+    icon: "mdi:timer-refresh-outline"
+    dps:
+      - id: 5
+        type: integer
+        name: value
+        unit: s
+        range:
+          min: 0
+          max: 600
+  - entity: sensor
+    class: weight
+    dps:
+      - id: 6
+        type: integer
+        name: sensor
+        unit: g
+        class: measurement
+  - entity: sensor
+    name: Daily excretions
+    dps:
+      - id: 7
+        type: integer
+        name: sensor
+        unit: times
+  - entity: sensor
+    name: Daily excretion time
+    class: duration
+    dps:
+      - id: 8
+        type: integer
+        name: sensor
+        unit: s
+  - entity: button
+    name: Manual clean
+    icon: "mdi:autorenew"
+    dps:
+      - id: 9
+        type: boolean
+        name: button
+  - entity: light
+    dps:
+      - id: 16
+        type: boolean
+        name: switch
+  - entity: binary_sensor
+    name: Motor fault
+    icon: "mdi:engine"
+    class: problem
+    category: diagnostic
+    dps:
+      - id: 22
+        type: bitfield
+        name: sensor
+        mapping:
+          - dps_val: 1
+            value: true
+          - value: false
+  - entity: binary_sensor
+    name: G-Sensor fault
+    icon: "mdi:alpha-g-circle"
+    class: problem
+    category: diagnostic
+    dps:
+      - id: 22
+        type: bitfield
+        name: sensor
+        mapping:
+          - dps_val: 2
+            value: true
+          - value: false
+  - entity: binary_sensor
+    name: Bag full
+    icon: "mdi:trash-can"
+    class: problem
+    category: diagnostic
+    dps:
+      - id: 22
+        type: bitfield
+        name: sensor
+        mapping:
+          - dps_val: 4
+            value: true
+          - value: false
+  - entity: binary_sensor
+    name: Box open
+    icon: "mdi:tray-arrow-up"
+    class: problem
+    category: diagnostic
+    dps:
+      - id: 22
+        type: bitfield
+        name: sensor
+        mapping:
+          - dps_val: 8
+            value: true
+          - value: false
+  - entity: binary_sensor
+    name: Filter fault
+    icon: "mdi:filter-settings-outline"
+    class: problem
+    category: diagnostic
+    dps:
+      - id: 22
+        type: bitfield
+        name: sensor
+        mapping:
+          - dps_val: 16
+            value: true
+          - value: false
+  - entity: button
+    translation_key: factory_reset
+    category: config
+    dps:
+      - id: 23
+        type: boolean
+        name: button
+  - entity: sensor
+    translation_key: status
+    class: enum
+    category: diagnostic
+    dps:
+      - id: 24
+        type: string
+        name: sensor
+        mapping:
+          - dps_val: cat_in
+            value: occupied
+          - dps_val: cat_near
+            value: monitor
+          - dps_val: cat_out
+            value: available
+          - dps_val: clean
+            value: cleaning
+          - dps_val: clear_sand
+            value: emptying
+          - dps_val: sleep
+            value: sleep
+          - dps_val: smooth
+            value: smoothing
+          - dps_val: standby
+            value: standby
+          - dps_val: uv
+            value: sterilizing
+  - entity: switch
+    name: Pour sand
+    icon: "mdi:wave-arrow-down"
+    dps:
+      - id: 101
+        type: boolean
+        name: switch
+  - entity: switch
+    name: Smooth sand
+    icon: "mdi:auto-fix"
+    dps:
+      - id: 102
+        type: boolean
+        name: switch
+  - entity: lock
+    translation_key: child_lock
+    category: config
+    dps:
+      - id: 103
+        type: boolean
+        name: lock
+  - entity: button
+    name: Deodorant reset
+    category: config
+    dps:
+      - id: 108
+        type: boolean
+        name: button
+  - entity: sensor
+    name: Remaining deodorant
+    class: duration
+    dps:
+      - id: 109
+        type: integer
+        name: sensor
+        unit: d

+ 2 - 1
custom_components/tuya_local/translations/bg.json

@@ -911,7 +911,8 @@
                     "maintenance_required": "Изисква се поддръжка",
                     "dry": "Сухо",
                     "comfortable": "Удобно",
-                    "damp": "Влажно"
+                    "damp": "Влажно",
+                    "smoothing": "Изглаждане"
                 }
             },
             "time_remaining": {

+ 2 - 1
custom_components/tuya_local/translations/ca.json

@@ -461,7 +461,8 @@
                     "maintenance_required": "Manteniment necessari",
                     "dry": "Sec",
                     "comfortable": "Còmode",
-                    "damp": "Humit"
+                    "damp": "Humit",
+                    "smoothing": "Allisant"
                 }
             },
             "time_remaining": {

+ 2 - 1
custom_components/tuya_local/translations/cz.json

@@ -910,7 +910,8 @@
                     "maintenance_required": "Vyžadována údržba",
                     "dry": "Suchý",
                     "comfortable": "Pohodlný",
-                    "damp": "Vlhost"
+                    "damp": "Vlhost",
+                    "smoothing": "Vyhlazování"
                 }
             },
             "time_remaining": {

+ 2 - 1
custom_components/tuya_local/translations/de.json

@@ -911,7 +911,8 @@
                     "maintenance_required": "Wartung erforderlich",
                     "dry": "Trocken",
                     "comfortable": "Bequem",
-                    "damp": "Feucht"
+                    "damp": "Feucht",
+                    "smoothing": "Glätten"
                 }
             },
             "time_remaining": {

+ 2 - 1
custom_components/tuya_local/translations/el.json

@@ -910,7 +910,8 @@
                     "maintenance_required": "Απαιτείται συντήρηση",
                     "dry": "Στεγνό",
                     "comfortable": "Άνετο",
-                    "damp": "Υγρό"
+                    "damp": "Υγρό",
+                    "smoothing": "Εξομάλυνση"
                 }
             },
             "time_remaining": {

+ 2 - 1
custom_components/tuya_local/translations/en.json

@@ -910,7 +910,8 @@
                     "maintenance_required": "Maintenance required",
                     "dry": "Dry",
                     "comfortable": "Comfortable",
-                    "damp": "Damp"
+                    "damp": "Damp",
+                    "smoothing": "Smoothing"
                 }
             },
             "time_remaining": {

+ 2 - 1
custom_components/tuya_local/translations/es.json

@@ -910,7 +910,8 @@
                     "maintenance_required": "Mantenimiento requerido",
                     "dry": "Seco",
                     "comfortable": "Cómodo",
-                    "damp": "Húmedo"
+                    "damp": "Húmedo",
+                    "smoothing": "Alisando"
                 }
             },
             "time_remaining": {

+ 2 - 1
custom_components/tuya_local/translations/fr.json

@@ -910,7 +910,8 @@
                     "maintenance_required": "Entretien requis",
                     "dry": "Sec",
                     "comfortable": "Confortable",
-                    "damp": "Humide"
+                    "damp": "Humide",
+                    "smoothing": "Lissage"
                 }
             },
             "time_remaining": {

+ 2 - 1
custom_components/tuya_local/translations/hu.json

@@ -911,7 +911,8 @@
                     "maintenance_required": "Karbantartás szükséges",
                     "dry": "Száraz",
                     "comfortable": "Kényelmes",
-                    "damp": "Párás"
+                    "damp": "Párás",
+                    "smoothing": "Simítás"
                 }
             },
             "time_remaining": {

+ 2 - 1
custom_components/tuya_local/translations/id.json

@@ -910,7 +910,8 @@
                     "maintenance_required": "Perawatan diperlukan",
                     "dry": "Kering",
                     "comfortable": "Nyaman",
-                    "damp": "Lembab"
+                    "damp": "Lembab",
+                    "smoothing": "Menghaluskan"
                 }
             },
             "time_remaining": {

+ 2 - 1
custom_components/tuya_local/translations/it.json

@@ -911,7 +911,8 @@
                     "maintenance_required": "Manutenzione richiesta",
                     "dry": "Asciutto",
                     "comfortable": "Confortevole",
-                    "damp": "Umido"
+                    "damp": "Umido",
+                    "smoothing": "Levigazione"
                 }
             },
             "time_remaining": {

+ 2 - 1
custom_components/tuya_local/translations/ja.json

@@ -910,7 +910,8 @@
                     "maintenance_required": "メンテナンス必要",
                     "dry": "乾燥",
                     "comfortable": "快適",
-                    "damp": "湿気"
+                    "damp": "湿気",
+                    "smoothing": "平滑化"
                 }
             },
             "time_remaining": {

+ 2 - 1
custom_components/tuya_local/translations/no-NB.json

@@ -911,7 +911,8 @@
                     "maintenance_required": "Vedlikehold kreves",
                     "dry": "Tørr",
                     "comfortable": "Komfortabel",
-                    "damp": "Fuktig"
+                    "damp": "Fuktig",
+                    "smoothing": "Utjevning"
                 }
             },
             "time_remaining": {

+ 2 - 1
custom_components/tuya_local/translations/pl.json

@@ -911,7 +911,8 @@
                     "maintenance_required": "Wymagana konserwacja",
                     "dry": "Suchy",
                     "comfortable": "Wygodny",
-                    "damp": "Wilgotny"
+                    "damp": "Wilgotny",
+                    "smoothing": "Wygładzanie"
                 }
             },
             "time_remaining": {

+ 2 - 1
custom_components/tuya_local/translations/pt-BR.json

@@ -910,7 +910,8 @@
                     "maintenance_required": "Manutenção necessária",
                     "dry": "Seco",
                     "comfortable": "Confortável",
-                    "damp": "Úmido"
+                    "damp": "Úmido",
+                    "smoothing": "Suavizando"
                 }
             },
             "time_remaining": {

+ 2 - 1
custom_components/tuya_local/translations/pt-PT.json

@@ -910,7 +910,8 @@
                     "maintenance_required": "Manutenção necessária",
                     "dry": "Seco",
                     "comfortable": "Confortável",
-                    "damp": "Úmido"
+                    "damp": "Úmido",
+                    "smoothing": "Suavizar"
                 }
             },
             "time_remaining": {

+ 2 - 1
custom_components/tuya_local/translations/ro.json

@@ -910,7 +910,8 @@
                     "maintenance_required": "Necesită întreținere",
                     "dry": "Uscat",
                     "comfortable": "Confortabil",
-                    "damp": "Umed"
+                    "damp": "Umed",
+                    "smoothing": "Netezire"
                 }
             },
             "time_remaining": {

+ 2 - 1
custom_components/tuya_local/translations/ru.json

@@ -910,7 +910,8 @@
                     "maintenance_required": "Требуется техническое обслуживание",
                     "dry": "Сухой",
                     "comfortable": "Комфортный",
-                    "damp": "Влажный"
+                    "damp": "Влажный",
+                    "smoothing": "Сглаживание"
                 }
             },
             "time_remaining": {

+ 2 - 1
custom_components/tuya_local/translations/sv.json

@@ -910,7 +910,8 @@
                     "maintenance_required": "Underhåll krävs",
                     "dry": "Torr",
                     "comfortable": "Bekväm",
-                    "damp": "Fuktig"                    
+                    "damp": "Fuktig",
+                    "smoothing": "Utjämning"
                 }
             },
             "time_remaining": {

+ 2 - 1
custom_components/tuya_local/translations/uk.json

@@ -911,7 +911,8 @@
                     "maintenance_required": "Потрібне обслуговування",
                     "dry": "Сухий",
                     "comfortable": "Комфортний",
-                    "damp": "Вогкий"
+                    "damp": "Вогкий",
+                    "smoothing": "Згладжування"
                 }
             },
             "time_remaining": {

+ 2 - 1
custom_components/tuya_local/translations/ur.json

@@ -912,7 +912,8 @@
                     "maintenance_required": "مینٹیننس کی ضرورت ہے",
                     "dry": "خشک",
                     "comfortable": "آرام دہ",
-                    "damp": "نم"
+                    "damp": "نم",
+                    "smoothing": "ہموار کرنا"
                 }
             },
             "time_remaining": {

+ 2 - 1
custom_components/tuya_local/translations/zh-Hans.json

@@ -910,7 +910,8 @@
                     "maintenance_required": "需要维护",
                     "dry": "干燥",
                     "comfortable": "舒适",
-                    "damp": "潮湿"
+                    "damp": "潮湿",
+                    "smoothing": "平滑处理"
                 }
             },
             "time_remaining": {

+ 2 - 1
custom_components/tuya_local/translations/zh-Hant.json

@@ -911,7 +911,8 @@
                     "maintenance_required": "需要維護",
                     "dry": "乾燥",
                     "comfortable": "舒適",
-                    "damp": "潮濕"
+                    "damp": "潮濕",
+                    "smoothing": "平滑處理"
                 }
             },
             "time_remaining": {