Water Heater

This commit is contained in:
Vadym Melnychuk 2023-12-03 18:13:45 +02:00
parent f19c0cfcd2
commit 191bcedaa2
26 changed files with 493 additions and 12 deletions

View file

@ -284,6 +284,16 @@ BINARY_SENSORS: dict[str, tuple[HonBinarySensorEntityDescription, ...]] = {
translation_key="on", 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"]) BINARY_SENSORS["WD"] = unique_entities(BINARY_SENSORS["WM"], BINARY_SENSORS["TD"])

View file

@ -282,3 +282,9 @@ AC_POSITION_VERTICAL = {
7: "position_5", 7: "position_5",
8: "swing", 8: "swing",
} }
WH_MACH_MODE: dict[int, str] = {
1: "eco",
2: "max",
3: "bps",
}

View file

@ -5,6 +5,7 @@ from dataclasses import dataclass
from homeassistant.components.number import ( from homeassistant.components.number import (
NumberEntity, NumberEntity,
NumberEntityDescription, NumberEntityDescription,
NumberDeviceClass,
) )
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import UnitOfTime, UnitOfTemperature from homeassistant.const import UnitOfTime, UnitOfTemperature
@ -26,7 +27,7 @@ class HonConfigNumberEntityDescription(NumberEntityDescription):
@dataclass @dataclass
class HonNumberEntityDescription(NumberEntityDescription): class HonNumberEntityDescription(NumberEntityDescription):
pass send_key_only: bool = False
NUMBERS: dict[str, tuple[NumberEntityDescription, ...]] = { NUMBERS: dict[str, tuple[NumberEntityDescription, ...]] = {
@ -194,6 +195,18 @@ NUMBERS: dict[str, tuple[NumberEntityDescription, ...]] = {
translation_key="pollen_level", translation_key="pollen_level",
), ),
), ),
"WH": (
HonNumberEntityDescription(
key="settings.tempSel",
name="Target Temperature",
icon="mdi:thermometer",
mode="slider",
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"]) NUMBERS["WD"] = unique_entities(NUMBERS["WM"], NUMBERS["TD"])
@ -247,8 +260,12 @@ class HonNumberEntity(HonEntity, NumberEntity):
setting = self._device.settings[self.entity_description.key] setting = self._device.settings[self.entity_description.key]
if isinstance(setting, HonParameterRange): if isinstance(setting, HonParameterRange):
setting.value = value setting.value = value
command = self.entity_description.key.split(".")[0] key_parts = self.entity_description.key.split(".")
await self._device.commands[command].send() 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": if command != "settings":
self._device.sync_command(command, "settings") self._device.sync_command(command, "settings")
await self.coordinator.async_refresh() await self.coordinator.async_refresh()

View file

@ -21,6 +21,7 @@ _LOGGER = logging.getLogger(__name__)
@dataclass @dataclass
class HonSelectEntityDescription(SelectEntityDescription): class HonSelectEntityDescription(SelectEntityDescription):
option_list: dict[int, str] | None = None option_list: dict[int, str] | None = None
send_key_only: bool = False
@dataclass @dataclass
@ -184,6 +185,24 @@ SELECTS: dict[str, tuple[SelectEntityDescription, ...]] = {
translation_key="mode", 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"]) SELECTS["WD"] = unique_entities(SELECTS["WM"], SELECTS["TD"])
@ -293,8 +312,14 @@ class HonSelectEntity(HonEntity, SelectEntity):
async def async_select_option(self, option: str) -> None: async def async_select_option(self, option: str) -> None:
setting = self._device.settings[self.entity_description.key] setting = self._device.settings[self.entity_description.key]
setting.value = self._option_to_number(option, setting.values) setting.value = self._option_to_number(option, setting.values)
command = self.entity_description.key.split(".")[0] key_parts = self.entity_description.key.split(".")
await self._device.commands[command].send() 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": if command != "settings":
self._device.sync_command(command, "settings") self._device.sync_command(command, "settings")
await self.coordinator.async_refresh() await self.coordinator.async_refresh()

View file

@ -780,6 +780,63 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
translation_key="air_quality", 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"]) SENSORS["WD"] = unique_entities(SENSORS["WM"], SENSORS["TD"])

View file

@ -22,6 +22,10 @@ _LOGGER = logging.getLogger(__name__)
class HonControlSwitchEntityDescription(SwitchEntityDescription): class HonControlSwitchEntityDescription(SwitchEntityDescription):
turn_on_key: str = "" turn_on_key: str = ""
turn_off_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
class HonSwitchEntityDescription(SwitchEntityDescription): class HonSwitchEntityDescription(SwitchEntityDescription):
@ -374,6 +378,20 @@ SWITCHES: dict[str, tuple[SwitchEntityDescription, ...]] = {
translation_key="touch_tone", 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"]) SWITCHES["WD"] = unique_entities(SWITCHES["WD"], SWITCHES["WM"])
@ -464,20 +482,26 @@ class HonControlSwitchEntity(HonEntity, SwitchEntity):
@property @property
def is_on(self) -> bool | None: def is_on(self) -> bool | None:
"""Return True if entity is on.""" """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: 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.coordinator.async_refresh()
await self._device.commands[self.entity_description.turn_on_key].send() command = self._device.commands[desc.turn_on_key]
self._device.attributes[self.entity_description.key] = True await command.send(desc.only_mandatory_parameters)
self._device.attributes[desc.key] = desc.on_value
self.async_write_ha_state() self.async_write_ha_state()
async def async_turn_off(self, **kwargs: Any) -> None: 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.coordinator.async_refresh()
await self._device.commands[self.entity_description.turn_off_key].send() command = self._device.commands[desc.turn_off_key]
self._device.attributes[self.entity_description.key] = False await command.send(desc.only_mandatory_parameters)
self._device.attributes[desc.key] = desc.off_value
self.async_write_ha_state() self.async_write_ha_state()
@property @property

View file

@ -72,6 +72,13 @@
"13": "Готови за съхранение H-2", "13": "Готови за съхранение H-2",
"14": "Екстра сухо H-3" "14": "Екстра сухо H-3"
} }
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"select": { "select": {
@ -82,6 +89,18 @@
"13": "Готови за съхранение H-2", "13": "Готови за съхранение H-2",
"14": "Екстра сухо H-3" "14": "Екстра сухо H-3"
} }
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
}
},
"binary_sensor": {
"power-state": {
"name": "Power State"
} }
} }
} }

View file

@ -917,6 +917,13 @@
"high": "Vysoká" "high": "Vysoká"
}, },
"name": "Úroveň vlhkosti" "name": "Úroveň vlhkosti"
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"select": { "select": {
@ -1788,6 +1795,13 @@
"position_5": "Pevný - Poloha 5", "position_5": "Pevný - Poloha 5",
"swing": "Pohyb lamel" "swing": "Pohyb lamel"
} }
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"switch": { "switch": {
@ -1987,6 +2001,9 @@
}, },
"filter_replacement": { "filter_replacement": {
"name": "Výměna filtru" "name": "Výměna filtru"
},
"power-state": {
"name": "Power State"
} }
}, },
"button": { "button": {

View file

@ -917,6 +917,13 @@
"high": "Hoch" "high": "Hoch"
}, },
"name": "Grad der Luftfeuchtigkeit" "name": "Grad der Luftfeuchtigkeit"
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"select": { "select": {
@ -1788,6 +1795,13 @@
"position_5": "Fest - Position 5", "position_5": "Fest - Position 5",
"swing": "Schwenkbewegung" "swing": "Schwenkbewegung"
} }
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"switch": { "switch": {
@ -1987,6 +2001,9 @@
}, },
"filter_replacement": { "filter_replacement": {
"name": "Filteraustausch" "name": "Filteraustausch"
},
"power-state": {
"name": "Power State"
} }
}, },
"button": { "button": {

View file

@ -917,6 +917,13 @@
"high": "Υψηλός" "high": "Υψηλός"
}, },
"name": "Επίπεδο υγρασίας" "name": "Επίπεδο υγρασίας"
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"select": { "select": {
@ -1788,6 +1795,13 @@
"position_5": "Σταθερός - Θέση 5", "position_5": "Σταθερός - Θέση 5",
"swing": "Ταλάντευση" "swing": "Ταλάντευση"
} }
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"switch": { "switch": {
@ -1987,6 +2001,9 @@
}, },
"filter_replacement": { "filter_replacement": {
"name": "Αντικατάσταση φίλτρου" "name": "Αντικατάσταση φίλτρου"
},
"power-state": {
"name": "Power State"
} }
}, },
"button": { "button": {

View file

@ -937,6 +937,13 @@
"high": "High" "high": "High"
}, },
"name": "Humidity level" "name": "Humidity level"
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"select": { "select": {
@ -1815,6 +1822,13 @@
"position_5": "Fixed - Position 5", "position_5": "Fixed - Position 5",
"swing": "Swing" "swing": "Swing"
} }
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"switch": { "switch": {
@ -2014,6 +2028,9 @@
}, },
"filter_replacement": { "filter_replacement": {
"name": "Filter replacement" "name": "Filter replacement"
},
"power-state": {
"name": "Power State"
} }
}, },
"button": { "button": {

View file

@ -917,6 +917,13 @@
"high": "Alto" "high": "Alto"
}, },
"name": "Nivel de humedad" "name": "Nivel de humedad"
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"select": { "select": {
@ -1788,6 +1795,13 @@
"position_5": "Fijo - Posición 5", "position_5": "Fijo - Posición 5",
"swing": "Oscilar" "swing": "Oscilar"
} }
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"switch": { "switch": {
@ -1987,6 +2001,9 @@
}, },
"filter_replacement": { "filter_replacement": {
"name": "Sustitución del filtro" "name": "Sustitución del filtro"
},
"power-state": {
"name": "Power State"
} }
}, },
"button": { "button": {

View file

@ -917,6 +917,13 @@
"high": "Élevé" "high": "Élevé"
}, },
"name": "Niveau dhumidité" "name": "Niveau dhumidité"
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"select": { "select": {
@ -1788,6 +1795,13 @@
"position_5": "Fixe - Position 5", "position_5": "Fixe - Position 5",
"swing": "Oscillation" "swing": "Oscillation"
} }
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"switch": { "switch": {
@ -1987,6 +2001,9 @@
}, },
"filter_replacement": { "filter_replacement": {
"name": "Remplacement du filtre" "name": "Remplacement du filtre"
},
"power-state": {
"name": "Power State"
} }
}, },
"button": { "button": {

View file

@ -445,6 +445,13 @@
"high": "גָבוֹהַ" "high": "גָבוֹהַ"
}, },
"name": "Humidity level" "name": "Humidity level"
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"select": { "select": {
@ -853,6 +860,13 @@
"position_5": "Fixed - Position 5", "position_5": "Fixed - Position 5",
"swing": "Swing" "swing": "Swing"
} }
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"switch": { "switch": {
@ -1052,6 +1066,9 @@
}, },
"filter_replacement": { "filter_replacement": {
"name": "Filter replacement" "name": "Filter replacement"
},
"power-state": {
"name": "Power State"
} }
}, },
"button": { "button": {

View file

@ -917,6 +917,13 @@
"high": "Visoko" "high": "Visoko"
}, },
"name": "Razina vlažnosti" "name": "Razina vlažnosti"
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"select": { "select": {
@ -1788,6 +1795,13 @@
"position_5": "Fiksno - Položaj 5", "position_5": "Fiksno - Položaj 5",
"swing": "Njihanje" "swing": "Njihanje"
} }
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"switch": { "switch": {
@ -1987,6 +2001,9 @@
}, },
"filter_replacement": { "filter_replacement": {
"name": "Zamjena filtra" "name": "Zamjena filtra"
},
"power-state": {
"name": "Power State"
} }
}, },
"button": { "button": {

View file

@ -924,6 +924,13 @@
"high": "Alto" "high": "Alto"
}, },
"name": "Livello di umidità" "name": "Livello di umidità"
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"select": { "select": {
@ -1797,6 +1804,13 @@
"position_5": "Fissa - Posizione 5", "position_5": "Fissa - Posizione 5",
"swing": "Swing" "swing": "Swing"
} }
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"switch": { "switch": {
@ -1996,6 +2010,9 @@
}, },
"filter_replacement": { "filter_replacement": {
"name": "Sostituzione filtro" "name": "Sostituzione filtro"
},
"power-state": {
"name": "Power State"
} }
}, },
"button": { "button": {

View file

@ -917,6 +917,13 @@
"high": "Hoog" "high": "Hoog"
}, },
"name": "Vochtigheidsniveau" "name": "Vochtigheidsniveau"
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"select": { "select": {
@ -1788,6 +1795,13 @@
"position_5": "Vast - Positie 5", "position_5": "Vast - Positie 5",
"swing": "Draaiend" "swing": "Draaiend"
} }
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"switch": { "switch": {
@ -1987,6 +2001,9 @@
}, },
"filter_replacement": { "filter_replacement": {
"name": "Filter vervangen" "name": "Filter vervangen"
},
"power-state": {
"name": "Power State"
} }
}, },
"button": { "button": {

View file

@ -917,6 +917,13 @@
"high": "Wysokie" "high": "Wysokie"
}, },
"name": "Poziom wilgotności" "name": "Poziom wilgotności"
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"select": { "select": {
@ -1788,6 +1795,13 @@
"position_5": "Stały - Pozycja 5", "position_5": "Stały - Pozycja 5",
"swing": "Swing" "swing": "Swing"
} }
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"switch": { "switch": {
@ -1987,6 +2001,9 @@
}, },
"filter_replacement": { "filter_replacement": {
"name": "Wymiana filtra" "name": "Wymiana filtra"
},
"power-state": {
"name": "Power State"
} }
}, },
"button": { "button": {

View file

@ -917,6 +917,13 @@
"high": "Alta" "high": "Alta"
}, },
"name": "Nível de humidade" "name": "Nível de humidade"
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"select": { "select": {
@ -1788,6 +1795,13 @@
"position_5": "Fixa - Posição 5", "position_5": "Fixa - Posição 5",
"swing": "Oscilação" "swing": "Oscilação"
} }
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"switch": { "switch": {
@ -1987,6 +2001,9 @@
}, },
"filter_replacement": { "filter_replacement": {
"name": "Substituição do filtro" "name": "Substituição do filtro"
},
"power-state": {
"name": "Power State"
} }
}, },
"button": { "button": {

View file

@ -917,6 +917,13 @@
"high": "Crescută" "high": "Crescută"
}, },
"name": "Nivelul de umiditate" "name": "Nivelul de umiditate"
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"select": { "select": {
@ -1788,6 +1795,13 @@
"position_5": "Fix - Poziție 5", "position_5": "Fix - Poziție 5",
"swing": "Baleiere" "swing": "Baleiere"
} }
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"switch": { "switch": {
@ -1987,6 +2001,9 @@
}, },
"filter_replacement": { "filter_replacement": {
"name": "Înlocuirea filtrului" "name": "Înlocuirea filtrului"
},
"power-state": {
"name": "Power State"
} }
}, },
"button": { "button": {

View file

@ -917,6 +917,13 @@
"high": "Высок." "high": "Высок."
}, },
"name": "Уровень влажности" "name": "Уровень влажности"
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"select": { "select": {
@ -1788,6 +1795,13 @@
"position_5": "Фиксированное - Позиция 5", "position_5": "Фиксированное - Позиция 5",
"swing": "Качание" "swing": "Качание"
} }
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"switch": { "switch": {
@ -1987,6 +2001,9 @@
}, },
"filter_replacement": { "filter_replacement": {
"name": "Замена фильтра" "name": "Замена фильтра"
},
"power-state": {
"name": "Power State"
} }
}, },
"button": { "button": {

View file

@ -917,6 +917,13 @@
"high": "Vysoké" "high": "Vysoké"
}, },
"name": "Úroveň vlhkosti" "name": "Úroveň vlhkosti"
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"select": { "select": {
@ -1788,6 +1795,13 @@
"position_5": "Pevný - Poloha 5", "position_5": "Pevný - Poloha 5",
"swing": "Otáčanie" "swing": "Otáčanie"
} }
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"switch": { "switch": {
@ -1987,6 +2001,9 @@
}, },
"filter_replacement": { "filter_replacement": {
"name": "Výmena filtra" "name": "Výmena filtra"
},
"power-state": {
"name": "Power State"
} }
}, },
"button": { "button": {

View file

@ -917,6 +917,13 @@
"high": "High" "high": "High"
}, },
"name": "Nivo vlažnosti" "name": "Nivo vlažnosti"
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"select": { "select": {
@ -1788,6 +1795,13 @@
"position_5": "Fiksno - Položaj 5", "position_5": "Fiksno - Položaj 5",
"swing": "Nihanje" "swing": "Nihanje"
} }
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"switch": { "switch": {
@ -1987,6 +2001,9 @@
}, },
"filter_replacement": { "filter_replacement": {
"name": "Menjava filtra" "name": "Menjava filtra"
},
"power-state": {
"name": "Power State"
} }
}, },
"button": { "button": {

View file

@ -917,6 +917,13 @@
"high": "Visoka" "high": "Visoka"
}, },
"name": "Nivo vlage" "name": "Nivo vlage"
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"select": { "select": {
@ -1788,6 +1795,13 @@
"position_5": "Fiksiran - Položaj 5", "position_5": "Fiksiran - Položaj 5",
"swing": "Njihanje" "swing": "Njihanje"
} }
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"switch": { "switch": {
@ -1987,6 +2001,9 @@
}, },
"filter_replacement": { "filter_replacement": {
"name": "Zamena filtera" "name": "Zamena filtera"
},
"power-state": {
"name": "Power State"
} }
}, },
"button": { "button": {

View file

@ -917,6 +917,13 @@
"high": "Yüksek" "high": "Yüksek"
}, },
"name": "Nem seviyesi" "name": "Nem seviyesi"
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"select": { "select": {
@ -1788,6 +1795,13 @@
"position_5": "Sabit - Pozisyon 5", "position_5": "Sabit - Pozisyon 5",
"swing": "Salınım" "swing": "Salınım"
} }
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"switch": { "switch": {
@ -1987,6 +2001,9 @@
}, },
"filter_replacement": { "filter_replacement": {
"name": "Filtre değişimi" "name": "Filtre değişimi"
},
"power-state": {
"name": "Power State"
} }
}, },
"button": { "button": {

View file

@ -910,6 +910,13 @@
"high": "高" "high": "高"
}, },
"name": "湿度水平" "name": "湿度水平"
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"select": { "select": {
@ -1774,6 +1781,13 @@
"position_5": "固定 - 位置 5", "position_5": "固定 - 位置 5",
"swing": "摆动" "swing": "摆动"
} }
},
"mach_modes_wh": {
"state": {
"eco": "Eco",
"max": "Max",
"bps": "BPS"
}
} }
}, },
"switch": { "switch": {
@ -1973,6 +1987,9 @@
}, },
"filter_replacement": { "filter_replacement": {
"name": "更换过滤器" "name": "更换过滤器"
},
"power-state": {
"name": "Power State"
} }
}, },
"button": { "button": {