Compare commits
8 Commits
v0.9.0-bet
...
v0.9.1-bet
Author | SHA1 | Date | |
---|---|---|---|
8d6a6a509b | |||
49ab7f605b | |||
79e901d34c | |||
fb09c2e559 | |||
f3325f0ff5 | |||
a9e21608d8 | |||
fb8fba259a | |||
9dc98953a2 |
40
README.md
40
README.md
@ -45,12 +45,12 @@ Support has been confirmed for these models, but many more will work. Please add
|
||||
| **Washer Dryer** | HWD100-B14979 | HDQ 496AMBS/1-S <br/> HWPS4954DAMR-11 | RPW41066BWMR/1-S |
|
||||
| **Oven** | HWO60SM2F3XH | HSOT3161WG | |
|
||||
| **Dish Washer** | XIB 3B2SFS-80 <br/> XIB 6B2D3FB | HFB 6B2S3FX | |
|
||||
| **Air Conditioner** | AD105S2SM3FA <br/> AS09TS4HRA-M <br/> AS20HPL1HRA <br/> AS25PBAHRA <br/> AS25S2SF1FA-WH <br/> AS25TADHRA-2 <br/> AS35PBAHRA <br/> AS35S2SF1FA-WH <br/> AS35S2SF2FA-3 <br/> AS35TADHRA-2 <br/> AS35TAMHRA-C | | |
|
||||
| **Air Conditioner** | AD105S2SM3FA <br/> AS09TS4HRA-M <br/> AS20HPL1HRA <br/> AS25PBAHRA <br/> AS25S2SF1FA-WH <br/> AS25TADHRA-2 <br/> AS35PBAHRA <br/> AS35S2SF1FA-WH <br/> AS35S2SF2FA-3 <br/> AS35TADHRA-2 <br/> AS35TAMHRA-C | | CY-12TAIN |
|
||||
| **Fridge** | HFW7720ENMB | | CCE4T620EWU |
|
||||
| **Hob** | HA2MTSJ68MC | | CIS633SCTTWIFI |
|
||||
| **Hood** | HADG6DS46BWIFI | | |
|
||||
| **Wine Cellar** | HWS247FDU1 | | |
|
||||
| **Air Purifier** | | HHP50CA001 | |
|
||||
| **Air Purifier** | | HHP30C011 <br/> HHP50CA001 <br/> HHP50CA011 | |
|
||||
|
||||
|
||||
| Please add your appliances data to our [hon-test-data collection](https://github.com/Andre0512/hon-test-data). <br/>This helps us to develop new features and not to break compatibility in newer versions. |
|
||||
@ -78,6 +78,19 @@ Translation of internal names like programs are available for all languages whic
|
||||
* 🇪🇸 Spanish
|
||||
* 🇹🇷 Turkish
|
||||
|
||||
## Compatiblity
|
||||
Haier offers different apps for different markets. Some appliances are compatible with more than one app. This integration only supports appliances that can be controlled via hOn. Please download the hOn app and check compatibilty before you open an issue.
|
||||
The apps on this (incomplete) list have been requested so far:
|
||||
|
||||
| App | Main Market | Supported | Alternative |
|
||||
|-----------------|---------------|-----------------------------------------|---------------------------------------------------------------------------------|
|
||||
| Haier hOn | Europe | :heavy_check_mark: | |
|
||||
| Candy simply-Fi | Europe | :grey_question: (only newer appliances) | [ofalvai/home-assistant-candy](https://github.com/ofalvai/home-assistant-candy) |
|
||||
| Hoover Wizard | Europe | :grey_question: (only newer appliances) | |
|
||||
| Haier Uhome | China | :x: | [banto6/haier](https://github.com/banto6/haier) |
|
||||
| Haier U+ | China | :x: | |
|
||||
| GE SmartHQ | North America | :x: | [simbaja/ha_gehome](https://github.com/simbaja/ha_gehome) |
|
||||
|
||||
## Examples
|
||||
### Washing Machine
|
||||

|
||||
@ -181,7 +194,7 @@ For every device exists a button under diagnostics which can be used to log all
|
||||
| --- | --- | --- | --- |
|
||||
| Aroma Time Off | `scent-off` | `number` | `settings.aromaTimeOff` |
|
||||
| Aroma Time On | `scent` | `number` | `settings.aromaTimeOn` |
|
||||
| Diffuser Level | `air-filter` | `select` | `settings.aromaStatus` |
|
||||
| Diffuser Level | `air-purifier` | `select` | `settings.aromaStatus` |
|
||||
| Light status | | `light` | `settings.lightStatus` |
|
||||
| Lock Status | | `lock` | `lockStatus` |
|
||||
| Mode | `play` | `select` | `settings.machMode` |
|
||||
@ -190,19 +203,19 @@ For every device exists a button under diagnostics which can be used to log all
|
||||
#### Sensors
|
||||
| Name | Icon | Entity | Key |
|
||||
| --- | --- | --- | --- |
|
||||
| Air Quality | | `sensor` | `airQuality` |
|
||||
| Air Quality | `weather-dust` | `sensor` | `airQuality` |
|
||||
| CO Level | | `sensor` | `coLevel` |
|
||||
| Error | `math-log` | `sensor` | `errors` |
|
||||
| Humidity | | `sensor` | `humidityIndoor` |
|
||||
| Main Filter Status | | `sensor` | `mainFilterStatus` |
|
||||
| Main Filter Status | `air-filter` | `sensor` | `mainFilterStatus` |
|
||||
| On | `power-cycle` | `binary_sensor` | `attributes.parameters.onOffStatus` |
|
||||
| PM 10 | | `sensor` | `pm10ValueIndoor` |
|
||||
| PM 2.5 | | `sensor` | `pm2p5ValueIndoor` |
|
||||
| Pre Filter Status | | `sensor` | `preFilterStatus` |
|
||||
| Pre Filter Status | `air-filter` | `sensor` | `preFilterStatus` |
|
||||
| Temperature | | `sensor` | `temp` |
|
||||
| Total Work Time | | `sensor` | `totalWorkTime` |
|
||||
| VOC | | `sensor` | `vocValueIndoor` |
|
||||
| Wind Speed | | `sensor` | `windSpeed` |
|
||||
| Wind Speed | `fan` | `sensor` | `windSpeed` |
|
||||
|
||||
### Dish Washer
|
||||
#### Controls
|
||||
@ -247,9 +260,8 @@ For every device exists a button under diagnostics which can be used to log all
|
||||
#### Controls
|
||||
| Name | Icon | Entity | Key |
|
||||
| --- | --- | --- | --- |
|
||||
| Light status | | `light` | `startProgram.lightStatus` |
|
||||
| Start Program | `hvac` | `button` | `startProgram` |
|
||||
| Stop Program | `hvac-off` | `button` | `stopProgram` |
|
||||
| Hood | `hvac` | `switch` | `startProgram` / `stopProgram` |
|
||||
| Light status | | `light` | `settings.lightStatus` |
|
||||
| Wind Speed | | `fan` | `settings.windSpeed` |
|
||||
#### Sensors
|
||||
| Name | Icon | Entity | Key |
|
||||
@ -424,6 +436,7 @@ For every device exists a button under diagnostics which can be used to log all
|
||||
| Auto Dose Softener | `teddy-bear` | `switch` | `startProgram.autoSoftenerStatus` |
|
||||
| Delay Status | `timer-check` | `switch` | `startProgram.delayStatus` |
|
||||
| Delay Time | `timer-plus` | `number` | `startProgram.delayTime` |
|
||||
| Dirty level | `liquid-spot` | `select` | `startProgram.dirtyLevel` |
|
||||
| Dry Time | | `number` | `startProgram.dryTime` |
|
||||
| Dry Time | `timer` | `select` | `startProgram.dryTimeMM` |
|
||||
| Dry level | `hair-dryer` | `select` | `startProgram.dryLevel` |
|
||||
@ -432,6 +445,7 @@ For every device exists a button under diagnostics which can be used to log all
|
||||
| Extra Rinse 2 | `numeric-2-box-multiple-outline` | `switch` | `startProgram.extraRinse2` |
|
||||
| Extra Rinse 3 | `numeric-3-box-multiple-outline` | `switch` | `startProgram.extraRinse3` |
|
||||
| Good Night | `weather-night` | `switch` | `startProgram.goodNight` |
|
||||
| Hygiene | `lotion-plus` | `switch` | `startProgram.hygiene` |
|
||||
| Keep Fresh | `refresh-circle` | `switch` | `startProgram.permanentPressStatus` |
|
||||
| Liquid Detergent Dose | `cup-water` | `sensor` | `startProgram.liquidDetergentDose` |
|
||||
| Main Wash Time | `clock-start` | `number` | `startProgram.mainWashTime` |
|
||||
@ -459,7 +473,7 @@ For every device exists a button under diagnostics which can be used to log all
|
||||
| Current Electricity Used | `lightning-bolt` | `sensor` | `currentElectricityUsed` |
|
||||
| Current Temperature | `thermometer` | `sensor` | `temp` |
|
||||
| Current Water Used | `water` | `sensor` | `currentWaterUsed` |
|
||||
| Dirt level | `liquid-spot` | `sensor` | `dirtyLevel` |
|
||||
| Dirty level | `liquid-spot` | `sensor` | `dirtyLevel` |
|
||||
| Door | | `binary_sensor` | `doorStatus` |
|
||||
| Door Lock | | `binary_sensor` | `doorLockStatus` |
|
||||
| Dry level | `hair-dryer` | `sensor` | `dryLevel` |
|
||||
@ -496,11 +510,13 @@ For every device exists a button under diagnostics which can be used to log all
|
||||
| Auto Dose Softener | `teddy-bear` | `switch` | `startProgram.autoSoftenerStatus` |
|
||||
| Delay Status | `timer-check` | `switch` | `startProgram.delayStatus` |
|
||||
| Delay Time | `timer-plus` | `number` | `startProgram.delayTime` |
|
||||
| Dirty level | `liquid-spot` | `select` | `startProgram.dirtyLevel` |
|
||||
| Energy Label | `lightning-bolt-circle` | `sensor` | `startProgram.energyLabel` |
|
||||
| Extra Rinse 1 | `numeric-1-box-multiple-outline` | `switch` | `startProgram.extraRinse1` |
|
||||
| Extra Rinse 2 | `numeric-2-box-multiple-outline` | `switch` | `startProgram.extraRinse2` |
|
||||
| Extra Rinse 3 | `numeric-3-box-multiple-outline` | `switch` | `startProgram.extraRinse3` |
|
||||
| Good Night | `weather-night` | `switch` | `startProgram.goodNight` |
|
||||
| Hygiene | `lotion-plus` | `switch` | `startProgram.hygiene` |
|
||||
| Keep Fresh | `refresh-circle` | `switch` | `startProgram.permanentPressStatus` |
|
||||
| Liquid Detergent Dose | `cup-water` | `sensor` | `startProgram.liquidDetergentDose` |
|
||||
| Main Wash Time | `clock-start` | `number` | `startProgram.mainWashTime` |
|
||||
@ -523,7 +539,7 @@ For every device exists a button under diagnostics which can be used to log all
|
||||
| Current Electricity Used | `lightning-bolt` | `sensor` | `currentElectricityUsed` |
|
||||
| Current Temperature | `thermometer` | `sensor` | `temp` |
|
||||
| Current Water Used | `water` | `sensor` | `currentWaterUsed` |
|
||||
| Dirt level | `liquid-spot` | `sensor` | `dirtyLevel` |
|
||||
| Dirty level | `liquid-spot` | `sensor` | `dirtyLevel` |
|
||||
| Door | | `binary_sensor` | `doorStatus` |
|
||||
| Door Lock | | `binary_sensor` | `doorLockStatus` |
|
||||
| Error | `math-log` | `sensor` | `errors` |
|
||||
|
@ -35,20 +35,6 @@ BUTTONS: dict[str, tuple[ButtonEntityDescription, ...]] = {
|
||||
translation_key="stop_program",
|
||||
),
|
||||
),
|
||||
"HO": (
|
||||
ButtonEntityDescription(
|
||||
key="startProgram",
|
||||
name="Start Program",
|
||||
icon="mdi:hvac",
|
||||
translation_key="start_program",
|
||||
),
|
||||
ButtonEntityDescription(
|
||||
key="stopProgram",
|
||||
name="Stop Program",
|
||||
icon="mdi:hvac-off",
|
||||
translation_key="stop_program",
|
||||
),
|
||||
),
|
||||
}
|
||||
|
||||
|
||||
|
@ -6,7 +6,6 @@ from homeassistant.components.climate import (
|
||||
ClimateEntityDescription,
|
||||
)
|
||||
from homeassistant.components.climate.const import (
|
||||
FAN_OFF,
|
||||
SWING_OFF,
|
||||
SWING_BOTH,
|
||||
SWING_VERTICAL,
|
||||
@ -22,7 +21,7 @@ from homeassistant.const import (
|
||||
from homeassistant.core import callback
|
||||
from pyhon.appliance import HonAppliance
|
||||
|
||||
from .const import HON_HVAC_MODE, HON_FAN, DOMAIN
|
||||
from .const import HON_HVAC_MODE, HON_FAN, DOMAIN, HON_HVAC_PROGRAM
|
||||
from .hon import HonEntity
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
@ -123,9 +122,6 @@ class HonACClimateEntity(HonEntity, ClimateEntity):
|
||||
self._attr_preset_modes = []
|
||||
for mode in device.settings["startProgram.program"].values:
|
||||
self._attr_preset_modes.append(mode)
|
||||
self._attr_fan_modes = [FAN_OFF]
|
||||
for mode in device.settings["settings.windSpeed"].values:
|
||||
self._attr_fan_modes.append(HON_FAN[int(mode)])
|
||||
self._attr_swing_modes = [
|
||||
SWING_OFF,
|
||||
SWING_VERTICAL,
|
||||
@ -181,7 +177,11 @@ class HonACClimateEntity(HonEntity, ClimateEntity):
|
||||
self._device.settings["settings.onOffStatus"].value = "1"
|
||||
setting = self._device.settings["settings.machMode"]
|
||||
modes = {HON_HVAC_MODE[int(number)]: number for number in setting.values}
|
||||
setting.value = modes[hvac_mode]
|
||||
if hvac_mode in modes:
|
||||
setting.value = modes[hvac_mode]
|
||||
else:
|
||||
await self.async_set_preset_mode(HON_HVAC_PROGRAM[hvac_mode])
|
||||
return
|
||||
await self._device.commands["settings"].send()
|
||||
self.async_write_ha_state()
|
||||
|
||||
@ -192,7 +192,7 @@ class HonACClimateEntity(HonEntity, ClimateEntity):
|
||||
|
||||
async def async_set_preset_mode(self, preset_mode: str) -> None:
|
||||
"""Set the new preset mode."""
|
||||
if program := self._device.settings.get(f"startProgram.program"):
|
||||
if program := self._device.settings.get("startProgram.program"):
|
||||
program.value = preset_mode
|
||||
self._device.sync_command("startProgram", "settings")
|
||||
self._set_temperature_bound()
|
||||
@ -202,15 +202,24 @@ class HonACClimateEntity(HonEntity, ClimateEntity):
|
||||
await self._device.commands["startProgram"].send()
|
||||
self.async_write_ha_state()
|
||||
|
||||
@property
|
||||
def fan_modes(self) -> list[str]:
|
||||
"""Return the list of available fan modes."""
|
||||
fan_modes = []
|
||||
for mode in reversed(self._device.settings["settings.windSpeed"].values):
|
||||
fan_modes.append(HON_FAN[int(mode)])
|
||||
return fan_modes
|
||||
|
||||
@property
|
||||
def fan_mode(self) -> str | None:
|
||||
"""Return the fan setting."""
|
||||
return HON_FAN[self._device.get("windSpeed")]
|
||||
|
||||
async def async_set_fan_mode(self, fan_mode):
|
||||
mode_number = list(HON_FAN.values()).index(fan_mode)
|
||||
mode = list(HON_FAN.keys())[mode_number]
|
||||
self._device.settings["settings.windSpeed"].value = str(mode)
|
||||
fan_modes = {}
|
||||
for mode in reversed(self._device.settings["settings.windSpeed"].values):
|
||||
fan_modes[HON_FAN[int(mode)]] = mode
|
||||
self._device.settings["settings.windSpeed"].value = str(fan_modes[fan_mode])
|
||||
self._attr_fan_mode = fan_mode
|
||||
await self._device.commands["settings"].send()
|
||||
self.async_write_ha_state()
|
||||
@ -249,6 +258,7 @@ class HonACClimateEntity(HonEntity, ClimateEntity):
|
||||
self._attr_target_temperature = self.target_temperature
|
||||
self._attr_current_temperature = self.current_temperature
|
||||
self._attr_hvac_mode = self.hvac_mode
|
||||
self._attr_fan_modes = self.fan_modes
|
||||
self._attr_fan_mode = self.fan_mode
|
||||
self._attr_swing_mode = self.swing_mode
|
||||
if update:
|
||||
|
@ -63,10 +63,6 @@ class HonFanEntity(HonEntity, FanEntity):
|
||||
def __init__(self, hass, entry, device: HonAppliance, description) -> None:
|
||||
self._attr_supported_features = FanEntityFeature.SET_SPEED
|
||||
self._wind_speed: HonParameterRange = device.settings.get(description.key)
|
||||
self._speed_range = (
|
||||
int(self._wind_speed.values[1]),
|
||||
int(self._wind_speed.values[-1]),
|
||||
)
|
||||
self._command, self._parameter = description.key.split(".")
|
||||
|
||||
super().__init__(hass, entry, device, description)
|
||||
@ -118,6 +114,15 @@ class HonFanEntity(HonEntity, FanEntity):
|
||||
@callback
|
||||
def _handle_coordinator_update(self, update=True) -> None:
|
||||
self._wind_speed = self._device.settings.get(self.entity_description.key)
|
||||
self._attr_percentage = self.percentage
|
||||
if len(self._wind_speed.values) > 1:
|
||||
self._speed_range = (
|
||||
int(self._wind_speed.values[1]),
|
||||
int(self._wind_speed.values[-1]),
|
||||
)
|
||||
self._attr_percentage = self.percentage
|
||||
if update:
|
||||
self.async_write_ha_state()
|
||||
|
||||
@property
|
||||
def available(self) -> bool:
|
||||
return super().available and len(self._wind_speed.values) > 1
|
||||
|
@ -28,7 +28,7 @@ LIGHTS = {
|
||||
),
|
||||
"HO": (
|
||||
LightEntityDescription(
|
||||
key="startProgram.lightStatus",
|
||||
key="settings.lightStatus",
|
||||
name="Light status",
|
||||
translation_key="light",
|
||||
),
|
||||
@ -76,8 +76,7 @@ class HonLightEntity(HonEntity, LightEntity):
|
||||
@property
|
||||
def is_on(self) -> bool:
|
||||
"""Return true if light is on."""
|
||||
light = self._device.settings.get(self.entity_description.key)
|
||||
return light.value != light.min
|
||||
return self._device.get(self.entity_description.key.split(".")[-1]) > 0
|
||||
|
||||
async def async_turn_on(self, **kwargs: Any) -> None:
|
||||
"""Turn on or control the light."""
|
||||
@ -120,3 +119,10 @@ class HonLightEntity(HonEntity, LightEntity):
|
||||
self._attr_brightness = self.brightness
|
||||
if update:
|
||||
self.async_write_ha_state()
|
||||
|
||||
@property
|
||||
def available(self) -> bool:
|
||||
return (
|
||||
super().available
|
||||
and len(self._device.settings.get(self.entity_description.key).values) > 1
|
||||
)
|
||||
|
@ -9,7 +9,7 @@
|
||||
"iot_class": "cloud_polling",
|
||||
"issue_tracker": "https://github.com/Andre0512/hon/issues",
|
||||
"requirements": [
|
||||
"pyhOn==0.14.8"
|
||||
"pyhOn==0.14.10"
|
||||
],
|
||||
"version": "0.9.0-beta.9"
|
||||
"version": "0.9.1-beta.1"
|
||||
}
|
||||
|
@ -56,6 +56,13 @@ SELECTS = {
|
||||
translation_key="steam_level",
|
||||
option_list=const.STEAM_LEVEL,
|
||||
),
|
||||
HonConfigSelectEntityDescription(
|
||||
key="startProgram.dirtyLevel",
|
||||
name="Dirty level",
|
||||
icon="mdi:liquid-spot",
|
||||
translation_key="dirt_level",
|
||||
option_list=const.DIRTY_LEVEL,
|
||||
),
|
||||
),
|
||||
"TD": (
|
||||
HonConfigSelectEntityDescription(
|
||||
@ -146,7 +153,7 @@ SELECTS = {
|
||||
name="Diffuser Level",
|
||||
option_list=const.AP_DIFFUSER_LEVEL,
|
||||
translation_key="diffuser",
|
||||
icon="mdi:air-filter",
|
||||
icon="mdi:air-purifier",
|
||||
),
|
||||
HonSelectEntityDescription(
|
||||
key="settings.machMode",
|
||||
|
@ -157,7 +157,7 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
|
||||
),
|
||||
HonSensorEntityDescription(
|
||||
key="dirtyLevel",
|
||||
name="Dirt level",
|
||||
name="Dirty level",
|
||||
icon="mdi:liquid-spot",
|
||||
device_class=SensorDeviceClass.ENUM,
|
||||
translation_key="dirt_level",
|
||||
@ -688,11 +688,15 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
|
||||
HonSensorEntityDescription(
|
||||
key="mainFilterStatus",
|
||||
name="Main Filter Status",
|
||||
icon="mdi:air-filter",
|
||||
translation_key="filter_life",
|
||||
native_unit_of_measurement=PERCENTAGE,
|
||||
),
|
||||
HonSensorEntityDescription(
|
||||
key="preFilterStatus",
|
||||
name="Pre Filter Status",
|
||||
icon="mdi:air-filter",
|
||||
translation_key="filter_cleaning",
|
||||
native_unit_of_measurement=PERCENTAGE,
|
||||
),
|
||||
HonSensorEntityDescription(
|
||||
@ -746,10 +750,17 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
|
||||
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||
translation_key="temperature",
|
||||
),
|
||||
HonSensorEntityDescription(key="windSpeed", name="Wind Speed"),
|
||||
HonSensorEntityDescription(
|
||||
key="windSpeed",
|
||||
name="Wind Speed",
|
||||
icon="mdi:fan",
|
||||
translation_key="fan_speed",
|
||||
),
|
||||
HonSensorEntityDescription(
|
||||
key="airQuality",
|
||||
name="Air Quality",
|
||||
icon="mdi:weather-dust",
|
||||
translation_key="air_quality",
|
||||
),
|
||||
),
|
||||
}
|
||||
|
@ -116,6 +116,12 @@ SWITCHES: dict[str, tuple[HonSwitchEntityDescription, ...]] = {
|
||||
icon="mdi:weather-night",
|
||||
translation_key="good_night",
|
||||
),
|
||||
HonConfigSwitchEntityDescription(
|
||||
key="startProgram.hygiene",
|
||||
name="Hygiene",
|
||||
icon="mdi:lotion-plus",
|
||||
translation_key="hygiene",
|
||||
),
|
||||
),
|
||||
"TD": (
|
||||
HonControlSwitchEntityDescription(
|
||||
@ -331,6 +337,16 @@ SWITCHES: dict[str, tuple[HonSwitchEntityDescription, ...]] = {
|
||||
translation_key="holiday_mode",
|
||||
),
|
||||
),
|
||||
"HO": (
|
||||
HonControlSwitchEntityDescription(
|
||||
key="onOffStatus",
|
||||
name="Hood",
|
||||
icon="mdi:hvac",
|
||||
turn_on_key="startProgram",
|
||||
turn_off_key="stopProgram",
|
||||
translation_key="hood",
|
||||
),
|
||||
),
|
||||
"AP": (
|
||||
HonSwitchEntityDescription(
|
||||
key="touchToneStatus",
|
||||
@ -432,11 +448,15 @@ class HonControlSwitchEntity(HonEntity, SwitchEntity):
|
||||
return self._device.get(self.entity_description.key, False)
|
||||
|
||||
async def async_turn_on(self, **kwargs: Any) -> None:
|
||||
self._device.sync_command(self.entity_description.turn_on_key, "settings")
|
||||
await self.coordinator.async_refresh()
|
||||
await self._device.commands[self.entity_description.turn_on_key].send()
|
||||
self._device.attributes[self.entity_description.key] = True
|
||||
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")
|
||||
await self.coordinator.async_refresh()
|
||||
await self._device.commands[self.entity_description.turn_off_key].send()
|
||||
self._device.attributes[self.entity_description.key] = False
|
||||
self.async_write_ha_state()
|
||||
|
@ -875,6 +875,18 @@
|
||||
"synthetic": "Synthetic"
|
||||
},
|
||||
"name": "Úroveň páry"
|
||||
},
|
||||
"filter_cleaning": {
|
||||
"name": "Čištění filtru"
|
||||
},
|
||||
"filter_life": {
|
||||
"name": "Životnost filtru"
|
||||
},
|
||||
"air_quality": {
|
||||
"name": "Kvalita vzduchu"
|
||||
},
|
||||
"fan_speed": {
|
||||
"name": "Rychlost ventilátoru"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -1650,6 +1662,15 @@
|
||||
"synthetic": "Synthetic"
|
||||
},
|
||||
"name": "Úroveň páry"
|
||||
},
|
||||
"dirt_level": {
|
||||
"state": {
|
||||
"little": "Málo",
|
||||
"normal": "Normální",
|
||||
"very": "Velmi",
|
||||
"unknown": "unknown"
|
||||
},
|
||||
"name": "Míra znečištění"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -1763,6 +1784,12 @@
|
||||
},
|
||||
"touch_tone": {
|
||||
"name": "Hlasitost tónu klepnutí"
|
||||
},
|
||||
"hygiene": {
|
||||
"name": "Hygienický plus"
|
||||
},
|
||||
"hood": {
|
||||
"name": "Odsavač par"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
|
@ -875,6 +875,18 @@
|
||||
"synthetic": "Synthetik"
|
||||
},
|
||||
"name": "Dampfstufe"
|
||||
},
|
||||
"filter_cleaning": {
|
||||
"name": "Reinigung der Filter"
|
||||
},
|
||||
"filter_life": {
|
||||
"name": "Filterlebensdauer"
|
||||
},
|
||||
"air_quality": {
|
||||
"name": "Luftqualität"
|
||||
},
|
||||
"fan_speed": {
|
||||
"name": "Gebläsegeschwindigkeit"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -1650,6 +1662,15 @@
|
||||
"synthetic": "Synthetik"
|
||||
},
|
||||
"name": "Dampfstufe"
|
||||
},
|
||||
"dirt_level": {
|
||||
"state": {
|
||||
"little": "Wenig",
|
||||
"normal": "Normal",
|
||||
"very": "Sehr",
|
||||
"unknown": "unknown"
|
||||
},
|
||||
"name": "Verschmutzungsgrad"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -1763,6 +1784,12 @@
|
||||
},
|
||||
"touch_tone": {
|
||||
"name": "Tastentonlautstärke"
|
||||
},
|
||||
"hygiene": {
|
||||
"name": "Hygiene plus"
|
||||
},
|
||||
"hood": {
|
||||
"name": "Abzugshaube"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
|
@ -875,6 +875,18 @@
|
||||
"synthetic": "Συνθετικά"
|
||||
},
|
||||
"name": "Επίπεδο ατμού"
|
||||
},
|
||||
"filter_cleaning": {
|
||||
"name": "Καθαρισμός φίλτρου"
|
||||
},
|
||||
"filter_life": {
|
||||
"name": "Φιλτράρετε τη ζωή"
|
||||
},
|
||||
"air_quality": {
|
||||
"name": "Ποιότητα αέρα"
|
||||
},
|
||||
"fan_speed": {
|
||||
"name": "Ταχύτητα ανεμιστήρα"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -1650,6 +1662,15 @@
|
||||
"synthetic": "Συνθετικά"
|
||||
},
|
||||
"name": "Επίπεδο ατμού"
|
||||
},
|
||||
"dirt_level": {
|
||||
"state": {
|
||||
"little": "Λίγη",
|
||||
"normal": "Κανονική",
|
||||
"very": "Πολύ",
|
||||
"unknown": "unknown"
|
||||
},
|
||||
"name": "Επίπεδο βρωμιάς"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -1763,6 +1784,12 @@
|
||||
},
|
||||
"touch_tone": {
|
||||
"name": "Ένταση τόνου αφής"
|
||||
},
|
||||
"hygiene": {
|
||||
"name": "Hygiene plus"
|
||||
},
|
||||
"hood": {
|
||||
"name": "Απορροφητήρας"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
|
@ -895,6 +895,18 @@
|
||||
"synthetic": "Synthetic"
|
||||
},
|
||||
"name": "Steam Level"
|
||||
},
|
||||
"filter_cleaning": {
|
||||
"name": "Filter cleaning"
|
||||
},
|
||||
"filter_life": {
|
||||
"name": "Filter life"
|
||||
},
|
||||
"air_quality": {
|
||||
"name": "Air Quality"
|
||||
},
|
||||
"fan_speed": {
|
||||
"name": "Fan speed"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -1677,6 +1689,15 @@
|
||||
"synthetic": "Synthetic"
|
||||
},
|
||||
"name": "Steam Level"
|
||||
},
|
||||
"dirt_level": {
|
||||
"state": {
|
||||
"little": "Little",
|
||||
"normal": "Normal",
|
||||
"very": "Very",
|
||||
"unknown": "unknown"
|
||||
},
|
||||
"name": "Dirt level"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -1790,6 +1811,12 @@
|
||||
},
|
||||
"touch_tone": {
|
||||
"name": "Touch tone volume"
|
||||
},
|
||||
"hygiene": {
|
||||
"name": "Hygiene plus"
|
||||
},
|
||||
"hood": {
|
||||
"name": "Hood"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
|
@ -875,6 +875,18 @@
|
||||
"synthetic": "Synthetic"
|
||||
},
|
||||
"name": "Nivel de vapor"
|
||||
},
|
||||
"filter_cleaning": {
|
||||
"name": "Limpieza del filtro"
|
||||
},
|
||||
"filter_life": {
|
||||
"name": "Vida del filtro"
|
||||
},
|
||||
"air_quality": {
|
||||
"name": "Calidad del aire"
|
||||
},
|
||||
"fan_speed": {
|
||||
"name": "Velocidad del ventilador"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -1650,6 +1662,15 @@
|
||||
"synthetic": "Synthetic"
|
||||
},
|
||||
"name": "Nivel de vapor"
|
||||
},
|
||||
"dirt_level": {
|
||||
"state": {
|
||||
"little": "Poco",
|
||||
"normal": "Normal",
|
||||
"very": "Mucho",
|
||||
"unknown": "unknown"
|
||||
},
|
||||
"name": "Nivel de suciedad"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -1763,6 +1784,12 @@
|
||||
},
|
||||
"touch_tone": {
|
||||
"name": "Volumen del tono táctil"
|
||||
},
|
||||
"hygiene": {
|
||||
"name": "Higiene extra"
|
||||
},
|
||||
"hood": {
|
||||
"name": "Campana extractora"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
|
@ -875,6 +875,18 @@
|
||||
"synthetic": "Synthetic"
|
||||
},
|
||||
"name": "Niveau de vapeur"
|
||||
},
|
||||
"filter_cleaning": {
|
||||
"name": "Nettoyage du filtre"
|
||||
},
|
||||
"filter_life": {
|
||||
"name": "Durée de vie du filtre"
|
||||
},
|
||||
"air_quality": {
|
||||
"name": "Qualité d’air"
|
||||
},
|
||||
"fan_speed": {
|
||||
"name": "Vitesse du ventilateur"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -1650,6 +1662,15 @@
|
||||
"synthetic": "Synthetic"
|
||||
},
|
||||
"name": "Niveau de vapeur"
|
||||
},
|
||||
"dirt_level": {
|
||||
"state": {
|
||||
"little": "Faible",
|
||||
"normal": "Normal",
|
||||
"very": "Élevé",
|
||||
"unknown": "unknown"
|
||||
},
|
||||
"name": "Niveau de saleté"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -1763,6 +1784,12 @@
|
||||
},
|
||||
"touch_tone": {
|
||||
"name": "Volume des tonalités"
|
||||
},
|
||||
"hygiene": {
|
||||
"name": "Hygiène plus"
|
||||
},
|
||||
"hood": {
|
||||
"name": "Hotte"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
|
@ -431,6 +431,18 @@
|
||||
"synthetic": "מְלָאכוּתִי"
|
||||
},
|
||||
"name": "מפלס קיטור"
|
||||
},
|
||||
"filter_cleaning": {
|
||||
"name": "Filter cleaning"
|
||||
},
|
||||
"filter_life": {
|
||||
"name": "Filter life"
|
||||
},
|
||||
"air_quality": {
|
||||
"name": "Air Quality"
|
||||
},
|
||||
"fan_speed": {
|
||||
"name": "Fan speed"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -771,6 +783,15 @@
|
||||
"synthetic": "מְלָאכוּתִי"
|
||||
},
|
||||
"name": "מפלס קיטור"
|
||||
},
|
||||
"dirt_level": {
|
||||
"state": {
|
||||
"little": "קטן",
|
||||
"normal": "נוֹרמָלִי",
|
||||
"very": "מאוד",
|
||||
"unknown": "unknown"
|
||||
},
|
||||
"name": "רמת עפר"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -884,6 +905,12 @@
|
||||
},
|
||||
"touch_tone": {
|
||||
"name": "Touch tone volume"
|
||||
},
|
||||
"hygiene": {
|
||||
"name": "היגיינה פלוס"
|
||||
},
|
||||
"hood": {
|
||||
"name": "Hood"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
|
@ -875,6 +875,18 @@
|
||||
"synthetic": "Sintetika"
|
||||
},
|
||||
"name": "Razina pare"
|
||||
},
|
||||
"filter_cleaning": {
|
||||
"name": "Čišćenje filtra"
|
||||
},
|
||||
"filter_life": {
|
||||
"name": "Radni vijek filtra"
|
||||
},
|
||||
"air_quality": {
|
||||
"name": "Kvaliteta zraka"
|
||||
},
|
||||
"fan_speed": {
|
||||
"name": "Brzina ventilatora"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -1650,6 +1662,15 @@
|
||||
"synthetic": "Sintetika"
|
||||
},
|
||||
"name": "Razina pare"
|
||||
},
|
||||
"dirt_level": {
|
||||
"state": {
|
||||
"little": "Neznatno",
|
||||
"normal": "Uobičajeno",
|
||||
"very": "Izuzetno",
|
||||
"unknown": "unknown"
|
||||
},
|
||||
"name": "Stupanj zaprljanosti"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -1763,6 +1784,12 @@
|
||||
},
|
||||
"touch_tone": {
|
||||
"name": "Glasnoća tona pri dodiru"
|
||||
},
|
||||
"hygiene": {
|
||||
"name": "Hygiene Plus"
|
||||
},
|
||||
"hood": {
|
||||
"name": "Napa"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
|
@ -880,6 +880,18 @@
|
||||
"synthetic": "Sintetici"
|
||||
},
|
||||
"name": "Livello vapore"
|
||||
},
|
||||
"filter_cleaning": {
|
||||
"name": "Pulizia del filtro"
|
||||
},
|
||||
"filter_life": {
|
||||
"name": "Durata filtro"
|
||||
},
|
||||
"air_quality": {
|
||||
"name": "Qualità dell'Aria"
|
||||
},
|
||||
"fan_speed": {
|
||||
"name": "Velocità ventole"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -1655,6 +1667,15 @@
|
||||
"synthetic": "Sintetici"
|
||||
},
|
||||
"name": "Livello vapore"
|
||||
},
|
||||
"dirt_level": {
|
||||
"state": {
|
||||
"little": "Poco",
|
||||
"normal": "Normale",
|
||||
"very": "Molto",
|
||||
"unknown": "unknown"
|
||||
},
|
||||
"name": "Livello di sporco"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -1768,6 +1789,12 @@
|
||||
},
|
||||
"touch_tone": {
|
||||
"name": "Volume Tasti"
|
||||
},
|
||||
"hygiene": {
|
||||
"name": "Hygiene plus"
|
||||
},
|
||||
"hood": {
|
||||
"name": "Cappa"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
|
@ -875,6 +875,18 @@
|
||||
"synthetic": "Synthetic"
|
||||
},
|
||||
"name": "Stoomniveau"
|
||||
},
|
||||
"filter_cleaning": {
|
||||
"name": "Filterreiniging"
|
||||
},
|
||||
"filter_life": {
|
||||
"name": "Levensduur filter"
|
||||
},
|
||||
"air_quality": {
|
||||
"name": "Luchtkwaliteit"
|
||||
},
|
||||
"fan_speed": {
|
||||
"name": "Ventilatorsnelheid"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -1650,6 +1662,15 @@
|
||||
"synthetic": "Synthetic"
|
||||
},
|
||||
"name": "Stoomniveau"
|
||||
},
|
||||
"dirt_level": {
|
||||
"state": {
|
||||
"little": "Weinig",
|
||||
"normal": "Normaal",
|
||||
"very": "Heel",
|
||||
"unknown": "unknown"
|
||||
},
|
||||
"name": "Vuilheid"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -1763,6 +1784,12 @@
|
||||
},
|
||||
"touch_tone": {
|
||||
"name": "Volume van geluid bij aanraking"
|
||||
},
|
||||
"hygiene": {
|
||||
"name": "Hygiëne plus"
|
||||
},
|
||||
"hood": {
|
||||
"name": "Afzuigkap"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
|
@ -875,6 +875,18 @@
|
||||
"synthetic": "Syntetyczne"
|
||||
},
|
||||
"name": "Poziom pary"
|
||||
},
|
||||
"filter_cleaning": {
|
||||
"name": "Czyszczenie filtra"
|
||||
},
|
||||
"filter_life": {
|
||||
"name": "Żywotność filtra"
|
||||
},
|
||||
"air_quality": {
|
||||
"name": "Jakość powietrza"
|
||||
},
|
||||
"fan_speed": {
|
||||
"name": "Prędkość wentylatora"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -1650,6 +1662,15 @@
|
||||
"synthetic": "Syntetyczne"
|
||||
},
|
||||
"name": "Poziom pary"
|
||||
},
|
||||
"dirt_level": {
|
||||
"state": {
|
||||
"little": "Niskie",
|
||||
"normal": "Standardowe",
|
||||
"very": "Wysokie",
|
||||
"unknown": "unknown"
|
||||
},
|
||||
"name": "Stopień zabrudzenia"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -1763,6 +1784,12 @@
|
||||
},
|
||||
"touch_tone": {
|
||||
"name": "Dźwięk przycisku dotykowego"
|
||||
},
|
||||
"hygiene": {
|
||||
"name": "Higiena plus"
|
||||
},
|
||||
"hood": {
|
||||
"name": "Okap"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
|
@ -875,6 +875,18 @@
|
||||
"synthetic": "Sintéticos"
|
||||
},
|
||||
"name": "Nível de vapor"
|
||||
},
|
||||
"filter_cleaning": {
|
||||
"name": "Limpeza do filtro"
|
||||
},
|
||||
"filter_life": {
|
||||
"name": "Vida do filtro"
|
||||
},
|
||||
"air_quality": {
|
||||
"name": "Qualidade do ar"
|
||||
},
|
||||
"fan_speed": {
|
||||
"name": "Velocidade da bomba"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -1650,6 +1662,15 @@
|
||||
"synthetic": "Sintéticos"
|
||||
},
|
||||
"name": "Nível de vapor"
|
||||
},
|
||||
"dirt_level": {
|
||||
"state": {
|
||||
"little": "Pouco",
|
||||
"normal": "Normal",
|
||||
"very": "Muito",
|
||||
"unknown": "unknown"
|
||||
},
|
||||
"name": "Nível de sujidade"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -1763,6 +1784,12 @@
|
||||
},
|
||||
"touch_tone": {
|
||||
"name": "Volume do tom de toque"
|
||||
},
|
||||
"hygiene": {
|
||||
"name": "Higiene mais"
|
||||
},
|
||||
"hood": {
|
||||
"name": "Exaustor"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
|
@ -875,6 +875,18 @@
|
||||
"synthetic": "Synthetic"
|
||||
},
|
||||
"name": "Nivel abur"
|
||||
},
|
||||
"filter_cleaning": {
|
||||
"name": "Curățarea filtrului"
|
||||
},
|
||||
"filter_life": {
|
||||
"name": "Viața filtrului"
|
||||
},
|
||||
"air_quality": {
|
||||
"name": "Calitatea aerului"
|
||||
},
|
||||
"fan_speed": {
|
||||
"name": "Viteza ventilatorului"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -1650,6 +1662,15 @@
|
||||
"synthetic": "Synthetic"
|
||||
},
|
||||
"name": "Nivel abur"
|
||||
},
|
||||
"dirt_level": {
|
||||
"state": {
|
||||
"little": "Puțin",
|
||||
"normal": "Normal",
|
||||
"very": "Foarte",
|
||||
"unknown": "unknown"
|
||||
},
|
||||
"name": "Nivel de murdărie"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -1763,6 +1784,12 @@
|
||||
},
|
||||
"touch_tone": {
|
||||
"name": "Volum la atingerea tastelor"
|
||||
},
|
||||
"hygiene": {
|
||||
"name": "Igienizare plus"
|
||||
},
|
||||
"hood": {
|
||||
"name": "Hotă"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
|
@ -875,6 +875,18 @@
|
||||
"synthetic": "Синтетика"
|
||||
},
|
||||
"name": "Уровень пара"
|
||||
},
|
||||
"filter_cleaning": {
|
||||
"name": "Чистка фильтра"
|
||||
},
|
||||
"filter_life": {
|
||||
"name": "Срок службы фильтра"
|
||||
},
|
||||
"air_quality": {
|
||||
"name": "Качество воздуха"
|
||||
},
|
||||
"fan_speed": {
|
||||
"name": "Скорость вентилятора"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -1650,6 +1662,15 @@
|
||||
"synthetic": "Синтетика"
|
||||
},
|
||||
"name": "Уровень пара"
|
||||
},
|
||||
"dirt_level": {
|
||||
"state": {
|
||||
"little": "Мало",
|
||||
"normal": "Нормально",
|
||||
"very": "Очень",
|
||||
"unknown": "unknown"
|
||||
},
|
||||
"name": "Уровень загрязнения"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -1763,6 +1784,12 @@
|
||||
},
|
||||
"touch_tone": {
|
||||
"name": "Громкость сенсорных кнопок"
|
||||
},
|
||||
"hygiene": {
|
||||
"name": "Гигиена плюс"
|
||||
},
|
||||
"hood": {
|
||||
"name": "Вытяжка"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
|
@ -875,6 +875,18 @@
|
||||
"synthetic": "Synthetic"
|
||||
},
|
||||
"name": "Úroveň nastavenia pary"
|
||||
},
|
||||
"filter_cleaning": {
|
||||
"name": "Čistenie filtra"
|
||||
},
|
||||
"filter_life": {
|
||||
"name": "Životnosť filtra"
|
||||
},
|
||||
"air_quality": {
|
||||
"name": "Kvalita vzduchu"
|
||||
},
|
||||
"fan_speed": {
|
||||
"name": "Rýchlosť ventilátora"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -1650,6 +1662,15 @@
|
||||
"synthetic": "Synthetic"
|
||||
},
|
||||
"name": "Úroveň nastavenia pary"
|
||||
},
|
||||
"dirt_level": {
|
||||
"state": {
|
||||
"little": "Málo",
|
||||
"normal": "Normálne",
|
||||
"very": "Veľa",
|
||||
"unknown": "unknown"
|
||||
},
|
||||
"name": "Úroveň znečistenia"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -1763,6 +1784,12 @@
|
||||
},
|
||||
"touch_tone": {
|
||||
"name": "Hlasitosť tónu dotyku"
|
||||
},
|
||||
"hygiene": {
|
||||
"name": "Hygiena plus"
|
||||
},
|
||||
"hood": {
|
||||
"name": "Digestor"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
|
@ -875,6 +875,18 @@
|
||||
"synthetic": "Sintetika"
|
||||
},
|
||||
"name": "Količina pare"
|
||||
},
|
||||
"filter_cleaning": {
|
||||
"name": "Čiščenje filtra"
|
||||
},
|
||||
"filter_life": {
|
||||
"name": "Življenjska doba filtra"
|
||||
},
|
||||
"air_quality": {
|
||||
"name": "Kakovost zraka"
|
||||
},
|
||||
"fan_speed": {
|
||||
"name": "Hitrost ventilatorja"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -1650,6 +1662,15 @@
|
||||
"synthetic": "Sintetika"
|
||||
},
|
||||
"name": "Količina pare"
|
||||
},
|
||||
"dirt_level": {
|
||||
"state": {
|
||||
"little": "Malo",
|
||||
"normal": "Normalno",
|
||||
"very": "Zelo",
|
||||
"unknown": "unknown"
|
||||
},
|
||||
"name": "Stopnja umazanije"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -1763,6 +1784,12 @@
|
||||
},
|
||||
"touch_tone": {
|
||||
"name": "Glasnost tona dotika"
|
||||
},
|
||||
"hygiene": {
|
||||
"name": "Higiena plus"
|
||||
},
|
||||
"hood": {
|
||||
"name": "Kuhinjska napa"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
|
@ -875,6 +875,18 @@
|
||||
"synthetic": "Sintetika"
|
||||
},
|
||||
"name": "Nivo pare"
|
||||
},
|
||||
"filter_cleaning": {
|
||||
"name": "Čišćenje filtera"
|
||||
},
|
||||
"filter_life": {
|
||||
"name": "Trajanje filtera"
|
||||
},
|
||||
"air_quality": {
|
||||
"name": "Kvalitet vazduha"
|
||||
},
|
||||
"fan_speed": {
|
||||
"name": "Brzina ventilatora"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -1650,6 +1662,15 @@
|
||||
"synthetic": "Sintetika"
|
||||
},
|
||||
"name": "Nivo pare"
|
||||
},
|
||||
"dirt_level": {
|
||||
"state": {
|
||||
"little": "Malo",
|
||||
"normal": "Normalno",
|
||||
"very": "Veoma",
|
||||
"unknown": "unknown"
|
||||
},
|
||||
"name": "Nivo zaprljanosti"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -1763,6 +1784,12 @@
|
||||
},
|
||||
"touch_tone": {
|
||||
"name": "Jačina tona dodira"
|
||||
},
|
||||
"hygiene": {
|
||||
"name": "Higijenski plus"
|
||||
},
|
||||
"hood": {
|
||||
"name": "Aspirator"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
|
@ -875,6 +875,18 @@
|
||||
"synthetic": "Synthetic"
|
||||
},
|
||||
"name": "Buhar Seviyesi"
|
||||
},
|
||||
"filter_cleaning": {
|
||||
"name": "Filtre temizliği"
|
||||
},
|
||||
"filter_life": {
|
||||
"name": "Filtre ömrü"
|
||||
},
|
||||
"air_quality": {
|
||||
"name": "Hava kalitesi"
|
||||
},
|
||||
"fan_speed": {
|
||||
"name": "Fan hızı"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -1650,6 +1662,15 @@
|
||||
"synthetic": "Synthetic"
|
||||
},
|
||||
"name": "Buhar Seviyesi"
|
||||
},
|
||||
"dirt_level": {
|
||||
"state": {
|
||||
"little": "Az",
|
||||
"normal": "Normal",
|
||||
"very": "Çok",
|
||||
"unknown": "unknown"
|
||||
},
|
||||
"name": "Kir seviyesi"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -1763,6 +1784,12 @@
|
||||
},
|
||||
"touch_tone": {
|
||||
"name": "Dokunma tonu seviyesi"
|
||||
},
|
||||
"hygiene": {
|
||||
"name": "Hygiene plus"
|
||||
},
|
||||
"hood": {
|
||||
"name": "Davlumbaz"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
|
@ -875,6 +875,18 @@
|
||||
"synthetic": "Synthetic"
|
||||
},
|
||||
"name": "蒸汽档位"
|
||||
},
|
||||
"filter_cleaning": {
|
||||
"name": "滤网清洁"
|
||||
},
|
||||
"filter_life": {
|
||||
"name": "过滤器寿命"
|
||||
},
|
||||
"air_quality": {
|
||||
"name": "空气质量"
|
||||
},
|
||||
"fan_speed": {
|
||||
"name": "风扇速度"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -1650,6 +1662,15 @@
|
||||
"synthetic": "Synthetic"
|
||||
},
|
||||
"name": "蒸汽档位"
|
||||
},
|
||||
"dirt_level": {
|
||||
"state": {
|
||||
"little": "少量",
|
||||
"normal": "正常",
|
||||
"very": "非常",
|
||||
"unknown": "unknown"
|
||||
},
|
||||
"name": "脏污程度"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -1763,6 +1784,12 @@
|
||||
},
|
||||
"touch_tone": {
|
||||
"name": "按键音量"
|
||||
},
|
||||
"hygiene": {
|
||||
"name": "卫生增强"
|
||||
},
|
||||
"hood": {
|
||||
"name": "机盖"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
|
17
info.md
17
info.md
@ -34,12 +34,12 @@ Support has been confirmed for these models, but many more will work. Please add
|
||||
| **Washer Dryer** | HWD100-B14979 | HDQ 496AMBS/1-S <br/> HWPS4954DAMR-11 | RPW41066BWMR/1-S |
|
||||
| **Oven** | HWO60SM2F3XH | HSOT3161WG | |
|
||||
| **Dish Washer** | XIB 3B2SFS-80 <br/> XIB 6B2D3FB | HFB 6B2S3FX | |
|
||||
| **Air Conditioner** | AD105S2SM3FA <br/> AS09TS4HRA-M <br/> AS20HPL1HRA <br/> AS25PBAHRA <br/> AS25S2SF1FA-WH <br/> AS25TADHRA-2 <br/> AS35PBAHRA <br/> AS35S2SF1FA-WH <br/> AS35S2SF2FA-3 <br/> AS35TADHRA-2 <br/> AS35TAMHRA-C | | |
|
||||
| **Air Conditioner** | AD105S2SM3FA <br/> AS09TS4HRA-M <br/> AS20HPL1HRA <br/> AS25PBAHRA <br/> AS25S2SF1FA-WH <br/> AS25TADHRA-2 <br/> AS35PBAHRA <br/> AS35S2SF1FA-WH <br/> AS35S2SF2FA-3 <br/> AS35TADHRA-2 <br/> AS35TAMHRA-C | | CY-12TAIN |
|
||||
| **Fridge** | HFW7720ENMB | | CCE4T620EWU |
|
||||
| **Hob** | HA2MTSJ68MC | | CIS633SCTTWIFI |
|
||||
| **Hood** | HADG6DS46BWIFI | | |
|
||||
| **Wine Cellar** | HWS247FDU1 | | |
|
||||
| **Air Purifier** | | HHP50CA001 | |
|
||||
| **Air Purifier** | | HHP30C011 <br/> HHP50CA001 <br/> HHP50CA011 | |
|
||||
|
||||
| Please add your appliances data to our [hon-test-data collection](https://github.com/Andre0512/hon-test-data). <br/>This helps us to develop new features and not to break compatibility in newer versions. |
|
||||
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
@ -66,6 +66,19 @@ Translation of internal names like programs are available for all languages whic
|
||||
* 🇪🇸 Spanish
|
||||
* 🇹🇷 Turkish
|
||||
|
||||
## Compatiblity
|
||||
Haier offers different apps for different markets. Some appliances are compatible with more than one app. This integration only supports appliances that can be controlled via hOn. Please download the hOn app and check compatibilty before you open an issue.
|
||||
The apps on this (incomplete) list have been requested so far:
|
||||
|
||||
| App | Main Market | Supported | Alternative |
|
||||
|-----------------|---------------|-----------------------------------------|---------------------------------------------------------------------------------|
|
||||
| Haier hOn | Europe | :heavy_check_mark: | |
|
||||
| Candy simply-Fi | Europe | :grey_question: (only newer appliances) | [ofalvai/home-assistant-candy](https://github.com/ofalvai/home-assistant-candy) |
|
||||
| Hoover Wizard | Europe | :grey_question: (only newer appliances) | |
|
||||
| Haier Uhome | China | :x: | [banto6/haier](https://github.com/banto6/haier) |
|
||||
| Haier U+ | China | :x: | |
|
||||
| GE SmartHQ | North America | :x: | [simbaja/ha_gehome](https://github.com/simbaja/ha_gehome) |
|
||||
|
||||
## Examples
|
||||
### Washing Machine
|
||||

|
||||
|
@ -129,6 +129,7 @@ SELECT = {
|
||||
"steam_level": STEAM_LEVEL,
|
||||
"mode": AP_MACH_MODE,
|
||||
"diffuser": AP_DIFFUSER_LEVEL,
|
||||
"dirt_level": DIRTY_LEVEL,
|
||||
}
|
||||
|
||||
PROGRAMS = {
|
||||
@ -239,6 +240,8 @@ NAMES = {
|
||||
"super_freeze": "REF_CMD&CTRL.MODALITIES.SUPER_FREEZE",
|
||||
"refrigerator": "REF.NAME",
|
||||
"touch_tone": "AP.FOOTER_MENU_MORE.TOUCH_TONE_VOLUME",
|
||||
"hygiene": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.HYGIENE",
|
||||
"hood": "GLOBALS.APPLIANCES_NAME.HO",
|
||||
},
|
||||
"binary_sensor": {
|
||||
"door_lock": "WASHING_CMD&CTRL.CHECK_UP_RESULTS.DOOR_LOCK",
|
||||
@ -291,6 +294,7 @@ NAMES = {
|
||||
"diffuser": "AP.TITLES.DIFFUSER",
|
||||
"mode": "CUBE90_GLOBAL.GENERAL.MODE",
|
||||
"steam_level": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_MAIN_OPTIONS.STEAM_LEVEL",
|
||||
"dirt_level": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_MAIN_OPTIONS.DIRTY_LEVEL",
|
||||
},
|
||||
"sensor": {
|
||||
"dry_levels": "WASHING_CMD&CTRL.DRAWER_CYCLE_DRYING.TAB_LEVEL",
|
||||
@ -347,6 +351,10 @@ NAMES = {
|
||||
"programs_ac": "WC.SET_PROGRAM.PROGRAM",
|
||||
"programs_ref": "WC.SET_PROGRAM.PROGRAM",
|
||||
"voc": "HINTS.WHAT_POLLUTES_THE_AIR_IN_OUR_HOMES.GAS_VOC_TITLE",
|
||||
"filter_cleaning": "AP.MAINTENANCE.FILTER_CLEANING",
|
||||
"filter_life": "AP.MAINTENANCE.FILTER_LIFE",
|
||||
"air_quality": "AP.DISCOVER.AIR_QUALITY",
|
||||
"fan_speed": "AP.TITLES.FAN_SPEED",
|
||||
},
|
||||
"number": {
|
||||
"power_management": "HINTS.COOKING_WITH_INDUCTION.POWER_MANAGEMENT",
|
||||
|
Reference in New Issue
Block a user