Compare commits

..

16 Commits

Author SHA1 Message Date
37570eed6b Bump version 2023-07-27 19:21:24 +02:00
040b731c91 Bump version 2023-07-22 11:59:04 +02:00
8d54c09415 Bump version 2023-07-22 11:57:36 +02:00
79e901d34c Bump version 2023-07-12 00:23:28 +02:00
fb09c2e559 Improve hood controls 2023-07-12 00:20:35 +02:00
f3325f0ff5 Improve icons/translations of air purifier #72 2023-07-12 00:18:44 +02:00
a9e21608d8 Fix for setting some climate modes #84 2023-07-11 00:17:55 +02:00
fb8fba259a Add hygiene switch #91 2023-07-10 01:00:57 +02:00
9dc98953a2 Add dirt level select entity 2023-07-10 00:48:57 +02:00
35a07932e6 Bump version 2023-07-10 00:27:37 +02:00
a687c7715d Set switches unavailable if not changable 2023-07-10 00:22:40 +02:00
c0d25a4efe Fix some small bugs 2023-07-10 00:21:45 +02:00
bb700dd2f7 Fix steam level 2023-07-10 00:20:35 +02:00
2e056aa8d6 Update icons/translations 2023-07-10 00:19:43 +02:00
de844d96a5 Update appliance list 2023-07-09 02:00:17 +02:00
3036087925 Update readme 2023-07-01 17:09:53 +02:00
34 changed files with 1666 additions and 217 deletions

109
README.md
View File

@ -38,18 +38,20 @@ _If the integration is not in the list, you need to clear the browser cache._
## Supported Models
Support has been confirmed for these models, but many more will work. Please add already supported devices [with this form to complete the list](https://forms.gle/bTSD8qFotdZFytbf8).
| | **Haier** | **Hoover** | **Candy** |
|---------------------|---------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------|
| **Washing Machine** | HW90-B14TEAM5 <br/> HW100-B14959U1 | H-WASH 500 <br/> H7W4 48MBC-S <br/> HW 410AMBCB/1-80 | CO4 107T1/2-07 <br/> CBWO49TWME-S <br/> RO44 1286DWMC4-07 <br/> HW 68AMC/1-80 <br/> HWPD 69AMBC/1-S |
| **Tumble Dryer** | HD80-A3959 | H-DRY 500 <br/> H9A3TCBEXS-S <br/> HLE C10DCE-80 <br/> NDE H10A2TCE-80 <br/> NDE H9A2TSBEXS-S <br/> NDPHY10A2TCBEXSS | BCTDH7A1TE <br/> CSOE C10DE-80 <br/> ROE H9A3TCEX-S |
| **Washer Dryer** | HWD100-B14979 | HWPS4954DAMR-11 | RPW41066BWMR/1-S |
| **Oven** | HWO60SM2F3XH | HSOT3161WG | |
| **Dish Washer** | XIB 3B2SFS-80 <br/> XIB 6B2D3FB | HFB 6B2S3FX | |
| **Air Conditioner** | AD105S2SM3FA <br/> AS20HPL1HRA <br/> AS25PBAHRA <br/> AS25S2SF1FA-WH <br/> AS25TADHRA-2 <br/> AS35S2SF2FA-3 <br/> AS35TADHRA-2 <br/> AS35TAMHRA-C | | |
| **Fridge** | HFW7720ENMB | | CCE4T620EWU |
| **Hob** | HA2MTSJ68MC | | CIS633SCTTWIFI |
| **Hood** | HADG6DS46BWIFI | | |
| **Wine Cellar** | HWS247FDU1 | | |
| | **Haier** | **Hoover** | **Candy** |
|---------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------|
| **Washing Machine** | HW80-B14959TU1DE <br/> HW90-B14TEAM5 <br/> HW100-B14959U1 | H-WASH 500 <br/> H7W4 48MBC-S <br/> HW 410AMBCB/1-80 | CO4 107T1/2-07 <br/> CBWO49TWME-S <br/> RO44 1286DWMC4-07 <br/> HW 68AMC/1-80 <br/> HWPD 69AMBC/1-S |
| **Tumble Dryer** | HD80-A3959 | H-DRY 500 <br/> H9A3TCBEXS-S <br/> HLE C10DCE-80 <br/> H5WPB447AMBC/1-S <br/> NDE H10A2TCE-80 <br/> NDE H9A2TSBEXS-S <br/> NDPHY10A2TCBEXSS | BCTDH7A1TE <br/> CSOE C10DE-80 <br/> ROE H9A3TCEX-S |
| **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 | | CY-12TAIN |
| **Fridge** | HFW7720ENMB | | CCE4T620EWU |
| **Hob** | HA2MTSJ68MC | | CIS633SCTTWIFI |
| **Hood** | HADG6DS46BWIFI | | |
| **Wine Cellar** | HWS247FDU1 | | |
| **Air Purifier** | | HHP50CA001 | |
| 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. |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
@ -146,7 +148,7 @@ For every device exists a button under diagnostics which can be used to log all
| 10° Heating | `heat-wave` | `switch` | `10degreeHeatingStatus` |
| Air Conditioner | `air-conditioner` | `climate` | `settings` |
| Echo | `account-voice` | `switch` | `echoStatus` |
| Eco Mode | | `switch` | `ecoMode` |
| Eco Mode | `sprout` | `switch` | `ecoMode` |
| Eco Pilot | `run` | `select` | `settings.humanSensingStatus` |
| Health Mode | `medication-outline` | `switch` | `healthMode` |
| Night Mode | `bed` | `switch` | `silentSleepStatus` |
@ -177,30 +179,30 @@ For every device exists a button under diagnostics which can be used to log all
#### Controls
| Name | Icon | Entity | Key |
| --- | --- | --- | --- |
| Aroma Time Off | `thermometer` | `number` | `settings.aromaTimeOff` |
| Aroma Time On | `thermometer` | `number` | `settings.aromaTimeOn` |
| Diffuser Level | | `select` | `settings.aromaStatus` |
| Aroma Time Off | `scent-off` | `number` | `settings.aromaTimeOff` |
| Aroma Time On | `scent` | `number` | `settings.aromaTimeOn` |
| Diffuser Level | `air-purifier` | `select` | `settings.aromaStatus` |
| Light status | | `light` | `settings.lightStatus` |
| Mode | `run` | `select` | `settings.machMode` |
| Pollen Level | | `number` | `settings.pollenLevel` |
| Touch Tone | | `switch` | `touchToneStatus` |
| Lock Status | | `lock` | `lockStatus` |
| Mode | `play` | `select` | `settings.machMode` |
| Pollen Level | `flower-pollen` | `number` | `settings.pollenLevel` |
| Touch Tone | `account-voice` | `switch` | `touchToneStatus` |
#### 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` |
| Lock Status | | `lock` | `lockStatus` |
| 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
@ -245,8 +247,8 @@ For every device exists a button under diagnostics which can be used to log all
#### Controls
| Name | Icon | Entity | Key |
| --- | --- | --- | --- |
| 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 |
@ -258,7 +260,6 @@ For every device exists a button under diagnostics which can be used to log all
| Filter Cleaning Status | | `sensor` | `filterCleaningStatus` |
| Last Work Time | `clock-start` | `sensor` | `lastWorkTime` |
| Light Status | `lightbulb` | `sensor` | `lightStatus` |
| Light status | | `light` | `startProgram.lightStatus` |
| Mach Mode | | `sensor` | `machMode` |
| On / Off Status | `lightbulb` | `sensor` | `onOffStatus` |
| Quick Delay Time Status | | `sensor` | `quickDelayTimeStatus` |
@ -358,8 +359,8 @@ For every device exists a button under diagnostics which can be used to log all
#### Configs
| Name | Icon | Entity | Key |
| --- | --- | --- | --- |
| Anti-Crease | `timer` | `switch` | `startProgram.antiCreaseTime` |
| Anti-Crease | `timer` | `switch` | `startProgram.anticrease` |
| Anti-Crease | `iron` | `switch` | `startProgram.antiCreaseTime` |
| Anti-Crease | `iron` | `switch` | `startProgram.anticrease` |
| Delay time | `timer-plus` | `number` | `startProgram.delayTime` |
| Dry Time | | `number` | `startProgram.dryTime` |
| Dry Time | `timer` | `select` | `startProgram.dryTimeMM` |
@ -367,14 +368,13 @@ For every device exists a button under diagnostics which can be used to log all
| Energy Label | `lightning-bolt-circle` | `sensor` | `startProgram.energyLabel` |
| Program | | `select` | `startProgram.program` |
| Steam Type | `weather-dust` | `sensor` | `steamType` |
| Steam level | `smoke` | `sensor` | `startProgram.steamLevel` |
| Sterilization | `clock-start` | `switch` | `startProgram.sterilizationStatus` |
| Suggested Load | `weight-kilogram` | `sensor` | `startProgram.suggestedLoadD` |
| Temperature level | `thermometer` | `number` | `startProgram.tempLevel` |
#### Sensors
| Name | Icon | Entity | Key |
| --- | --- | --- | --- |
| Anti-Crease | | `binary_sensor` | `anticrease` |
| Anti-Crease | `iron` | `binary_sensor` | `anticrease` |
| Connection | | `binary_sensor` | `attributes.lastConnEvent.category` |
| Door | | `binary_sensor` | `doorStatus` |
| Dry level | `hair-dryer` | `sensor` | `dryLevel` |
@ -384,7 +384,6 @@ For every device exists a button under diagnostics which can be used to log all
| Program Phase | `washing-machine` | `sensor` | `prPhase` |
| Remaining Time | `timer` | `sensor` | `remainingTimeMM` |
| Start Time | `clock-start` | `sensor` | `delayTime` |
| Steam level | `smoke` | `sensor` | `steamLevel` |
| Temperature level | `thermometer` | `sensor` | `tempLevel` |
### Wine Cellar
@ -418,12 +417,13 @@ For every device exists a button under diagnostics which can be used to log all
| Name | Icon | Entity | Key |
| --- | --- | --- | --- |
| Acqua Plus | `water-plus` | `switch` | `startProgram.acquaplus` |
| Anti-Crease | `timer` | `switch` | `startProgram.antiCreaseTime` |
| Anti-Crease | `timer` | `switch` | `startProgram.anticrease` |
| Anti-Crease | `iron` | `switch` | `startProgram.antiCreaseTime` |
| Anti-Crease | `iron` | `switch` | `startProgram.anticrease` |
| Auto Dose Detergent | `cup` | `switch` | `startProgram.autoDetergentStatus` |
| 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 +432,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` |
@ -441,9 +442,8 @@ For every device exists a button under diagnostics which can be used to log all
| Rinse Iterations | `rotate-right` | `number` | `startProgram.rinseIterations` |
| Soak Prewash Selection | `tshirt-crew` | `switch` | `startProgram.haier_SoakPrewashSelection` |
| Spin speed | `numeric` | `select` | `startProgram.spinSpeed` |
| Steam Level | `weather-dust` | `number` | `startProgram.steamLevel` |
| Steam Type | `weather-dust` | `sensor` | `steamType` |
| Steam level | `smoke` | `sensor` | `startProgram.steamLevel` |
| Steam level | `weather-dust` | `select` | `startProgram.steamLevel` |
| Sterilization | `clock-start` | `switch` | `startProgram.sterilizationStatus` |
| Suggested Load | `weight-kilogram` | `sensor` | `startProgram.suggestedLoadW` |
| Suggested Load | `weight-kilogram` | `sensor` | `startProgram.suggestedLoadD` |
@ -455,29 +455,29 @@ For every device exists a button under diagnostics which can be used to log all
#### Sensors
| Name | Icon | Entity | Key |
| --- | --- | --- | --- |
| Acqua Plus | | `binary_sensor` | `acquaplus` |
| Anti-Crease | | `binary_sensor` | `anticrease` |
| Acqua Plus | `water-plus` | `binary_sensor` | `acquaplus` |
| Anti-Crease | `iron` | `binary_sensor` | `anticrease` |
| 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` |
| Error | `math-log` | `sensor` | `errors` |
| Extra Rinse 1 | | `binary_sensor` | `extraRinse1` |
| Extra Rinse 2 | | `binary_sensor` | `extraRinse2` |
| Extra Rinse 3 | | `binary_sensor` | `extraRinse3` |
| Good Night Mode | | `binary_sensor` | `goodNight` |
| Extra Rinse 1 | `numeric-1-box-multiple-outline` | `binary_sensor` | `extraRinse1` |
| Extra Rinse 2 | `numeric-2-box-multiple-outline` | `binary_sensor` | `extraRinse2` |
| Extra Rinse 3 | `numeric-3-box-multiple-outline` | `binary_sensor` | `extraRinse3` |
| Good Night Mode | `weather-night` | `binary_sensor` | `goodNight` |
| Machine Status | `information` | `sensor` | `machMode` |
| Pre Wash | | `binary_sensor` | `startProgram.prewash` |
| Pre Wash | `tshirt-crew` | `binary_sensor` | `prewash` |
| Program | `play` | `sensor` | `programName` |
| Program Phase | `washing-machine` | `sensor` | `prPhase` |
| Remaining Time | `timer` | `sensor` | `remainingTimeMM` |
| Remote Control | `remote` | `binary_sensor` | `attributes.lastConnEvent.category` |
| Spin Speed | `speedometer` | `sensor` | `spinSpeed` |
| Start Time | `clock-start` | `sensor` | `delayTime` |
| Steam level | `smoke` | `sensor` | `steamLevel` |
| Steam level | `weather-dust` | `sensor` | `steamLevel` |
| Temperature level | `thermometer` | `sensor` | `tempLevel` |
| Total Power | | `sensor` | `totalElectricityUsed` |
| Total Wash Cycle | `counter` | `sensor` | `totalWashCycle` |
@ -497,11 +497,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` |
@ -511,7 +513,7 @@ For every device exists a button under diagnostics which can be used to log all
| Rinse Iterations | `rotate-right` | `number` | `startProgram.rinseIterations` |
| Soak Prewash Selection | `tshirt-crew` | `switch` | `startProgram.haier_SoakPrewashSelection` |
| Spin speed | `numeric` | `select` | `startProgram.spinSpeed` |
| Steam Level | `weather-dust` | `number` | `startProgram.steamLevel` |
| Steam level | `weather-dust` | `select` | `startProgram.steamLevel` |
| Suggested Load | `weight-kilogram` | `sensor` | `startProgram.suggestedLoadW` |
| Suggested weight | `weight-kilogram` | `sensor` | `startProgram.weight` |
| Temperature | `thermometer` | `select` | `startProgram.temp` |
@ -520,25 +522,26 @@ For every device exists a button under diagnostics which can be used to log all
#### Sensors
| Name | Icon | Entity | Key |
| --- | --- | --- | --- |
| Acqua Plus | | `binary_sensor` | `acquaplus` |
| Acqua Plus | `water-plus` | `binary_sensor` | `acquaplus` |
| 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` |
| Extra Rinse 1 | | `binary_sensor` | `extraRinse1` |
| Extra Rinse 2 | | `binary_sensor` | `extraRinse2` |
| Extra Rinse 3 | | `binary_sensor` | `extraRinse3` |
| Good Night Mode | | `binary_sensor` | `goodNight` |
| Extra Rinse 1 | `numeric-1-box-multiple-outline` | `binary_sensor` | `extraRinse1` |
| Extra Rinse 2 | `numeric-2-box-multiple-outline` | `binary_sensor` | `extraRinse2` |
| Extra Rinse 3 | `numeric-3-box-multiple-outline` | `binary_sensor` | `extraRinse3` |
| Good Night Mode | `weather-night` | `binary_sensor` | `goodNight` |
| Machine Status | `information` | `sensor` | `machMode` |
| Pre Wash | | `binary_sensor` | `startProgram.prewash` |
| Pre Wash | `tshirt-crew` | `binary_sensor` | `prewash` |
| Program | `play` | `sensor` | `programName` |
| Program Phase | `washing-machine` | `sensor` | `prPhase` |
| Remaining Time | `timer` | `sensor` | `remainingTimeMM` |
| Remote Control | `remote` | `binary_sensor` | `attributes.lastConnEvent.category` |
| Spin Speed | `speedometer` | `sensor` | `spinSpeed` |
| Steam level | `weather-dust` | `sensor` | `steamLevel` |
| Total Power | | `sensor` | `totalElectricityUsed` |
| Total Wash Cycle | `counter` | `sensor` | `totalWashCycle` |
| Total Water | | `sensor` | `totalWaterUsed` |

View File

@ -16,17 +16,10 @@ _LOGGER = logging.getLogger(__name__)
@dataclass
class HonBinarySensorEntityDescriptionMixin:
class HonBinarySensorEntityDescription(BinarySensorEntityDescription):
on_value: str | float = ""
@dataclass
class HonBinarySensorEntityDescription(
HonBinarySensorEntityDescriptionMixin, BinarySensorEntityDescription
):
pass
BINARY_SENSORS: dict[str, tuple[HonBinarySensorEntityDescription, ...]] = {
"WM": (
HonBinarySensorEntityDescription(
@ -52,22 +45,40 @@ BINARY_SENSORS: dict[str, tuple[HonBinarySensorEntityDescription, ...]] = {
translation_key="door_open",
),
HonBinarySensorEntityDescription(
key="startProgram.prewash", name="Pre Wash", translation_key="prewash"
key="prewash",
icon="mdi:tshirt-crew",
name="Pre Wash",
translation_key="prewash",
),
HonBinarySensorEntityDescription(
key="extraRinse1", name="Extra Rinse 1", translation_key="extra_rinse_1"
key="extraRinse1",
icon="mdi:numeric-1-box-multiple-outline",
name="Extra Rinse 1",
translation_key="extra_rinse_1",
),
HonBinarySensorEntityDescription(
key="extraRinse2", name="Extra Rinse 2", translation_key="extra_rinse_2"
key="extraRinse2",
icon="mdi:numeric-2-box-multiple-outline",
name="Extra Rinse 2",
translation_key="extra_rinse_2",
),
HonBinarySensorEntityDescription(
key="extraRinse3", name="Extra Rinse 3", translation_key="extra_rinse_3"
key="extraRinse3",
icon="mdi:numeric-3-box-multiple-outline",
name="Extra Rinse 3",
translation_key="extra_rinse_3",
),
HonBinarySensorEntityDescription(
key="goodNight", name="Good Night Mode", translation_key="good_night"
key="goodNight",
icon="mdi:weather-night",
name="Good Night Mode",
translation_key="good_night",
),
HonBinarySensorEntityDescription(
key="acquaplus", name="Acqua Plus", translation_key="acqua_plus"
key="acquaplus",
icon="mdi:water-plus",
name="Acqua Plus",
translation_key="acqua_plus",
),
),
"TD": (
@ -86,7 +97,10 @@ BINARY_SENSORS: dict[str, tuple[HonBinarySensorEntityDescription, ...]] = {
translation_key="door_open",
),
HonBinarySensorEntityDescription(
key="anticrease", name="Anti-Crease", translation_key="anti_crease"
key="anticrease",
name="Anti-Crease",
icon="mdi:iron",
translation_key="anti_crease",
),
),
"OV": (

View File

@ -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",
),
),
}

View File

@ -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:

View File

@ -218,6 +218,7 @@ AP_MACH_MODE = {
}
AP_DIFFUSER_LEVEL = {
0: "off",
1: "soft",
2: "mid",
3: "h_biotics",

View File

@ -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

View File

@ -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
)

View File

@ -9,7 +9,7 @@
"iot_class": "cloud_polling",
"issue_tracker": "https://github.com/Andre0512/hon/issues",
"requirements": [
"pyhOn==0.14.7"
"pyhOn==0.14.12"
],
"version": "0.9.0-beta.8"
"version": "0.9.2-beta.1"
}

View File

@ -48,12 +48,6 @@ NUMBERS: dict[str, tuple[NumberEntityDescription, ...]] = {
native_unit_of_measurement=UnitOfTime.MINUTES,
translation_key="wash_time",
),
HonConfigNumberEntityDescription(
key="startProgram.steamLevel",
name="Steam Level",
icon="mdi:weather-dust",
translation_key="steam_level",
),
HonConfigNumberEntityDescription(
key="startProgram.waterHard",
name="Water hard",
@ -166,18 +160,21 @@ NUMBERS: dict[str, tuple[NumberEntityDescription, ...]] = {
HonNumberEntityDescription(
key="settings.aromaTimeOn",
name="Aroma Time On",
icon="mdi:thermometer",
icon="mdi:scent",
native_unit_of_measurement=UnitOfTime.SECONDS,
translation_key="aroma_time_on",
),
HonNumberEntityDescription(
key="settings.aromaTimeOff",
name="Aroma Time Off",
icon="mdi:thermometer",
icon="mdi:scent-off",
native_unit_of_measurement=UnitOfTime.SECONDS,
translation_key="aroma_time_off",
),
HonNumberEntityDescription(
key="settings.pollenLevel",
name="Pollen Level",
icon="mdi:flower-pollen",
translation_key="pollen_level",
),
),

View File

@ -49,6 +49,20 @@ SELECTS = {
name="Program",
translation_key="programs_wm",
),
HonConfigSelectEntityDescription(
key="startProgram.steamLevel",
name="Steam level",
icon="mdi:weather-dust",
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(
@ -139,11 +153,12 @@ SELECTS = {
name="Diffuser Level",
option_list=const.AP_DIFFUSER_LEVEL,
translation_key="diffuser",
icon="mdi:air-purifier",
),
HonSelectEntityDescription(
key="settings.machMode",
name="Mode",
icon="mdi:run",
icon="mdi:play",
option_list=const.AP_MACH_MODE,
translation_key="mode",
),
@ -191,9 +206,11 @@ class HonConfigSelectEntity(HonEntity, SelectEntity):
def _option_to_number(self, option: str, values: List[str]):
if (options := self.entity_description.option_list) is not None:
return next(
(k for k, v in options.items() if str(k) in values and v == option),
option,
return str(
next(
(k for k, v in options.items() if str(k) in values and v == option),
option,
)
)
return option

View File

@ -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",
@ -186,6 +186,14 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
device_class=SensorDeviceClass.ENUM,
translation_key="programs_wm",
),
HonSensorEntityDescription(
key="steamLevel",
name="Steam level",
icon="mdi:weather-dust",
device_class=SensorDeviceClass.ENUM,
translation_key="steam_level",
option_list=const.STEAM_LEVEL,
),
),
"TD": (
HonSensorEntityDescription(
@ -259,22 +267,6 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
state_class=SensorStateClass.MEASUREMENT,
translation_key="energy_label",
),
HonConfigSensorEntityDescription(
key="startProgram.steamLevel",
name="Steam level",
device_class=SensorDeviceClass.ENUM,
icon="mdi:smoke",
translation_key="steam_level",
option_list=const.STEAM_LEVEL,
),
HonSensorEntityDescription(
key="steamLevel",
name="Steam level",
icon="mdi:smoke",
device_class=SensorDeviceClass.ENUM,
translation_key="steam_level",
option_list=const.STEAM_LEVEL,
),
HonConfigSensorEntityDescription(
key="steamType",
name="Steam Type",
@ -696,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(
@ -754,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",
),
),
}

View File

@ -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(
@ -142,13 +148,13 @@ SWITCHES: dict[str, tuple[HonSwitchEntityDescription, ...]] = {
HonConfigSwitchEntityDescription(
key="startProgram.antiCreaseTime",
name="Anti-Crease",
icon="mdi:timer",
icon="mdi:iron",
translation_key="anti_crease",
),
HonConfigSwitchEntityDescription(
key="startProgram.anticrease",
name="Anti-Crease",
icon="mdi:timer",
icon="mdi:iron",
translation_key="anti_crease",
),
),
@ -253,6 +259,7 @@ SWITCHES: dict[str, tuple[HonSwitchEntityDescription, ...]] = {
HonSwitchEntityDescription(
key="ecoMode",
name="Eco Mode",
icon="mdi:sprout",
translation_key="eco_mode",
),
HonSwitchEntityDescription(
@ -330,10 +337,21 @@ 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",
name="Touch Tone",
icon="mdi:account-voice",
translation_key="touch_tone",
),
),
@ -386,7 +404,7 @@ class HonSwitchEntity(HonEntity, SwitchEntity):
setting = self._device.settings[f"settings.{self.entity_description.key}"]
if type(setting) == HonParameter:
return
setting.value = setting.max if isinstance(setting, HonParameterRange) else "1"
setting.value = setting.max if isinstance(setting, HonParameterRange) else 1
self.async_write_ha_state()
await self._device.commands["settings"].send()
await self.coordinator.async_refresh()
@ -395,7 +413,7 @@ class HonSwitchEntity(HonEntity, SwitchEntity):
setting = self._device.settings[f"settings.{self.entity_description.key}"]
if type(setting) == HonParameter:
return
setting.value = setting.min if isinstance(setting, HonParameterRange) else "0"
setting.value = setting.min if isinstance(setting, HonParameterRange) else 0
self.async_write_ha_state()
await self._device.commands["settings"].send()
await self.coordinator.async_refresh()
@ -403,16 +421,20 @@ class HonSwitchEntity(HonEntity, SwitchEntity):
@property
def available(self) -> bool:
"""Return True if entity is available."""
return (
super().available
and int(self._device.get("remoteCtrValid", 1)) == 1
and self._device.get("attributes.lastConnEvent.category") != "DISCONNECTED"
)
if not super().available:
return False
if not self._device.get("remoteCtrValid", 1) == 1:
return False
if self._device.get("attributes.lastConnEvent.category") == "DISCONNECTED":
return False
setting = self._device.settings[f"settings.{self.entity_description.key}"]
if isinstance(setting, HonParameterRange) and len(setting.values) < 2:
return False
return True
@callback
def _handle_coordinator_update(self, update=True) -> None:
value = self._device.get(self.entity_description.key, 0)
self._attr_state = value == 1
self._attr_is_on = self.is_on
if update:
self.async_write_ha_state()
@ -426,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()
@ -488,7 +514,6 @@ class HonConfigSwitchEntity(HonEntity, SwitchEntity):
@callback
def _handle_coordinator_update(self, update=True) -> None:
value = self._device.settings.get(self.entity_description.key, "0")
self._attr_state = value == "1"
self._attr_is_on = self.is_on
if update:
self.async_write_ha_state()

View File

@ -808,7 +808,13 @@
"name": "Úroveň páry"
},
"dirt_level": {
"name": "Míra znečištění"
"name": "Míra znečištění",
"state": {
"little": "Málo",
"normal": "Normální",
"very": "Velmi",
"unknown": "unknown"
}
},
"delay_time": {
"name": "Odložené spuštění"
@ -860,6 +866,27 @@
},
"voc": {
"name": "Plyn (VOC)"
},
"steam_level": {
"state": {
"no_steam": "Bez páry",
"cotton": "Bavlna",
"delicate": "Jemné",
"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": {
@ -1608,10 +1635,42 @@
"name": "Zbývající čas"
},
"diffuser": {
"name": "Difuzér"
"name": "Difuzér",
"state": {
"soft": "Mírná",
"mid": "Střední",
"h_biotics": "H-BIOTICS",
"custom": "Přizpůsobit",
"off": "Vypnout"
}
},
"mode": {
"name": "Režim"
"name": "Režim",
"state": {
"standby": "Pohotovostní režim",
"sleep": "Spánek",
"auto": "Auto",
"allergens": "Alergeny",
"max": "Max."
}
},
"steam_level": {
"state": {
"no_steam": "Bez páry",
"cotton": "Bavlna",
"delicate": "Jemné",
"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": {
@ -1725,6 +1784,12 @@
},
"touch_tone": {
"name": "Hlasitost tónu klepnutí"
},
"hygiene": {
"name": "Hygienický plus"
},
"hood": {
"name": "Odsavač par"
}
},
"binary_sensor": {
@ -1857,6 +1922,12 @@
},
"pollen_level": {
"name": "Hladina pylu"
},
"aroma_time_on": {
"name": "Difuzér (ZAPNOUT)"
},
"aroma_time_off": {
"name": "Difuzér (VYPNOUT)"
}
},
"climate": {

View File

@ -808,7 +808,13 @@
"name": "Dampfstufe"
},
"dirt_level": {
"name": "Verschmutzungsgrad"
"name": "Verschmutzungsgrad",
"state": {
"little": "Wenig",
"normal": "Normal",
"very": "Sehr",
"unknown": "unknown"
}
},
"delay_time": {
"name": "Einschaltverzögerung"
@ -860,6 +866,27 @@
},
"voc": {
"name": "Gas (VOC)"
},
"steam_level": {
"state": {
"no_steam": "Kein Dampf",
"cotton": "Baumwolle",
"delicate": "Feinwäsche",
"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": {
@ -1608,10 +1635,42 @@
"name": "Verbleibende Zeit"
},
"diffuser": {
"name": "Luftverteiler"
"name": "Luftverteiler",
"state": {
"soft": "Weich",
"mid": "Mittel",
"h_biotics": "H-BIOTICS",
"custom": "Individuelle Anpassung",
"off": "Aus"
}
},
"mode": {
"name": "Modus"
"name": "Modus",
"state": {
"standby": "Standby-Modus",
"sleep": "Sleep",
"auto": "Auto",
"allergens": "Allergene",
"max": "Max"
}
},
"steam_level": {
"state": {
"no_steam": "Kein Dampf",
"cotton": "Baumwolle",
"delicate": "Feinwäsche",
"synthetic": "Synthetik"
},
"name": "Dampfstufe"
},
"dirt_level": {
"state": {
"little": "Wenig",
"normal": "Normal",
"very": "Sehr",
"unknown": "unknown"
},
"name": "Verschmutzungsgrad"
}
},
"switch": {
@ -1725,6 +1784,12 @@
},
"touch_tone": {
"name": "Tastentonlautstärke"
},
"hygiene": {
"name": "Hygiene plus"
},
"hood": {
"name": "Abzugshaube"
}
},
"binary_sensor": {
@ -1857,6 +1922,12 @@
},
"pollen_level": {
"name": "Pollenkonzentration"
},
"aroma_time_on": {
"name": "Luftverteiler (AN)"
},
"aroma_time_off": {
"name": "Luftverteiler (AUS)"
}
},
"climate": {

View File

@ -808,7 +808,13 @@
"name": "Επίπεδο ατμού"
},
"dirt_level": {
"name": "Επίπεδο βρωμιάς"
"name": "Επίπεδο βρωμιάς",
"state": {
"little": "Λίγη",
"normal": "Κανονική",
"very": "Πολύ",
"unknown": "unknown"
}
},
"delay_time": {
"name": "Καθυστερημένη έναρξη"
@ -860,6 +866,27 @@
},
"voc": {
"name": "Αέριο (VOC)"
},
"steam_level": {
"state": {
"no_steam": "Χωρίς ατμό",
"cotton": "Βαμβακερό",
"delicate": "Ευαίσθητα",
"synthetic": "Συνθετικά"
},
"name": "Επίπεδο ατμού"
},
"filter_cleaning": {
"name": "Καθαρισμός φίλτρου"
},
"filter_life": {
"name": "Φιλτράρετε τη ζωή"
},
"air_quality": {
"name": "Ποιότητα αέρα"
},
"fan_speed": {
"name": "Ταχύτητα ανεμιστήρα"
}
},
"select": {
@ -1608,10 +1635,42 @@
"name": "Χρόνος που απομένει"
},
"diffuser": {
"name": "Διαχύτης"
"name": "Διαχύτης",
"state": {
"soft": "Μαλακό",
"mid": "Μεσαίο",
"h_biotics": "H-BIOTICS",
"custom": "Προσαρμογή",
"off": "Ανενεργό"
}
},
"mode": {
"name": "Mode"
"name": "Mode",
"state": {
"standby": "Αναμονή",
"sleep": "Λειτουργία ύπνου",
"auto": "Αυτόματο",
"allergens": "Αλλεργιογόνα",
"max": "Μέγιστο"
}
},
"steam_level": {
"state": {
"no_steam": "Χωρίς ατμό",
"cotton": "Βαμβακερό",
"delicate": "Ευαίσθητα",
"synthetic": "Συνθετικά"
},
"name": "Επίπεδο ατμού"
},
"dirt_level": {
"state": {
"little": "Λίγη",
"normal": "Κανονική",
"very": "Πολύ",
"unknown": "unknown"
},
"name": "Επίπεδο βρωμιάς"
}
},
"switch": {
@ -1725,6 +1784,12 @@
},
"touch_tone": {
"name": "Ένταση τόνου αφής"
},
"hygiene": {
"name": "Hygiene plus"
},
"hood": {
"name": "Απορροφητήρας"
}
},
"binary_sensor": {
@ -1857,6 +1922,12 @@
},
"pollen_level": {
"name": "Επίπεδο γύρης"
},
"aroma_time_on": {
"name": "Μεταδότης διάχυσης (ΕΝΕΡΓΟΠΟΙΗΣΗ)"
},
"aroma_time_off": {
"name": "Μεταδότης διάχυσης (ΑΠΕΝΕΡΓΟΠΟΙΗΣΗ)"
}
},
"climate": {

View File

@ -823,7 +823,13 @@
"name": "Steam Level"
},
"dirt_level": {
"name": "Dirt level"
"name": "Dirt level",
"state": {
"little": "Little",
"normal": "Normal",
"very": "Very",
"unknown": "unknown"
}
},
"delay_time": {
"name": "Delay Start"
@ -880,6 +886,27 @@
},
"voc": {
"name": "Gas (VOC)"
},
"steam_level": {
"state": {
"no_steam": "No steam",
"cotton": "Cotton",
"delicate": "Delicate",
"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": {
@ -1635,10 +1662,42 @@
"name": "Time remaining"
},
"diffuser": {
"name": "Diffuser"
"name": "Diffuser",
"state": {
"soft": "Soft",
"mid": "Mid",
"h_biotics": "H-BIOTICS",
"custom": "Customise",
"off": "Off"
}
},
"mode": {
"name": "Mode"
"name": "Mode",
"state": {
"standby": "Standby",
"sleep": "Sleep",
"auto": "Auto",
"allergens": "Allergens",
"max": "Max"
}
},
"steam_level": {
"state": {
"no_steam": "No steam",
"cotton": "Cotton",
"delicate": "Delicate",
"synthetic": "Synthetic"
},
"name": "Steam Level"
},
"dirt_level": {
"state": {
"little": "Little",
"normal": "Normal",
"very": "Very",
"unknown": "unknown"
},
"name": "Dirt level"
}
},
"switch": {
@ -1752,6 +1811,12 @@
},
"touch_tone": {
"name": "Touch tone volume"
},
"hygiene": {
"name": "Hygiene plus"
},
"hood": {
"name": "Hood"
}
},
"binary_sensor": {
@ -1884,6 +1949,12 @@
},
"pollen_level": {
"name": "Pollen level"
},
"aroma_time_on": {
"name": "Diffuser (ON)"
},
"aroma_time_off": {
"name": "Diffuser (OFF)"
}
},
"climate": {

View File

@ -808,7 +808,13 @@
"name": "Nivel de vapor"
},
"dirt_level": {
"name": "Nivel de suciedad"
"name": "Nivel de suciedad",
"state": {
"little": "Poco",
"normal": "Normal",
"very": "Mucho",
"unknown": "unknown"
}
},
"delay_time": {
"name": "Inicio Diferido"
@ -860,6 +866,27 @@
},
"voc": {
"name": "Gas (COV)"
},
"steam_level": {
"state": {
"no_steam": "Sin vapor",
"cotton": "Algodón",
"delicate": "Ropa delicada",
"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": {
@ -1608,10 +1635,42 @@
"name": "Tiempo restante"
},
"diffuser": {
"name": "Difusor"
"name": "Difusor",
"state": {
"soft": "Suave",
"mid": "Medio",
"h_biotics": "H-BIOTICS",
"custom": "Personalizar",
"off": "Desactivado"
}
},
"mode": {
"name": "Modo"
"name": "Modo",
"state": {
"standby": "En espera",
"sleep": "Reposo",
"auto": "Automático",
"allergens": "Alérgenos",
"max": "Máx."
}
},
"steam_level": {
"state": {
"no_steam": "Sin vapor",
"cotton": "Algodón",
"delicate": "Ropa delicada",
"synthetic": "Synthetic"
},
"name": "Nivel de vapor"
},
"dirt_level": {
"state": {
"little": "Poco",
"normal": "Normal",
"very": "Mucho",
"unknown": "unknown"
},
"name": "Nivel de suciedad"
}
},
"switch": {
@ -1725,6 +1784,12 @@
},
"touch_tone": {
"name": "Volumen del tono táctil"
},
"hygiene": {
"name": "Higiene extra"
},
"hood": {
"name": "Campana extractora"
}
},
"binary_sensor": {
@ -1857,6 +1922,12 @@
},
"pollen_level": {
"name": "Nivel de polen"
},
"aroma_time_on": {
"name": "Difusor (ENCENDIDO)"
},
"aroma_time_off": {
"name": "Difusor (APAGADO)"
}
},
"climate": {

View File

@ -808,7 +808,13 @@
"name": "Niveau de vapeur"
},
"dirt_level": {
"name": "Niveau de saleté"
"name": "Niveau de saleté",
"state": {
"little": "Faible",
"normal": "Normal",
"very": "Élevé",
"unknown": "unknown"
}
},
"delay_time": {
"name": "Démarrage Différé"
@ -860,6 +866,27 @@
},
"voc": {
"name": "COV gazeux"
},
"steam_level": {
"state": {
"no_steam": "Pas de vapeur",
"cotton": "Coton",
"delicate": "Délicats",
"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é dair"
},
"fan_speed": {
"name": "Vitesse du ventilateur"
}
},
"select": {
@ -1608,10 +1635,42 @@
"name": "Temps restant"
},
"diffuser": {
"name": "Diffuseur"
"name": "Diffuseur",
"state": {
"soft": "Doux",
"mid": "Intermédiaire",
"h_biotics": "H-BIOTICS",
"custom": "Personnaliser",
"off": "Arrêt"
}
},
"mode": {
"name": "Mode"
"name": "Mode",
"state": {
"standby": "Pause",
"sleep": "Sleep",
"auto": "Automatique",
"allergens": "Allergènes",
"max": "Max"
}
},
"steam_level": {
"state": {
"no_steam": "Pas de vapeur",
"cotton": "Coton",
"delicate": "Délicats",
"synthetic": "Synthetic"
},
"name": "Niveau de vapeur"
},
"dirt_level": {
"state": {
"little": "Faible",
"normal": "Normal",
"very": "Élevé",
"unknown": "unknown"
},
"name": "Niveau de saleté"
}
},
"switch": {
@ -1725,6 +1784,12 @@
},
"touch_tone": {
"name": "Volume des tonalités"
},
"hygiene": {
"name": "Hygiène plus"
},
"hood": {
"name": "Hotte"
}
},
"binary_sensor": {
@ -1857,6 +1922,12 @@
},
"pollen_level": {
"name": "Niveau de pollen"
},
"aroma_time_on": {
"name": "Diffuseur (ON)"
},
"aroma_time_off": {
"name": "Diffuseur (OFF)"
}
},
"climate": {

View File

@ -364,7 +364,13 @@
"name": "מפלס קיטור"
},
"dirt_level": {
"name": "רמת עפר"
"name": "רמת עפר",
"state": {
"little": "קטן",
"normal": "נוֹרמָלִי",
"very": "מאוד",
"unknown": "unknown"
}
},
"delay_time": {
"name": "Delay Start"
@ -416,6 +422,27 @@
},
"voc": {
"name": "Gas (VOC)"
},
"steam_level": {
"state": {
"no_steam": "אין קיטור",
"cotton": "כותנה",
"delicate": "עָדִין",
"synthetic": "מְלָאכוּתִי"
},
"name": "מפלס קיטור"
},
"filter_cleaning": {
"name": "Filter cleaning"
},
"filter_life": {
"name": "Filter life"
},
"air_quality": {
"name": "Air Quality"
},
"fan_speed": {
"name": "Fan speed"
}
},
"select": {
@ -729,10 +756,42 @@
"name": "זמן שנותר"
},
"diffuser": {
"name": "Diffuser"
"name": "Diffuser",
"state": {
"soft": "Soft",
"mid": "Mid",
"h_biotics": "H-BIOTICS",
"custom": "Customise",
"off": "כבוי"
}
},
"mode": {
"name": "Mode"
"name": "Mode",
"state": {
"standby": "Standby",
"sleep": "Sleep",
"auto": "Auto",
"allergens": "Allergens",
"max": "Max"
}
},
"steam_level": {
"state": {
"no_steam": "אין קיטור",
"cotton": "כותנה",
"delicate": "עָדִין",
"synthetic": "מְלָאכוּתִי"
},
"name": "מפלס קיטור"
},
"dirt_level": {
"state": {
"little": "קטן",
"normal": "נוֹרמָלִי",
"very": "מאוד",
"unknown": "unknown"
},
"name": "רמת עפר"
}
},
"switch": {
@ -846,6 +905,12 @@
},
"touch_tone": {
"name": "Touch tone volume"
},
"hygiene": {
"name": "היגיינה פלוס"
},
"hood": {
"name": "Hood"
}
},
"binary_sensor": {
@ -978,6 +1043,12 @@
},
"pollen_level": {
"name": "Pollen level"
},
"aroma_time_on": {
"name": "Diffuser (ON)"
},
"aroma_time_off": {
"name": "Diffuser (OFF)"
}
},
"climate": {

View File

@ -808,7 +808,13 @@
"name": "Razina pare"
},
"dirt_level": {
"name": "Stupanj zaprljanosti"
"name": "Stupanj zaprljanosti",
"state": {
"little": "Neznatno",
"normal": "Uobičajeno",
"very": "Izuzetno",
"unknown": "unknown"
}
},
"delay_time": {
"name": "Odgoda početka"
@ -860,6 +866,27 @@
},
"voc": {
"name": "Plinovi (HOS-ovi)"
},
"steam_level": {
"state": {
"no_steam": "Bez pare",
"cotton": "Pamuk",
"delicate": "Osjetljivo rublje",
"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": {
@ -1608,10 +1635,42 @@
"name": "Preostalo vrijeme"
},
"diffuser": {
"name": "Raspršivač"
"name": "Raspršivač",
"state": {
"soft": "Manjeg intenziteta",
"mid": "Srednje",
"h_biotics": "H-BIOTICS",
"custom": "Prilagođavanje",
"off": "Isključeno"
}
},
"mode": {
"name": "Mode"
"name": "Mode",
"state": {
"standby": "Stanje pripravnosti",
"sleep": "Način mirovanja",
"auto": "Automatski",
"allergens": "Alergeni",
"max": "Najviše"
}
},
"steam_level": {
"state": {
"no_steam": "Bez pare",
"cotton": "Pamuk",
"delicate": "Osjetljivo rublje",
"synthetic": "Sintetika"
},
"name": "Razina pare"
},
"dirt_level": {
"state": {
"little": "Neznatno",
"normal": "Uobičajeno",
"very": "Izuzetno",
"unknown": "unknown"
},
"name": "Stupanj zaprljanosti"
}
},
"switch": {
@ -1725,6 +1784,12 @@
},
"touch_tone": {
"name": "Glasnoća tona pri dodiru"
},
"hygiene": {
"name": "Hygiene Plus"
},
"hood": {
"name": "Napa"
}
},
"binary_sensor": {
@ -1857,6 +1922,12 @@
},
"pollen_level": {
"name": "Razina peludi"
},
"aroma_time_on": {
"name": "Raspršivač (ISKLJUČEN)"
},
"aroma_time_off": {
"name": "Raspršivač (UKLJUČEN)"
}
},
"climate": {

View File

@ -808,7 +808,13 @@
"name": "Livello vapore"
},
"dirt_level": {
"name": "Livello di sporco"
"name": "Livello di sporco",
"state": {
"little": "Poco",
"normal": "Normale",
"very": "Molto",
"unknown": "unknown"
}
},
"delay_time": {
"name": "Utilizzo nelle ore notturne"
@ -865,6 +871,27 @@
},
"voc": {
"name": "Gas (VOC)"
},
"steam_level": {
"state": {
"no_steam": "No vapore",
"cotton": "Cotone",
"delicate": "Delicati",
"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": {
@ -1613,10 +1640,42 @@
"name": "Tempo rimanente"
},
"diffuser": {
"name": "Diffusore"
"name": "Diffusore",
"state": {
"soft": "Soft",
"mid": "Medio",
"h_biotics": "H-BIOTICS",
"custom": "Personalizza",
"off": "Off"
}
},
"mode": {
"name": "Modalità"
"name": "Modalità",
"state": {
"standby": "Standby",
"sleep": "Sleep",
"auto": "Auto",
"allergens": "Allergeni",
"max": "Max"
}
},
"steam_level": {
"state": {
"no_steam": "No vapore",
"cotton": "Cotone",
"delicate": "Delicati",
"synthetic": "Sintetici"
},
"name": "Livello vapore"
},
"dirt_level": {
"state": {
"little": "Poco",
"normal": "Normale",
"very": "Molto",
"unknown": "unknown"
},
"name": "Livello di sporco"
}
},
"switch": {
@ -1730,6 +1789,12 @@
},
"touch_tone": {
"name": "Volume Tasti"
},
"hygiene": {
"name": "Hygiene plus"
},
"hood": {
"name": "Cappa"
}
},
"binary_sensor": {
@ -1862,6 +1927,12 @@
},
"pollen_level": {
"name": "Livello di polline"
},
"aroma_time_on": {
"name": "Diffusore (ON)"
},
"aroma_time_off": {
"name": "Diffusore (OFF)"
}
},
"climate": {

View File

@ -808,7 +808,13 @@
"name": "Stoomniveau"
},
"dirt_level": {
"name": "Vuilheid"
"name": "Vuilheid",
"state": {
"little": "Weinig",
"normal": "Normaal",
"very": "Heel",
"unknown": "unknown"
}
},
"delay_time": {
"name": "Vertraag Start"
@ -860,6 +866,27 @@
},
"voc": {
"name": "Gas (VOC)"
},
"steam_level": {
"state": {
"no_steam": "Geen stoom",
"cotton": "Katoen",
"delicate": "Fijne was",
"synthetic": "Synthetic"
},
"name": "Stoomniveau"
},
"filter_cleaning": {
"name": "Filterreiniging"
},
"filter_life": {
"name": "Levensduur filter"
},
"air_quality": {
"name": "Luchtkwaliteit"
},
"fan_speed": {
"name": "Ventilatorsnelheid"
}
},
"select": {
@ -1608,10 +1635,42 @@
"name": "Resterende tijd"
},
"diffuser": {
"name": "Diffuser"
"name": "Diffuser",
"state": {
"soft": "Zacht",
"mid": "Medium",
"h_biotics": "H-BIOTICS",
"custom": "Personaliseren",
"off": "Uit"
}
},
"mode": {
"name": "Modus"
"name": "Modus",
"state": {
"standby": "Stand-by",
"sleep": "Slaap",
"auto": "Automatisch",
"allergens": "Allergenen",
"max": "Max"
}
},
"steam_level": {
"state": {
"no_steam": "Geen stoom",
"cotton": "Katoen",
"delicate": "Fijne was",
"synthetic": "Synthetic"
},
"name": "Stoomniveau"
},
"dirt_level": {
"state": {
"little": "Weinig",
"normal": "Normaal",
"very": "Heel",
"unknown": "unknown"
},
"name": "Vuilheid"
}
},
"switch": {
@ -1725,6 +1784,12 @@
},
"touch_tone": {
"name": "Volume van geluid bij aanraking"
},
"hygiene": {
"name": "Hygiëne plus"
},
"hood": {
"name": "Afzuigkap"
}
},
"binary_sensor": {
@ -1857,6 +1922,12 @@
},
"pollen_level": {
"name": "Pollenniveau"
},
"aroma_time_on": {
"name": "Diffuser (AAN)"
},
"aroma_time_off": {
"name": "Diffuser (UIT)"
}
},
"climate": {

View File

@ -808,7 +808,13 @@
"name": "Poziom pary"
},
"dirt_level": {
"name": "Stopień zabrudzenia"
"name": "Stopień zabrudzenia",
"state": {
"little": "Niskie",
"normal": "Standardowe",
"very": "Wysokie",
"unknown": "unknown"
}
},
"delay_time": {
"name": "Opóźniony Start"
@ -860,6 +866,27 @@
},
"voc": {
"name": "Gaz (VOC)"
},
"steam_level": {
"state": {
"no_steam": "Bez pary",
"cotton": "Bawełna",
"delicate": "Delikatne",
"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": {
@ -1608,10 +1635,42 @@
"name": "Pozostały czas"
},
"diffuser": {
"name": "Dyfuzor"
"name": "Dyfuzor",
"state": {
"soft": "Program",
"mid": "Średnie",
"h_biotics": "H-BIOTICS",
"custom": "Dostosuj",
"off": "Wył."
}
},
"mode": {
"name": "Tryb"
"name": "Tryb",
"state": {
"standby": "Czuwanie",
"sleep": "Uśpiony",
"auto": "Auto",
"allergens": "Alergeny",
"max": "Maks."
}
},
"steam_level": {
"state": {
"no_steam": "Bez pary",
"cotton": "Bawełna",
"delicate": "Delikatne",
"synthetic": "Syntetyczne"
},
"name": "Poziom pary"
},
"dirt_level": {
"state": {
"little": "Niskie",
"normal": "Standardowe",
"very": "Wysokie",
"unknown": "unknown"
},
"name": "Stopień zabrudzenia"
}
},
"switch": {
@ -1725,6 +1784,12 @@
},
"touch_tone": {
"name": "Dźwięk przycisku dotykowego"
},
"hygiene": {
"name": "Higiena plus"
},
"hood": {
"name": "Okap"
}
},
"binary_sensor": {
@ -1857,6 +1922,12 @@
},
"pollen_level": {
"name": "Poziom pyłków"
},
"aroma_time_on": {
"name": "Dyfuzor (WŁ.)"
},
"aroma_time_off": {
"name": "Dyfuzor (WYŁ.)"
}
},
"climate": {

View File

@ -808,7 +808,13 @@
"name": "Nível de vapor"
},
"dirt_level": {
"name": "Nível de sujidade"
"name": "Nível de sujidade",
"state": {
"little": "Pouco",
"normal": "Normal",
"very": "Muito",
"unknown": "unknown"
}
},
"delay_time": {
"name": "Início adiado"
@ -860,6 +866,27 @@
},
"voc": {
"name": "Gás (VOC)"
},
"steam_level": {
"state": {
"no_steam": "Sem vapor",
"cotton": "Algodão",
"delicate": "Roupa delicada",
"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": {
@ -1608,10 +1635,42 @@
"name": "Tempo restante"
},
"diffuser": {
"name": "Difusor"
"name": "Difusor",
"state": {
"soft": "Suave",
"mid": "Médio",
"h_biotics": "H-BIOTICS",
"custom": "Personalizar",
"off": "Off"
}
},
"mode": {
"name": "Modo"
"name": "Modo",
"state": {
"standby": "Em espera",
"sleep": "Sono",
"auto": "Auto",
"allergens": "Alergénios",
"max": "Máx."
}
},
"steam_level": {
"state": {
"no_steam": "Sem vapor",
"cotton": "Algodão",
"delicate": "Roupa delicada",
"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": {
@ -1725,6 +1784,12 @@
},
"touch_tone": {
"name": "Volume do tom de toque"
},
"hygiene": {
"name": "Higiene mais"
},
"hood": {
"name": "Exaustor"
}
},
"binary_sensor": {
@ -1857,6 +1922,12 @@
},
"pollen_level": {
"name": "Nível de pólenes"
},
"aroma_time_on": {
"name": "Difusor (ON)"
},
"aroma_time_off": {
"name": "Difusor (OFF)"
}
},
"climate": {

View File

@ -808,7 +808,13 @@
"name": "Nivel abur"
},
"dirt_level": {
"name": "Nivel de murdărie"
"name": "Nivel de murdărie",
"state": {
"little": "Puțin",
"normal": "Normal",
"very": "Foarte",
"unknown": "unknown"
}
},
"delay_time": {
"name": "Pornire întârziată"
@ -860,6 +866,27 @@
},
"voc": {
"name": "Gaze (COV)"
},
"steam_level": {
"state": {
"no_steam": "Fără abur",
"cotton": "Bumbac",
"delicate": "Delicate",
"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": {
@ -1608,10 +1635,42 @@
"name": "Timp rămas"
},
"diffuser": {
"name": "Difuzor"
"name": "Difuzor",
"state": {
"soft": "încet",
"mid": "Mediu",
"h_biotics": "H-BIOTICS",
"custom": "Personalizați",
"off": "Oprit"
}
},
"mode": {
"name": "Mode"
"name": "Mode",
"state": {
"standby": "Mod de așteptare",
"sleep": "Somn",
"auto": "Automat",
"allergens": "Alergeni",
"max": "Max"
}
},
"steam_level": {
"state": {
"no_steam": "Fără abur",
"cotton": "Bumbac",
"delicate": "Delicate",
"synthetic": "Synthetic"
},
"name": "Nivel abur"
},
"dirt_level": {
"state": {
"little": "Puțin",
"normal": "Normal",
"very": "Foarte",
"unknown": "unknown"
},
"name": "Nivel de murdărie"
}
},
"switch": {
@ -1725,6 +1784,12 @@
},
"touch_tone": {
"name": "Volum la atingerea tastelor"
},
"hygiene": {
"name": "Igienizare plus"
},
"hood": {
"name": "Hotă"
}
},
"binary_sensor": {
@ -1857,6 +1922,12 @@
},
"pollen_level": {
"name": "Nivel polen"
},
"aroma_time_on": {
"name": "Difuzor (PORNIT)"
},
"aroma_time_off": {
"name": "Difuzor (OPRIT)"
}
},
"climate": {

View File

@ -808,7 +808,13 @@
"name": "Уровень пара"
},
"dirt_level": {
"name": "Уровень загрязнения"
"name": "Уровень загрязнения",
"state": {
"little": "Мало",
"normal": "Нормально",
"very": "Очень",
"unknown": "unknown"
}
},
"delay_time": {
"name": "Отложенный пуск"
@ -860,6 +866,27 @@
},
"voc": {
"name": "Газ (ЛОС)"
},
"steam_level": {
"state": {
"no_steam": "Без пара",
"cotton": "Хлопок",
"delicate": "Деликатные ткани",
"synthetic": "Синтетика"
},
"name": "Уровень пара"
},
"filter_cleaning": {
"name": "Чистка фильтра"
},
"filter_life": {
"name": "Срок службы фильтра"
},
"air_quality": {
"name": "Качество воздуха"
},
"fan_speed": {
"name": "Скорость вентилятора"
}
},
"select": {
@ -1608,10 +1635,42 @@
"name": "Оставшееся время"
},
"diffuser": {
"name": "Распылитель"
"name": "Распылитель",
"state": {
"soft": "Мягкая",
"mid": "Средний",
"h_biotics": "H-BIOTICS",
"custom": "Настроить",
"off": "Выкл."
}
},
"mode": {
"name": "Режим"
"name": "Режим",
"state": {
"standby": "Режим ожидания",
"sleep": "Сон",
"auto": "Авто",
"allergens": "Аллергены",
"max": "Макс."
}
},
"steam_level": {
"state": {
"no_steam": "Без пара",
"cotton": "Хлопок",
"delicate": "Деликатные ткани",
"synthetic": "Синтетика"
},
"name": "Уровень пара"
},
"dirt_level": {
"state": {
"little": "Мало",
"normal": "Нормально",
"very": "Очень",
"unknown": "unknown"
},
"name": "Уровень загрязнения"
}
},
"switch": {
@ -1725,6 +1784,12 @@
},
"touch_tone": {
"name": "Громкость сенсорных кнопок"
},
"hygiene": {
"name": "Гигиена плюс"
},
"hood": {
"name": "Вытяжка"
}
},
"binary_sensor": {
@ -1857,6 +1922,12 @@
},
"pollen_level": {
"name": "Уровень пыльцы в воздухе"
},
"aroma_time_on": {
"name": "Распылитель (Вкл.)"
},
"aroma_time_off": {
"name": "Распылитель (Выкл.)"
}
},
"climate": {

View File

@ -808,7 +808,13 @@
"name": "Úroveň nastavenia pary"
},
"dirt_level": {
"name": "Úroveň znečistenia"
"name": "Úroveň znečistenia",
"state": {
"little": "Málo",
"normal": "Normálne",
"very": "Veľa",
"unknown": "unknown"
}
},
"delay_time": {
"name": "Odložený štart"
@ -860,6 +866,27 @@
},
"voc": {
"name": "Plyn (VOC)"
},
"steam_level": {
"state": {
"no_steam": "Bez pary",
"cotton": "Bavlna",
"delicate": "Jemné materiály",
"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": {
@ -1608,10 +1635,42 @@
"name": "Zostávajúci čas"
},
"diffuser": {
"name": "Difuzér"
"name": "Difuzér",
"state": {
"soft": "Mierny",
"mid": "Stredný",
"h_biotics": "H-BIOTICS",
"custom": "Prispôsobiť",
"off": "Vyp."
}
},
"mode": {
"name": "Mode"
"name": "Mode",
"state": {
"standby": "Pohotovostný režim",
"sleep": "Spánok",
"auto": "Automatika",
"allergens": "Alergény",
"max": "Max"
}
},
"steam_level": {
"state": {
"no_steam": "Bez pary",
"cotton": "Bavlna",
"delicate": "Jemné materiály",
"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": {
@ -1725,6 +1784,12 @@
},
"touch_tone": {
"name": "Hlasitosť tónu dotyku"
},
"hygiene": {
"name": "Hygiena plus"
},
"hood": {
"name": "Digestor"
}
},
"binary_sensor": {
@ -1857,6 +1922,12 @@
},
"pollen_level": {
"name": "Úroveň peľu"
},
"aroma_time_on": {
"name": "Difuzér (ZAP)"
},
"aroma_time_off": {
"name": "Difuzér (VYP)"
}
},
"climate": {

View File

@ -808,7 +808,13 @@
"name": "Količina pare"
},
"dirt_level": {
"name": "Stopnja umazanije"
"name": "Stopnja umazanije",
"state": {
"little": "Malo",
"normal": "Normalno",
"very": "Zelo",
"unknown": "unknown"
}
},
"delay_time": {
"name": "S funkcijo Zamik vklopa je možno odložiti začetek sušilnega cikla od 1 do 24 ur. Na zaslonu se prikaže izbrana zakasnitev. Da bi videli kako se zmanjšuje iz ure v uro, pritisnite ZAČETEK. Na ta način bo perilo suho takrat, ko boste to želeli, in zagnali cikel, ko vam to najbolj ustreza, celo ponoči."
@ -860,6 +866,27 @@
},
"voc": {
"name": "Lahkohlapne organske spojine (HOS)"
},
"steam_level": {
"state": {
"no_steam": "Brez pare",
"cotton": "Bombaž",
"delicate": "Občutljivo",
"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": {
@ -1608,10 +1635,42 @@
"name": "Time remaining"
},
"diffuser": {
"name": "Razpršilnik"
"name": "Razpršilnik",
"state": {
"soft": "Nežno",
"mid": "Srednje",
"h_biotics": "H-BIOTICS",
"custom": "Prilagodi",
"off": "Off"
}
},
"mode": {
"name": "Mode"
"name": "Mode",
"state": {
"standby": "Stanje pripravljenosti",
"sleep": "Spanje",
"auto": "Samodejno",
"allergens": "Alergeni",
"max": "Maksimalno"
}
},
"steam_level": {
"state": {
"no_steam": "Brez pare",
"cotton": "Bombaž",
"delicate": "Občutljivo",
"synthetic": "Sintetika"
},
"name": "Količina pare"
},
"dirt_level": {
"state": {
"little": "Malo",
"normal": "Normalno",
"very": "Zelo",
"unknown": "unknown"
},
"name": "Stopnja umazanije"
}
},
"switch": {
@ -1725,6 +1784,12 @@
},
"touch_tone": {
"name": "Glasnost tona dotika"
},
"hygiene": {
"name": "Higiena plus"
},
"hood": {
"name": "Kuhinjska napa"
}
},
"binary_sensor": {
@ -1857,6 +1922,12 @@
},
"pollen_level": {
"name": "Raven cvetnega prahu"
},
"aroma_time_on": {
"name": "Razpršilnik (VKLOP)"
},
"aroma_time_off": {
"name": "Razpršilnik (IZKLOP)"
}
},
"climate": {

View File

@ -808,7 +808,13 @@
"name": "Nivo pare"
},
"dirt_level": {
"name": "Nivo zaprljanosti"
"name": "Nivo zaprljanosti",
"state": {
"little": "Malo",
"normal": "Normalno",
"very": "Veoma",
"unknown": "unknown"
}
},
"delay_time": {
"name": "Odloženi start"
@ -860,6 +866,27 @@
},
"voc": {
"name": "Gas (VOC)"
},
"steam_level": {
"state": {
"no_steam": "Bez vodene pare",
"cotton": "Pamuk",
"delicate": "Osetljivi materijali",
"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": {
@ -1608,10 +1635,42 @@
"name": "Preostalo vreme"
},
"diffuser": {
"name": "Difuzor"
"name": "Difuzor",
"state": {
"soft": "Meki",
"mid": "Srednje",
"h_biotics": "„H-BIOTICS“",
"custom": "Prilagodi",
"off": "Isključeno"
}
},
"mode": {
"name": "Mode"
"name": "Mode",
"state": {
"standby": "U pripravnosti",
"sleep": "Spavanje",
"auto": "Automatski",
"allergens": "Alergeni",
"max": "Maks."
}
},
"steam_level": {
"state": {
"no_steam": "Bez vodene pare",
"cotton": "Pamuk",
"delicate": "Osetljivi materijali",
"synthetic": "Sintetika"
},
"name": "Nivo pare"
},
"dirt_level": {
"state": {
"little": "Malo",
"normal": "Normalno",
"very": "Veoma",
"unknown": "unknown"
},
"name": "Nivo zaprljanosti"
}
},
"switch": {
@ -1725,6 +1784,12 @@
},
"touch_tone": {
"name": "Jačina tona dodira"
},
"hygiene": {
"name": "Higijenski plus"
},
"hood": {
"name": "Aspirator"
}
},
"binary_sensor": {
@ -1857,6 +1922,12 @@
},
"pollen_level": {
"name": "Nivo polena u vazduhu"
},
"aroma_time_on": {
"name": "Difuzor (UKLJUČENO)"
},
"aroma_time_off": {
"name": "Difuzor (ISKLJUČENO)"
}
},
"climate": {

View File

@ -808,7 +808,13 @@
"name": "Buhar Seviyesi"
},
"dirt_level": {
"name": "Kir seviyesi"
"name": "Kir seviyesi",
"state": {
"little": "Az",
"normal": "Normal",
"very": "Çok",
"unknown": "unknown"
}
},
"delay_time": {
"name": "Gecikmeli Başlatma"
@ -860,6 +866,27 @@
},
"voc": {
"name": "Gaz (VOC)"
},
"steam_level": {
"state": {
"no_steam": "Buhar yok",
"cotton": "Pamuk",
"delicate": "Hassas",
"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": {
@ -1608,10 +1635,42 @@
"name": "Kalan süre"
},
"diffuser": {
"name": "Difüzör"
"name": "Difüzör",
"state": {
"soft": "Yumuşak",
"mid": "Orta",
"h_biotics": "H-BIOTICS",
"custom": "Özelleştir",
"off": "Kapalı"
}
},
"mode": {
"name": "Mode"
"name": "Mode",
"state": {
"standby": "Beklemede",
"sleep": "Uyku",
"auto": "Otomatik",
"allergens": "Alerjenler",
"max": "Maks"
}
},
"steam_level": {
"state": {
"no_steam": "Buhar yok",
"cotton": "Pamuk",
"delicate": "Hassas",
"synthetic": "Synthetic"
},
"name": "Buhar Seviyesi"
},
"dirt_level": {
"state": {
"little": "Az",
"normal": "Normal",
"very": "Çok",
"unknown": "unknown"
},
"name": "Kir seviyesi"
}
},
"switch": {
@ -1725,6 +1784,12 @@
},
"touch_tone": {
"name": "Dokunma tonu seviyesi"
},
"hygiene": {
"name": "Hygiene plus"
},
"hood": {
"name": "Davlumbaz"
}
},
"binary_sensor": {
@ -1857,6 +1922,12 @@
},
"pollen_level": {
"name": "Polen seviyesi"
},
"aroma_time_on": {
"name": "Difüzör (AÇIK)"
},
"aroma_time_off": {
"name": "Difüzör (KAPALI)"
}
},
"climate": {

View File

@ -808,7 +808,13 @@
"name": "蒸汽档位"
},
"dirt_level": {
"name": "脏污程度"
"name": "脏污程度",
"state": {
"little": "少量",
"normal": "正常",
"very": "非常",
"unknown": "unknown"
}
},
"delay_time": {
"name": "延时启动"
@ -860,6 +866,27 @@
},
"voc": {
"name": "气体VOC)"
},
"steam_level": {
"state": {
"no_steam": "无蒸汽",
"cotton": "棉布",
"delicate": "精致衣物",
"synthetic": "Synthetic"
},
"name": "蒸汽档位"
},
"filter_cleaning": {
"name": "滤网清洁"
},
"filter_life": {
"name": "过滤器寿命"
},
"air_quality": {
"name": "空气质量"
},
"fan_speed": {
"name": "风扇速度"
}
},
"select": {
@ -1608,10 +1635,42 @@
"name": "剩余时间"
},
"diffuser": {
"name": "扩散器"
"name": "扩散器",
"state": {
"soft": "“软”程序",
"mid": "中",
"h_biotics": "H-BIOTICS",
"custom": "定制",
"off": "关闭"
}
},
"mode": {
"name": "Mode"
"name": "Mode",
"state": {
"standby": "待机",
"sleep": "睡眠",
"auto": "自动",
"allergens": "过敏原",
"max": "最大"
}
},
"steam_level": {
"state": {
"no_steam": "无蒸汽",
"cotton": "棉布",
"delicate": "精致衣物",
"synthetic": "Synthetic"
},
"name": "蒸汽档位"
},
"dirt_level": {
"state": {
"little": "少量",
"normal": "正常",
"very": "非常",
"unknown": "unknown"
},
"name": "脏污程度"
}
},
"switch": {
@ -1725,6 +1784,12 @@
},
"touch_tone": {
"name": "按键音量"
},
"hygiene": {
"name": "卫生增强"
},
"hood": {
"name": "机盖"
}
},
"binary_sensor": {
@ -1857,6 +1922,12 @@
},
"pollen_level": {
"name": "花粉水平"
},
"aroma_time_on": {
"name": "扩散器(开)"
},
"aroma_time_off": {
"name": "扩散器(关)"
}
},
"climate": {

25
info.md
View File

@ -27,18 +27,19 @@ _If the integration is not in the list, you need to clear the browser cache._
## Supported Models
Support has been confirmed for these models, but many more will work. Please add already supported devices [with this form to complete the list](https://forms.gle/bTSD8qFotdZFytbf8).
| | **Haier** | **Hoover** | **Candy** |
|---------------------|---------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------|
| **Washing Machine** | HW90-B14TEAM5 <br/> HW100-B14959U1 <br/> HW 410AMBCB/1-80 | H-WASH 500 <br/> H7W4 48MBC-S <br/> | CO4 107T1/2-07 <br/> CBWO49TWME-S <br/> RO44 1286DWMC4-07 <br/> HW 68AMC/1-80 <br/> HWPD 69AMBC/1-S |
| **Tumble Dryer** | HD80-A3959 | H-DRY 500 <br/> H9A3TCBEXS-S <br/> HLE C10DCE-80 <br/> NDE H10A2TCE-80 <br/> NDE H9A2TSBEXS-S <br/> NDPHY10A2TCBEXSS | BCTDH7A1TE <br/> CSOE C10DE-80 <br/> ROE H9A3TCEX-S |
| **Washer Dryer** | HWD100-B14979 | HWPS4954DAMR-11 | RPW41066BWMR/1-S |
| **Oven** | HWO60SM2F3XH | HSOT3161WG | |
| **Dish Washer** | XIB 3B2SFS-80 <br/> XIB 6B2D3FB | HFB 6B2S3FX | |
| **Air Conditioner** | AD105S2SM3FA <br/> AS20HPL1HRA <br/> AS25PBAHRA <br/> AS25S2SF1FA-WH <br/> AS25TADHRA-2 <br/> AS35S2SF2FA-3 <br/> AS35TADHRA-2 <br/> AS35TAMHRA-C | | |
| **Fridge** | HFW7720ENMB | | CCE4T620EWU |
| **Hob** | HA2MTSJ68MC | | CIS633SCTTWIFI |
| **Hood** | HADG6DS46BWIFI | | |
| **Wine Cellar** | HWS247FDU1 | | |
| | **Haier** | **Hoover** | **Candy** |
|---------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------|
| **Washing Machine** | HW80-B14959TU1DE <br/> HW90-B14TEAM5 <br/> HW100-B14959U1 | H-WASH 500 <br/> H7W4 48MBC-S <br/> HW 410AMBCB/1-80 | CO4 107T1/2-07 <br/> CBWO49TWME-S <br/> RO44 1286DWMC4-07 <br/> HW 68AMC/1-80 <br/> HWPD 69AMBC/1-S |
| **Tumble Dryer** | HD80-A3959 | H-DRY 500 <br/> H9A3TCBEXS-S <br/> HLE C10DCE-80 <br/> H5WPB447AMBC/1-S <br/> NDE H10A2TCE-80 <br/> NDE H9A2TSBEXS-S <br/> NDPHY10A2TCBEXSS | BCTDH7A1TE <br/> CSOE C10DE-80 <br/> ROE H9A3TCEX-S |
| **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 | | CY-12TAIN |
| **Fridge** | HFW7720ENMB | | CCE4T620EWU |
| **Hob** | HA2MTSJ68MC | | CIS633SCTTWIFI |
| **Hood** | HADG6DS46BWIFI | | |
| **Wine Cellar** | HWS247FDU1 | | |
| **Air Purifier** | | HHP50CA001 | |
| 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. |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|

View File

@ -53,7 +53,7 @@ for entity_type, appliances in entities.items():
if entity.key.startswith("settings")
or isinstance(entity, HonSwitchEntityDescription)
or isinstance(entity, HonControlSwitchEntityDescription)
or entity_type in ["button", "climate"]
or entity_type in ["button", "climate", "lock", "light", "fan"]
else "sensor"
)
result.setdefault(appliance, {}).setdefault(

View File

@ -85,6 +85,23 @@ AC_HUMAN_SENSE = {
"unknown": "unknown",
}
AP_MACH_MODE = {
"standby": "AP.RUNNING_MODE.STANDBY",
"sleep": "AP.RUNNING_MODE.SLEEP",
"auto": "AP.RUNNING_MODE.AUTO",
"allergens": "AP.RUNNING_MODE.ALLERGENS",
"max": "AP.RUNNING_MODE.MAX",
}
AP_DIFFUSER_LEVEL = {
"off": "GLOBALS.GENERAL.OFF",
"soft": "AP.MODE_DIFFUSER.LEVEL_SOFT",
"mid": "AP.MODE_DIFFUSER.LEVEL_MID",
"h_biotics": "AP.MODE_DIFFUSER.LEVEL_H_BIOTICS",
"custom": "AP.MODE_DIFFUSER.LEVEL_CUSTOM",
}
REF_ZONES = {
"fridge": "REF.ZONES.FRIDGE",
"freezer": "REF.ZONES.FREEZER",
@ -100,6 +117,8 @@ SENSOR = {
"program_phases_td": TUMBLE_DRYER_PR_PHASE,
"program_phases_dw": DISHWASHER_PR_PHASE,
"dry_levels": TUMBLE_DRYER_DRY_LEVEL,
"dirt_level": DIRTY_LEVEL,
"steam_level": STEAM_LEVEL,
}
SELECT = {
@ -107,6 +126,10 @@ SELECT = {
"eco_pilot": AC_HUMAN_SENSE,
"fan_mode": AC_FAN_MODE,
"ref_zones": REF_ZONES,
"steam_level": STEAM_LEVEL,
"mode": AP_MACH_MODE,
"diffuser": AP_DIFFUSER_LEVEL,
"dirt_level": DIRTY_LEVEL,
}
PROGRAMS = {
@ -217,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",
@ -268,6 +293,8 @@ NAMES = {
"ref_zones": "IH.COMMON.COIL",
"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",
@ -280,7 +307,7 @@ NAMES = {
"duration": "WASHING_CMD&CTRL.DRAWER_PROGRAM_FILTERS.DURATION",
"target_temperature": "IH.COOKING_DETAIL.TEMPERATURE_TARGETING",
"spin_speed": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_MAIN_OPTIONS.SPINSPEED",
"steam_leve": "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",
"program_phases_wm": "WASHING_CMD&CTRL.STATISTICS_GRAPHIC_INSTANT_CONSUMPTION.PHASE",
"program_phases_td": "WASHING_CMD&CTRL.STATISTICS_GRAPHIC_INSTANT_CONSUMPTION.PHASE",
@ -324,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",
@ -335,10 +366,11 @@ NAMES = {
"rinse_iterations": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL.DRAWER_HEADER_RINSE",
"wash_time": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL.WASHING_TIME",
"dry_time": "WASHING_CMD&CTRL.DRAWER_CYCLE_DRYING.TAB_TIME",
"steam_level": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_MAIN_OPTIONS.STEAM_LEVEL",
"freezer_temp_sel": ["OV.COMMON.GOAL_TEMPERATURE", "REF.ZONES.FREEZER"],
"fridge_temp_sel": ["OV.COMMON.GOAL_TEMPERATURE", "REF.ZONES.FRIDGE"],
"pollen_level": "AP.AIR_QUALITY.POLLEN_LEVEL",
"aroma_time_on": "AP.TITLES.AROMA_ON",
"aroma_time_off": "AP.TITLES.AROMA_OFF",
},
"climate": {
"air_conditioner": "GLOBALS.APPLIANCES_NAME.AC",