diff --git a/ACKNOWLEDGEMENTS.md b/ACKNOWLEDGEMENTS.md index 5dcd77ac1df..1f772fbd928 100644 --- a/ACKNOWLEDGEMENTS.md +++ b/ACKNOWLEDGEMENTS.md @@ -804,3 +804,4 @@ Further device support has been made with the assistance of users. Please consid - [nicolas-sora](https://github.com/nicolas-sora) for assisting with support for Wasserstein AquaPal water monitor. - [theqz](https://github.com/theqz) for assisting with support for A03 siren. - [luisolavea](https://github.com/luisolavea) for assisting with support for Zemismart ZMAi-90 energy meter smart switch. +- [City-Zero](https://github.com/City-Zero) for contributing support for airx H8 humidifier. diff --git a/DEVICES.md b/DEVICES.md index 5d8d4e31677..00e5aea4025 100644 --- a/DEVICES.md +++ b/DEVICES.md @@ -378,6 +378,7 @@ ### Humidifiers +- airx H8 humidifier - BlitzWolf BW-SH2 humidifier - BlitzWolf BW-SH5 humidifier - Carro VES1011 humidifier diff --git a/custom_components/tuya_local/devices/airx_h8_humidifier.yaml b/custom_components/tuya_local/devices/airx_h8_humidifier.yaml new file mode 100644 index 00000000000..a84a94f74c2 --- /dev/null +++ b/custom_components/tuya_local/devices/airx_h8_humidifier.yaml @@ -0,0 +1,119 @@ +name: Humidifier +products: + - id: orypuo7ksduqze3x + manufacturer: airx + model: H8Pro +entities: + - entity: humidifier + class: humidifier + dps: + - id: 1 + name: switch + type: boolean + mapping: + - dps_val: true + icon: "mdi:air-humidifier" + - dps_val: false + icon: "mdi:air-humidifier-off" + - id: 13 + name: humidity + type: integer + range: + min: 30 + max: 80 + - id: 14 + name: current_humidity + type: integer + - id: 24 + type: string + name: mode + mapping: + - dps_val: AUTO + value: auto + - dps_val: LOW + value: eco + - dps_val: MIDDLE + value: normal + - dps_val: HIGH + value: boost + - dps_val: SLEEP + value: sleep + - entity: binary_sensor + category: diagnostic + class: opening + dps: + - id: 22 + type: string + name: sensor + mapping: + - dps_val: 0 + value: false + - dps_val: 1 + value: true + - entity: switch + translation_key: electrolytic_sterilization + category: config + dps: + - id: 21 + type: boolean + name: switch + - entity: switch + translation_key: evaporator_cleaning + category: config + dps: + - id: 2 + type: boolean + name: switch + - entity: switch + translation_key: uv_sterilization + category: config + dps: + - id: 102 + type: boolean + name: switch + - entity: light + translation_key: display + category: config + dps: + - id: 5 + type: boolean + name: switch + - entity: switch + translation_key: keytone + category: config + dps: + - id: 8 + type: boolean + name: switch + - entity: sensor + translation_key: water_level + class: enum + category: diagnostic + dps: + - id: 101 + name: sensor + type: string + mapping: + - dps_val: No_water + value: empty + - dps_val: Low_water + value: low + - dps_val: Middle_water + value: medium + - dps_val: High_water + value: high + - dps_val: Full_water + value: full + - entity: switch + translation_key: ionizer + dps: + - id: 25 + name: switch + type: boolean + - entity: lock + translation_key: child_lock + category: config + dps: + - id: 29 + type: boolean + name: lock diff --git a/custom_components/tuya_local/icons.json b/custom_components/tuya_local/icons.json index b1afc189231..dd658920b36 100644 --- a/custom_components/tuya_local/icons.json +++ b/custom_components/tuya_local/icons.json @@ -181,6 +181,14 @@ "cooking_status": { "default": "mdi:information-variant-circle" }, + "water_level": { + "default": "mdi:gauge", + "state": { + "empty": "mdi:gauge-empty", + "low": "mdi:gauge-low", + "full": "mdi:gauge-full" + } + }, "status": { "default": "mdi:information-variant-circle", "state": { @@ -270,6 +278,9 @@ }, "uv_sterilization": { "default": "mdi:sun-wireless" + }, + "electrolytic_sterilization": { + "default": "mdi:flash" } } } diff --git a/custom_components/tuya_local/translations/bg.json b/custom_components/tuya_local/translations/bg.json index af4d6f8d1f3..299a7b7cc52 100644 --- a/custom_components/tuya_local/translations/bg.json +++ b/custom_components/tuya_local/translations/bg.json @@ -619,6 +619,16 @@ "pause": "Пауза за готвене" } }, + "water_level": { + "name": "Ниво на водата", + "state": { + "full": "Пълна", + "high": "Висока", + "medium": "Средна", + "low": "Ниска", + "empty": "Празна" + } + }, "energy_produced": { "name": "Произведена енергия" }, @@ -663,6 +673,9 @@ "switch_x": { "name": "Превключване {x}" }, + "electrolytic_sterilization": { + "name": "Електролизна стерилизация" + }, "uv_sterilization": { "name": "UV стерилизация" } diff --git a/custom_components/tuya_local/translations/cz.json b/custom_components/tuya_local/translations/cz.json index ccddbf8fb96..df9d54c2fd1 100644 --- a/custom_components/tuya_local/translations/cz.json +++ b/custom_components/tuya_local/translations/cz.json @@ -618,6 +618,16 @@ "pause": "Vaření pozastaveno" } }, + "water_level": { + "name": "Úroveň vody", + "state": { + "full": "Plný", + "high": "Vysoký", + "medium": "Střední", + "low": "Nízký", + "empty": "Prázdný" + } + }, "energy_produced": { "name": "Vyprodukována energie" }, @@ -662,6 +672,9 @@ "switch_x": { "name": "Přepínač {x}" }, + "electrolytic_sterilization": { + "name": "Elektrolytická sterilizace" + }, "uv_sterilization": { "name": "UV sterilizace" } diff --git a/custom_components/tuya_local/translations/de.json b/custom_components/tuya_local/translations/de.json index 63a65993a57..61172c316b8 100644 --- a/custom_components/tuya_local/translations/de.json +++ b/custom_components/tuya_local/translations/de.json @@ -618,6 +618,16 @@ "pause": "Kochen pausiert" } }, + "water_level": { + "name": "Wasserstand", + "state": { + "empty": "Leer", + "low": "Niedrig", + "medium": "Mittel", + "high": "Hoch", + "full": "Voll" + } + }, "energy_produced": { "name": "Produzierte Energie" }, @@ -662,6 +672,9 @@ "switch_x": { "name": "Schalter {x}" }, + "electrolytic_sterilization": { + "name": "Elektrolytische Sterilisation" + }, "uv_sterilization": { "name": "UV Sterilization" } diff --git a/custom_components/tuya_local/translations/el.json b/custom_components/tuya_local/translations/el.json index 1a3f7345fa8..be43b26d8ef 100644 --- a/custom_components/tuya_local/translations/el.json +++ b/custom_components/tuya_local/translations/el.json @@ -618,6 +618,16 @@ "pause": "Παύση μαγειρέματος" } }, + "water_level": { + "name": "Επίπεδο νερού", + "state": { + "full": "Πλήρες", + "high": "Υψηλό", + "medium": "Μεσαίο", + "low": "Χαμηλό", + "empty": "Άδειο" + } + }, "energy_produced": { "name": "Ενέργεια που παράχθηκε" }, @@ -662,6 +672,9 @@ "switch_x": { "name": "Διακόπτης {x}" }, + "electrolytic_sterilization": { + "name": "Ηλεκτρολυτική αποστείρωση" + }, "uv_sterilization": { "name": "Αποστείρωση UV" } diff --git a/custom_components/tuya_local/translations/en.json b/custom_components/tuya_local/translations/en.json index e1b9c567be3..bde06be9c7d 100644 --- a/custom_components/tuya_local/translations/en.json +++ b/custom_components/tuya_local/translations/en.json @@ -618,6 +618,16 @@ "pause": "Cooking Paused" } }, + "water_level": { + "name": "Water Level", + "state": { + "empty": "Empty", + "low": "Low", + "medium": "Medium", + "high": "High", + "full": "Full" + } + }, "energy_produced": { "name": "Energy produced" }, @@ -664,6 +674,9 @@ }, "uv_sterilization": { "name": "UV sterilization" + }, + "electrolytic_sterilization": { + "name": "Electrolytic sterilization" } } } diff --git a/custom_components/tuya_local/translations/es.json b/custom_components/tuya_local/translations/es.json index 2c8400217b2..d927dc3e671 100644 --- a/custom_components/tuya_local/translations/es.json +++ b/custom_components/tuya_local/translations/es.json @@ -618,6 +618,16 @@ "pause": "Pausa en la cocción" } }, + "water_level": { + "name": "Nivel de agua", + "state": { + "full": "Lleno", + "high": "Alto", + "medium": "Medio", + "low": "Bajo", + "empty": "Vacío" + } + }, "energy_produced": { "name": "Energía producida" }, @@ -662,6 +672,9 @@ "switch_x": { "name": "Interruptor {x}" }, + "electrolytic_sterilization": { + "name": "Esterilización electrolítica" + }, "uv_sterilization": { "name": "Esterilización UV" } diff --git a/custom_components/tuya_local/translations/fr.json b/custom_components/tuya_local/translations/fr.json index f88a9194736..73c919e5cc6 100644 --- a/custom_components/tuya_local/translations/fr.json +++ b/custom_components/tuya_local/translations/fr.json @@ -618,6 +618,16 @@ "pause": "Cuisson en pause" } }, + "water_level": { + "name": "Niveau d'eau", + "state": { + "full": "Plein", + "high": "Haut", + "medium": "Milieu", + "low": "Bas", + "empty": "Vide" + } + }, "energy_produced": { "name": "Énergie produite" }, @@ -662,6 +672,9 @@ "switch_x": { "name": "Interrupteur {x}" }, + "electrolytic_sterilization": { + "name": "Stérilisation électrolytique" + }, "uv_sterilization": { "name": "Stérilisation UV" } diff --git a/custom_components/tuya_local/translations/hu.json b/custom_components/tuya_local/translations/hu.json index 4d0341356b6..ec4fc5c8bfd 100644 --- a/custom_components/tuya_local/translations/hu.json +++ b/custom_components/tuya_local/translations/hu.json @@ -619,6 +619,16 @@ "pause": "Főzés szüneteltetve" } }, + "water_level": { + "name": "Vízszint", + "state": { + "full": "Teljes", + "empty": "Üres", + "medium": "Közepes", + "low": "Alacsony", + "high": "Magas" + } + }, "energy_produced": { "name": "Termelt energia" }, @@ -663,6 +673,9 @@ "switch_x": { "name": "Kapcsoló {x}" }, + "electrolytic_sterilization": { + "name": "Elektrolitikus szterilizálás" + }, "uv_sterilization": { "name": "UV sterilizálás" } diff --git a/custom_components/tuya_local/translations/id.json b/custom_components/tuya_local/translations/id.json index 1c7b7f8c673..f391e92a034 100644 --- a/custom_components/tuya_local/translations/id.json +++ b/custom_components/tuya_local/translations/id.json @@ -618,6 +618,16 @@ "pause": "Memasak dijeda" } }, + "water_level": { + "name": "Tingkat air", + "state": { + "full": "Penuh", + "high": "Tinggi", + "medium": "Sedang", + "low": "Rendah", + "empty": "Kosong" + } + }, "energy_produced": { "name": "Energi yang dihasilkan" }, @@ -662,6 +672,9 @@ "switch_x": { "name": "Saklar {x}" }, + "electrolytic_sterilization": { + "name": "Sterilisasi elektrolit" + }, "uv_sterilization": { "name": "Sterilisasi UV" } diff --git a/custom_components/tuya_local/translations/it.json b/custom_components/tuya_local/translations/it.json index d513c395d85..be575524d12 100644 --- a/custom_components/tuya_local/translations/it.json +++ b/custom_components/tuya_local/translations/it.json @@ -619,6 +619,16 @@ "pause": "Cottura in pausa" } }, + "water_level": { + "name": "Livello dell'acqua", + "state": { + "full": "Pieno", + "high": "Alto", + "medium": "Medio", + "low": "Basso", + "empty": "Vuoto" + } + }, "energy_produced": { "name": "Energia prodotta" }, @@ -663,6 +673,9 @@ "switch_x": { "name": "Interruttore {x}" }, + "electrolytic_sterilization": { + "name": "Sterilizzazione elettrolitica" + }, "uv_sterilization": { "name": "Sterilizzazione UV" } diff --git a/custom_components/tuya_local/translations/ja.json b/custom_components/tuya_local/translations/ja.json index 31b142bb353..7b6b8696319 100644 --- a/custom_components/tuya_local/translations/ja.json +++ b/custom_components/tuya_local/translations/ja.json @@ -618,6 +618,16 @@ "pause": "調理一時停止" } }, + "water_level": { + "name": "水位", + "state": { + "emtpy": "空", + "medium": "中", + "low": "低い", + "high": "高い", + "full": "満杯" + } + }, "energy_produced": { "name": "発電量" }, @@ -662,6 +672,9 @@ "switch_x": { "name": "スイッチ{x}" }, + "electrolytic_sterilization": { + "name": "電解殺菌" + }, "uv_sterilization": { "name": "紫外線殺菌" } diff --git a/custom_components/tuya_local/translations/no-NB.json b/custom_components/tuya_local/translations/no-NB.json index fe79711f2d8..e3b3f8d11b9 100644 --- a/custom_components/tuya_local/translations/no-NB.json +++ b/custom_components/tuya_local/translations/no-NB.json @@ -619,6 +619,16 @@ "pause": "Matlaging pause" } }, + "water_level": { + "name": "Vannivå", + "state": { + "full": "Full", + "high": "Høy", + "medium": "Medium", + "low": "Lav", + "empty": "Tom" + } + }, "energy_produced": { "name": "Energi produsert" }, @@ -663,6 +673,9 @@ "switch_x": { "name": "Bryter {x}" }, + "electrolytic_sterilization": { + "name": "Elektrolytisk sterilisering" + }, "uv_sterilization": { "name": "UV-sterilisering" } diff --git a/custom_components/tuya_local/translations/pl.json b/custom_components/tuya_local/translations/pl.json index bdbb3922098..c6b26e760b7 100644 --- a/custom_components/tuya_local/translations/pl.json +++ b/custom_components/tuya_local/translations/pl.json @@ -619,6 +619,16 @@ "pause": "Gotowanie wstrzymane" } }, + "water_level": { + "name": "Poziom wody", + "state": { + "full": "Pełny", + "high": "Wysoki", + "medium": "Średni", + "low": "Niski", + "empty": "Pusty" + } + }, "energy_produced": { "name": "Energia wyprodukowana" }, @@ -663,6 +673,9 @@ "switch_x": { "name": "Przełącznik {x}" }, + "electrolytic_sterilization": { + "name": "Elektrolityczna sterylizacja" + }, "uv_sterilization": { "name": "Sterylizacja UV" } diff --git a/custom_components/tuya_local/translations/pt-BR.json b/custom_components/tuya_local/translations/pt-BR.json index 2da24f747ab..83c31c6dd07 100644 --- a/custom_components/tuya_local/translations/pt-BR.json +++ b/custom_components/tuya_local/translations/pt-BR.json @@ -618,6 +618,16 @@ "pause": "Pausa no cozimento" } }, + "water_level": { + "name": "Nível de água", + "state": { + "full": "Cheio", + "high": "Alto", + "medium": "Médio", + "low": "Baixo", + "empty": "Vazio" + } + }, "energy_produced": { "name": "Energia produzida" }, @@ -662,6 +672,9 @@ "switch_x": { "name": "Interruptor {x}" }, + "electrolytic_sterilization": { + "name": "Esterilização eletrolítica" + }, "uv_sterilization": { "name": "Esterilização UV" } diff --git a/custom_components/tuya_local/translations/ru.json b/custom_components/tuya_local/translations/ru.json index aed006a48ea..30a673a0895 100644 --- a/custom_components/tuya_local/translations/ru.json +++ b/custom_components/tuya_local/translations/ru.json @@ -618,6 +618,16 @@ "pause": "Приготовление приостановлено" } }, + "water_level": { + "name": "Уровень воды", + "state": { + "full": "Полный", + "high": "Высокий", + "medium": "Средний", + "low": "Низкий", + "empty": "Пустой" + } + }, "energy_produced": { "name": "Производимая энергия" }, @@ -662,6 +672,9 @@ "switch_x": { "name": "Выключатель {x}" }, + "electrolytic_sterilization": { + "name": "Электролитическая стерилизация" + }, "uv_sterilization": { "name": "УФ-стерилизация" } diff --git a/custom_components/tuya_local/translations/uk.json b/custom_components/tuya_local/translations/uk.json index 086c05ce31f..6024107712d 100644 --- a/custom_components/tuya_local/translations/uk.json +++ b/custom_components/tuya_local/translations/uk.json @@ -621,6 +621,16 @@ "pause": "Приготування призупинено" } }, + "water_level": { + "name": "Рівень води", + "state": { + "full": "Повний", + "high": "Високий", + "medium": "Середній", + "low": "Низький", + "empty": "Порожній" + } + }, "energy_produced": { "name": "Вироблена енергія" }, @@ -665,6 +675,9 @@ "switch_x": { "name": "Вимикач {x}" }, + "electrolytic_sterilization": { + "name": "Електролітична стерилізація" + }, "uv_sterilization": { "name": "УФ стерилізація" } diff --git a/custom_components/tuya_local/translations/ur.json b/custom_components/tuya_local/translations/ur.json index 761b645f88d..db1500c080b 100644 --- a/custom_components/tuya_local/translations/ur.json +++ b/custom_components/tuya_local/translations/ur.json @@ -621,6 +621,16 @@ "pause": "پکانا معطل ہوگیا" } }, + "water_level": { + "name": "پانی کی سطح", + "state": { + "full": "مکمل", + "high": "زیادہ", + "medium": "درمیانہ", + "low": "کم", + "empty": "خالی" + } + }, "energy_produced": { "name": "پیدا کردہ بجلی" }, @@ -665,6 +675,9 @@ "switch_x": { "name": "سوئچ {x}" }, + "electrolytic_sterilization": { + "name": "الیکٹرولائٹک نس بندی" + }, "uv_sterilization": { "name": "UV نس بندی" } diff --git a/custom_components/tuya_local/translations/zh-Hans.json b/custom_components/tuya_local/translations/zh-Hans.json index 77dd022ece3..28425c29cd5 100644 --- a/custom_components/tuya_local/translations/zh-Hans.json +++ b/custom_components/tuya_local/translations/zh-Hans.json @@ -618,6 +618,16 @@ "pause": "烹饪暂停" } }, + "water_level": { + "name": "水量", + "state": { + "empty": "空", + "low": "低", + "medium": "中", + "high": "高", + "full": "满" + } + }, "energy_produced": { "name": "产生的能量" }, @@ -664,6 +674,9 @@ }, "uv_sterilization": { "name": "紫外线消毒" + }, + "electrolytic_sterilization": { + "name": "电解消毒" } } } diff --git a/custom_components/tuya_local/translations/zh-Hant.json b/custom_components/tuya_local/translations/zh-Hant.json index ea9b7e588e5..7267ad9f6a8 100644 --- a/custom_components/tuya_local/translations/zh-Hant.json +++ b/custom_components/tuya_local/translations/zh-Hant.json @@ -619,6 +619,16 @@ "pause": "烹飪暫停" } }, + "water_level": { + "name": "水量", + "state": { + "empty": "空", + "low": "低", + "medium": "中", + "high": "高", + "full": "滿" + } + }, "energy_produced": { "name": "能量產生" }, @@ -665,6 +675,9 @@ }, "uv_sterilization": { "name": "紫外線消毒" + }, + "electrolytic_sterilization": { + "name": "電解消毒" } } }