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 |
|
| **Washer Dryer** | HWD100-B14979 | HDQ 496AMBS/1-S <br/> HWPS4954DAMR-11 | RPW41066BWMR/1-S |
|
||||||
| **Oven** | HWO60SM2F3XH | HSOT3161WG | |
|
| **Oven** | HWO60SM2F3XH | HSOT3161WG | |
|
||||||
| **Dish Washer** | XIB 3B2SFS-80 <br/> XIB 6B2D3FB | HFB 6B2S3FX | |
|
| **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 |
|
| **Fridge** | HFW7720ENMB | | CCE4T620EWU |
|
||||||
| **Hob** | HA2MTSJ68MC | | CIS633SCTTWIFI |
|
| **Hob** | HA2MTSJ68MC | | CIS633SCTTWIFI |
|
||||||
| **Hood** | HADG6DS46BWIFI | | |
|
| **Hood** | HADG6DS46BWIFI | | |
|
||||||
| **Wine Cellar** | HWS247FDU1 | | |
|
| **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. |
|
| 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
|
* 🇪🇸 Spanish
|
||||||
* 🇹🇷 Turkish
|
* 🇹🇷 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
|
## Examples
|
||||||
### Washing Machine
|
### 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 Off | `scent-off` | `number` | `settings.aromaTimeOff` |
|
||||||
| Aroma Time On | `scent` | `number` | `settings.aromaTimeOn` |
|
| 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` |
|
| Light status | | `light` | `settings.lightStatus` |
|
||||||
| Lock Status | | `lock` | `lockStatus` |
|
| Lock Status | | `lock` | `lockStatus` |
|
||||||
| Mode | `play` | `select` | `settings.machMode` |
|
| 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
|
#### Sensors
|
||||||
| Name | Icon | Entity | Key |
|
| Name | Icon | Entity | Key |
|
||||||
| --- | --- | --- | --- |
|
| --- | --- | --- | --- |
|
||||||
| Air Quality | | `sensor` | `airQuality` |
|
| Air Quality | `weather-dust` | `sensor` | `airQuality` |
|
||||||
| CO Level | | `sensor` | `coLevel` |
|
| CO Level | | `sensor` | `coLevel` |
|
||||||
| Error | `math-log` | `sensor` | `errors` |
|
| Error | `math-log` | `sensor` | `errors` |
|
||||||
| Humidity | | `sensor` | `humidityIndoor` |
|
| Humidity | | `sensor` | `humidityIndoor` |
|
||||||
| Main Filter Status | | `sensor` | `mainFilterStatus` |
|
| Main Filter Status | `air-filter` | `sensor` | `mainFilterStatus` |
|
||||||
| On | `power-cycle` | `binary_sensor` | `attributes.parameters.onOffStatus` |
|
| On | `power-cycle` | `binary_sensor` | `attributes.parameters.onOffStatus` |
|
||||||
| PM 10 | | `sensor` | `pm10ValueIndoor` |
|
| PM 10 | | `sensor` | `pm10ValueIndoor` |
|
||||||
| PM 2.5 | | `sensor` | `pm2p5ValueIndoor` |
|
| PM 2.5 | | `sensor` | `pm2p5ValueIndoor` |
|
||||||
| Pre Filter Status | | `sensor` | `preFilterStatus` |
|
| Pre Filter Status | `air-filter` | `sensor` | `preFilterStatus` |
|
||||||
| Temperature | | `sensor` | `temp` |
|
| Temperature | | `sensor` | `temp` |
|
||||||
| Total Work Time | | `sensor` | `totalWorkTime` |
|
| Total Work Time | | `sensor` | `totalWorkTime` |
|
||||||
| VOC | | `sensor` | `vocValueIndoor` |
|
| VOC | | `sensor` | `vocValueIndoor` |
|
||||||
| Wind Speed | | `sensor` | `windSpeed` |
|
| Wind Speed | `fan` | `sensor` | `windSpeed` |
|
||||||
|
|
||||||
### Dish Washer
|
### Dish Washer
|
||||||
#### Controls
|
#### Controls
|
||||||
@ -247,9 +260,8 @@ For every device exists a button under diagnostics which can be used to log all
|
|||||||
#### Controls
|
#### Controls
|
||||||
| Name | Icon | Entity | Key |
|
| Name | Icon | Entity | Key |
|
||||||
| --- | --- | --- | --- |
|
| --- | --- | --- | --- |
|
||||||
| Light status | | `light` | `startProgram.lightStatus` |
|
| Hood | `hvac` | `switch` | `startProgram` / `stopProgram` |
|
||||||
| Start Program | `hvac` | `button` | `startProgram` |
|
| Light status | | `light` | `settings.lightStatus` |
|
||||||
| Stop Program | `hvac-off` | `button` | `stopProgram` |
|
|
||||||
| Wind Speed | | `fan` | `settings.windSpeed` |
|
| Wind Speed | | `fan` | `settings.windSpeed` |
|
||||||
#### Sensors
|
#### Sensors
|
||||||
| Name | Icon | Entity | Key |
|
| 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` |
|
| Auto Dose Softener | `teddy-bear` | `switch` | `startProgram.autoSoftenerStatus` |
|
||||||
| Delay Status | `timer-check` | `switch` | `startProgram.delayStatus` |
|
| Delay Status | `timer-check` | `switch` | `startProgram.delayStatus` |
|
||||||
| Delay Time | `timer-plus` | `number` | `startProgram.delayTime` |
|
| Delay Time | `timer-plus` | `number` | `startProgram.delayTime` |
|
||||||
|
| Dirty level | `liquid-spot` | `select` | `startProgram.dirtyLevel` |
|
||||||
| Dry Time | | `number` | `startProgram.dryTime` |
|
| Dry Time | | `number` | `startProgram.dryTime` |
|
||||||
| Dry Time | `timer` | `select` | `startProgram.dryTimeMM` |
|
| Dry Time | `timer` | `select` | `startProgram.dryTimeMM` |
|
||||||
| Dry level | `hair-dryer` | `select` | `startProgram.dryLevel` |
|
| 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 2 | `numeric-2-box-multiple-outline` | `switch` | `startProgram.extraRinse2` |
|
||||||
| Extra Rinse 3 | `numeric-3-box-multiple-outline` | `switch` | `startProgram.extraRinse3` |
|
| Extra Rinse 3 | `numeric-3-box-multiple-outline` | `switch` | `startProgram.extraRinse3` |
|
||||||
| Good Night | `weather-night` | `switch` | `startProgram.goodNight` |
|
| Good Night | `weather-night` | `switch` | `startProgram.goodNight` |
|
||||||
|
| Hygiene | `lotion-plus` | `switch` | `startProgram.hygiene` |
|
||||||
| Keep Fresh | `refresh-circle` | `switch` | `startProgram.permanentPressStatus` |
|
| Keep Fresh | `refresh-circle` | `switch` | `startProgram.permanentPressStatus` |
|
||||||
| Liquid Detergent Dose | `cup-water` | `sensor` | `startProgram.liquidDetergentDose` |
|
| Liquid Detergent Dose | `cup-water` | `sensor` | `startProgram.liquidDetergentDose` |
|
||||||
| Main Wash Time | `clock-start` | `number` | `startProgram.mainWashTime` |
|
| 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 Electricity Used | `lightning-bolt` | `sensor` | `currentElectricityUsed` |
|
||||||
| Current Temperature | `thermometer` | `sensor` | `temp` |
|
| Current Temperature | `thermometer` | `sensor` | `temp` |
|
||||||
| Current Water Used | `water` | `sensor` | `currentWaterUsed` |
|
| Current Water Used | `water` | `sensor` | `currentWaterUsed` |
|
||||||
| Dirt level | `liquid-spot` | `sensor` | `dirtyLevel` |
|
| Dirty level | `liquid-spot` | `sensor` | `dirtyLevel` |
|
||||||
| Door | | `binary_sensor` | `doorStatus` |
|
| Door | | `binary_sensor` | `doorStatus` |
|
||||||
| Door Lock | | `binary_sensor` | `doorLockStatus` |
|
| Door Lock | | `binary_sensor` | `doorLockStatus` |
|
||||||
| Dry level | `hair-dryer` | `sensor` | `dryLevel` |
|
| 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` |
|
| Auto Dose Softener | `teddy-bear` | `switch` | `startProgram.autoSoftenerStatus` |
|
||||||
| Delay Status | `timer-check` | `switch` | `startProgram.delayStatus` |
|
| Delay Status | `timer-check` | `switch` | `startProgram.delayStatus` |
|
||||||
| Delay Time | `timer-plus` | `number` | `startProgram.delayTime` |
|
| Delay Time | `timer-plus` | `number` | `startProgram.delayTime` |
|
||||||
|
| Dirty level | `liquid-spot` | `select` | `startProgram.dirtyLevel` |
|
||||||
| Energy Label | `lightning-bolt-circle` | `sensor` | `startProgram.energyLabel` |
|
| Energy Label | `lightning-bolt-circle` | `sensor` | `startProgram.energyLabel` |
|
||||||
| Extra Rinse 1 | `numeric-1-box-multiple-outline` | `switch` | `startProgram.extraRinse1` |
|
| Extra Rinse 1 | `numeric-1-box-multiple-outline` | `switch` | `startProgram.extraRinse1` |
|
||||||
| Extra Rinse 2 | `numeric-2-box-multiple-outline` | `switch` | `startProgram.extraRinse2` |
|
| Extra Rinse 2 | `numeric-2-box-multiple-outline` | `switch` | `startProgram.extraRinse2` |
|
||||||
| Extra Rinse 3 | `numeric-3-box-multiple-outline` | `switch` | `startProgram.extraRinse3` |
|
| Extra Rinse 3 | `numeric-3-box-multiple-outline` | `switch` | `startProgram.extraRinse3` |
|
||||||
| Good Night | `weather-night` | `switch` | `startProgram.goodNight` |
|
| Good Night | `weather-night` | `switch` | `startProgram.goodNight` |
|
||||||
|
| Hygiene | `lotion-plus` | `switch` | `startProgram.hygiene` |
|
||||||
| Keep Fresh | `refresh-circle` | `switch` | `startProgram.permanentPressStatus` |
|
| Keep Fresh | `refresh-circle` | `switch` | `startProgram.permanentPressStatus` |
|
||||||
| Liquid Detergent Dose | `cup-water` | `sensor` | `startProgram.liquidDetergentDose` |
|
| Liquid Detergent Dose | `cup-water` | `sensor` | `startProgram.liquidDetergentDose` |
|
||||||
| Main Wash Time | `clock-start` | `number` | `startProgram.mainWashTime` |
|
| 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 Electricity Used | `lightning-bolt` | `sensor` | `currentElectricityUsed` |
|
||||||
| Current Temperature | `thermometer` | `sensor` | `temp` |
|
| Current Temperature | `thermometer` | `sensor` | `temp` |
|
||||||
| Current Water Used | `water` | `sensor` | `currentWaterUsed` |
|
| Current Water Used | `water` | `sensor` | `currentWaterUsed` |
|
||||||
| Dirt level | `liquid-spot` | `sensor` | `dirtyLevel` |
|
| Dirty level | `liquid-spot` | `sensor` | `dirtyLevel` |
|
||||||
| Door | | `binary_sensor` | `doorStatus` |
|
| Door | | `binary_sensor` | `doorStatus` |
|
||||||
| Door Lock | | `binary_sensor` | `doorLockStatus` |
|
| Door Lock | | `binary_sensor` | `doorLockStatus` |
|
||||||
| Error | `math-log` | `sensor` | `errors` |
|
| Error | `math-log` | `sensor` | `errors` |
|
||||||
|
@ -35,20 +35,6 @@ BUTTONS: dict[str, tuple[ButtonEntityDescription, ...]] = {
|
|||||||
translation_key="stop_program",
|
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,
|
ClimateEntityDescription,
|
||||||
)
|
)
|
||||||
from homeassistant.components.climate.const import (
|
from homeassistant.components.climate.const import (
|
||||||
FAN_OFF,
|
|
||||||
SWING_OFF,
|
SWING_OFF,
|
||||||
SWING_BOTH,
|
SWING_BOTH,
|
||||||
SWING_VERTICAL,
|
SWING_VERTICAL,
|
||||||
@ -22,7 +21,7 @@ from homeassistant.const import (
|
|||||||
from homeassistant.core import callback
|
from homeassistant.core import callback
|
||||||
from pyhon.appliance import HonAppliance
|
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
|
from .hon import HonEntity
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
@ -123,9 +122,6 @@ class HonACClimateEntity(HonEntity, ClimateEntity):
|
|||||||
self._attr_preset_modes = []
|
self._attr_preset_modes = []
|
||||||
for mode in device.settings["startProgram.program"].values:
|
for mode in device.settings["startProgram.program"].values:
|
||||||
self._attr_preset_modes.append(mode)
|
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 = [
|
self._attr_swing_modes = [
|
||||||
SWING_OFF,
|
SWING_OFF,
|
||||||
SWING_VERTICAL,
|
SWING_VERTICAL,
|
||||||
@ -181,7 +177,11 @@ class HonACClimateEntity(HonEntity, ClimateEntity):
|
|||||||
self._device.settings["settings.onOffStatus"].value = "1"
|
self._device.settings["settings.onOffStatus"].value = "1"
|
||||||
setting = self._device.settings["settings.machMode"]
|
setting = self._device.settings["settings.machMode"]
|
||||||
modes = {HON_HVAC_MODE[int(number)]: number for number in setting.values}
|
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()
|
await self._device.commands["settings"].send()
|
||||||
self.async_write_ha_state()
|
self.async_write_ha_state()
|
||||||
|
|
||||||
@ -192,7 +192,7 @@ class HonACClimateEntity(HonEntity, ClimateEntity):
|
|||||||
|
|
||||||
async def async_set_preset_mode(self, preset_mode: str) -> None:
|
async def async_set_preset_mode(self, preset_mode: str) -> None:
|
||||||
"""Set the new preset mode."""
|
"""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
|
program.value = preset_mode
|
||||||
self._device.sync_command("startProgram", "settings")
|
self._device.sync_command("startProgram", "settings")
|
||||||
self._set_temperature_bound()
|
self._set_temperature_bound()
|
||||||
@ -202,15 +202,24 @@ class HonACClimateEntity(HonEntity, ClimateEntity):
|
|||||||
await self._device.commands["startProgram"].send()
|
await self._device.commands["startProgram"].send()
|
||||||
self.async_write_ha_state()
|
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
|
@property
|
||||||
def fan_mode(self) -> str | None:
|
def fan_mode(self) -> str | None:
|
||||||
"""Return the fan setting."""
|
"""Return the fan setting."""
|
||||||
return HON_FAN[self._device.get("windSpeed")]
|
return HON_FAN[self._device.get("windSpeed")]
|
||||||
|
|
||||||
async def async_set_fan_mode(self, fan_mode):
|
async def async_set_fan_mode(self, fan_mode):
|
||||||
mode_number = list(HON_FAN.values()).index(fan_mode)
|
fan_modes = {}
|
||||||
mode = list(HON_FAN.keys())[mode_number]
|
for mode in reversed(self._device.settings["settings.windSpeed"].values):
|
||||||
self._device.settings["settings.windSpeed"].value = str(mode)
|
fan_modes[HON_FAN[int(mode)]] = mode
|
||||||
|
self._device.settings["settings.windSpeed"].value = str(fan_modes[fan_mode])
|
||||||
self._attr_fan_mode = fan_mode
|
self._attr_fan_mode = fan_mode
|
||||||
await self._device.commands["settings"].send()
|
await self._device.commands["settings"].send()
|
||||||
self.async_write_ha_state()
|
self.async_write_ha_state()
|
||||||
@ -249,6 +258,7 @@ class HonACClimateEntity(HonEntity, ClimateEntity):
|
|||||||
self._attr_target_temperature = self.target_temperature
|
self._attr_target_temperature = self.target_temperature
|
||||||
self._attr_current_temperature = self.current_temperature
|
self._attr_current_temperature = self.current_temperature
|
||||||
self._attr_hvac_mode = self.hvac_mode
|
self._attr_hvac_mode = self.hvac_mode
|
||||||
|
self._attr_fan_modes = self.fan_modes
|
||||||
self._attr_fan_mode = self.fan_mode
|
self._attr_fan_mode = self.fan_mode
|
||||||
self._attr_swing_mode = self.swing_mode
|
self._attr_swing_mode = self.swing_mode
|
||||||
if update:
|
if update:
|
||||||
|
@ -63,10 +63,6 @@ class HonFanEntity(HonEntity, FanEntity):
|
|||||||
def __init__(self, hass, entry, device: HonAppliance, description) -> None:
|
def __init__(self, hass, entry, device: HonAppliance, description) -> None:
|
||||||
self._attr_supported_features = FanEntityFeature.SET_SPEED
|
self._attr_supported_features = FanEntityFeature.SET_SPEED
|
||||||
self._wind_speed: HonParameterRange = device.settings.get(description.key)
|
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(".")
|
self._command, self._parameter = description.key.split(".")
|
||||||
|
|
||||||
super().__init__(hass, entry, device, description)
|
super().__init__(hass, entry, device, description)
|
||||||
@ -118,6 +114,15 @@ class HonFanEntity(HonEntity, FanEntity):
|
|||||||
@callback
|
@callback
|
||||||
def _handle_coordinator_update(self, update=True) -> None:
|
def _handle_coordinator_update(self, update=True) -> None:
|
||||||
self._wind_speed = self._device.settings.get(self.entity_description.key)
|
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:
|
if update:
|
||||||
self.async_write_ha_state()
|
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": (
|
"HO": (
|
||||||
LightEntityDescription(
|
LightEntityDescription(
|
||||||
key="startProgram.lightStatus",
|
key="settings.lightStatus",
|
||||||
name="Light status",
|
name="Light status",
|
||||||
translation_key="light",
|
translation_key="light",
|
||||||
),
|
),
|
||||||
@ -76,8 +76,7 @@ class HonLightEntity(HonEntity, LightEntity):
|
|||||||
@property
|
@property
|
||||||
def is_on(self) -> bool:
|
def is_on(self) -> bool:
|
||||||
"""Return true if light is on."""
|
"""Return true if light is on."""
|
||||||
light = self._device.settings.get(self.entity_description.key)
|
return self._device.get(self.entity_description.key.split(".")[-1]) > 0
|
||||||
return light.value != light.min
|
|
||||||
|
|
||||||
async def async_turn_on(self, **kwargs: Any) -> None:
|
async def async_turn_on(self, **kwargs: Any) -> None:
|
||||||
"""Turn on or control the light."""
|
"""Turn on or control the light."""
|
||||||
@ -120,3 +119,10 @@ class HonLightEntity(HonEntity, LightEntity):
|
|||||||
self._attr_brightness = self.brightness
|
self._attr_brightness = self.brightness
|
||||||
if update:
|
if update:
|
||||||
self.async_write_ha_state()
|
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",
|
"iot_class": "cloud_polling",
|
||||||
"issue_tracker": "https://github.com/Andre0512/hon/issues",
|
"issue_tracker": "https://github.com/Andre0512/hon/issues",
|
||||||
"requirements": [
|
"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",
|
translation_key="steam_level",
|
||||||
option_list=const.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": (
|
"TD": (
|
||||||
HonConfigSelectEntityDescription(
|
HonConfigSelectEntityDescription(
|
||||||
@ -146,7 +153,7 @@ SELECTS = {
|
|||||||
name="Diffuser Level",
|
name="Diffuser Level",
|
||||||
option_list=const.AP_DIFFUSER_LEVEL,
|
option_list=const.AP_DIFFUSER_LEVEL,
|
||||||
translation_key="diffuser",
|
translation_key="diffuser",
|
||||||
icon="mdi:air-filter",
|
icon="mdi:air-purifier",
|
||||||
),
|
),
|
||||||
HonSelectEntityDescription(
|
HonSelectEntityDescription(
|
||||||
key="settings.machMode",
|
key="settings.machMode",
|
||||||
|
@ -157,7 +157,7 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
|
|||||||
),
|
),
|
||||||
HonSensorEntityDescription(
|
HonSensorEntityDescription(
|
||||||
key="dirtyLevel",
|
key="dirtyLevel",
|
||||||
name="Dirt level",
|
name="Dirty level",
|
||||||
icon="mdi:liquid-spot",
|
icon="mdi:liquid-spot",
|
||||||
device_class=SensorDeviceClass.ENUM,
|
device_class=SensorDeviceClass.ENUM,
|
||||||
translation_key="dirt_level",
|
translation_key="dirt_level",
|
||||||
@ -688,11 +688,15 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
|
|||||||
HonSensorEntityDescription(
|
HonSensorEntityDescription(
|
||||||
key="mainFilterStatus",
|
key="mainFilterStatus",
|
||||||
name="Main Filter Status",
|
name="Main Filter Status",
|
||||||
|
icon="mdi:air-filter",
|
||||||
|
translation_key="filter_life",
|
||||||
native_unit_of_measurement=PERCENTAGE,
|
native_unit_of_measurement=PERCENTAGE,
|
||||||
),
|
),
|
||||||
HonSensorEntityDescription(
|
HonSensorEntityDescription(
|
||||||
key="preFilterStatus",
|
key="preFilterStatus",
|
||||||
name="Pre Filter Status",
|
name="Pre Filter Status",
|
||||||
|
icon="mdi:air-filter",
|
||||||
|
translation_key="filter_cleaning",
|
||||||
native_unit_of_measurement=PERCENTAGE,
|
native_unit_of_measurement=PERCENTAGE,
|
||||||
),
|
),
|
||||||
HonSensorEntityDescription(
|
HonSensorEntityDescription(
|
||||||
@ -746,10 +750,17 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
|
|||||||
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||||
translation_key="temperature",
|
translation_key="temperature",
|
||||||
),
|
),
|
||||||
HonSensorEntityDescription(key="windSpeed", name="Wind Speed"),
|
HonSensorEntityDescription(
|
||||||
|
key="windSpeed",
|
||||||
|
name="Wind Speed",
|
||||||
|
icon="mdi:fan",
|
||||||
|
translation_key="fan_speed",
|
||||||
|
),
|
||||||
HonSensorEntityDescription(
|
HonSensorEntityDescription(
|
||||||
key="airQuality",
|
key="airQuality",
|
||||||
name="Air Quality",
|
name="Air Quality",
|
||||||
|
icon="mdi:weather-dust",
|
||||||
|
translation_key="air_quality",
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
|
@ -116,6 +116,12 @@ SWITCHES: dict[str, tuple[HonSwitchEntityDescription, ...]] = {
|
|||||||
icon="mdi:weather-night",
|
icon="mdi:weather-night",
|
||||||
translation_key="good_night",
|
translation_key="good_night",
|
||||||
),
|
),
|
||||||
|
HonConfigSwitchEntityDescription(
|
||||||
|
key="startProgram.hygiene",
|
||||||
|
name="Hygiene",
|
||||||
|
icon="mdi:lotion-plus",
|
||||||
|
translation_key="hygiene",
|
||||||
|
),
|
||||||
),
|
),
|
||||||
"TD": (
|
"TD": (
|
||||||
HonControlSwitchEntityDescription(
|
HonControlSwitchEntityDescription(
|
||||||
@ -331,6 +337,16 @@ SWITCHES: dict[str, tuple[HonSwitchEntityDescription, ...]] = {
|
|||||||
translation_key="holiday_mode",
|
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": (
|
"AP": (
|
||||||
HonSwitchEntityDescription(
|
HonSwitchEntityDescription(
|
||||||
key="touchToneStatus",
|
key="touchToneStatus",
|
||||||
@ -432,11 +448,15 @@ class HonControlSwitchEntity(HonEntity, SwitchEntity):
|
|||||||
return self._device.get(self.entity_description.key, False)
|
return self._device.get(self.entity_description.key, False)
|
||||||
|
|
||||||
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")
|
||||||
|
await self.coordinator.async_refresh()
|
||||||
await self._device.commands[self.entity_description.turn_on_key].send()
|
await self._device.commands[self.entity_description.turn_on_key].send()
|
||||||
self._device.attributes[self.entity_description.key] = True
|
self._device.attributes[self.entity_description.key] = True
|
||||||
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")
|
||||||
|
await self.coordinator.async_refresh()
|
||||||
await self._device.commands[self.entity_description.turn_off_key].send()
|
await self._device.commands[self.entity_description.turn_off_key].send()
|
||||||
self._device.attributes[self.entity_description.key] = False
|
self._device.attributes[self.entity_description.key] = False
|
||||||
self.async_write_ha_state()
|
self.async_write_ha_state()
|
||||||
|
@ -875,6 +875,18 @@
|
|||||||
"synthetic": "Synthetic"
|
"synthetic": "Synthetic"
|
||||||
},
|
},
|
||||||
"name": "Úroveň páry"
|
"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": {
|
"select": {
|
||||||
@ -1650,6 +1662,15 @@
|
|||||||
"synthetic": "Synthetic"
|
"synthetic": "Synthetic"
|
||||||
},
|
},
|
||||||
"name": "Úroveň páry"
|
"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": {
|
"switch": {
|
||||||
@ -1763,6 +1784,12 @@
|
|||||||
},
|
},
|
||||||
"touch_tone": {
|
"touch_tone": {
|
||||||
"name": "Hlasitost tónu klepnutí"
|
"name": "Hlasitost tónu klepnutí"
|
||||||
|
},
|
||||||
|
"hygiene": {
|
||||||
|
"name": "Hygienický plus"
|
||||||
|
},
|
||||||
|
"hood": {
|
||||||
|
"name": "Odsavač par"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"binary_sensor": {
|
"binary_sensor": {
|
||||||
|
@ -875,6 +875,18 @@
|
|||||||
"synthetic": "Synthetik"
|
"synthetic": "Synthetik"
|
||||||
},
|
},
|
||||||
"name": "Dampfstufe"
|
"name": "Dampfstufe"
|
||||||
|
},
|
||||||
|
"filter_cleaning": {
|
||||||
|
"name": "Reinigung der Filter"
|
||||||
|
},
|
||||||
|
"filter_life": {
|
||||||
|
"name": "Filterlebensdauer"
|
||||||
|
},
|
||||||
|
"air_quality": {
|
||||||
|
"name": "Luftqualität"
|
||||||
|
},
|
||||||
|
"fan_speed": {
|
||||||
|
"name": "Gebläsegeschwindigkeit"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"select": {
|
"select": {
|
||||||
@ -1650,6 +1662,15 @@
|
|||||||
"synthetic": "Synthetik"
|
"synthetic": "Synthetik"
|
||||||
},
|
},
|
||||||
"name": "Dampfstufe"
|
"name": "Dampfstufe"
|
||||||
|
},
|
||||||
|
"dirt_level": {
|
||||||
|
"state": {
|
||||||
|
"little": "Wenig",
|
||||||
|
"normal": "Normal",
|
||||||
|
"very": "Sehr",
|
||||||
|
"unknown": "unknown"
|
||||||
|
},
|
||||||
|
"name": "Verschmutzungsgrad"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"switch": {
|
"switch": {
|
||||||
@ -1763,6 +1784,12 @@
|
|||||||
},
|
},
|
||||||
"touch_tone": {
|
"touch_tone": {
|
||||||
"name": "Tastentonlautstärke"
|
"name": "Tastentonlautstärke"
|
||||||
|
},
|
||||||
|
"hygiene": {
|
||||||
|
"name": "Hygiene plus"
|
||||||
|
},
|
||||||
|
"hood": {
|
||||||
|
"name": "Abzugshaube"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"binary_sensor": {
|
"binary_sensor": {
|
||||||
|
@ -875,6 +875,18 @@
|
|||||||
"synthetic": "Συνθετικά"
|
"synthetic": "Συνθετικά"
|
||||||
},
|
},
|
||||||
"name": "Επίπεδο ατμού"
|
"name": "Επίπεδο ατμού"
|
||||||
|
},
|
||||||
|
"filter_cleaning": {
|
||||||
|
"name": "Καθαρισμός φίλτρου"
|
||||||
|
},
|
||||||
|
"filter_life": {
|
||||||
|
"name": "Φιλτράρετε τη ζωή"
|
||||||
|
},
|
||||||
|
"air_quality": {
|
||||||
|
"name": "Ποιότητα αέρα"
|
||||||
|
},
|
||||||
|
"fan_speed": {
|
||||||
|
"name": "Ταχύτητα ανεμιστήρα"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"select": {
|
"select": {
|
||||||
@ -1650,6 +1662,15 @@
|
|||||||
"synthetic": "Συνθετικά"
|
"synthetic": "Συνθετικά"
|
||||||
},
|
},
|
||||||
"name": "Επίπεδο ατμού"
|
"name": "Επίπεδο ατμού"
|
||||||
|
},
|
||||||
|
"dirt_level": {
|
||||||
|
"state": {
|
||||||
|
"little": "Λίγη",
|
||||||
|
"normal": "Κανονική",
|
||||||
|
"very": "Πολύ",
|
||||||
|
"unknown": "unknown"
|
||||||
|
},
|
||||||
|
"name": "Επίπεδο βρωμιάς"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"switch": {
|
"switch": {
|
||||||
@ -1763,6 +1784,12 @@
|
|||||||
},
|
},
|
||||||
"touch_tone": {
|
"touch_tone": {
|
||||||
"name": "Ένταση τόνου αφής"
|
"name": "Ένταση τόνου αφής"
|
||||||
|
},
|
||||||
|
"hygiene": {
|
||||||
|
"name": "Hygiene plus"
|
||||||
|
},
|
||||||
|
"hood": {
|
||||||
|
"name": "Απορροφητήρας"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"binary_sensor": {
|
"binary_sensor": {
|
||||||
|
@ -895,6 +895,18 @@
|
|||||||
"synthetic": "Synthetic"
|
"synthetic": "Synthetic"
|
||||||
},
|
},
|
||||||
"name": "Steam Level"
|
"name": "Steam Level"
|
||||||
|
},
|
||||||
|
"filter_cleaning": {
|
||||||
|
"name": "Filter cleaning"
|
||||||
|
},
|
||||||
|
"filter_life": {
|
||||||
|
"name": "Filter life"
|
||||||
|
},
|
||||||
|
"air_quality": {
|
||||||
|
"name": "Air Quality"
|
||||||
|
},
|
||||||
|
"fan_speed": {
|
||||||
|
"name": "Fan speed"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"select": {
|
"select": {
|
||||||
@ -1677,6 +1689,15 @@
|
|||||||
"synthetic": "Synthetic"
|
"synthetic": "Synthetic"
|
||||||
},
|
},
|
||||||
"name": "Steam Level"
|
"name": "Steam Level"
|
||||||
|
},
|
||||||
|
"dirt_level": {
|
||||||
|
"state": {
|
||||||
|
"little": "Little",
|
||||||
|
"normal": "Normal",
|
||||||
|
"very": "Very",
|
||||||
|
"unknown": "unknown"
|
||||||
|
},
|
||||||
|
"name": "Dirt level"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"switch": {
|
"switch": {
|
||||||
@ -1790,6 +1811,12 @@
|
|||||||
},
|
},
|
||||||
"touch_tone": {
|
"touch_tone": {
|
||||||
"name": "Touch tone volume"
|
"name": "Touch tone volume"
|
||||||
|
},
|
||||||
|
"hygiene": {
|
||||||
|
"name": "Hygiene plus"
|
||||||
|
},
|
||||||
|
"hood": {
|
||||||
|
"name": "Hood"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"binary_sensor": {
|
"binary_sensor": {
|
||||||
|
@ -875,6 +875,18 @@
|
|||||||
"synthetic": "Synthetic"
|
"synthetic": "Synthetic"
|
||||||
},
|
},
|
||||||
"name": "Nivel de vapor"
|
"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": {
|
"select": {
|
||||||
@ -1650,6 +1662,15 @@
|
|||||||
"synthetic": "Synthetic"
|
"synthetic": "Synthetic"
|
||||||
},
|
},
|
||||||
"name": "Nivel de vapor"
|
"name": "Nivel de vapor"
|
||||||
|
},
|
||||||
|
"dirt_level": {
|
||||||
|
"state": {
|
||||||
|
"little": "Poco",
|
||||||
|
"normal": "Normal",
|
||||||
|
"very": "Mucho",
|
||||||
|
"unknown": "unknown"
|
||||||
|
},
|
||||||
|
"name": "Nivel de suciedad"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"switch": {
|
"switch": {
|
||||||
@ -1763,6 +1784,12 @@
|
|||||||
},
|
},
|
||||||
"touch_tone": {
|
"touch_tone": {
|
||||||
"name": "Volumen del tono táctil"
|
"name": "Volumen del tono táctil"
|
||||||
|
},
|
||||||
|
"hygiene": {
|
||||||
|
"name": "Higiene extra"
|
||||||
|
},
|
||||||
|
"hood": {
|
||||||
|
"name": "Campana extractora"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"binary_sensor": {
|
"binary_sensor": {
|
||||||
|
@ -875,6 +875,18 @@
|
|||||||
"synthetic": "Synthetic"
|
"synthetic": "Synthetic"
|
||||||
},
|
},
|
||||||
"name": "Niveau de vapeur"
|
"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": {
|
"select": {
|
||||||
@ -1650,6 +1662,15 @@
|
|||||||
"synthetic": "Synthetic"
|
"synthetic": "Synthetic"
|
||||||
},
|
},
|
||||||
"name": "Niveau de vapeur"
|
"name": "Niveau de vapeur"
|
||||||
|
},
|
||||||
|
"dirt_level": {
|
||||||
|
"state": {
|
||||||
|
"little": "Faible",
|
||||||
|
"normal": "Normal",
|
||||||
|
"very": "Élevé",
|
||||||
|
"unknown": "unknown"
|
||||||
|
},
|
||||||
|
"name": "Niveau de saleté"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"switch": {
|
"switch": {
|
||||||
@ -1763,6 +1784,12 @@
|
|||||||
},
|
},
|
||||||
"touch_tone": {
|
"touch_tone": {
|
||||||
"name": "Volume des tonalités"
|
"name": "Volume des tonalités"
|
||||||
|
},
|
||||||
|
"hygiene": {
|
||||||
|
"name": "Hygiène plus"
|
||||||
|
},
|
||||||
|
"hood": {
|
||||||
|
"name": "Hotte"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"binary_sensor": {
|
"binary_sensor": {
|
||||||
|
@ -431,6 +431,18 @@
|
|||||||
"synthetic": "מְלָאכוּתִי"
|
"synthetic": "מְלָאכוּתִי"
|
||||||
},
|
},
|
||||||
"name": "מפלס קיטור"
|
"name": "מפלס קיטור"
|
||||||
|
},
|
||||||
|
"filter_cleaning": {
|
||||||
|
"name": "Filter cleaning"
|
||||||
|
},
|
||||||
|
"filter_life": {
|
||||||
|
"name": "Filter life"
|
||||||
|
},
|
||||||
|
"air_quality": {
|
||||||
|
"name": "Air Quality"
|
||||||
|
},
|
||||||
|
"fan_speed": {
|
||||||
|
"name": "Fan speed"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"select": {
|
"select": {
|
||||||
@ -771,6 +783,15 @@
|
|||||||
"synthetic": "מְלָאכוּתִי"
|
"synthetic": "מְלָאכוּתִי"
|
||||||
},
|
},
|
||||||
"name": "מפלס קיטור"
|
"name": "מפלס קיטור"
|
||||||
|
},
|
||||||
|
"dirt_level": {
|
||||||
|
"state": {
|
||||||
|
"little": "קטן",
|
||||||
|
"normal": "נוֹרמָלִי",
|
||||||
|
"very": "מאוד",
|
||||||
|
"unknown": "unknown"
|
||||||
|
},
|
||||||
|
"name": "רמת עפר"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"switch": {
|
"switch": {
|
||||||
@ -884,6 +905,12 @@
|
|||||||
},
|
},
|
||||||
"touch_tone": {
|
"touch_tone": {
|
||||||
"name": "Touch tone volume"
|
"name": "Touch tone volume"
|
||||||
|
},
|
||||||
|
"hygiene": {
|
||||||
|
"name": "היגיינה פלוס"
|
||||||
|
},
|
||||||
|
"hood": {
|
||||||
|
"name": "Hood"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"binary_sensor": {
|
"binary_sensor": {
|
||||||
|
@ -875,6 +875,18 @@
|
|||||||
"synthetic": "Sintetika"
|
"synthetic": "Sintetika"
|
||||||
},
|
},
|
||||||
"name": "Razina pare"
|
"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": {
|
"select": {
|
||||||
@ -1650,6 +1662,15 @@
|
|||||||
"synthetic": "Sintetika"
|
"synthetic": "Sintetika"
|
||||||
},
|
},
|
||||||
"name": "Razina pare"
|
"name": "Razina pare"
|
||||||
|
},
|
||||||
|
"dirt_level": {
|
||||||
|
"state": {
|
||||||
|
"little": "Neznatno",
|
||||||
|
"normal": "Uobičajeno",
|
||||||
|
"very": "Izuzetno",
|
||||||
|
"unknown": "unknown"
|
||||||
|
},
|
||||||
|
"name": "Stupanj zaprljanosti"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"switch": {
|
"switch": {
|
||||||
@ -1763,6 +1784,12 @@
|
|||||||
},
|
},
|
||||||
"touch_tone": {
|
"touch_tone": {
|
||||||
"name": "Glasnoća tona pri dodiru"
|
"name": "Glasnoća tona pri dodiru"
|
||||||
|
},
|
||||||
|
"hygiene": {
|
||||||
|
"name": "Hygiene Plus"
|
||||||
|
},
|
||||||
|
"hood": {
|
||||||
|
"name": "Napa"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"binary_sensor": {
|
"binary_sensor": {
|
||||||
|
@ -880,6 +880,18 @@
|
|||||||
"synthetic": "Sintetici"
|
"synthetic": "Sintetici"
|
||||||
},
|
},
|
||||||
"name": "Livello vapore"
|
"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": {
|
"select": {
|
||||||
@ -1655,6 +1667,15 @@
|
|||||||
"synthetic": "Sintetici"
|
"synthetic": "Sintetici"
|
||||||
},
|
},
|
||||||
"name": "Livello vapore"
|
"name": "Livello vapore"
|
||||||
|
},
|
||||||
|
"dirt_level": {
|
||||||
|
"state": {
|
||||||
|
"little": "Poco",
|
||||||
|
"normal": "Normale",
|
||||||
|
"very": "Molto",
|
||||||
|
"unknown": "unknown"
|
||||||
|
},
|
||||||
|
"name": "Livello di sporco"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"switch": {
|
"switch": {
|
||||||
@ -1768,6 +1789,12 @@
|
|||||||
},
|
},
|
||||||
"touch_tone": {
|
"touch_tone": {
|
||||||
"name": "Volume Tasti"
|
"name": "Volume Tasti"
|
||||||
|
},
|
||||||
|
"hygiene": {
|
||||||
|
"name": "Hygiene plus"
|
||||||
|
},
|
||||||
|
"hood": {
|
||||||
|
"name": "Cappa"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"binary_sensor": {
|
"binary_sensor": {
|
||||||
|
@ -875,6 +875,18 @@
|
|||||||
"synthetic": "Synthetic"
|
"synthetic": "Synthetic"
|
||||||
},
|
},
|
||||||
"name": "Stoomniveau"
|
"name": "Stoomniveau"
|
||||||
|
},
|
||||||
|
"filter_cleaning": {
|
||||||
|
"name": "Filterreiniging"
|
||||||
|
},
|
||||||
|
"filter_life": {
|
||||||
|
"name": "Levensduur filter"
|
||||||
|
},
|
||||||
|
"air_quality": {
|
||||||
|
"name": "Luchtkwaliteit"
|
||||||
|
},
|
||||||
|
"fan_speed": {
|
||||||
|
"name": "Ventilatorsnelheid"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"select": {
|
"select": {
|
||||||
@ -1650,6 +1662,15 @@
|
|||||||
"synthetic": "Synthetic"
|
"synthetic": "Synthetic"
|
||||||
},
|
},
|
||||||
"name": "Stoomniveau"
|
"name": "Stoomniveau"
|
||||||
|
},
|
||||||
|
"dirt_level": {
|
||||||
|
"state": {
|
||||||
|
"little": "Weinig",
|
||||||
|
"normal": "Normaal",
|
||||||
|
"very": "Heel",
|
||||||
|
"unknown": "unknown"
|
||||||
|
},
|
||||||
|
"name": "Vuilheid"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"switch": {
|
"switch": {
|
||||||
@ -1763,6 +1784,12 @@
|
|||||||
},
|
},
|
||||||
"touch_tone": {
|
"touch_tone": {
|
||||||
"name": "Volume van geluid bij aanraking"
|
"name": "Volume van geluid bij aanraking"
|
||||||
|
},
|
||||||
|
"hygiene": {
|
||||||
|
"name": "Hygiëne plus"
|
||||||
|
},
|
||||||
|
"hood": {
|
||||||
|
"name": "Afzuigkap"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"binary_sensor": {
|
"binary_sensor": {
|
||||||
|
@ -875,6 +875,18 @@
|
|||||||
"synthetic": "Syntetyczne"
|
"synthetic": "Syntetyczne"
|
||||||
},
|
},
|
||||||
"name": "Poziom pary"
|
"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": {
|
"select": {
|
||||||
@ -1650,6 +1662,15 @@
|
|||||||
"synthetic": "Syntetyczne"
|
"synthetic": "Syntetyczne"
|
||||||
},
|
},
|
||||||
"name": "Poziom pary"
|
"name": "Poziom pary"
|
||||||
|
},
|
||||||
|
"dirt_level": {
|
||||||
|
"state": {
|
||||||
|
"little": "Niskie",
|
||||||
|
"normal": "Standardowe",
|
||||||
|
"very": "Wysokie",
|
||||||
|
"unknown": "unknown"
|
||||||
|
},
|
||||||
|
"name": "Stopień zabrudzenia"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"switch": {
|
"switch": {
|
||||||
@ -1763,6 +1784,12 @@
|
|||||||
},
|
},
|
||||||
"touch_tone": {
|
"touch_tone": {
|
||||||
"name": "Dźwięk przycisku dotykowego"
|
"name": "Dźwięk przycisku dotykowego"
|
||||||
|
},
|
||||||
|
"hygiene": {
|
||||||
|
"name": "Higiena plus"
|
||||||
|
},
|
||||||
|
"hood": {
|
||||||
|
"name": "Okap"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"binary_sensor": {
|
"binary_sensor": {
|
||||||
|
@ -875,6 +875,18 @@
|
|||||||
"synthetic": "Sintéticos"
|
"synthetic": "Sintéticos"
|
||||||
},
|
},
|
||||||
"name": "Nível de vapor"
|
"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": {
|
"select": {
|
||||||
@ -1650,6 +1662,15 @@
|
|||||||
"synthetic": "Sintéticos"
|
"synthetic": "Sintéticos"
|
||||||
},
|
},
|
||||||
"name": "Nível de vapor"
|
"name": "Nível de vapor"
|
||||||
|
},
|
||||||
|
"dirt_level": {
|
||||||
|
"state": {
|
||||||
|
"little": "Pouco",
|
||||||
|
"normal": "Normal",
|
||||||
|
"very": "Muito",
|
||||||
|
"unknown": "unknown"
|
||||||
|
},
|
||||||
|
"name": "Nível de sujidade"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"switch": {
|
"switch": {
|
||||||
@ -1763,6 +1784,12 @@
|
|||||||
},
|
},
|
||||||
"touch_tone": {
|
"touch_tone": {
|
||||||
"name": "Volume do tom de toque"
|
"name": "Volume do tom de toque"
|
||||||
|
},
|
||||||
|
"hygiene": {
|
||||||
|
"name": "Higiene mais"
|
||||||
|
},
|
||||||
|
"hood": {
|
||||||
|
"name": "Exaustor"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"binary_sensor": {
|
"binary_sensor": {
|
||||||
|
@ -875,6 +875,18 @@
|
|||||||
"synthetic": "Synthetic"
|
"synthetic": "Synthetic"
|
||||||
},
|
},
|
||||||
"name": "Nivel abur"
|
"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": {
|
"select": {
|
||||||
@ -1650,6 +1662,15 @@
|
|||||||
"synthetic": "Synthetic"
|
"synthetic": "Synthetic"
|
||||||
},
|
},
|
||||||
"name": "Nivel abur"
|
"name": "Nivel abur"
|
||||||
|
},
|
||||||
|
"dirt_level": {
|
||||||
|
"state": {
|
||||||
|
"little": "Puțin",
|
||||||
|
"normal": "Normal",
|
||||||
|
"very": "Foarte",
|
||||||
|
"unknown": "unknown"
|
||||||
|
},
|
||||||
|
"name": "Nivel de murdărie"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"switch": {
|
"switch": {
|
||||||
@ -1763,6 +1784,12 @@
|
|||||||
},
|
},
|
||||||
"touch_tone": {
|
"touch_tone": {
|
||||||
"name": "Volum la atingerea tastelor"
|
"name": "Volum la atingerea tastelor"
|
||||||
|
},
|
||||||
|
"hygiene": {
|
||||||
|
"name": "Igienizare plus"
|
||||||
|
},
|
||||||
|
"hood": {
|
||||||
|
"name": "Hotă"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"binary_sensor": {
|
"binary_sensor": {
|
||||||
|
@ -875,6 +875,18 @@
|
|||||||
"synthetic": "Синтетика"
|
"synthetic": "Синтетика"
|
||||||
},
|
},
|
||||||
"name": "Уровень пара"
|
"name": "Уровень пара"
|
||||||
|
},
|
||||||
|
"filter_cleaning": {
|
||||||
|
"name": "Чистка фильтра"
|
||||||
|
},
|
||||||
|
"filter_life": {
|
||||||
|
"name": "Срок службы фильтра"
|
||||||
|
},
|
||||||
|
"air_quality": {
|
||||||
|
"name": "Качество воздуха"
|
||||||
|
},
|
||||||
|
"fan_speed": {
|
||||||
|
"name": "Скорость вентилятора"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"select": {
|
"select": {
|
||||||
@ -1650,6 +1662,15 @@
|
|||||||
"synthetic": "Синтетика"
|
"synthetic": "Синтетика"
|
||||||
},
|
},
|
||||||
"name": "Уровень пара"
|
"name": "Уровень пара"
|
||||||
|
},
|
||||||
|
"dirt_level": {
|
||||||
|
"state": {
|
||||||
|
"little": "Мало",
|
||||||
|
"normal": "Нормально",
|
||||||
|
"very": "Очень",
|
||||||
|
"unknown": "unknown"
|
||||||
|
},
|
||||||
|
"name": "Уровень загрязнения"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"switch": {
|
"switch": {
|
||||||
@ -1763,6 +1784,12 @@
|
|||||||
},
|
},
|
||||||
"touch_tone": {
|
"touch_tone": {
|
||||||
"name": "Громкость сенсорных кнопок"
|
"name": "Громкость сенсорных кнопок"
|
||||||
|
},
|
||||||
|
"hygiene": {
|
||||||
|
"name": "Гигиена плюс"
|
||||||
|
},
|
||||||
|
"hood": {
|
||||||
|
"name": "Вытяжка"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"binary_sensor": {
|
"binary_sensor": {
|
||||||
|
@ -875,6 +875,18 @@
|
|||||||
"synthetic": "Synthetic"
|
"synthetic": "Synthetic"
|
||||||
},
|
},
|
||||||
"name": "Úroveň nastavenia pary"
|
"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": {
|
"select": {
|
||||||
@ -1650,6 +1662,15 @@
|
|||||||
"synthetic": "Synthetic"
|
"synthetic": "Synthetic"
|
||||||
},
|
},
|
||||||
"name": "Úroveň nastavenia pary"
|
"name": "Úroveň nastavenia pary"
|
||||||
|
},
|
||||||
|
"dirt_level": {
|
||||||
|
"state": {
|
||||||
|
"little": "Málo",
|
||||||
|
"normal": "Normálne",
|
||||||
|
"very": "Veľa",
|
||||||
|
"unknown": "unknown"
|
||||||
|
},
|
||||||
|
"name": "Úroveň znečistenia"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"switch": {
|
"switch": {
|
||||||
@ -1763,6 +1784,12 @@
|
|||||||
},
|
},
|
||||||
"touch_tone": {
|
"touch_tone": {
|
||||||
"name": "Hlasitosť tónu dotyku"
|
"name": "Hlasitosť tónu dotyku"
|
||||||
|
},
|
||||||
|
"hygiene": {
|
||||||
|
"name": "Hygiena plus"
|
||||||
|
},
|
||||||
|
"hood": {
|
||||||
|
"name": "Digestor"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"binary_sensor": {
|
"binary_sensor": {
|
||||||
|
@ -875,6 +875,18 @@
|
|||||||
"synthetic": "Sintetika"
|
"synthetic": "Sintetika"
|
||||||
},
|
},
|
||||||
"name": "Količina pare"
|
"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": {
|
"select": {
|
||||||
@ -1650,6 +1662,15 @@
|
|||||||
"synthetic": "Sintetika"
|
"synthetic": "Sintetika"
|
||||||
},
|
},
|
||||||
"name": "Količina pare"
|
"name": "Količina pare"
|
||||||
|
},
|
||||||
|
"dirt_level": {
|
||||||
|
"state": {
|
||||||
|
"little": "Malo",
|
||||||
|
"normal": "Normalno",
|
||||||
|
"very": "Zelo",
|
||||||
|
"unknown": "unknown"
|
||||||
|
},
|
||||||
|
"name": "Stopnja umazanije"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"switch": {
|
"switch": {
|
||||||
@ -1763,6 +1784,12 @@
|
|||||||
},
|
},
|
||||||
"touch_tone": {
|
"touch_tone": {
|
||||||
"name": "Glasnost tona dotika"
|
"name": "Glasnost tona dotika"
|
||||||
|
},
|
||||||
|
"hygiene": {
|
||||||
|
"name": "Higiena plus"
|
||||||
|
},
|
||||||
|
"hood": {
|
||||||
|
"name": "Kuhinjska napa"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"binary_sensor": {
|
"binary_sensor": {
|
||||||
|
@ -875,6 +875,18 @@
|
|||||||
"synthetic": "Sintetika"
|
"synthetic": "Sintetika"
|
||||||
},
|
},
|
||||||
"name": "Nivo pare"
|
"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": {
|
"select": {
|
||||||
@ -1650,6 +1662,15 @@
|
|||||||
"synthetic": "Sintetika"
|
"synthetic": "Sintetika"
|
||||||
},
|
},
|
||||||
"name": "Nivo pare"
|
"name": "Nivo pare"
|
||||||
|
},
|
||||||
|
"dirt_level": {
|
||||||
|
"state": {
|
||||||
|
"little": "Malo",
|
||||||
|
"normal": "Normalno",
|
||||||
|
"very": "Veoma",
|
||||||
|
"unknown": "unknown"
|
||||||
|
},
|
||||||
|
"name": "Nivo zaprljanosti"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"switch": {
|
"switch": {
|
||||||
@ -1763,6 +1784,12 @@
|
|||||||
},
|
},
|
||||||
"touch_tone": {
|
"touch_tone": {
|
||||||
"name": "Jačina tona dodira"
|
"name": "Jačina tona dodira"
|
||||||
|
},
|
||||||
|
"hygiene": {
|
||||||
|
"name": "Higijenski plus"
|
||||||
|
},
|
||||||
|
"hood": {
|
||||||
|
"name": "Aspirator"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"binary_sensor": {
|
"binary_sensor": {
|
||||||
|
@ -875,6 +875,18 @@
|
|||||||
"synthetic": "Synthetic"
|
"synthetic": "Synthetic"
|
||||||
},
|
},
|
||||||
"name": "Buhar Seviyesi"
|
"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": {
|
"select": {
|
||||||
@ -1650,6 +1662,15 @@
|
|||||||
"synthetic": "Synthetic"
|
"synthetic": "Synthetic"
|
||||||
},
|
},
|
||||||
"name": "Buhar Seviyesi"
|
"name": "Buhar Seviyesi"
|
||||||
|
},
|
||||||
|
"dirt_level": {
|
||||||
|
"state": {
|
||||||
|
"little": "Az",
|
||||||
|
"normal": "Normal",
|
||||||
|
"very": "Çok",
|
||||||
|
"unknown": "unknown"
|
||||||
|
},
|
||||||
|
"name": "Kir seviyesi"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"switch": {
|
"switch": {
|
||||||
@ -1763,6 +1784,12 @@
|
|||||||
},
|
},
|
||||||
"touch_tone": {
|
"touch_tone": {
|
||||||
"name": "Dokunma tonu seviyesi"
|
"name": "Dokunma tonu seviyesi"
|
||||||
|
},
|
||||||
|
"hygiene": {
|
||||||
|
"name": "Hygiene plus"
|
||||||
|
},
|
||||||
|
"hood": {
|
||||||
|
"name": "Davlumbaz"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"binary_sensor": {
|
"binary_sensor": {
|
||||||
|
@ -875,6 +875,18 @@
|
|||||||
"synthetic": "Synthetic"
|
"synthetic": "Synthetic"
|
||||||
},
|
},
|
||||||
"name": "蒸汽档位"
|
"name": "蒸汽档位"
|
||||||
|
},
|
||||||
|
"filter_cleaning": {
|
||||||
|
"name": "滤网清洁"
|
||||||
|
},
|
||||||
|
"filter_life": {
|
||||||
|
"name": "过滤器寿命"
|
||||||
|
},
|
||||||
|
"air_quality": {
|
||||||
|
"name": "空气质量"
|
||||||
|
},
|
||||||
|
"fan_speed": {
|
||||||
|
"name": "风扇速度"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"select": {
|
"select": {
|
||||||
@ -1650,6 +1662,15 @@
|
|||||||
"synthetic": "Synthetic"
|
"synthetic": "Synthetic"
|
||||||
},
|
},
|
||||||
"name": "蒸汽档位"
|
"name": "蒸汽档位"
|
||||||
|
},
|
||||||
|
"dirt_level": {
|
||||||
|
"state": {
|
||||||
|
"little": "少量",
|
||||||
|
"normal": "正常",
|
||||||
|
"very": "非常",
|
||||||
|
"unknown": "unknown"
|
||||||
|
},
|
||||||
|
"name": "脏污程度"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"switch": {
|
"switch": {
|
||||||
@ -1763,6 +1784,12 @@
|
|||||||
},
|
},
|
||||||
"touch_tone": {
|
"touch_tone": {
|
||||||
"name": "按键音量"
|
"name": "按键音量"
|
||||||
|
},
|
||||||
|
"hygiene": {
|
||||||
|
"name": "卫生增强"
|
||||||
|
},
|
||||||
|
"hood": {
|
||||||
|
"name": "机盖"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"binary_sensor": {
|
"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 |
|
| **Washer Dryer** | HWD100-B14979 | HDQ 496AMBS/1-S <br/> HWPS4954DAMR-11 | RPW41066BWMR/1-S |
|
||||||
| **Oven** | HWO60SM2F3XH | HSOT3161WG | |
|
| **Oven** | HWO60SM2F3XH | HSOT3161WG | |
|
||||||
| **Dish Washer** | XIB 3B2SFS-80 <br/> XIB 6B2D3FB | HFB 6B2S3FX | |
|
| **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 |
|
| **Fridge** | HFW7720ENMB | | CCE4T620EWU |
|
||||||
| **Hob** | HA2MTSJ68MC | | CIS633SCTTWIFI |
|
| **Hob** | HA2MTSJ68MC | | CIS633SCTTWIFI |
|
||||||
| **Hood** | HADG6DS46BWIFI | | |
|
| **Hood** | HADG6DS46BWIFI | | |
|
||||||
| **Wine Cellar** | HWS247FDU1 | | |
|
| **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. |
|
| 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
|
* 🇪🇸 Spanish
|
||||||
* 🇹🇷 Turkish
|
* 🇹🇷 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
|
## Examples
|
||||||
### Washing Machine
|
### Washing Machine
|
||||||

|

|
||||||
|
@ -129,6 +129,7 @@ SELECT = {
|
|||||||
"steam_level": STEAM_LEVEL,
|
"steam_level": STEAM_LEVEL,
|
||||||
"mode": AP_MACH_MODE,
|
"mode": AP_MACH_MODE,
|
||||||
"diffuser": AP_DIFFUSER_LEVEL,
|
"diffuser": AP_DIFFUSER_LEVEL,
|
||||||
|
"dirt_level": DIRTY_LEVEL,
|
||||||
}
|
}
|
||||||
|
|
||||||
PROGRAMS = {
|
PROGRAMS = {
|
||||||
@ -239,6 +240,8 @@ NAMES = {
|
|||||||
"super_freeze": "REF_CMD&CTRL.MODALITIES.SUPER_FREEZE",
|
"super_freeze": "REF_CMD&CTRL.MODALITIES.SUPER_FREEZE",
|
||||||
"refrigerator": "REF.NAME",
|
"refrigerator": "REF.NAME",
|
||||||
"touch_tone": "AP.FOOTER_MENU_MORE.TOUCH_TONE_VOLUME",
|
"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": {
|
"binary_sensor": {
|
||||||
"door_lock": "WASHING_CMD&CTRL.CHECK_UP_RESULTS.DOOR_LOCK",
|
"door_lock": "WASHING_CMD&CTRL.CHECK_UP_RESULTS.DOOR_LOCK",
|
||||||
@ -291,6 +294,7 @@ NAMES = {
|
|||||||
"diffuser": "AP.TITLES.DIFFUSER",
|
"diffuser": "AP.TITLES.DIFFUSER",
|
||||||
"mode": "CUBE90_GLOBAL.GENERAL.MODE",
|
"mode": "CUBE90_GLOBAL.GENERAL.MODE",
|
||||||
"steam_level": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_MAIN_OPTIONS.STEAM_LEVEL",
|
"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": {
|
"sensor": {
|
||||||
"dry_levels": "WASHING_CMD&CTRL.DRAWER_CYCLE_DRYING.TAB_LEVEL",
|
"dry_levels": "WASHING_CMD&CTRL.DRAWER_CYCLE_DRYING.TAB_LEVEL",
|
||||||
@ -347,6 +351,10 @@ NAMES = {
|
|||||||
"programs_ac": "WC.SET_PROGRAM.PROGRAM",
|
"programs_ac": "WC.SET_PROGRAM.PROGRAM",
|
||||||
"programs_ref": "WC.SET_PROGRAM.PROGRAM",
|
"programs_ref": "WC.SET_PROGRAM.PROGRAM",
|
||||||
"voc": "HINTS.WHAT_POLLUTES_THE_AIR_IN_OUR_HOMES.GAS_VOC_TITLE",
|
"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": {
|
"number": {
|
||||||
"power_management": "HINTS.COOKING_WITH_INDUCTION.POWER_MANAGEMENT",
|
"power_management": "HINTS.COOKING_WITH_INDUCTION.POWER_MANAGEMENT",
|
||||||
|
Reference in New Issue
Block a user