diff --git a/custom_components/hon/binary_sensor.py b/custom_components/hon/binary_sensor.py index f304c3f..2648615 100644 --- a/custom_components/hon/binary_sensor.py +++ b/custom_components/hon/binary_sensor.py @@ -284,6 +284,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", + ), + ), } BINARY_SENSORS["WD"] = unique_entities(BINARY_SENSORS["WM"], BINARY_SENSORS["TD"]) diff --git a/custom_components/hon/const.py b/custom_components/hon/const.py index 69bc540..1d82148 100644 --- a/custom_components/hon/const.py +++ b/custom_components/hon/const.py @@ -282,3 +282,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 b9ae6cd..1385826 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 @@ -26,7 +27,7 @@ class HonConfigNumberEntityDescription(NumberEntityDescription): @dataclass(frozen=True) class HonNumberEntityDescription(NumberEntityDescription): - pass + send_key_only: bool = False NUMBERS: dict[str, tuple[NumberEntityDescription, ...]] = { @@ -194,6 +195,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"]) @@ -247,8 +259,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") await self.coordinator.async_refresh() diff --git a/custom_components/hon/select.py b/custom_components/hon/select.py index c55e0c5..c552c9c 100644 --- a/custom_components/hon/select.py +++ b/custom_components/hon/select.py @@ -21,6 +21,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) @@ -184,6 +185,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", + ), + ), } SELECTS["WD"] = unique_entities(SELECTS["WM"], SELECTS["TD"]) @@ -293,8 +312,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") await self.coordinator.async_refresh() diff --git a/custom_components/hon/sensor.py b/custom_components/hon/sensor.py index 4c8af97..daacc2a 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", + ), + ), } SENSORS["WD"] = unique_entities(SENSORS["WM"], SENSORS["TD"]) diff --git a/custom_components/hon/switch.py b/custom_components/hon/switch.py index 6bc1d2f..e1cdd88 100644 --- a/custom_components/hon/switch.py +++ b/custom_components/hon/switch.py @@ -22,6 +22,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) @@ -375,6 +379,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, + ), + ), } SWITCHES["WD"] = unique_entities(SWITCHES["WD"], SWITCHES["WM"]) @@ -465,20 +483,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) await self.coordinator.async_refresh() - 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) await self.coordinator.async_refresh() - 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 b457373..b371441 100644 --- a/custom_components/hon/translations/bg.json +++ b/custom_components/hon/translations/bg.json @@ -72,6 +72,13 @@ "13": "Готови за съхранение H-2", "14": "Екстра сухо H-3" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -82,6 +89,18 @@ "13": "Готови за съхранение H-2", "14": "Екстра сухо H-3" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } + } + }, + "binary_sensor": { + "power-state": { + "name": "Power State" } } } diff --git a/custom_components/hon/translations/cs.json b/custom_components/hon/translations/cs.json index fa6b8dc..aaf7433 100644 --- a/custom_components/hon/translations/cs.json +++ b/custom_components/hon/translations/cs.json @@ -919,6 +919,13 @@ "high": "Vysoká" }, "name": "Úroveň vlhkosti" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -1792,6 +1799,13 @@ "position_5": "Pevný - Poloha 5", "swing": "Pohyb lamel" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -1991,6 +2005,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 270b815..7e2d5e1 100644 --- a/custom_components/hon/translations/de.json +++ b/custom_components/hon/translations/de.json @@ -919,6 +919,13 @@ "high": "Hoch" }, "name": "Grad der Luftfeuchtigkeit" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -1792,6 +1799,13 @@ "position_5": "Fest - Position 5", "swing": "Schwenkbewegung" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -1991,6 +2005,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 33fcff9..3fe988a 100644 --- a/custom_components/hon/translations/el.json +++ b/custom_components/hon/translations/el.json @@ -919,6 +919,13 @@ "high": "Υψηλός" }, "name": "Επίπεδο υγρασίας" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -1792,6 +1799,13 @@ "position_5": "Σταθερός - Θέση 5", "swing": "Ταλάντευση" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -1991,6 +2005,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 3d78b7f..b6cdc4d 100644 --- a/custom_components/hon/translations/en.json +++ b/custom_components/hon/translations/en.json @@ -941,6 +941,13 @@ "high": "High" }, "name": "Humidity level" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -1823,6 +1830,13 @@ "position_5": "Fixed - Position 5", "swing": "Swing" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -2022,6 +2036,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 614540a..a01578b 100644 --- a/custom_components/hon/translations/es.json +++ b/custom_components/hon/translations/es.json @@ -919,6 +919,13 @@ "high": "Alto" }, "name": "Nivel de humedad" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -1792,6 +1799,13 @@ "position_5": "Fijo - Posición 5", "swing": "Oscilar" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -1991,6 +2005,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 30c3776..44958d9 100644 --- a/custom_components/hon/translations/fr.json +++ b/custom_components/hon/translations/fr.json @@ -919,6 +919,13 @@ "high": "Élevé" }, "name": "Niveau d’humidité" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -1792,6 +1799,13 @@ "position_5": "Fixe - Position 5", "swing": "Oscillation" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -1991,6 +2005,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 a3465c2..8e356c7 100644 --- a/custom_components/hon/translations/he.json +++ b/custom_components/hon/translations/he.json @@ -446,6 +446,13 @@ "high": "גָבוֹהַ" }, "name": "Humidity level" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -855,6 +862,13 @@ "position_5": "Fixed - Position 5", "swing": "Swing" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -1054,6 +1068,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 0aa8ff2..4ff1b3c 100644 --- a/custom_components/hon/translations/hr.json +++ b/custom_components/hon/translations/hr.json @@ -919,6 +919,13 @@ "high": "Visoko" }, "name": "Razina vlažnosti" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -1792,6 +1799,13 @@ "position_5": "Fiksno - Položaj 5", "swing": "Njihanje" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -1991,6 +2005,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 f731866..85378e4 100644 --- a/custom_components/hon/translations/it.json +++ b/custom_components/hon/translations/it.json @@ -926,6 +926,13 @@ "high": "Alto" }, "name": "Livello di umidità" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -1801,6 +1808,13 @@ "position_5": "Fissa - Posizione 5", "swing": "Swing" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -2000,6 +2014,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 344ee5c..392506b 100644 --- a/custom_components/hon/translations/nl.json +++ b/custom_components/hon/translations/nl.json @@ -919,6 +919,13 @@ "high": "Hoog" }, "name": "Vochtigheidsniveau" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -1792,6 +1799,13 @@ "position_5": "Vast - Positie 5", "swing": "Draaiend" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -1991,6 +2005,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 3a7fb9f..7dccf2c 100644 --- a/custom_components/hon/translations/pl.json +++ b/custom_components/hon/translations/pl.json @@ -919,6 +919,13 @@ "high": "Wysokie" }, "name": "Poziom wilgotności" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -1792,6 +1799,13 @@ "position_5": "Stały - Pozycja 5", "swing": "Swing" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -1991,6 +2005,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 6ee6a70..a74e387 100644 --- a/custom_components/hon/translations/pt.json +++ b/custom_components/hon/translations/pt.json @@ -919,6 +919,13 @@ "high": "Alta" }, "name": "Nível de humidade" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -1792,6 +1799,13 @@ "position_5": "Fixa - Posição 5", "swing": "Oscilação" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -1991,6 +2005,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 2e5d324..66a1016 100644 --- a/custom_components/hon/translations/ro.json +++ b/custom_components/hon/translations/ro.json @@ -919,6 +919,13 @@ "high": "Crescută" }, "name": "Nivelul de umiditate" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -1792,6 +1799,13 @@ "position_5": "Fix - Poziție 5", "swing": "Baleiere" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -1991,6 +2005,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 528db30..88c9262 100644 --- a/custom_components/hon/translations/ru.json +++ b/custom_components/hon/translations/ru.json @@ -919,6 +919,13 @@ "high": "Высок." }, "name": "Уровень влажности" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -1792,6 +1799,13 @@ "position_5": "Фиксированное - Позиция 5", "swing": "Качание" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -1991,6 +2005,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 7477b47..da85c3d 100644 --- a/custom_components/hon/translations/sk.json +++ b/custom_components/hon/translations/sk.json @@ -919,6 +919,13 @@ "high": "Vysoké" }, "name": "Úroveň vlhkosti" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -1792,6 +1799,13 @@ "position_5": "Pevný - Poloha 5", "swing": "Otáčanie" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -1991,6 +2005,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 46b4474..88b989e 100644 --- a/custom_components/hon/translations/sl.json +++ b/custom_components/hon/translations/sl.json @@ -919,6 +919,13 @@ "high": "High" }, "name": "Nivo vlažnosti" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -1792,6 +1799,13 @@ "position_5": "Fiksno - Položaj 5", "swing": "Nihanje" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -1991,6 +2005,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 67d3d6a..39a54ab 100644 --- a/custom_components/hon/translations/sr.json +++ b/custom_components/hon/translations/sr.json @@ -919,6 +919,13 @@ "high": "Visoka" }, "name": "Nivo vlage" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -1792,6 +1799,13 @@ "position_5": "Fiksiran - Položaj 5", "swing": "Njihanje" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -1991,6 +2005,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 e0ffbf5..b649e35 100644 --- a/custom_components/hon/translations/tr.json +++ b/custom_components/hon/translations/tr.json @@ -919,6 +919,13 @@ "high": "Yüksek" }, "name": "Nem seviyesi" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -1792,6 +1799,13 @@ "position_5": "Sabit - Pozisyon 5", "swing": "Salınım" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -1991,6 +2005,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 6a6b3c4..c8b73c8 100644 --- a/custom_components/hon/translations/zh.json +++ b/custom_components/hon/translations/zh.json @@ -912,6 +912,13 @@ "high": "高" }, "name": "湿度水平" + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "select": { @@ -1778,6 +1785,13 @@ "position_5": "固定 - 位置 5", "swing": "摆动" } + }, + "mach_modes_wh": { + "state": { + "eco": "Eco", + "max": "Max", + "bps": "BPS" + } } }, "switch": { @@ -1977,6 +1991,9 @@ }, "filter_replacement": { "name": "更换过滤器" + }, + "power-state": { + "name": "Power State" } }, "button": {