diff --git a/custom_components/hon/binary_sensor.py b/custom_components/hon/binary_sensor.py index 3907325..4f85635 100644 --- a/custom_components/hon/binary_sensor.py +++ b/custom_components/hon/binary_sensor.py @@ -285,6 +285,16 @@ BINARY_SENSORS: dict[str, tuple[HonBinarySensorEntityDescription, ...]] = { translation_key="on", ), ), + "WH": ( + HonBinarySensorEntityDescription( + key="onOffStatus", + name="Power State", + icon="mdi:power-standby", + device_class=BinarySensorDeviceClass.POWER, + on_value=1, + translation_key="power-state", + ), + ), "FRE": ( HonBinarySensorEntityDescription( key="quickModeZ1", diff --git a/custom_components/hon/const.py b/custom_components/hon/const.py index 69ba158..490c41a 100644 --- a/custom_components/hon/const.py +++ b/custom_components/hon/const.py @@ -294,3 +294,9 @@ AC_POSITION_VERTICAL = { 7: "position_5", 8: "swing", } + +WH_MACH_MODE: dict[int, str] = { + 1: "eco", + 2: "max", + 3: "bps", +} diff --git a/custom_components/hon/number.py b/custom_components/hon/number.py index b646b75..5864c36 100644 --- a/custom_components/hon/number.py +++ b/custom_components/hon/number.py @@ -5,6 +5,7 @@ from dataclasses import dataclass from homeassistant.components.number import ( NumberEntity, NumberEntityDescription, + NumberDeviceClass, ) from homeassistant.config_entries import ConfigEntry from homeassistant.const import UnitOfTime, UnitOfTemperature @@ -27,7 +28,7 @@ class HonConfigNumberEntityDescription(NumberEntityDescription): @dataclass(frozen=True) class HonNumberEntityDescription(NumberEntityDescription): - pass + send_key_only: bool = False NUMBERS: dict[str, tuple[NumberEntityDescription, ...]] = { @@ -201,6 +202,17 @@ NUMBERS: dict[str, tuple[NumberEntityDescription, ...]] = { translation_key="pollen_level", ), ), + "WH": ( + HonNumberEntityDescription( + key="settings.tempSel", + name="Target Temperature", + icon="mdi:thermometer", + device_class=NumberDeviceClass.TEMPERATURE, + native_unit_of_measurement=UnitOfTemperature.CELSIUS, + translation_key="target_temperature", + send_key_only=True, + ), + ), } NUMBERS["WD"] = unique_entities(NUMBERS["WM"], NUMBERS["TD"]) @@ -253,8 +265,12 @@ class HonNumberEntity(HonEntity, NumberEntity): setting = self._device.settings[self.entity_description.key] if isinstance(setting, HonParameterRange): setting.value = value - command = self.entity_description.key.split(".")[0] - await self._device.commands[command].send() + key_parts = self.entity_description.key.split(".") + command = key_parts[0] + if self.entity_description.send_key_only: + await self._device.commands[command].send_specific([key_parts[1]]) + else: + await self._device.commands[command].send() if command != "settings": self._device.sync_command(command, "settings") self.coordinator.async_set_updated_data({}) diff --git a/custom_components/hon/select.py b/custom_components/hon/select.py index c7da326..90fd98a 100644 --- a/custom_components/hon/select.py +++ b/custom_components/hon/select.py @@ -22,6 +22,7 @@ _LOGGER = logging.getLogger(__name__) @dataclass(frozen=True) class HonSelectEntityDescription(SelectEntityDescription): option_list: dict[int, str] | None = None + send_key_only: bool = False @dataclass(frozen=True) @@ -185,6 +186,24 @@ SELECTS: dict[str, tuple[SelectEntityDescription, ...]] = { translation_key="mode", ), ), + "WH": ( + HonSelectEntityDescription( + key="settings.tempSel", + name="Target Temperature", + icon="mdi:thermometer", + unit_of_measurement=UnitOfTemperature.CELSIUS, + translation_key="target_temperature", + send_key_only=True, + ), + HonSelectEntityDescription( + key="settings.machMode", + name="Mode", + send_key_only=True, + icon="mdi:information", + option_list=const.WH_MACH_MODE, + translation_key="mach_modes_wh", + ), + ), "FRE": ( HonConfigSelectEntityDescription( key="startProgram.program", @@ -313,8 +332,12 @@ class HonSelectEntity(HonEntity, SelectEntity): async def async_select_option(self, option: str) -> None: setting = self._device.settings[self.entity_description.key] setting.value = self._option_to_number(option, setting.values) - command = self.entity_description.key.split(".")[0] - await self._device.commands[command].send() + key_parts = self.entity_description.key.split(".") + command = key_parts[0] + if self.entity_description.send_key_only: + await self._device.commands[command].send_specific([key_parts[1]]) + else: + await self._device.commands[command].send() if command != "settings": self._device.sync_command(command, "settings") self.coordinator.async_set_updated_data({}) diff --git a/custom_components/hon/sensor.py b/custom_components/hon/sensor.py index 4039282..cc741bb 100644 --- a/custom_components/hon/sensor.py +++ b/custom_components/hon/sensor.py @@ -780,6 +780,63 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = { translation_key="air_quality", ), ), + "WH": ( + HonSensorEntityDescription( + key="temp", + name="Temperature", + state_class=SensorStateClass.MEASUREMENT, + device_class=SensorDeviceClass.TEMPERATURE, + native_unit_of_measurement=UnitOfTemperature.CELSIUS, + translation_key="temperature", + ), + HonSensorEntityDescription( + key="tempZ1", + name="Temp Z1", + state_class=SensorStateClass.MEASUREMENT, + device_class=SensorDeviceClass.TEMPERATURE, + native_unit_of_measurement=UnitOfTemperature.CELSIUS, + ), + HonSensorEntityDescription( + key="tempZ2", + name="Temp Z2", + state_class=SensorStateClass.MEASUREMENT, + device_class=SensorDeviceClass.TEMPERATURE, + native_unit_of_measurement=UnitOfTemperature.CELSIUS, + ), + HonSensorEntityDescription( + key="tempSel", + name="Target Temperature", + icon="mdi:thermometer", + state_class=SensorStateClass.MEASUREMENT, + device_class=SensorDeviceClass.TEMPERATURE, + native_unit_of_measurement=UnitOfTemperature.CELSIUS, + translation_key="target_temperature", + ), + HonSensorEntityDescription( + key="machMode", + name="Mode", + icon="mdi:information", + device_class=SensorDeviceClass.ENUM, + option_list=const.WH_MACH_MODE, + translation_key="mach_modes_wh", + ), + HonSensorEntityDescription( + key="smartTestStatus", + name="Smart Test Status", + ), + HonSensorEntityDescription( + key="anodeMaintenanceStatus", + name="Anode Maintenance Status", + ), + HonSensorEntityDescription( + key="tankMaintenanceStatus", + name="Tank Maintenance Status", + ), + HonSensorEntityDescription( + key="heatingStatus", + name="Heating Status", + ), + ), "FRE": ( HonSensorEntityDescription( key="tempEnv", diff --git a/custom_components/hon/switch.py b/custom_components/hon/switch.py index 359e505..209d069 100644 --- a/custom_components/hon/switch.py +++ b/custom_components/hon/switch.py @@ -23,6 +23,10 @@ _LOGGER = logging.getLogger(__name__) class HonControlSwitchEntityDescription(SwitchEntityDescription): turn_on_key: str = "" turn_off_key: str = "" + only_mandatory_parameters: bool = False + on_value: bool | float = True + off_value: bool | float = False + to_sync: bool = False @dataclass(frozen=True) @@ -382,6 +386,20 @@ SWITCHES: dict[str, tuple[SwitchEntityDescription, ...]] = { translation_key="touch_tone", ), ), + "WH": ( + HonControlSwitchEntityDescription( + key="onOffStatus", + name="Power", + icon="mdi:power-standby", + turn_on_key="startProgram", + turn_off_key="stopProgram", + translation_key="power", + only_mandatory_parameters=True, + on_value=1, + off_value=0, + to_sync=True, + ), + ), "FRE": ( HonSwitchEntityDescription( key="quickModeZ2", @@ -485,20 +503,26 @@ class HonControlSwitchEntity(HonEntity, SwitchEntity): @property def is_on(self) -> bool | None: """Return True if entity is on.""" - return self._device.get(self.entity_description.key, False) + on_value = self.entity_description.on_value + off_value = self.entity_description.off_value + return self._device.get(self.entity_description.key, off_value) == on_value async def async_turn_on(self, **kwargs: Any) -> None: - self._device.sync_command(self.entity_description.turn_on_key, "settings") + desc = self.entity_description + self._device.sync_command(desc.turn_on_key, "settings", desc.to_sync) self.coordinator.async_set_updated_data({}) - await self._device.commands[self.entity_description.turn_on_key].send() - self._device.attributes[self.entity_description.key] = True + command = self._device.commands[desc.turn_on_key] + await command.send(desc.only_mandatory_parameters) + self._device.attributes[desc.key] = desc.on_value self.async_write_ha_state() async def async_turn_off(self, **kwargs: Any) -> None: - self._device.sync_command(self.entity_description.turn_off_key, "settings") + desc = self.entity_description + self._device.sync_command(desc.turn_off_key, "settings", desc.to_sync) self.coordinator.async_set_updated_data({}) - await self._device.commands[self.entity_description.turn_off_key].send() - self._device.attributes[self.entity_description.key] = False + command = self._device.commands[desc.turn_off_key] + await command.send(desc.only_mandatory_parameters) + self._device.attributes[desc.key] = desc.off_value self.async_write_ha_state() @property diff --git a/custom_components/hon/translations/bg.json b/custom_components/hon/translations/bg.json index 4e73c4e..8be523e 100644 --- a/custom_components/hon/translations/bg.json +++ b/custom_components/hon/translations/bg.json @@ -9,6 +9,79 @@ } } } + } + } + }, + "entity": { + "sensor": { + "mode": { + "state": { + "0": "Изключен", + "1": "Готов", + "2": "Работи", + "3": "На пауза", + "5": "Scheduled", + "6": "Грешка", + "7": "Завършен" + } + }, + "errors": { + "state": { + "00": "Няма грешки", + "100000000000": "E2: Провери дали вратата е затворена", + "8000000000000": "E4: Провери подаването на вода" + } + }, + "programs": { + "state": { + "0": "Стандартна", + "62": "Памук", + "63": "Синтетика", + "64": "Смесен тип", + "66": "Чаршафи", + "71": "Пердета", + "72": "Спорт", + "74": "i-time", + "75": "Олекотени завивки", + "76": "Вълна", + "78": "i-Refresh", + "83": "Хавлиена кърпа", + "85": "Бързо Сушене", + "92": "Деликатно пране", + "103": "Отдалечен" + } + }, + "program_phases_td": { + "state": { + "0": "Изчаване", + "2": "Сушене", + "3": "Охлажане", + "11": "11" + } + }, + "tumbledryertemplevel": { + "state": { + "1": "Хладен въздух", + "2": "Ниска температура L-1", + "3": "Средна температура L-2", + "4": "Висока температура L-3" + } + }, + "dry_levels": { + "state": { + "3": "Готови за съхранение", + "12": "Готови за гладене H-1", + "13": "Готови за съхранение H-2", + "14": "Екстра сухо H-3" + } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } + } }, "entity": { "sensor": { @@ -2326,5 +2399,18 @@ "name": "Light" } } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } + } + }, + "binary_sensor": { + "power-state": { + "name": "Power State" + } } } \ No newline at end of file diff --git a/custom_components/hon/translations/cs.json b/custom_components/hon/translations/cs.json index 6d44cbe..6023666 100644 --- a/custom_components/hon/translations/cs.json +++ b/custom_components/hon/translations/cs.json @@ -931,6 +931,13 @@ "high": "Vysoká" }, "name": "Úroveň vlhkosti" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -1816,6 +1823,13 @@ "position_5": "Pevný - Poloha 5", "swing": "Pohyb lamel" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -2015,6 +2029,9 @@ }, "filter_replacement": { "name": "Výměna filtru" + }, + "power-state": { + "name": "Power State" } }, "button": { diff --git a/custom_components/hon/translations/de.json b/custom_components/hon/translations/de.json index 0358ede..de9dfa6 100644 --- a/custom_components/hon/translations/de.json +++ b/custom_components/hon/translations/de.json @@ -931,6 +931,13 @@ "high": "Hoch" }, "name": "Grad der Luftfeuchtigkeit" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -1816,6 +1823,13 @@ "position_5": "Fest - Position 5", "swing": "Schwenkbewegung" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -2015,6 +2029,9 @@ }, "filter_replacement": { "name": "Filteraustausch" + }, + "power-state": { + "name": "Power State" } }, "button": { diff --git a/custom_components/hon/translations/el.json b/custom_components/hon/translations/el.json index 07e158a..6ac0e0e 100644 --- a/custom_components/hon/translations/el.json +++ b/custom_components/hon/translations/el.json @@ -931,6 +931,13 @@ "high": "Υψηλός" }, "name": "Επίπεδο υγρασίας" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -1816,6 +1823,13 @@ "position_5": "Σταθερός - Θέση 5", "swing": "Ταλάντευση" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -2015,6 +2029,9 @@ }, "filter_replacement": { "name": "Αντικατάσταση φίλτρου" + }, + "power-state": { + "name": "Power State" } }, "button": { diff --git a/custom_components/hon/translations/en.json b/custom_components/hon/translations/en.json index f606c51..de54fdc 100644 --- a/custom_components/hon/translations/en.json +++ b/custom_components/hon/translations/en.json @@ -964,6 +964,13 @@ "high": "High" }, "name": "Humidity level" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -1869,6 +1876,13 @@ "position_5": "Fixed - Position 5", "swing": "Swing" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -2068,6 +2082,9 @@ }, "filter_replacement": { "name": "Filter replacement" + }, + "power-state": { + "name": "Power State" } }, "button": { diff --git a/custom_components/hon/translations/es.json b/custom_components/hon/translations/es.json index f21e0c0..bfc98e1 100644 --- a/custom_components/hon/translations/es.json +++ b/custom_components/hon/translations/es.json @@ -931,6 +931,13 @@ "high": "Alto" }, "name": "Nivel de humedad" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -1816,6 +1823,13 @@ "position_5": "Fijo - Posición 5", "swing": "Oscilar" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -2015,6 +2029,9 @@ }, "filter_replacement": { "name": "Sustitución del filtro" + }, + "power-state": { + "name": "Power State" } }, "button": { diff --git a/custom_components/hon/translations/fr.json b/custom_components/hon/translations/fr.json index 06c417a..dda121c 100644 --- a/custom_components/hon/translations/fr.json +++ b/custom_components/hon/translations/fr.json @@ -931,6 +931,13 @@ "high": "Élevé" }, "name": "Niveau d’humidité" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -1816,6 +1823,13 @@ "position_5": "Fixe - Position 5", "swing": "Oscillation" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -2015,6 +2029,9 @@ }, "filter_replacement": { "name": "Remplacement du filtre" + }, + "power-state": { + "name": "Power State" } }, "button": { diff --git a/custom_components/hon/translations/he.json b/custom_components/hon/translations/he.json index f14d36d..0fa536f 100644 --- a/custom_components/hon/translations/he.json +++ b/custom_components/hon/translations/he.json @@ -448,6 +448,13 @@ "high": "גָבוֹהַ" }, "name": "Humidity level" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -859,6 +866,13 @@ "position_5": "Fixed - Position 5", "swing": "Swing" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -1058,6 +1072,9 @@ }, "filter_replacement": { "name": "Filter replacement" + }, + "power-state": { + "name": "Power State" } }, "button": { diff --git a/custom_components/hon/translations/hr.json b/custom_components/hon/translations/hr.json index 930b12f..889f5e7 100644 --- a/custom_components/hon/translations/hr.json +++ b/custom_components/hon/translations/hr.json @@ -931,6 +931,13 @@ "high": "Visoko" }, "name": "Razina vlažnosti" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -1816,6 +1823,13 @@ "position_5": "Fiksno - Položaj 5", "swing": "Njihanje" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -2015,6 +2029,9 @@ }, "filter_replacement": { "name": "Zamjena filtra" + }, + "power-state": { + "name": "Power State" } }, "button": { diff --git a/custom_components/hon/translations/it.json b/custom_components/hon/translations/it.json index 53efe9a..a4c3fe4 100644 --- a/custom_components/hon/translations/it.json +++ b/custom_components/hon/translations/it.json @@ -940,6 +940,13 @@ "high": "Alto" }, "name": "Livello di umidità" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -1829,6 +1836,13 @@ "position_5": "Fissa - Posizione 5", "swing": "Swing" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -2028,6 +2042,9 @@ }, "filter_replacement": { "name": "Sostituzione filtro" + }, + "power-state": { + "name": "Power State" } }, "button": { diff --git a/custom_components/hon/translations/nl.json b/custom_components/hon/translations/nl.json index 97b1d21..6d34b87 100644 --- a/custom_components/hon/translations/nl.json +++ b/custom_components/hon/translations/nl.json @@ -931,6 +931,13 @@ "high": "Hoog" }, "name": "Vochtigheidsniveau" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -1816,6 +1823,13 @@ "position_5": "Vast - Positie 5", "swing": "Draaiend" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -2015,6 +2029,9 @@ }, "filter_replacement": { "name": "Filter vervangen" + }, + "power-state": { + "name": "Power State" } }, "button": { diff --git a/custom_components/hon/translations/pl.json b/custom_components/hon/translations/pl.json index 31cfa8f..abc9ad6 100644 --- a/custom_components/hon/translations/pl.json +++ b/custom_components/hon/translations/pl.json @@ -931,6 +931,13 @@ "high": "Wysokie" }, "name": "Poziom wilgotności" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -1816,6 +1823,13 @@ "position_5": "Stały - Pozycja 5", "swing": "Swing" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -2015,6 +2029,9 @@ }, "filter_replacement": { "name": "Wymiana filtra" + }, + "power-state": { + "name": "Power State" } }, "button": { diff --git a/custom_components/hon/translations/pt.json b/custom_components/hon/translations/pt.json index c866f0a..93fc777 100644 --- a/custom_components/hon/translations/pt.json +++ b/custom_components/hon/translations/pt.json @@ -931,6 +931,13 @@ "high": "Alta" }, "name": "Nível de humidade" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -1816,6 +1823,13 @@ "position_5": "Fixa - Posição 5", "swing": "Oscilação" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -2015,6 +2029,9 @@ }, "filter_replacement": { "name": "Substituição do filtro" + }, + "power-state": { + "name": "Power State" } }, "button": { diff --git a/custom_components/hon/translations/ro.json b/custom_components/hon/translations/ro.json index 1c8b7a9..255e7fd 100644 --- a/custom_components/hon/translations/ro.json +++ b/custom_components/hon/translations/ro.json @@ -931,6 +931,13 @@ "high": "Crescută" }, "name": "Nivelul de umiditate" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -1816,6 +1823,13 @@ "position_5": "Fix - Poziție 5", "swing": "Baleiere" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -2015,6 +2029,9 @@ }, "filter_replacement": { "name": "Înlocuirea filtrului" + }, + "power-state": { + "name": "Power State" } }, "button": { diff --git a/custom_components/hon/translations/ru.json b/custom_components/hon/translations/ru.json index 488799a..3d1ac07 100644 --- a/custom_components/hon/translations/ru.json +++ b/custom_components/hon/translations/ru.json @@ -931,6 +931,13 @@ "high": "Высок." }, "name": "Уровень влажности" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -1816,6 +1823,13 @@ "position_5": "Фиксированное - Позиция 5", "swing": "Качание" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -2015,6 +2029,9 @@ }, "filter_replacement": { "name": "Замена фильтра" + }, + "power-state": { + "name": "Power State" } }, "button": { diff --git a/custom_components/hon/translations/sk.json b/custom_components/hon/translations/sk.json index 0d97e22..1eba254 100644 --- a/custom_components/hon/translations/sk.json +++ b/custom_components/hon/translations/sk.json @@ -931,6 +931,13 @@ "high": "Vysoké" }, "name": "Úroveň vlhkosti" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -1816,6 +1823,13 @@ "position_5": "Pevný - Poloha 5", "swing": "Otáčanie" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -2015,6 +2029,9 @@ }, "filter_replacement": { "name": "Výmena filtra" + }, + "power-state": { + "name": "Power State" } }, "button": { diff --git a/custom_components/hon/translations/sl.json b/custom_components/hon/translations/sl.json index 0f8f985..9002cc7 100644 --- a/custom_components/hon/translations/sl.json +++ b/custom_components/hon/translations/sl.json @@ -931,6 +931,13 @@ "high": "High" }, "name": "Nivo vlažnosti" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -1816,6 +1823,13 @@ "position_5": "Fiksno - Položaj 5", "swing": "Nihanje" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -2015,6 +2029,9 @@ }, "filter_replacement": { "name": "Menjava filtra" + }, + "power-state": { + "name": "Power State" } }, "button": { diff --git a/custom_components/hon/translations/sr.json b/custom_components/hon/translations/sr.json index 38173ea..a85bb32 100644 --- a/custom_components/hon/translations/sr.json +++ b/custom_components/hon/translations/sr.json @@ -931,6 +931,13 @@ "high": "Visoka" }, "name": "Nivo vlage" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -1816,6 +1823,13 @@ "position_5": "Fiksiran - Položaj 5", "swing": "Njihanje" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -2015,6 +2029,9 @@ }, "filter_replacement": { "name": "Zamena filtera" + }, + "power-state": { + "name": "Power State" } }, "button": { diff --git a/custom_components/hon/translations/tr.json b/custom_components/hon/translations/tr.json index d8b78de..a32944b 100644 --- a/custom_components/hon/translations/tr.json +++ b/custom_components/hon/translations/tr.json @@ -931,6 +931,13 @@ "high": "Yüksek" }, "name": "Nem seviyesi" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -1816,6 +1823,13 @@ "position_5": "Sabit - Pozisyon 5", "swing": "Salınım" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -2015,6 +2029,9 @@ }, "filter_replacement": { "name": "Filtre değişimi" + }, + "power-state": { + "name": "Power State" } }, "button": { diff --git a/custom_components/hon/translations/zh.json b/custom_components/hon/translations/zh.json index f7156ec..4b8db31 100644 --- a/custom_components/hon/translations/zh.json +++ b/custom_components/hon/translations/zh.json @@ -924,6 +924,13 @@ "high": "高" }, "name": "湿度水平" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -1802,6 +1809,13 @@ "position_5": "固定 - 位置 5", "swing": "摆动" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -2001,6 +2015,9 @@ }, "filter_replacement": { "name": "更换过滤器" + }, + "power-state": { + "name": "Power State" } }, "button": {