Parcourir la source

Add support for Vidos M13-XT video doorbell

Issue #3090
Jason Rumney il y a 8 mois
Parent
commit
9c45b1d748

+ 1 - 0
ACKNOWLEDGEMENTS.md

@@ -918,3 +918,4 @@ Further device support has been made with the assistance of users. Please consid
 - [fernac03](https://github.com/fernac03) for assisting with support for Primebras Athenas BLE lock.
 - [drak202](https://github.com/drak202) for assisting with support for 4-TH quad temperature/humidity switch.
 - [duckati](https://github.com/duckati) for assisting with support for BBCoin AT5299 PCIe computer switch.
+- [webkaktuspl](https://github.com/webkaktuspl) for assisting with support for Vidos M13-XT video doorbell.

+ 1 - 0
DEVICES.md

@@ -778,6 +778,7 @@ work reliably, even if listed below.
 - LSC Smart Connect video doorbell
 - MyQ TD8 video doorbell
 - Orno Sigo doorbell
+- Vidos M13-XT video dual gate doorbell
 - WHM-04 doorbell (sold under various brands)
 
 ### Cameras

+ 81 - 0
custom_components/tuya_local/devices/vidos_m13xt_videodoorbell.yaml

@@ -0,0 +1,81 @@
+name: Video doorbell
+products:
+  - id: yev0rxmozbfx8wo
+    manufacturer: Vidos
+    model: M13-XT
+entities:
+  - entity: event
+    class: motion
+    dps:
+      - id: 115
+        type: string
+        name: event
+        optional: true
+        mapping:
+          - dps_val: null
+            value: null
+          - value: detected
+      - id: 115
+        type: base64
+        optional: true
+        name: snapshot
+  - entity: event
+    class: doorbell
+    dps:
+      - id: 154
+        type: string
+        name: event
+        optional: true
+        mapping:
+          - dps_val: null
+            value: null
+          - value: ring
+      - id: 154
+        type: base64
+        optional: true
+        name: snapshot
+  - entity: lock
+    name: Lock 1
+    dps:
+      - id: 148
+        type: boolean
+        optional: true
+        name: lock
+  - entity: lock
+    name: Lock 2
+    dps:
+      - id: 232
+        type: boolean
+        optional: true
+        name: lock
+      - id: 231
+        type: string
+        optional: true
+        name: channel
+  - entity: sensor
+    name: SD card
+    class: enum
+    translation_key: status
+    category: diagnostic
+    dps:
+      - id: 109
+        type: string
+        name: storage
+      - id: 110
+        type: integer
+        optional: true
+        name: sensor
+        mapping:
+          - dps_val: 1
+            value: normal
+          - dps_val: null
+            value: normal
+            hidden: true
+          - dps_val: 2
+            value: fault
+          - dps_val: 3
+            value: full
+          - dps_val: 4
+            value: formatting
+          - dps_val: 5
+            value: missing

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

@@ -677,7 +677,11 @@
                     "starting": "Стартиране",
                     "emptying": "Изтощаване",
                     "resetting": "Нулиране",
-                    "reverse": "Обратно"
+                    "reverse": "Обратно",
+                    "full": "Пълен",
+                    "empty": "Празен",
+                    "missing": "Липсва",
+                    "formatting": "Форматиране"
                 }
             },
             "time_remaining": {

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

@@ -429,7 +429,11 @@
                     "starting": "Inici",
                     "emptying": "Buidat",
                     "resetting": "Reinicialització",
-                    "reverse": "Inversió"
+                    "reverse": "Inversió",
+                    "full": "Ple",
+                    "empty": "Buit",
+                    "missing": "Falta",
+                    "formatting": "Formatant"
                 }
             },
             "time_remaining": {

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

@@ -676,7 +676,11 @@
                     "starting": "Začíná",
                     "emptying": "Vyprazdňování",
                     "resetting": "Resetování",
-                    "reverse": "Obrácený"
+                    "reverse": "Obrácený",
+                    "full": "Plný",
+                    "empty": "Prázdný",
+                    "missing": "Chybí",
+                    "formatting": "Formátování"
                 }
             },
             "time_remaining": {

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

@@ -676,7 +676,11 @@
                     "starting": "Starten",
                     "emptying": "Leeren",
                     "resetting": "Zurücksetzen",
-                    "reverse": "Rückwärts"
+                    "reverse": "Rückwärts",
+                    "full": "Voll",
+                    "empty": "Leer",
+                    "missing": "Fehlend",
+                    "formatting": "Formatieren"
                 }
             },
             "time_remaining": {

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

@@ -676,7 +676,11 @@
                     "starting": "Εκκίνηση",
                     "emptying": "Αδειάζει",
                     "resetting": "Επαναφορά",
-                    "reverse": "Αντίστροφο"
+                    "reverse": "Αντίστροφο",
+                    "full": "Πλήρες",
+                    "empty": "Άδειο",
+                    "missing": "Ελλιπές",
+                    "formatting": "Μορφοποίηση"
                 }
             },
             "time_remaining": {

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

@@ -676,7 +676,11 @@
                     "starting": "Starting",
                     "emptying": "Emptying",
                     "resetting": "Resetting",
-                    "reverse": "Reverse"
+                    "reverse": "Reverse",
+                    "full": "Full",
+                    "empty": "Empty",
+                    "missing": "Missing",
+                    "formatting": "Formatting"
                 }
             },
             "time_remaining": {

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

@@ -676,7 +676,11 @@
                     "starting": "Iniciando",
                     "emptying": "Vaciando",
                     "resetting": "Restableciendo",
-                    "reverse": "Reversa"
+                    "reverse": "Reversa",
+                    "full": "Lleno",
+                    "empty": "Vacío",
+                    "missing": "Faltante",
+                    "formatting": "Formateando"
                 }
             },
             "time_remaining": {

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

@@ -676,7 +676,11 @@
                     "starting": "Démarrage",
                     "emptying": "Vidange",
                     "resetting": "Réinitialisation",
-                    "reverse": "Inverser"
+                    "reverse": "Inverser",
+                    "full": "Plein",
+                    "empty": "Vide",
+                    "missing": "Manquant",
+                    "formatting": "Formatage"
                 }
             },
             "time_remaining": {

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

@@ -677,7 +677,11 @@
                     "starting": "Indítás",
                     "emptying": "Ürítés",
                     "resetting": "Visszaállítás",
-                    "reverse": "Visszafelé"
+                    "reverse": "Visszafelé",
+                    "full": "Teljes",
+                    "empty": "Üres",
+                    "missing": "Hiányzik",
+                    "formatting": "Formázás"
                 }
             },
             "time_remaining": {

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

@@ -676,7 +676,11 @@
                     "starting": "Memulai",
                     "emptying": "Mengosongkan",
                     "resetting": "Merestart",
-                    "reverse": "Mundur"
+                    "reverse": "Mundur",
+                    "full": "Penuh",
+                    "empty": "Kosong",
+                    "missing": "Hilang",
+                    "formatting": "Memformat"
                 }
             },
             "time_remaining": {

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

@@ -677,7 +677,11 @@
                     "starting": "Inizio",
                     "emptying": "Svuotamento",
                     "resetting": "Ripristino",
-                    "reverse": "Inversione"
+                    "reverse": "Inversione",
+                    "full": "Pieno",
+                    "empty": "Vuoto",
+                    "missing": "Mancante",
+                    "formatting": "Formattazione"
                 }
             },
             "time_remaining": {

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

@@ -676,7 +676,11 @@
                     "starting": "開始中",
                     "emptying": "排出中",
                     "resetting": "リセット中",
-                    "reverse": "逆"
+                    "reverse": "逆",
+                    "full": "満杯",
+                    "empty": "空",
+                    "missing": "欠落",
+                    "formatting": "フォーマット中"
                 }
             },
             "time_remaining": {

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

@@ -677,7 +677,11 @@
                     "starting": "Starter",
                     "emptying": "Tømming",
                     "resetting": "Tilbakestilling",
-                    "reverse": "Revers"
+                    "reverse": "Revers",
+                    "full": "Full",
+                    "empty": "Tom",
+                    "missing": "Manglende",
+                    "formatting": "Formatering"
                 }
             },
             "time_remaining": {

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

@@ -677,7 +677,11 @@
                     "starting": "Uruchamianie",
                     "emptying": "Opróżnianie",
                     "resetting": "Resetowanie",
-                    "reverse": "Odwrócone"
+                    "reverse": "Odwrócone",
+                    "full": "Pełne",
+                    "empty": "Puste",
+                    "missing": "Brakujące",
+                    "formatting": "Formatowanie"
                 }
             },
             "time_remaining": {

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

@@ -676,7 +676,11 @@
                     "starting": "Iniciando",
                     "emptying": "Esvaziando",
                     "resetting": "Redefinindo",
-                    "reverse": "Reverso"
+                    "reverse": "Reverso",
+                    "full": "Cheio",
+                    "empty": "Vazio",
+                    "missing": "Faltando",
+                    "formatting": "Formatando"
                 }
             },
             "time_remaining": {

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

@@ -676,7 +676,11 @@
                     "starting": "Запуск",
                     "emptying": "Опорожнение",
                     "resetting": "Сброс",
-                    "reverse": "Реверс"
+                    "reverse": "Реверс",
+                    "full": "Полный",
+                    "empty": "Пустой",
+                    "missing": "Отсутствует",
+                    "formatting": "Форматирование"
                 }
             },
             "time_remaining": {

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

@@ -679,7 +679,11 @@
                     "starting": "Початок",
                     "emptying": "Опорожнення",
                     "resetting": "Скидання",
-                    "reverse": "Реверс"
+                    "reverse": "Реверс",
+                    "full": "Повний",
+                    "empty": "Порожній",
+                    "missing": "Відсутній",
+                    "formatting": "Форматування"
                 }
             },
             "time_remaining": {

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

@@ -679,7 +679,11 @@
                     "starting": "شروع ہو رہا ہے",
                     "emptying": "خالی کرنا",
                     "resetting": "ری سیٹ کرنا",
-                    "reverse": "الٹا"
+                    "reverse": "الٹا",
+                    "full": "مکمل",
+                    "empty": "خالی",
+                    "missing": "غائب",
+                    "formatting": "فارمیٹنگ"
                 }
             },
             "time_remaining": {

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

@@ -676,7 +676,11 @@
                     "starting": "启动中",
                     "emptying": "排空中",
                     "resetting": "重置中",
-                    "reverse": "反转中"
+                    "reverse": "反转中",
+                    "full": "已满",
+                    "empty": "已空",
+                    "missing": "缺失",
+                    "formatting": "格式化中"
                 }
             },
             "time_remaining": {

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

@@ -677,7 +677,11 @@
                     "starting": "啟動中",
                     "emptying": "排空中",
                     "resetting": "重置中",
-                    "reverse": "反轉中"
+                    "reverse": "反轉中",
+                    "full": "滿",
+                    "empty": "空",
+                    "missing": "缺失",
+                    "formatting": "格式化中"
                 }
             },
             "time_remaining": {