Compare commits
15 Commits
v0.7.3
...
v0.8.0-bet
Author | SHA1 | Date | |
---|---|---|---|
d963086dbf | |||
29238d3d08 | |||
a4ec3290ba | |||
d39deba973 | |||
fae4c4c879 | |||
617ea0f99a | |||
81676771c7 | |||
604cf1b3c6 | |||
9a65eaba77 | |||
e777fe1ec9 | |||
845adc75c9 | |||
17d4d14ead | |||
593d3912af | |||
aefe2cf88d | |||
146e710881 |
139
README.md
139
README.md
@ -1,18 +1,20 @@
|
||||
# Haier hOn
|
||||
[](https://hacs.xyz)
|
||||
[](https://github.com/Andre0512/hon/releases/latest)
|
||||
[](https://github.com/Andre0512/pyhOn)
|
||||
[](https://github.com/Andre0512/hon/blob/main/LICENSE)
|
||||
[](https://tooomm.github.io/github-release-stats/?username=Andre0512&repository=hon)
|
||||
Home Assistant integration for Haier hOn: support for Haier/Candy/Hoover home appliances like washing machines.
|
||||
Home Assistant integration for [Haier's mobile app hOn](https://hon-smarthome.com/).
|
||||
|
||||
## Supported Appliances
|
||||
- [Washing Machine](https://github.com/Andre0512/hon#washing-machine)
|
||||
- [Tumble Dryer](https://github.com/Andre0512/hon#tumble-dryer)
|
||||
- [Washer Dryer](https://github.com/Andre0512/hon#washer-dryer)
|
||||
- [Oven](https://github.com/Andre0512/hon#oven)
|
||||
- [Hob](https://github.com/Andre0512/hon#hob)
|
||||
- [Dish Washer](https://github.com/Andre0512/hon#dish-washer)
|
||||
- [Hob](https://github.com/Andre0512/hon#hob) [BETA]
|
||||
- [Air conditioner](https://github.com/Andre0512/hon#air-conditioner) [BETA]
|
||||
- [Fridge](https://github.com/Andre0512/hon#fridge) [BETA]
|
||||
|
||||
## Installation
|
||||
**Method 1:** [](https://my.home-assistant.io/redirect/hacs_repository/?owner=Andre0512&repository=hon&category=integration)
|
||||
@ -30,18 +32,6 @@ _Restart Home Assistant_
|
||||
**Method 2**: Settings > Devices & Services > Add Integration > **Haier hOn**
|
||||
_If the integration is not in the list, you need to clear the browser cache._
|
||||
|
||||
|
||||
## Supported Models
|
||||
Support was confirmed for these models. If a supported model is missing, please [add it with this form](https://forms.gle/bTSD8qFotdZFytbf8).
|
||||
- Haier WD90-B14TEAM5
|
||||
- Haier HD80-A3959
|
||||
- Haier HWO60SM2F3XH
|
||||
- Hoover H-WASH 500
|
||||
- Candy CIS633SCTTWIFI
|
||||
- Haier XIB 3B2SFS-80
|
||||
- Haier XIB 6B2D3FB
|
||||
- Hoover HSOT3161WG
|
||||
|
||||
## Supported Languages
|
||||
Translation of internal names like programs are available for all languages which are official supported by the hOn app:
|
||||
* 🇨🇳 Chinese
|
||||
@ -64,26 +54,50 @@ Translation of internal names like programs are available for all languages whic
|
||||
* 🇪🇸 Spanish
|
||||
* 🇹🇷 Turkish
|
||||
|
||||
## Examples
|
||||
### Washing Machine
|
||||

|
||||
|
||||
## 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 AD105S2SM3FA
|
||||
- Haier AS25PBAHRA
|
||||
- Haier AS25TADHRA-2
|
||||
- Haier AS35TADHRA-2
|
||||
- Haier EG9012B19SU1JD
|
||||
- Haier HD80-A3959
|
||||
- Haier HW90-B14TEAM5
|
||||
- Haier HW100-B14959U1
|
||||
- Haier HWD100-B14979
|
||||
- Haier HWO60SM2F3XH
|
||||
- Haier XIB 3B2SFS-80
|
||||
- Haier XIB 6B2D3FB
|
||||
- Candy CIS633SCTTWIFI
|
||||
- Candy CSOE C10DE-80
|
||||
- Candy ROE H9A3TCEX-S
|
||||
- Candy RPW41066BWMR/1-S
|
||||
- Hoover H-WASH 500
|
||||
- Hoover H-DRY 500
|
||||
- Hoover H7W4 48MBC-S
|
||||
- Hoover H9A3TCBEXS-S
|
||||
- Hoover HFB 6B2S3FX
|
||||
- Hoover HLE C10DCE-80
|
||||
- Hoover HSOT3161WG
|
||||
- Hoover HWPD 69AMBC/1-S
|
||||
- Hoover HWPS4954DAMR-11
|
||||
- Hoover NDE H10A2TCE-80
|
||||
- Hoover NDE H9A2TSBEXS-S
|
||||
- Hoover NDPHY10A2TCBEXSS
|
||||
|
||||
## Contribute
|
||||
Any kind of contribution is welcome!
|
||||
### Read out device data
|
||||
If you want to make a request for adding new appliances or additional attributes and don't want to use the command line, here is how you can read out your device data.
|
||||
For every device exists a hidden button which can be used to log all info of your appliance.
|
||||
1. Enable the "Log Device Info" button
|
||||
For every device exists a hidden button which can be used to log all infos of your appliance.
|
||||
1. Enable the "Show Device Info" button
|
||||
_This button can be found in the diagnostic section of your device or in the entity overview if "show disabled entities" is enabled._
|
||||
2. Press the button
|
||||
3. Go to Settings > System > Logs, click _load full logs_ and scroll down
|
||||
_The formatting is messy if you not load full logs_
|
||||
4. Here you can find all data which can be read out via the api
|
||||
```yaml
|
||||
data:
|
||||
appliance:
|
||||
applianceId: 12-34-56-78-90-ab#2022-10-25T19:47:11Z
|
||||
applianceModelId: 1569
|
||||
...
|
||||
```
|
||||
5. Copy this data and create a [new issue](https://github.com/Andre0512/hon/issues/new) with your request
|
||||
|
||||
2. Press the button to create a notification
|
||||
3. Open home assistant notifications and copy the message (Crtl+A, Ctrl+C)
|
||||
### Add appliances or additional attributes
|
||||
1. Install [pyhOn](https://github.com/Andre0512/pyhOn)
|
||||
```commandline
|
||||
@ -128,35 +142,51 @@ For every device exists a hidden button which can be used to log all info of you
|
||||
- If you need to implement some more logic, create a pull request to the underlying library. There we collect special requirements in the `appliances` directory.
|
||||
- Use [pyhOn's translate command](https://github.com/Andre0512/pyhOn#translation) to read out the official translations
|
||||
|
||||
## About this Repo
|
||||
The existing integrations missed some features from the app I liked to have in HomeAssistant.
|
||||
I tried to create a pull request, but in the structures of these existing repos, I find it hard to fit in my needs, so I basically rewrote everything.
|
||||
I moved the api related stuff into the package [pyhOn](https://github.com/Andre0512/pyhOn).
|
||||
## Special Thanks
|
||||
- to [@alexandre-leites](https://github.com/alexandre-leites), [@MiguelAngelLV](https://github.com/MiguelAngelLV) and [@drudgebg](https://github.com/drudgebg) for contributing early to this project and adding new integrations.
|
||||
- to [gvigroux/hon](https://github.com/gvigroux/hon), [signalize/hon-app-research](https://github.com/signalize/hon-app-research) and [slegars56/hon](https://github.com/slegars56/hon) for inspiring me to do this integration and for doing pioneer work on the hOn api.
|
||||
- to everyone who contributed, created an issue, gave this repo a star, and used this integration.
|
||||
- to the patience of my girlfriend as I work on this integration.
|
||||
|
||||
## Appliance Features
|
||||
|
||||
### Air conditioner
|
||||
#### Configs
|
||||
#### Controls
|
||||
| Name | Icon | Entity | Key |
|
||||
| --- | --- | --- | --- |
|
||||
| 10° Heating | `heat-wave` | `switch` | `settings.10degreeHeatingStatus` |
|
||||
| Air Conditioner | `air-conditioner` | `climate` | `settings` |
|
||||
| Echo | `account-voice` | `switch` | `settings.echoStatus` |
|
||||
| Eco Mode | | `switch` | `settings.ecoMode` |
|
||||
| Eco Pilot | `run` | `select` | `settings.humanSensingStatus` |
|
||||
| Health Mode | `medication-outline` | `switch` | `settings.healthMode` |
|
||||
| Mute | `volume-off` | `switch` | `settings.muteStatus` |
|
||||
| Program | | `select` | `startProgram.program` |
|
||||
| Rapid Mode | `run-fast` | `switch` | `settings.rapidMode` |
|
||||
| Screen Display | `monitor-small` | `switch` | `settings.screenDisplayStatus` |
|
||||
| Self Cleaning | `air-filter` | `switch` | `settings.selfCleaningStatus` |
|
||||
| Self Cleaning 56 | `air-filter` | `switch` | `settings.selfCleaning56Status` |
|
||||
| Silent Sleep | `bed` | `switch` | `settings.silentSleepStatus` |
|
||||
| Target Temperature | `thermometer` | `number` | `settings.tempSel` |
|
||||
#### Sensors
|
||||
| Name | Icon | Entity | Key |
|
||||
| --- | --- | --- | --- |
|
||||
| Air Temperature Outdoor | `thermometer` | `sensor` | `tempAirOutdoor` |
|
||||
| Ch2O Cleaning | | `binary_sensor` | `ch2oCleaningStatus` |
|
||||
| Coiler Temperature Indoor | `thermometer` | `sensor` | `tempCoilerIndoor` |
|
||||
| Coiler Temperature Outside | `thermometer` | `sensor` | `tempCoilerOutdoor` |
|
||||
| Defrost Temperature Outdoor | `thermometer` | `sensor` | `tempDefrostOutdoor` |
|
||||
| Filter Replacement | | `binary_sensor` | `filterChangeStatusLocal` |
|
||||
| In Air Temperature Outdoor | `thermometer` | `sensor` | `tempInAirOutdoor` |
|
||||
| Indoor Temperature | `thermometer` | `sensor` | `tempIndoor` |
|
||||
| Outdoor Temperature | `thermometer` | `sensor` | `tempOutdoor` |
|
||||
| Program | | `select` | `startProgram.program` |
|
||||
| Selected Temperature | `thermometer` | `sensor` | `tempSel` |
|
||||
|
||||
### Dish washer
|
||||
#### Controls
|
||||
| Name | Icon | Entity | Key |
|
||||
| --- | --- | --- | --- |
|
||||
| Buzzer Disabled | `volume-off` | `switch` | `settings.buzzerDisabled` |
|
||||
| Dish Washer | `dishwasher` | `switch` | `startProgram` / `stopProgram` |
|
||||
#### Configs
|
||||
| Name | Icon | Entity | Key |
|
||||
@ -170,6 +200,8 @@ I moved the api related stuff into the package [pyhOn](https://github.com/Andre0
|
||||
| Half Load | `fraction-one-half` | `switch` | `startProgram.halfLoad` |
|
||||
| Open Door | `door-open` | `switch` | `startProgram.openDoor` |
|
||||
| Program | | `select` | `startProgram.program` |
|
||||
| Remaining Time | `timer` | `select` | `startProgram.remainingTime` |
|
||||
| Temperature | `thermometer` | `select` | `startProgram.temp` |
|
||||
| Temperature | `thermometer` | `sensor` | `startProgram.temp` |
|
||||
| Three in One | `numeric-3-box-outline` | `switch` | `startProgram.threeInOne` |
|
||||
| Time | `timer` | `sensor` | `startProgram.remainingTime` |
|
||||
@ -235,6 +267,33 @@ I moved the api related stuff into the package [pyhOn](https://github.com/Andre0
|
||||
| Temperature | `thermometer` | `sensor` | `temp` |
|
||||
| Temperature Selected | `thermometer` | `sensor` | `tempSel` |
|
||||
|
||||
### Fridge
|
||||
#### Controls
|
||||
| Name | Icon | Entity | Key |
|
||||
| --- | --- | --- | --- |
|
||||
| Auto-Set Mode | `thermometer-auto` | `switch` | `settings.intelligenceMode` |
|
||||
| Freezer Temperature | `thermometer` | `number` | `settings.tempSelZ2` |
|
||||
| Fridge Temperature | `thermometer` | `number` | `settings.tempSelZ1` |
|
||||
| Super Cool | `snowflake` | `switch` | `settings.quickModeZ2` |
|
||||
| Super Freeze | `snowflake-variant` | `switch` | `settings.quickModeZ1` |
|
||||
#### Configs
|
||||
| Name | Icon | Entity | Key |
|
||||
| --- | --- | --- | --- |
|
||||
| Program | | `select` | `startProgram.program` |
|
||||
#### Sensors
|
||||
| Name | Icon | Entity | Key |
|
||||
| --- | --- | --- | --- |
|
||||
| Auto-Set Mode | `thermometer-auto` | `binary_sensor` | `intelligenceMode` |
|
||||
| Door Status Freezer | `fridge-top` | `binary_sensor` | `doorStatusZ1` |
|
||||
| Door Status Fridge | `fridge-bottom` | `binary_sensor` | `door2StatusZ1` |
|
||||
| Holiday Mode | `palm-tree` | `binary_sensor` | `holidayMode` |
|
||||
| Room Humidity | `water-percent` | `sensor` | `humidityEnv` |
|
||||
| Room Temperature | `home-thermometer-outline` | `sensor` | `tempEnv` |
|
||||
| Super Cool | `snowflake` | `binary_sensor` | `quickModeZ2` |
|
||||
| Super Freeze | `snowflake-variant` | `binary_sensor` | `quickModeZ1` |
|
||||
| Temperature Freezer | `snowflake-thermometer` | `sensor` | `tempZ2` |
|
||||
| Temperature Fridge | `thermometer` | `sensor` | `tempZ1` |
|
||||
|
||||
### Tumble dryer
|
||||
#### Controls
|
||||
| Name | Icon | Entity | Key |
|
||||
@ -285,7 +344,8 @@ I moved the api related stuff into the package [pyhOn](https://github.com/Andre0
|
||||
| Acqua Plus | `water-plus` | `switch` | `startProgram.acquaplus` |
|
||||
| Anti-Crease | `timer` | `switch` | `startProgram.antiCreaseTime` |
|
||||
| Anti-Crease | `timer` | `switch` | `startProgram.anticrease` |
|
||||
| Auto Dose | `cup` | `switch` | `startProgram.autoDetergentStatus` |
|
||||
| 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` |
|
||||
| Dry Time | | `number` | `startProgram.dryTime` |
|
||||
@ -296,7 +356,7 @@ I moved the api related stuff into the package [pyhOn](https://github.com/Andre0
|
||||
| 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` |
|
||||
| Keep Fresh | `refresh-circle` | `switch` | `startProgram.autoSoftenerStatus` |
|
||||
| Keep Fresh | `refresh-circle` | `switch` | `startProgram.permanentPressStatus` |
|
||||
| Liquid Detergent Dose | `cup-water` | `sensor` | `startProgram.liquidDetergentDose` |
|
||||
| Main Wash Time | `clock-start` | `number` | `startProgram.mainWashTime` |
|
||||
| Powder Detergent Dose | `cup` | `sensor` | `startProgram.powderDetergentDose` |
|
||||
@ -357,7 +417,8 @@ I moved the api related stuff into the package [pyhOn](https://github.com/Andre0
|
||||
| Name | Icon | Entity | Key |
|
||||
| --- | --- | --- | --- |
|
||||
| Acqua Plus | `water-plus` | `switch` | `startProgram.acquaplus` |
|
||||
| Auto Dose | `cup` | `switch` | `startProgram.autoDetergentStatus` |
|
||||
| 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` |
|
||||
| Energy Label | `lightning-bolt-circle` | `sensor` | `startProgram.energyLabel` |
|
||||
@ -365,7 +426,7 @@ I moved the api related stuff into the package [pyhOn](https://github.com/Andre0
|
||||
| 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` |
|
||||
| Keep Fresh | `refresh-circle` | `switch` | `startProgram.autoSoftenerStatus` |
|
||||
| Keep Fresh | `refresh-circle` | `switch` | `startProgram.permanentPressStatus` |
|
||||
| Liquid Detergent Dose | `cup-water` | `sensor` | `startProgram.liquidDetergentDose` |
|
||||
| Main Wash Time | `clock-start` | `number` | `startProgram.mainWashTime` |
|
||||
| Powder Detergent Dose | `cup` | `sensor` | `startProgram.powderDetergentDose` |
|
||||
|
BIN
assets/washing_machine.png
Normal file
BIN
assets/washing_machine.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 202 KiB |
@ -179,6 +179,70 @@ BINARY_SENSORS: dict[str, tuple[HonBinarySensorEntityDescription, ...]] = {
|
||||
translation_key="door_open",
|
||||
),
|
||||
),
|
||||
"AC": (
|
||||
HonBinarySensorEntityDescription(
|
||||
key="filterChangeStatusLocal",
|
||||
name="Filter Replacement",
|
||||
device_class=BinarySensorDeviceClass.PROBLEM,
|
||||
on_value="1",
|
||||
translation_key="filter_replacement",
|
||||
),
|
||||
HonBinarySensorEntityDescription(
|
||||
key="ch2oCleaningStatus",
|
||||
name="Ch2O Cleaning",
|
||||
on_value="1",
|
||||
),
|
||||
),
|
||||
"REF": (
|
||||
HonBinarySensorEntityDescription(
|
||||
key="quickModeZ2",
|
||||
name="Super Cool",
|
||||
icon="mdi:snowflake",
|
||||
device_class=BinarySensorDeviceClass.RUNNING,
|
||||
on_value="1",
|
||||
translation_key="super_cool",
|
||||
),
|
||||
HonBinarySensorEntityDescription(
|
||||
key="quickModeZ1",
|
||||
name="Super Freeze",
|
||||
icon="mdi:snowflake-variant",
|
||||
device_class=BinarySensorDeviceClass.RUNNING,
|
||||
on_value="1",
|
||||
translation_key="super_freeze",
|
||||
),
|
||||
HonBinarySensorEntityDescription(
|
||||
key="doorStatusZ1",
|
||||
name="Door Status Freezer",
|
||||
device_class=BinarySensorDeviceClass.DOOR,
|
||||
icon="mdi:fridge-top",
|
||||
on_value="1",
|
||||
translation_key="freezer_door",
|
||||
),
|
||||
HonBinarySensorEntityDescription(
|
||||
key="door2StatusZ1",
|
||||
name="Door Status Fridge",
|
||||
icon="mdi:fridge-bottom",
|
||||
device_class=BinarySensorDeviceClass.DOOR,
|
||||
on_value="1",
|
||||
translation_key="fridge_door",
|
||||
),
|
||||
HonBinarySensorEntityDescription(
|
||||
key="intelligenceMode",
|
||||
name="Auto-Set Mode",
|
||||
icon="mdi:thermometer-auto",
|
||||
device_class=BinarySensorDeviceClass.RUNNING,
|
||||
on_value="1",
|
||||
translation_key="auto_set",
|
||||
),
|
||||
HonBinarySensorEntityDescription(
|
||||
key="holidayMode",
|
||||
name="Holiday Mode",
|
||||
icon="mdi:palm-tree",
|
||||
device_class=BinarySensorDeviceClass.RUNNING,
|
||||
on_value="1",
|
||||
translation_key="holiday_mode",
|
||||
),
|
||||
),
|
||||
}
|
||||
|
||||
|
||||
@ -214,8 +278,6 @@ class HonBinarySensorEntity(HonEntity, BinarySensorEntity):
|
||||
def __init__(self, hass, coordinator, entry, device, description) -> None:
|
||||
super().__init__(hass, entry, coordinator, device)
|
||||
|
||||
self._coordinator = coordinator
|
||||
|
||||
self.entity_description = description
|
||||
self._attr_unique_id = f"{super().unique_id}{description.key}"
|
||||
|
||||
|
@ -1,14 +1,14 @@
|
||||
import logging
|
||||
import urllib
|
||||
from urllib.parse import quote
|
||||
|
||||
import pkg_resources
|
||||
|
||||
from homeassistant.components import persistent_notification
|
||||
from homeassistant.components.button import ButtonEntityDescription, ButtonEntity
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import EntityCategory
|
||||
from pyhon import Hon
|
||||
from pyhon.appliance import HonAppliance
|
||||
|
||||
from homeassistant.const import EntityCategory
|
||||
from .const import DOMAIN
|
||||
from .hon import HonCoordinator, HonEntity
|
||||
|
||||
@ -56,8 +56,6 @@ class HonButtonEntity(HonEntity, ButtonEntity):
|
||||
) -> None:
|
||||
super().__init__(hass, entry, coordinator, device)
|
||||
|
||||
self._coordinator = coordinator
|
||||
self._device = device
|
||||
self.entity_description = description
|
||||
self._attr_unique_id = f"{super().unique_id}{description.key}"
|
||||
|
||||
@ -67,21 +65,28 @@ class HonButtonEntity(HonEntity, ButtonEntity):
|
||||
@property
|
||||
def available(self) -> bool:
|
||||
"""Return True if entity is available."""
|
||||
return super().available and self._device.get("remoteCtrValid") == "1"
|
||||
return (
|
||||
super().available
|
||||
and self._device.get("remoteCtrValid", "1") == "1"
|
||||
and self._device.get("attributes.lastConnEvent.category") != "DISCONNECTED"
|
||||
)
|
||||
|
||||
|
||||
class HonFeatureRequestButton(HonEntity, ButtonEntity):
|
||||
def __init__(self, hass, coordinator, entry, device: HonAppliance) -> None:
|
||||
super().__init__(hass, entry, coordinator, device)
|
||||
|
||||
self._device = device
|
||||
self._attr_unique_id = f"{super().unique_id}_log_device_info"
|
||||
self._attr_icon = "mdi:information"
|
||||
self._attr_name = "Log Device Info"
|
||||
self._attr_name = "Show Device Info"
|
||||
self._attr_entity_category = EntityCategory.DIAGNOSTIC
|
||||
self._attr_entity_registry_enabled_default = False
|
||||
|
||||
async def async_press(self) -> None:
|
||||
pyhon_version = pkg_resources.get_distribution("pyhon").version
|
||||
info = f"Device Info:\n{self._device.diagnose()}pyhOnVersion: {pyhon_version}"
|
||||
_LOGGER.error(info)
|
||||
info = f"{self._device.diagnose()}pyhOnVersion: {pyhon_version}"
|
||||
title = f"{self._device.nick_name} Device Info"
|
||||
persistent_notification.create(
|
||||
self._hass, f"````\n```\n{info}\n```\n````", title
|
||||
)
|
||||
_LOGGER.info(info.replace(" ", "\u200B "))
|
||||
|
@ -1,5 +1,8 @@
|
||||
import logging
|
||||
|
||||
from pyhon import Hon
|
||||
from pyhon.appliance import HonAppliance
|
||||
|
||||
from homeassistant.components.climate import (
|
||||
ClimateEntity,
|
||||
ClimateEntityDescription,
|
||||
@ -20,16 +23,20 @@ from homeassistant.const import (
|
||||
TEMP_CELSIUS,
|
||||
)
|
||||
from homeassistant.core import callback
|
||||
from pyhon import Hon
|
||||
from pyhon.appliance import HonAppliance
|
||||
|
||||
from .const import HON_HVAC_MODE, HON_FAN, HON_HVAC_PROGRAM, DOMAIN
|
||||
from .hon import HonEntity, HonCoordinator
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
CLIMATES = {
|
||||
"AC": (ClimateEntityDescription(key="startProgram", icon="mdi:air-conditioner"),),
|
||||
"AC": (
|
||||
ClimateEntityDescription(
|
||||
key="settings",
|
||||
name="Air Conditioner",
|
||||
icon="mdi:air-conditioner",
|
||||
translation_key="air_conditioner",
|
||||
),
|
||||
),
|
||||
}
|
||||
|
||||
|
||||
@ -49,8 +56,8 @@ async def async_setup_entry(hass, entry: ConfigEntry, async_add_entities) -> Non
|
||||
for description in descriptions:
|
||||
if description.key not in list(device.commands):
|
||||
continue
|
||||
appliances.extend(
|
||||
[HonClimateEntity(hass, coordinator, entry, device, description)]
|
||||
appliances.append(
|
||||
HonClimateEntity(hass, coordinator, entry, device, description)
|
||||
)
|
||||
async_add_entities(appliances)
|
||||
|
||||
@ -60,10 +67,7 @@ class HonClimateEntity(HonEntity, ClimateEntity):
|
||||
self, hass, coordinator, entry, device: HonAppliance, description
|
||||
) -> None:
|
||||
super().__init__(hass, entry, coordinator, device)
|
||||
self._coordinator = coordinator
|
||||
self._device = device
|
||||
self.entity_description = description
|
||||
self._hass = hass
|
||||
self._attr_unique_id = f"{super().unique_id}climate"
|
||||
|
||||
self._attr_temperature_unit = TEMP_CELSIUS
|
||||
@ -89,7 +93,7 @@ class HonClimateEntity(HonEntity, ClimateEntity):
|
||||
| ClimateEntityFeature.SWING_MODE
|
||||
)
|
||||
|
||||
self._handle_coordinator_update()
|
||||
self._handle_coordinator_update(update=False)
|
||||
|
||||
async def async_set_hvac_mode(self, hvac_mode):
|
||||
if hvac_mode == HVACMode.OFF:
|
||||
@ -100,6 +104,7 @@ class HonClimateEntity(HonEntity, ClimateEntity):
|
||||
]
|
||||
await self._device.commands["startProgram"].send()
|
||||
self._attr_hvac_mode = hvac_mode
|
||||
self.async_write_ha_state()
|
||||
|
||||
async def async_set_fan_mode(self, fan_mode):
|
||||
mode_number = list(HON_FAN.values()).index(fan_mode)
|
||||
@ -107,6 +112,7 @@ class HonClimateEntity(HonEntity, ClimateEntity):
|
||||
mode_number
|
||||
]
|
||||
await self._device.commands["settings"].send()
|
||||
self.async_write_ha_state()
|
||||
|
||||
async def async_set_swing_mode(self, swing_mode):
|
||||
horizontal = self._device.settings["settings.windDirectionHorizontal"]
|
||||
@ -121,29 +127,29 @@ class HonClimateEntity(HonEntity, ClimateEntity):
|
||||
horizontal.value = "0"
|
||||
self._attr_swing_mode = swing_mode
|
||||
await self._device.commands["settings"].send()
|
||||
self.async_write_ha_state()
|
||||
|
||||
async def async_set_temperature(self, **kwargs):
|
||||
if (temperature := kwargs.get(ATTR_TEMPERATURE)) is None:
|
||||
return False
|
||||
self._device.settings["settings.selTemp"].value = temperature
|
||||
self._device.settings["settings.tempSel"].value = str(int(temperature))
|
||||
await self._device.commands["settings"].send()
|
||||
self.async_write_ha_state()
|
||||
|
||||
@callback
|
||||
def _handle_coordinator_update(self, update=True) -> None:
|
||||
self._attr_target_temperature = int(float(self._device.get("tempSel")))
|
||||
self._attr_current_temperature = float(self._device.get("tempIndoor"))
|
||||
self._attr_max_temp = self._device.settings["settings.tempSel"].max
|
||||
self._attr_min_temp = self._device.settings["settings.tempSel"].min
|
||||
|
||||
if self._device.get("onOffStatus") == "0":
|
||||
self._attr_hvac_mode = HVACMode.OFF
|
||||
else:
|
||||
self._attr_hvac_mode = HON_HVAC_MODE[self._device.get("machMode") or "0"]
|
||||
|
||||
self._attr_fan_mode = HON_FAN[self._device.settings["settings.windSpeed"].value]
|
||||
self._attr_fan_mode = HON_FAN[self._device.get("windSpeed")]
|
||||
|
||||
horizontal = self._device.settings["settings.windDirectionHorizontal"]
|
||||
vertical = self._device.settings["settings.windDirectionVertical"]
|
||||
horizontal = self._device.get("windDirectionHorizontal")
|
||||
vertical = self._device.get("windDirectionVertical")
|
||||
if horizontal == "7" and vertical == "8":
|
||||
self._attr_swing_mode = SWING_BOTH
|
||||
elif horizontal == "7":
|
||||
@ -152,3 +158,5 @@ class HonClimateEntity(HonEntity, ClimateEntity):
|
||||
self._attr_swing_mode = SWING_VERTICAL
|
||||
else:
|
||||
self._attr_swing_mode = SWING_OFF
|
||||
if update:
|
||||
self.async_write_ha_state()
|
||||
|
@ -4,7 +4,6 @@ import voluptuous as vol
|
||||
|
||||
from homeassistant import config_entries
|
||||
from homeassistant.const import CONF_EMAIL, CONF_PASSWORD
|
||||
|
||||
from .const import DOMAIN
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
@ -21,7 +21,7 @@ PLATFORMS = [
|
||||
HON_HVAC_MODE = {
|
||||
"0": HVACMode.AUTO,
|
||||
"1": HVACMode.COOL,
|
||||
"2": HVACMode.COOL,
|
||||
"2": HVACMode.DRY,
|
||||
"3": HVACMode.DRY,
|
||||
"4": HVACMode.HEAT,
|
||||
"5": HVACMode.FAN_ONLY,
|
||||
@ -180,50 +180,6 @@ AC_HUMAN_SENSE = {
|
||||
"2": "AC.PROGRAM_DETAIL.FOLLOW_TOUCH",
|
||||
}
|
||||
|
||||
TUMBLE_DRYER_PROGRAMS = [
|
||||
"hqd_baby_care"
|
||||
"hqd_bath_towel"
|
||||
"hqd_bed_sheets"
|
||||
"hqd_bulky"
|
||||
"hqd_casual"
|
||||
"hqd_cold_wind_30"
|
||||
"hqd_cold_wind_timing"
|
||||
"hqd_cotton"
|
||||
"hqd_curtain"
|
||||
"hqd_delicate"
|
||||
"hqd_diaper"
|
||||
"hqd_duvet"
|
||||
"hqd_feather"
|
||||
"hqd_hot_wind_timing"
|
||||
"hqd_hygienic"
|
||||
"hqd_i_refresh"
|
||||
"hqd_i_refresh_pro"
|
||||
"hqd_jacket"
|
||||
"hqd_jeans"
|
||||
"hqd_luxury"
|
||||
"hqd_mix"
|
||||
"hqd_night_dry"
|
||||
"hqd_outdoor"
|
||||
"hqd_precious_cure"
|
||||
"hqd_quick_20"
|
||||
"hqd_quick_30"
|
||||
"hqd_quick_dry"
|
||||
"hqd_quilt"
|
||||
"hqd_refresh"
|
||||
"hqd_school_uniform"
|
||||
"hqd_shirt"
|
||||
"hqd_shoes"
|
||||
"hqd_silk"
|
||||
"hqd_sports"
|
||||
"hqd_synthetics"
|
||||
"hqd_timer"
|
||||
"hqd_towel"
|
||||
"hqd_underwear"
|
||||
"hqd_warm_up"
|
||||
"hqd_wool"
|
||||
"hqd_working_suit"
|
||||
]
|
||||
|
||||
PROGRAMS_TD = [
|
||||
"active_dry",
|
||||
"allergy_care",
|
||||
|
@ -6,7 +6,6 @@ from pyhon.appliance import HonAppliance
|
||||
from homeassistant.helpers.entity import DeviceInfo
|
||||
from homeassistant.helpers.update_coordinator import CoordinatorEntity
|
||||
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator
|
||||
|
||||
from .const import DOMAIN
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
@ -20,6 +19,7 @@ class HonEntity(CoordinatorEntity):
|
||||
|
||||
self._hon = hass.data[DOMAIN][entry.unique_id]
|
||||
self._hass = hass
|
||||
self._coordinator = coordinator
|
||||
self._device = device
|
||||
|
||||
self._attr_unique_id = self._device.unique_id
|
||||
|
@ -6,6 +6,6 @@
|
||||
"documentation": "https://github.com/Andre0512/hon/",
|
||||
"iot_class": "cloud_polling",
|
||||
"issue_tracker": "https://github.com/Andre0512/hon/issues",
|
||||
"requirements": ["pyhOn==0.10.6"],
|
||||
"version": "0.7.3"
|
||||
"requirements": ["pyhOn==0.10.9"],
|
||||
"version": "0.8.0-beta.4"
|
||||
}
|
||||
|
@ -1,10 +1,5 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from pyhon import Hon
|
||||
from pyhon.parameter.base import HonParameter
|
||||
from pyhon.parameter.fixed import HonParameterFixed
|
||||
from pyhon.parameter.range import HonParameterRange
|
||||
|
||||
from homeassistant.components.number import (
|
||||
NumberEntity,
|
||||
NumberEntityDescription,
|
||||
@ -13,6 +8,10 @@ from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import UnitOfTime, UnitOfTemperature
|
||||
from homeassistant.core import callback
|
||||
from homeassistant.helpers.entity import EntityCategory
|
||||
from pyhon import Hon
|
||||
from pyhon.parameter.base import HonParameter
|
||||
from pyhon.parameter.fixed import HonParameterFixed
|
||||
from pyhon.parameter.range import HonParameterRange
|
||||
|
||||
from .const import DOMAIN
|
||||
from .hon import HonEntity, HonCoordinator, unique_entities
|
||||
@ -148,12 +147,27 @@ NUMBERS: dict[str, tuple[NumberEntityDescription, ...]] = {
|
||||
NumberEntityDescription(
|
||||
key="settings.tempSel",
|
||||
name="Target Temperature",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
icon="mdi:thermometer",
|
||||
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||
translation_key="target_temperature",
|
||||
),
|
||||
),
|
||||
"REF": (
|
||||
NumberEntityDescription(
|
||||
key="settings.tempSelZ1",
|
||||
name="Fridge Temperature",
|
||||
icon="mdi:thermometer",
|
||||
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||
translation_key="fridge_temp_sel",
|
||||
),
|
||||
NumberEntityDescription(
|
||||
key="settings.tempSelZ2",
|
||||
name="Freezer Temperature",
|
||||
icon="mdi:thermometer",
|
||||
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||
translation_key="freezer_temp_sel",
|
||||
),
|
||||
),
|
||||
}
|
||||
|
||||
NUMBERS["WD"] = unique_entities(NUMBERS["WM"], NUMBERS["TD"])
|
||||
@ -186,8 +200,6 @@ class HonNumberEntity(HonEntity, NumberEntity):
|
||||
def __init__(self, hass, coordinator, entry, device, description) -> None:
|
||||
super().__init__(hass, entry, coordinator, device)
|
||||
|
||||
self._coordinator = coordinator
|
||||
self._device = device
|
||||
self._data = device.settings[description.key]
|
||||
self.entity_description = description
|
||||
self._attr_unique_id = f"{super().unique_id}{description.key}"
|
||||
@ -207,8 +219,8 @@ class HonNumberEntity(HonEntity, NumberEntity):
|
||||
isinstance(setting, HonParameter) or isinstance(setting, HonParameterFixed)
|
||||
):
|
||||
setting.value = value
|
||||
if self._device.appliance_type in ["AC"]:
|
||||
self._device.commands["startProgram"].send()
|
||||
if "settings." in self.entity_description.key:
|
||||
await self._device.commands["settings"].send()
|
||||
await self.coordinator.async_refresh()
|
||||
|
||||
@callback
|
||||
@ -220,3 +232,16 @@ class HonNumberEntity(HonEntity, NumberEntity):
|
||||
self._attr_native_step = setting.step
|
||||
self._attr_native_value = setting.value
|
||||
self.async_write_ha_state()
|
||||
|
||||
@property
|
||||
def available(self) -> bool:
|
||||
"""Return True if entity is available."""
|
||||
if self.entity_category == EntityCategory.CONFIG:
|
||||
return super().available
|
||||
else:
|
||||
return (
|
||||
super().available
|
||||
and self._device.get("remoteCtrValid", "1") == "1"
|
||||
and self._device.get("attributes.lastConnEvent.category")
|
||||
!= "DISCONNECTED"
|
||||
)
|
||||
|
@ -1,7 +1,6 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import logging
|
||||
import time
|
||||
|
||||
from pyhon import Hon
|
||||
from pyhon.appliance import HonAppliance
|
||||
@ -12,7 +11,6 @@ from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import UnitOfTemperature, UnitOfTime, REVOLUTIONS_PER_MINUTE
|
||||
from homeassistant.core import callback
|
||||
from homeassistant.helpers.entity import EntityCategory
|
||||
|
||||
from .const import DOMAIN
|
||||
from .hon import HonEntity, HonCoordinator, unique_entities
|
||||
|
||||
@ -89,22 +87,44 @@ SELECTS = {
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
translation_key="programs_dw",
|
||||
),
|
||||
SelectEntityDescription(
|
||||
key="startProgram.temp",
|
||||
name="Temperature",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
icon="mdi:thermometer",
|
||||
unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||
translation_key="temperature",
|
||||
),
|
||||
SelectEntityDescription(
|
||||
key="startProgram.remainingTime",
|
||||
name="Remaining Time",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
icon="mdi:timer",
|
||||
unit_of_measurement=UnitOfTime.MINUTES,
|
||||
translation_key="remaining_time",
|
||||
),
|
||||
),
|
||||
"AC": (
|
||||
SelectEntityDescription(
|
||||
key="startProgram.program",
|
||||
name="Program",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
translation_key="programs_ac",
|
||||
),
|
||||
SelectEntityDescription(
|
||||
key="settings.humanSensingStatus",
|
||||
name="Eco Pilot",
|
||||
icon="mdi:run",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
translation_key="eco_pilot",
|
||||
),
|
||||
),
|
||||
"REF": (
|
||||
SelectEntityDescription(
|
||||
key="startProgram.program",
|
||||
name="Program",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
translation_key="programs_ref",
|
||||
),
|
||||
),
|
||||
}
|
||||
|
||||
SELECTS["WD"] = unique_entities(SELECTS["WM"], SELECTS["TD"])
|
||||
@ -138,15 +158,15 @@ class HonSelectEntity(HonEntity, SelectEntity):
|
||||
) -> None:
|
||||
super().__init__(hass, entry, coordinator, device)
|
||||
|
||||
self._coordinator = coordinator
|
||||
self._device = device
|
||||
self.entity_description = description
|
||||
self._attr_unique_id = f"{super().unique_id}{description.key}"
|
||||
|
||||
if not isinstance(self._device.settings[description.key], HonParameterFixed):
|
||||
self._attr_options: list[str] = device.settings[description.key].values
|
||||
if not (setting := self._device.settings.get(description.key)):
|
||||
self._attr_options: list[str] = []
|
||||
elif not isinstance(setting, HonParameterFixed):
|
||||
self._attr_options: list[str] = setting.values
|
||||
else:
|
||||
self._attr_options: list[str] = [device.settings[description.key].value]
|
||||
self._attr_options: list[str] = [setting.value]
|
||||
|
||||
@property
|
||||
def current_option(self) -> str | None:
|
||||
@ -157,8 +177,10 @@ class HonSelectEntity(HonEntity, SelectEntity):
|
||||
|
||||
async def async_select_option(self, option: str) -> None:
|
||||
self._device.settings[self.entity_description.key].value = option
|
||||
if self._device.appliance_type in ["AC"]:
|
||||
self._device.commands["startProgram"].send()
|
||||
if "settings." in self.entity_description.key:
|
||||
await self._device.commands["settings"].send()
|
||||
elif self._device.appliance_type in ["AC"]:
|
||||
await self._device.commands["startProgram"].send()
|
||||
await self.coordinator.async_refresh()
|
||||
|
||||
@callback
|
||||
@ -173,3 +195,16 @@ class HonSelectEntity(HonEntity, SelectEntity):
|
||||
self._attr_options: list[str] = setting.values
|
||||
self._attr_native_value = setting.value
|
||||
self.async_write_ha_state()
|
||||
|
||||
@property
|
||||
def available(self) -> bool:
|
||||
"""Return True if entity is available."""
|
||||
if self.entity_category == EntityCategory.CONFIG:
|
||||
return super().available
|
||||
else:
|
||||
return (
|
||||
super().available
|
||||
and self._device.get("remoteCtrValid", "1") == "1"
|
||||
and self._device.get("attributes.lastConnEvent.category")
|
||||
!= "DISCONNECTED"
|
||||
)
|
||||
|
@ -9,6 +9,7 @@ from homeassistant.components.sensor import (
|
||||
SensorEntityDescription,
|
||||
)
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import PERCENTAGE
|
||||
from homeassistant.const import (
|
||||
REVOLUTIONS_PER_MINUTE,
|
||||
UnitOfEnergy,
|
||||
@ -21,8 +22,6 @@ from homeassistant.const import (
|
||||
from homeassistant.core import callback
|
||||
from homeassistant.helpers.entity import EntityCategory
|
||||
from homeassistant.helpers.typing import StateType
|
||||
from homeassistant.const import PERCENTAGE
|
||||
|
||||
from . import const
|
||||
from .const import DOMAIN
|
||||
from .hon import HonCoordinator, HonEntity, unique_entities
|
||||
@ -400,6 +399,110 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
|
||||
options=list(const.DISHWASHER_PR_PHASE),
|
||||
),
|
||||
),
|
||||
"AC": (
|
||||
SensorEntityDescription(
|
||||
key="tempAirOutdoor",
|
||||
name="Air Temperature Outdoor",
|
||||
icon="mdi:thermometer",
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
device_class=SensorDeviceClass.TEMPERATURE,
|
||||
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||
),
|
||||
SensorEntityDescription(
|
||||
key="tempCoilerIndoor",
|
||||
name="Coiler Temperature Indoor",
|
||||
icon="mdi:thermometer",
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
device_class=SensorDeviceClass.TEMPERATURE,
|
||||
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||
),
|
||||
SensorEntityDescription(
|
||||
key="tempCoilerOutdoor",
|
||||
name="Coiler Temperature Outside",
|
||||
icon="mdi:thermometer",
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
device_class=SensorDeviceClass.TEMPERATURE,
|
||||
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||
),
|
||||
SensorEntityDescription(
|
||||
key="tempDefrostOutdoor",
|
||||
name="Defrost Temperature Outdoor",
|
||||
icon="mdi:thermometer",
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
device_class=SensorDeviceClass.TEMPERATURE,
|
||||
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||
),
|
||||
SensorEntityDescription(
|
||||
key="tempInAirOutdoor",
|
||||
name="In Air Temperature Outdoor",
|
||||
icon="mdi:thermometer",
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
device_class=SensorDeviceClass.TEMPERATURE,
|
||||
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||
),
|
||||
SensorEntityDescription(
|
||||
key="tempIndoor",
|
||||
name="Indoor Temperature",
|
||||
icon="mdi:thermometer",
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
device_class=SensorDeviceClass.TEMPERATURE,
|
||||
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||
),
|
||||
SensorEntityDescription(
|
||||
key="tempOutdoor",
|
||||
name="Outdoor Temperature",
|
||||
icon="mdi:thermometer",
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
device_class=SensorDeviceClass.TEMPERATURE,
|
||||
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||
),
|
||||
SensorEntityDescription(
|
||||
key="tempSel",
|
||||
name="Selected Temperature",
|
||||
icon="mdi:thermometer",
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
device_class=SensorDeviceClass.TEMPERATURE,
|
||||
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||
),
|
||||
),
|
||||
"REF": (
|
||||
SensorEntityDescription(
|
||||
key="humidityEnv",
|
||||
name="Room Humidity",
|
||||
icon="mdi:water-percent",
|
||||
device_class=SensorDeviceClass.HUMIDITY,
|
||||
native_unit_of_measurement=PERCENTAGE,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
translation_key="humidity",
|
||||
),
|
||||
SensorEntityDescription(
|
||||
key="tempEnv",
|
||||
name="Room Temperature",
|
||||
icon="mdi:home-thermometer-outline",
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
device_class=SensorDeviceClass.TEMPERATURE,
|
||||
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||
translation_key="room_temperature",
|
||||
),
|
||||
SensorEntityDescription(
|
||||
key="tempZ1",
|
||||
name="Temperature Fridge",
|
||||
icon="mdi:thermometer",
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
device_class=SensorDeviceClass.TEMPERATURE,
|
||||
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||
translation_key="fridge_temp",
|
||||
),
|
||||
SensorEntityDescription(
|
||||
key="tempZ2",
|
||||
name="Temperature Freezer",
|
||||
icon="mdi:snowflake-thermometer",
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
device_class=SensorDeviceClass.TEMPERATURE,
|
||||
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||
translation_key="freezer_temp",
|
||||
),
|
||||
),
|
||||
}
|
||||
SENSORS["WD"] = unique_entities(SENSORS["WM"], SENSORS["TD"])
|
||||
|
||||
@ -433,8 +536,6 @@ class HonSensorEntity(HonEntity, SensorEntity):
|
||||
def __init__(self, hass, coordinator, entry, device, description) -> None:
|
||||
super().__init__(hass, entry, coordinator, device)
|
||||
|
||||
self._coordinator = coordinator
|
||||
|
||||
self.entity_description = description
|
||||
self._attr_unique_id = f"{super().unique_id}{description.key}"
|
||||
|
||||
|
@ -2,13 +2,14 @@ import logging
|
||||
from dataclasses import dataclass
|
||||
from typing import Any
|
||||
|
||||
from homeassistant.components.switch import SwitchEntityDescription, SwitchEntity
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import EntityCategory
|
||||
from pyhon import Hon
|
||||
from pyhon.appliance import HonAppliance
|
||||
from pyhon.parameter.range import HonParameterRange
|
||||
|
||||
from homeassistant.components.switch import SwitchEntityDescription, SwitchEntity
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import EntityCategory
|
||||
from homeassistant.core import callback
|
||||
from .const import DOMAIN
|
||||
from .hon import HonCoordinator, HonEntity, unique_entities
|
||||
|
||||
@ -19,6 +20,7 @@ _LOGGER = logging.getLogger(__name__)
|
||||
class HonSwitchEntityDescriptionMixin:
|
||||
turn_on_key: str = ""
|
||||
turn_off_key: str = ""
|
||||
status_key: str = ""
|
||||
|
||||
|
||||
@dataclass
|
||||
@ -61,18 +63,25 @@ SWITCHES: dict[str, tuple[HonSwitchEntityDescription, ...]] = {
|
||||
translation_key="prewash",
|
||||
),
|
||||
HonSwitchEntityDescription(
|
||||
key="startProgram.autoSoftenerStatus",
|
||||
key="startProgram.permanentPressStatus",
|
||||
name="Keep Fresh",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
icon="mdi:refresh-circle",
|
||||
translation_key="keep_fresh",
|
||||
),
|
||||
HonSwitchEntityDescription(
|
||||
key="startProgram.autoSoftenerStatus",
|
||||
name="Auto Dose Softener",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
icon="mdi:teddy-bear",
|
||||
translation_key="auto_dose_softener",
|
||||
),
|
||||
HonSwitchEntityDescription(
|
||||
key="startProgram.autoDetergentStatus",
|
||||
name="Auto Dose",
|
||||
name="Auto Dose Detergent",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
icon="mdi:cup",
|
||||
translation_key="auto_dose",
|
||||
translation_key="auto_dose_detergent",
|
||||
),
|
||||
HonSwitchEntityDescription(
|
||||
key="startProgram.acquaplus",
|
||||
@ -234,75 +243,99 @@ SWITCHES: dict[str, tuple[HonSwitchEntityDescription, ...]] = {
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
translation_key="add_dish",
|
||||
),
|
||||
HonSwitchEntityDescription(
|
||||
key="settings.buzzerDisabled",
|
||||
name="Buzzer Disabled",
|
||||
icon="mdi:volume-off",
|
||||
translation_key="buzzer",
|
||||
),
|
||||
),
|
||||
"AC": (
|
||||
HonSwitchEntityDescription(
|
||||
key="settings.10degreeHeatingStatus",
|
||||
status_key="10degreeHeatingStatus",
|
||||
name="10° Heating",
|
||||
icon="mdi:heat-wave",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
translation_key="10_degree_heating",
|
||||
),
|
||||
HonSwitchEntityDescription(
|
||||
key="settings.echoStatus",
|
||||
status_key="echoStatus",
|
||||
name="Echo",
|
||||
icon="mdi:account-voice",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
),
|
||||
HonSwitchEntityDescription(
|
||||
key="settings.ecoMode",
|
||||
name="Eco Mode",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
translation_key="eco_mode",
|
||||
),
|
||||
HonSwitchEntityDescription(
|
||||
key="settings.healthMode",
|
||||
status_key="healthMode",
|
||||
name="Health Mode",
|
||||
icon="mdi:medication-outline",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
),
|
||||
HonSwitchEntityDescription(
|
||||
key="settings.muteStatus",
|
||||
status_key="muteStatus",
|
||||
name="Mute",
|
||||
icon="mdi:volume-off",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
translation_key="mute_mode",
|
||||
),
|
||||
HonSwitchEntityDescription(
|
||||
key="settings.rapidMode",
|
||||
status_key="rapidMode",
|
||||
name="Rapid Mode",
|
||||
icon="mdi:run-fast",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
translation_key="rapid_mode",
|
||||
),
|
||||
HonSwitchEntityDescription(
|
||||
key="settings.screenDisplayStatus",
|
||||
status_key="screenDisplayStatus",
|
||||
name="Screen Display",
|
||||
icon="mdi:monitor-small",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
),
|
||||
HonSwitchEntityDescription(
|
||||
key="settings.selfCleaning56Status",
|
||||
name="Self Cleaning 56",
|
||||
icon="mdi:air-filter",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
translation_key="self_clean_56",
|
||||
),
|
||||
HonSwitchEntityDescription(
|
||||
key="settings.selfCleaningStatus",
|
||||
status_key="selfCleaningStatus",
|
||||
name="Self Cleaning",
|
||||
icon="mdi:air-filter",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
translation_key="self_clean",
|
||||
),
|
||||
HonSwitchEntityDescription(
|
||||
key="settings.silentSleepStatus",
|
||||
status_key="silentSleepStatus",
|
||||
name="Silent Sleep",
|
||||
icon="mdi:bed",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
translation_key="silent_mode",
|
||||
),
|
||||
),
|
||||
"REF": (
|
||||
HonSwitchEntityDescription(
|
||||
key="settings.intelligenceMode",
|
||||
name="Auto-Set Mode",
|
||||
icon="mdi:thermometer-auto",
|
||||
translation_key="auto_set",
|
||||
),
|
||||
HonSwitchEntityDescription(
|
||||
key="settings.quickModeZ1",
|
||||
name="Super Freeze",
|
||||
icon="mdi:snowflake-variant",
|
||||
translation_key="super_freeze",
|
||||
),
|
||||
HonSwitchEntityDescription(
|
||||
key="settings.quickModeZ2",
|
||||
name="Super Cool",
|
||||
icon="mdi:snowflake",
|
||||
translation_key="super_cool",
|
||||
),
|
||||
),
|
||||
}
|
||||
|
||||
SWITCHES["WD"] = unique_entities(SWITCHES["WD"], SWITCHES["WM"])
|
||||
@ -354,8 +387,7 @@ class HonSwitchEntity(HonEntity, SwitchEntity):
|
||||
description: HonSwitchEntityDescription,
|
||||
) -> None:
|
||||
super().__init__(hass, entry, coordinator, device)
|
||||
self._coordinator = coordinator
|
||||
self._device = device
|
||||
|
||||
self.entity_description = description
|
||||
self._attr_unique_id = f"{super().unique_id}{description.key}"
|
||||
|
||||
@ -369,30 +401,38 @@ class HonSwitchEntity(HonEntity, SwitchEntity):
|
||||
or hasattr(setting, "min")
|
||||
and setting.value != setting.min
|
||||
)
|
||||
elif self.entity_description.status_key:
|
||||
return self._device.get(self.entity_description.status_key, "0") == "1"
|
||||
return self._device.get(self.entity_description.key, False)
|
||||
|
||||
async def async_turn_on(self, **kwargs: Any) -> None:
|
||||
if self.entity_category == EntityCategory.CONFIG:
|
||||
if (
|
||||
self.entity_category == EntityCategory.CONFIG
|
||||
or "settings." in self.entity_description.key
|
||||
):
|
||||
setting = self._device.settings[self.entity_description.key]
|
||||
setting.value = (
|
||||
setting.max if isinstance(setting, HonParameterRange) else "1"
|
||||
)
|
||||
self.async_write_ha_state()
|
||||
if self._device.appliance_type in ["AC"]:
|
||||
self._device.commands["startProgram"].send()
|
||||
if "settings." in self.entity_description.key:
|
||||
await self._device.commands["settings"].send()
|
||||
await self.coordinator.async_refresh()
|
||||
else:
|
||||
await self._device.commands[self.entity_description.turn_on_key].send()
|
||||
|
||||
async def async_turn_off(self, **kwargs: Any) -> None:
|
||||
if self.entity_category == EntityCategory.CONFIG:
|
||||
if (
|
||||
self.entity_category == EntityCategory.CONFIG
|
||||
or "settings." in self.entity_description.key
|
||||
):
|
||||
setting = self._device.settings[self.entity_description.key]
|
||||
setting.value = (
|
||||
setting.min if isinstance(setting, HonParameterRange) else "0"
|
||||
)
|
||||
self.async_write_ha_state()
|
||||
if self._device.appliance_type in ["AC"]:
|
||||
self._device.commands["startProgram"].send()
|
||||
if "settings." in self.entity_description.key:
|
||||
await self._device.commands["settings"].send()
|
||||
await self.coordinator.async_refresh()
|
||||
else:
|
||||
await self._device.commands[self.entity_description.turn_off_key].send()
|
||||
@ -403,4 +443,17 @@ class HonSwitchEntity(HonEntity, SwitchEntity):
|
||||
if self.entity_category == EntityCategory.CONFIG:
|
||||
return super().available
|
||||
else:
|
||||
return super().available and self._device.get("remoteCtrValid") == "1"
|
||||
return (
|
||||
super().available
|
||||
and self._device.get("remoteCtrValid", "1") == "1"
|
||||
and self._device.get("attributes.lastConnEvent.category")
|
||||
!= "DISCONNECTED"
|
||||
)
|
||||
|
||||
@callback
|
||||
def _handle_coordinator_update(self):
|
||||
if not self.entity_description.status_key:
|
||||
return
|
||||
value = self._device.get(self.entity_description.status_key, "0")
|
||||
self._attr_state = value == "1"
|
||||
self.async_write_ha_state()
|
||||
|
@ -307,6 +307,18 @@
|
||||
"xxl_load": "XXL náplň",
|
||||
"zoom_59": "Zoom 59"
|
||||
}
|
||||
},
|
||||
"room_temperature": {
|
||||
"name": "Pokojová teplota"
|
||||
},
|
||||
"humidity": {
|
||||
"name": "Vlhkost"
|
||||
},
|
||||
"freezer_temp": {
|
||||
"name": "Teplota mrazničky"
|
||||
},
|
||||
"fridge_temp": {
|
||||
"name": "Teplota chladničky"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -1013,6 +1025,31 @@
|
||||
"iot_uv_and_fan": "UV + ventilátor",
|
||||
"iot_uv_and_heat": "UV + ohřev"
|
||||
}
|
||||
},
|
||||
"programs_ref": {
|
||||
"state": {
|
||||
"auto_set": "AUTOMATICKÉ NASTAVENÍ",
|
||||
"cheese": "Sýr",
|
||||
"chiller": "Quick cool",
|
||||
"cold_drinks": "Soft chill",
|
||||
"eco": "Eco",
|
||||
"eco_mode": "Režim Eco",
|
||||
"fruits_and_veg": "Fruit&Veg",
|
||||
"fruit_and_veg": "Fruit & Veg",
|
||||
"holiday": "DOVOLENÁ",
|
||||
"keep_fresh": "0° Fresh",
|
||||
"no_mode_selected": "Není vybrán žádný režim",
|
||||
"quick_cool": "QUICK COOL",
|
||||
"sea_food": "Ready to cook meal",
|
||||
"soft_frozen": "Soft freezing",
|
||||
"super_cool": "SUPER CHLAZENÍ",
|
||||
"super_freeze": "SUPER MRAZENÍ",
|
||||
"tea": "Cold drinks or Beverages",
|
||||
"zero_fresh": "0° Fresh"
|
||||
}
|
||||
},
|
||||
"remaining_time": {
|
||||
"name": "Zbývající čas"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -1105,6 +1142,21 @@
|
||||
},
|
||||
"good_night": {
|
||||
"name": "Dobrou noc"
|
||||
},
|
||||
"auto_dose_softener": {
|
||||
"name": "Automatické dávkování Avivážní prostředek"
|
||||
},
|
||||
"auto_dose_detergent": {
|
||||
"name": "Automatické dávkování Prací prostředek"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "Automatické nastavení"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
@ -1182,6 +1234,30 @@
|
||||
},
|
||||
"auto_dose": {
|
||||
"name": "Automatické dávkování"
|
||||
},
|
||||
"buzzer": {
|
||||
"name": "Zvuková signalizace konce cyklu"
|
||||
},
|
||||
"holiday_mode": {
|
||||
"name": "Režim Holiday"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "Automatické nastavení"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
},
|
||||
"freezer_door": {
|
||||
"name": "Otevřená dvířka Mraznička"
|
||||
},
|
||||
"fridge_door": {
|
||||
"name": "Otevřená dvířka Chladnička"
|
||||
},
|
||||
"filter_replacement": {
|
||||
"name": "Výměna filtru"
|
||||
}
|
||||
},
|
||||
"number": {
|
||||
@ -1214,12 +1290,23 @@
|
||||
},
|
||||
"steam_level": {
|
||||
"name": "Úroveň páry"
|
||||
},
|
||||
"freezer_temp_sel": {
|
||||
"name": "Cílová teplota Mraznička"
|
||||
},
|
||||
"fridge_temp_sel": {
|
||||
"name": "Cílová teplota Chladnička"
|
||||
}
|
||||
},
|
||||
"button": {
|
||||
"induction_hob": {
|
||||
"name": "Indukční varná deska"
|
||||
}
|
||||
},
|
||||
"climate": {
|
||||
"air_conditioner": {
|
||||
"name": "Klimatizační jednotka"
|
||||
}
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
|
@ -307,6 +307,18 @@
|
||||
"xxl_load": "XXL-Beladung",
|
||||
"zoom_59": "Zoom 59"
|
||||
}
|
||||
},
|
||||
"room_temperature": {
|
||||
"name": "Raumtemperatur"
|
||||
},
|
||||
"humidity": {
|
||||
"name": "Luftfeuchtigkeit"
|
||||
},
|
||||
"freezer_temp": {
|
||||
"name": "Gefrierschrank-Temperatur"
|
||||
},
|
||||
"fridge_temp": {
|
||||
"name": "Temperatur des Kühlschranks"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -1013,6 +1025,31 @@
|
||||
"iot_uv_and_fan": "UV + Gebläse",
|
||||
"iot_uv_and_heat": "UV + Heizen"
|
||||
}
|
||||
},
|
||||
"programs_ref": {
|
||||
"state": {
|
||||
"auto_set": "AUTOMATISCHE EINSTELLUNG",
|
||||
"cheese": "Käse",
|
||||
"chiller": "Quick cool",
|
||||
"cold_drinks": "Soft chill",
|
||||
"eco": "Eco",
|
||||
"eco_mode": "Eco-Modus",
|
||||
"fruits_and_veg": "Obst und Genüse",
|
||||
"fruit_and_veg": "Fruit & Veg",
|
||||
"holiday": "URLAUBSFUNKTION",
|
||||
"keep_fresh": "0° Fresh",
|
||||
"no_mode_selected": "Kein Modus ausgewählt",
|
||||
"quick_cool": "SCHNELLKÜHLUNG",
|
||||
"sea_food": "Ready to cook meal",
|
||||
"soft_frozen": "Soft freezing",
|
||||
"super_cool": "SUPER COOL",
|
||||
"super_freeze": "SUPER FREEZE",
|
||||
"tea": "Cold drinks or Beverages",
|
||||
"zero_fresh": "0° Fresh"
|
||||
}
|
||||
},
|
||||
"remaining_time": {
|
||||
"name": "Verbleibende Zeit"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -1105,6 +1142,21 @@
|
||||
},
|
||||
"good_night": {
|
||||
"name": "Gute Nacht"
|
||||
},
|
||||
"auto_dose_softener": {
|
||||
"name": "Autodosierung Weichspüler"
|
||||
},
|
||||
"auto_dose_detergent": {
|
||||
"name": "Autodosierung Spülmittel"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "Auto-Set"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
@ -1182,6 +1234,30 @@
|
||||
},
|
||||
"auto_dose": {
|
||||
"name": "Autodosierung"
|
||||
},
|
||||
"buzzer": {
|
||||
"name": "Signalton zum Programmende"
|
||||
},
|
||||
"holiday_mode": {
|
||||
"name": "Holiday-Modus"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "Auto-Set"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
},
|
||||
"freezer_door": {
|
||||
"name": "Tür offen Gefrierschrank"
|
||||
},
|
||||
"fridge_door": {
|
||||
"name": "Tür offen Kühlschrank"
|
||||
},
|
||||
"filter_replacement": {
|
||||
"name": "Filteraustausch"
|
||||
}
|
||||
},
|
||||
"number": {
|
||||
@ -1214,12 +1290,23 @@
|
||||
},
|
||||
"steam_level": {
|
||||
"name": "Dampfstufe"
|
||||
},
|
||||
"freezer_temp_sel": {
|
||||
"name": "Zieltemperatur Gefrierschrank"
|
||||
},
|
||||
"fridge_temp_sel": {
|
||||
"name": "Zieltemperatur Kühlschrank"
|
||||
}
|
||||
},
|
||||
"button": {
|
||||
"induction_hob": {
|
||||
"name": "Induktionskochfeld"
|
||||
}
|
||||
},
|
||||
"climate": {
|
||||
"air_conditioner": {
|
||||
"name": "Klimaanlage"
|
||||
}
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
|
@ -307,6 +307,18 @@
|
||||
"xxl_load": "XXL Φορτιο",
|
||||
"zoom_59": "Zoom 59"
|
||||
}
|
||||
},
|
||||
"room_temperature": {
|
||||
"name": "Θερμοκρασία δωματίου"
|
||||
},
|
||||
"humidity": {
|
||||
"name": "Υγρασία"
|
||||
},
|
||||
"freezer_temp": {
|
||||
"name": "Θερμοκρασία καταψύκτη"
|
||||
},
|
||||
"fridge_temp": {
|
||||
"name": "Θερμοκρασία ψυγείου"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -1013,6 +1025,31 @@
|
||||
"iot_uv_and_fan": "UV + Ανεμιστήρας",
|
||||
"iot_uv_and_heat": "UV + Θέρμανση"
|
||||
}
|
||||
},
|
||||
"programs_ref": {
|
||||
"state": {
|
||||
"auto_set": "ΑΥΤΌΜΑΤΗ ΡΎΘΜΙΣΗ",
|
||||
"cheese": "Τυρί",
|
||||
"chiller": "Quick cool",
|
||||
"cold_drinks": "Soft chill",
|
||||
"eco": "Eco",
|
||||
"eco_mode": "Λειτουργία Eco",
|
||||
"fruits_and_veg": "ΦΡΟΥΤΑ & ΛΑΧΑΝΙΚΑ",
|
||||
"fruit_and_veg": "Fruit & Veg",
|
||||
"holiday": "Ρυθμίστε το ψυγείο στους 17°C και διατηρήστε την κατάψυξη σε λειτουργία για μεγάλο χρονικό διάστημα.",
|
||||
"keep_fresh": "0° Fresh",
|
||||
"no_mode_selected": "Δεν επιλέχθηκε λειτουργία",
|
||||
"quick_cool": "ΓΡΗΓΟΡΗ ΨΥΞΗ",
|
||||
"sea_food": "Ready to cook meal",
|
||||
"soft_frozen": "Soft freezing",
|
||||
"super_cool": "SUPER COOL",
|
||||
"super_freeze": "SUPER FREEZE",
|
||||
"tea": "Cold drinks or Beverages",
|
||||
"zero_fresh": "0° Fresh"
|
||||
}
|
||||
},
|
||||
"remaining_time": {
|
||||
"name": "Χρόνος που απομένει"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -1105,6 +1142,21 @@
|
||||
},
|
||||
"good_night": {
|
||||
"name": "Καληνυχτα"
|
||||
},
|
||||
"auto_dose_softener": {
|
||||
"name": "Αυτόματη Δοσολογία Μαλακτικό"
|
||||
},
|
||||
"auto_dose_detergent": {
|
||||
"name": "Αυτόματη Δοσολογία Απορρυπαντικό"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "Αυτόματη ρύθμιση"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
@ -1182,6 +1234,30 @@
|
||||
},
|
||||
"auto_dose": {
|
||||
"name": "Αυτόματη Δοσολογία"
|
||||
},
|
||||
"buzzer": {
|
||||
"name": "Κουδούνισμα τέλους κύκλου"
|
||||
},
|
||||
"holiday_mode": {
|
||||
"name": "Λειτουργια Holiday"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "Αυτόματη ρύθμιση"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
},
|
||||
"freezer_door": {
|
||||
"name": "Πόρτα ανοιχτή Καταψύκτης"
|
||||
},
|
||||
"fridge_door": {
|
||||
"name": "Πόρτα ανοιχτή Ψυγείο"
|
||||
},
|
||||
"filter_replacement": {
|
||||
"name": "Αντικατάσταση φίλτρου"
|
||||
}
|
||||
},
|
||||
"number": {
|
||||
@ -1214,12 +1290,23 @@
|
||||
},
|
||||
"steam_level": {
|
||||
"name": "Επίπεδο ατμού"
|
||||
},
|
||||
"freezer_temp_sel": {
|
||||
"name": "Στοχευμένη θερμοκρασία Καταψύκτης"
|
||||
},
|
||||
"fridge_temp_sel": {
|
||||
"name": "Στοχευμένη θερμοκρασία Ψυγείο"
|
||||
}
|
||||
},
|
||||
"button": {
|
||||
"induction_hob": {
|
||||
"name": "Επαγωγική εστία"
|
||||
}
|
||||
},
|
||||
"climate": {
|
||||
"air_conditioner": {
|
||||
"name": "Κλιματιστικό"
|
||||
}
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
|
@ -366,6 +366,18 @@
|
||||
"xxl_load": "XXL Load",
|
||||
"zoom_59": "Zoom 59"
|
||||
}
|
||||
},
|
||||
"room_temperature": {
|
||||
"name": "Room temperature"
|
||||
},
|
||||
"humidity": {
|
||||
"name": "Humidity"
|
||||
},
|
||||
"freezer_temp": {
|
||||
"name": "Freezer temperature"
|
||||
},
|
||||
"fridge_temp": {
|
||||
"name": "Fridge temperature"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -458,6 +470,21 @@
|
||||
},
|
||||
"good_night": {
|
||||
"name": "Good Night"
|
||||
},
|
||||
"auto_dose_softener": {
|
||||
"name": "Autodose Softener"
|
||||
},
|
||||
"auto_dose_detergent": {
|
||||
"name": "Autodose Detergent"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "Auto-Set"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -1172,6 +1199,32 @@
|
||||
"iot_uv_and_fan": "UV + Fan",
|
||||
"iot_uv_and_heat": "UV + Heat"
|
||||
}
|
||||
},
|
||||
"programs_ref": {
|
||||
"state": {
|
||||
"auto_set": "AUTO-SET",
|
||||
"cheese": "Cheese",
|
||||
"chiller": "Quick cool",
|
||||
"cold_drinks": "Soft chill",
|
||||
"eco": "Eco",
|
||||
"eco_mode": "Eco mode",
|
||||
"fruits_and_veg": "Fruit&Veg",
|
||||
"fruit_and_veg": "Fruit&Veg",
|
||||
"holiday": "HOLIDAY",
|
||||
"keep_fresh": "0° Fresh",
|
||||
"no_mode_selected": "No mode selected",
|
||||
"quick_cool": "QUICK COOL",
|
||||
"sea_food": "Ready to cook meal",
|
||||
"soft_frozen": "Soft freezing",
|
||||
"soft_frozen\n": "Soft freezing",
|
||||
"super_cool": "SUPER COOL",
|
||||
"super_freeze": "SUPER FREEZE",
|
||||
"tea": "Cold drinks or Beverages",
|
||||
"zero_fresh": "0° Fresh"
|
||||
}
|
||||
},
|
||||
"remaining_time": {
|
||||
"name": "Time remaining"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
@ -1249,6 +1302,30 @@
|
||||
},
|
||||
"auto_dose": {
|
||||
"name": "Autodose"
|
||||
},
|
||||
"buzzer": {
|
||||
"name": "Cycle end chime"
|
||||
},
|
||||
"holiday_mode": {
|
||||
"name": "Holiday Mode"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "Auto-Set"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
},
|
||||
"freezer_door": {
|
||||
"name": "Door open Freezer"
|
||||
},
|
||||
"fridge_door": {
|
||||
"name": "Door open Fridge"
|
||||
},
|
||||
"filter_replacement": {
|
||||
"name": "Filter replacement"
|
||||
}
|
||||
},
|
||||
"number": {
|
||||
@ -1281,12 +1358,23 @@
|
||||
},
|
||||
"steam_level": {
|
||||
"name": "Steam Level"
|
||||
},
|
||||
"freezer_temp_sel": {
|
||||
"name": "Target temperature Freezer"
|
||||
},
|
||||
"fridge_temp_sel": {
|
||||
"name": "Target temperature Fridge"
|
||||
}
|
||||
},
|
||||
"button": {
|
||||
"induction_hob": {
|
||||
"name": "Induction Hob"
|
||||
}
|
||||
},
|
||||
"climate": {
|
||||
"air_conditioner": {
|
||||
"name": "Air conditioner"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -307,6 +307,18 @@
|
||||
"xxl_load": "Carga XXL",
|
||||
"zoom_59": "Zoom 59"
|
||||
}
|
||||
},
|
||||
"room_temperature": {
|
||||
"name": "Temperatura ambiente"
|
||||
},
|
||||
"humidity": {
|
||||
"name": "Humedad"
|
||||
},
|
||||
"freezer_temp": {
|
||||
"name": "Temperatura del congelador"
|
||||
},
|
||||
"fridge_temp": {
|
||||
"name": "Temperatura del frigorífico"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -1013,6 +1025,31 @@
|
||||
"iot_uv_and_fan": "UV + Ventilador",
|
||||
"iot_uv_and_heat": "UV + Calor"
|
||||
}
|
||||
},
|
||||
"programs_ref": {
|
||||
"state": {
|
||||
"auto_set": "AJUSTE AUTOMÁTICO",
|
||||
"cheese": "Queso",
|
||||
"chiller": "Quick cool",
|
||||
"cold_drinks": "Soft chill",
|
||||
"eco": "Eco",
|
||||
"eco_mode": "Modo Eco",
|
||||
"fruits_and_veg": "Frutas Y Verduras",
|
||||
"fruit_and_veg": "Frutas Y Verduras",
|
||||
"holiday": "VACACIONES",
|
||||
"keep_fresh": "0° Fresh",
|
||||
"no_mode_selected": "No se ha seleccionado ningún modo",
|
||||
"quick_cool": "QUICK COOL",
|
||||
"sea_food": "Ready to cook meal",
|
||||
"soft_frozen": "Soft freezing",
|
||||
"super_cool": "SUPER COOL",
|
||||
"super_freeze": "SUPER FREEZE",
|
||||
"tea": "Cold drinks or Beverages",
|
||||
"zero_fresh": "0° Fresh"
|
||||
}
|
||||
},
|
||||
"remaining_time": {
|
||||
"name": "Tiempo restante"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -1105,6 +1142,21 @@
|
||||
},
|
||||
"good_night": {
|
||||
"name": "Buenas noches"
|
||||
},
|
||||
"auto_dose_softener": {
|
||||
"name": "Dosificación automática Suavizante"
|
||||
},
|
||||
"auto_dose_detergent": {
|
||||
"name": "Dosificación automática Detergente"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "Auto-Set"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
@ -1182,6 +1234,30 @@
|
||||
},
|
||||
"auto_dose": {
|
||||
"name": "Dosificación automática"
|
||||
},
|
||||
"buzzer": {
|
||||
"name": "Campana de fin de ciclo"
|
||||
},
|
||||
"holiday_mode": {
|
||||
"name": "Modo Holiday"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "Auto-Set"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
},
|
||||
"freezer_door": {
|
||||
"name": "Puerta abierta Congelador"
|
||||
},
|
||||
"fridge_door": {
|
||||
"name": "Puerta abierta Frigorífico"
|
||||
},
|
||||
"filter_replacement": {
|
||||
"name": "Sustitución del filtro"
|
||||
}
|
||||
},
|
||||
"number": {
|
||||
@ -1214,12 +1290,23 @@
|
||||
},
|
||||
"steam_level": {
|
||||
"name": "Nivel de vapor"
|
||||
},
|
||||
"freezer_temp_sel": {
|
||||
"name": "Temperatura deseada Congelador"
|
||||
},
|
||||
"fridge_temp_sel": {
|
||||
"name": "Temperatura deseada Frigorífico"
|
||||
}
|
||||
},
|
||||
"button": {
|
||||
"induction_hob": {
|
||||
"name": "Placa de inducción"
|
||||
}
|
||||
},
|
||||
"climate": {
|
||||
"air_conditioner": {
|
||||
"name": "Aire acondicionado"
|
||||
}
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
|
@ -307,6 +307,18 @@
|
||||
"xxl_load": "Charge XXL",
|
||||
"zoom_59": "Zoom 59"
|
||||
}
|
||||
},
|
||||
"room_temperature": {
|
||||
"name": "Température ambiante"
|
||||
},
|
||||
"humidity": {
|
||||
"name": "Humidité"
|
||||
},
|
||||
"freezer_temp": {
|
||||
"name": "Température du congélateur"
|
||||
},
|
||||
"fridge_temp": {
|
||||
"name": "Température du réfrigérateur"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -1013,6 +1025,31 @@
|
||||
"iot_uv_and_fan": "UV + ventilateur",
|
||||
"iot_uv_and_heat": "UV + Chaleur"
|
||||
}
|
||||
},
|
||||
"programs_ref": {
|
||||
"state": {
|
||||
"auto_set": "AUTO-SET",
|
||||
"cheese": "Fromage",
|
||||
"chiller": "Quick cool",
|
||||
"cold_drinks": "Soft chill",
|
||||
"eco": "Eco",
|
||||
"eco_mode": "Mode Eco",
|
||||
"fruits_and_veg": "Fruit&Veg",
|
||||
"fruit_and_veg": "Fruit & Veg",
|
||||
"holiday": "HOLIDAY",
|
||||
"keep_fresh": "0° Fresh",
|
||||
"no_mode_selected": "Aucun mode sélectionné",
|
||||
"quick_cool": "QUICK COOL",
|
||||
"sea_food": "Ready to cook meal",
|
||||
"soft_frozen": "Soft freezing",
|
||||
"super_cool": "SUPER COOL",
|
||||
"super_freeze": "SUPER FREEZE",
|
||||
"tea": "Cold drinks or Beverages",
|
||||
"zero_fresh": "0° Fresh"
|
||||
}
|
||||
},
|
||||
"remaining_time": {
|
||||
"name": "Temps restant"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -1105,6 +1142,21 @@
|
||||
},
|
||||
"good_night": {
|
||||
"name": "Bonne nuit"
|
||||
},
|
||||
"auto_dose_softener": {
|
||||
"name": "Dose automatique Adoucissant"
|
||||
},
|
||||
"auto_dose_detergent": {
|
||||
"name": "Dose automatique Lessive"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "Réglage automatique"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
@ -1182,6 +1234,30 @@
|
||||
},
|
||||
"auto_dose": {
|
||||
"name": "Dose automatique"
|
||||
},
|
||||
"buzzer": {
|
||||
"name": "Sonnerie de fin de cycle"
|
||||
},
|
||||
"holiday_mode": {
|
||||
"name": "Mode Holiday"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "Réglage automatique"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
},
|
||||
"freezer_door": {
|
||||
"name": "Porte ouverte Congélateur"
|
||||
},
|
||||
"fridge_door": {
|
||||
"name": "Porte ouverte Réfrigérateur"
|
||||
},
|
||||
"filter_replacement": {
|
||||
"name": "Remplacement du filtre"
|
||||
}
|
||||
},
|
||||
"number": {
|
||||
@ -1214,12 +1290,23 @@
|
||||
},
|
||||
"steam_level": {
|
||||
"name": "Niveau de vapeur"
|
||||
},
|
||||
"freezer_temp_sel": {
|
||||
"name": "Température cible Congélateur"
|
||||
},
|
||||
"fridge_temp_sel": {
|
||||
"name": "Température cible Réfrigérateur"
|
||||
}
|
||||
},
|
||||
"button": {
|
||||
"induction_hob": {
|
||||
"name": "Table de cuisson à induction"
|
||||
}
|
||||
},
|
||||
"climate": {
|
||||
"air_conditioner": {
|
||||
"name": "Climatiseur"
|
||||
}
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
|
@ -188,6 +188,18 @@
|
||||
"hqd_working_suit": "Working suit",
|
||||
"iot_dry_synthetic_dry": "סינתטי יבש"
|
||||
}
|
||||
},
|
||||
"room_temperature": {
|
||||
"name": "Room temperature"
|
||||
},
|
||||
"humidity": {
|
||||
"name": "Humidity"
|
||||
},
|
||||
"freezer_temp": {
|
||||
"name": "Freezer temperature"
|
||||
},
|
||||
"fridge_temp": {
|
||||
"name": "Fridge temperature"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -477,6 +489,20 @@
|
||||
"state": {
|
||||
"iot_simple_start": "התחל עכשיו"
|
||||
}
|
||||
},
|
||||
"programs_ref": {
|
||||
"state": {
|
||||
"chiller": "Quick cool",
|
||||
"cold_drinks": "Soft chill",
|
||||
"fruit_and_veg": "Fruit & Veg",
|
||||
"keep_fresh": "0° Fresh",
|
||||
"sea_food": "Ready to cook meal",
|
||||
"soft_frozen": "Soft freezing",
|
||||
"tea": "Cold drinks or Beverages"
|
||||
}
|
||||
},
|
||||
"remaining_time": {
|
||||
"name": "זמן שנותר"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -569,6 +595,21 @@
|
||||
},
|
||||
"good_night": {
|
||||
"name": "לילה טוב"
|
||||
},
|
||||
"auto_dose_softener": {
|
||||
"name": "מינון אוטומטי מרכך"
|
||||
},
|
||||
"auto_dose_detergent": {
|
||||
"name": "מינון אוטומטי חומר ניקוי"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "Auto-Set"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
@ -646,6 +687,30 @@
|
||||
},
|
||||
"auto_dose": {
|
||||
"name": "מינון אוטומטי"
|
||||
},
|
||||
"buzzer": {
|
||||
"name": "Cycle end chime"
|
||||
},
|
||||
"holiday_mode": {
|
||||
"name": "Holiday Mode"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "Auto-Set"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
},
|
||||
"freezer_door": {
|
||||
"name": "Door open Freezer"
|
||||
},
|
||||
"fridge_door": {
|
||||
"name": "Door open Fridge"
|
||||
},
|
||||
"filter_replacement": {
|
||||
"name": "Filter replacement"
|
||||
}
|
||||
},
|
||||
"number": {
|
||||
@ -678,12 +743,23 @@
|
||||
},
|
||||
"steam_level": {
|
||||
"name": "מפלס קיטור"
|
||||
},
|
||||
"freezer_temp_sel": {
|
||||
"name": "Target temperature Freezer"
|
||||
},
|
||||
"fridge_temp_sel": {
|
||||
"name": "Target temperature Fridge"
|
||||
}
|
||||
},
|
||||
"button": {
|
||||
"induction_hob": {
|
||||
"name": "Induction Hob"
|
||||
}
|
||||
},
|
||||
"climate": {
|
||||
"air_conditioner": {
|
||||
"name": "Air conditioner"
|
||||
}
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
|
@ -307,6 +307,18 @@
|
||||
"xxl_load": "XXL kapacitet",
|
||||
"zoom_59": "Zoom 59"
|
||||
}
|
||||
},
|
||||
"room_temperature": {
|
||||
"name": "Sobna temperatura"
|
||||
},
|
||||
"humidity": {
|
||||
"name": "Vlažnost"
|
||||
},
|
||||
"freezer_temp": {
|
||||
"name": "Temperatura zamrzivača"
|
||||
},
|
||||
"fridge_temp": {
|
||||
"name": "Temperatura hladnjaka"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -1013,6 +1025,31 @@
|
||||
"iot_uv_and_fan": "UV + ventilator",
|
||||
"iot_uv_and_heat": "UV + grijanje"
|
||||
}
|
||||
},
|
||||
"programs_ref": {
|
||||
"state": {
|
||||
"auto_set": "AUTOMATSKA POSTAVKA",
|
||||
"cheese": "Sir",
|
||||
"chiller": "Quick cool",
|
||||
"cold_drinks": "Soft chill",
|
||||
"eco": "Eco",
|
||||
"eco_mode": "Način rada Eco",
|
||||
"fruits_and_veg": "Voće i Povrće",
|
||||
"fruit_and_veg": "Fruit & Veg",
|
||||
"holiday": "ODMOR",
|
||||
"keep_fresh": "0° Fresh",
|
||||
"no_mode_selected": "Nije odabran način rada",
|
||||
"quick_cool": "BRZO HLAĐENJE",
|
||||
"sea_food": "Ready to cook meal",
|
||||
"soft_frozen": "Soft freezing",
|
||||
"super_cool": "SUPER HLAĐENJE",
|
||||
"super_freeze": "SUPER ZAMRZAVANJE",
|
||||
"tea": "Hladna pića i napitci",
|
||||
"zero_fresh": "0° Fresh"
|
||||
}
|
||||
},
|
||||
"remaining_time": {
|
||||
"name": "Preostalo vrijeme"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -1105,6 +1142,21 @@
|
||||
},
|
||||
"good_night": {
|
||||
"name": "Good Night"
|
||||
},
|
||||
"auto_dose_softener": {
|
||||
"name": "Automatsko doziranje Omekšivač"
|
||||
},
|
||||
"auto_dose_detergent": {
|
||||
"name": "Automatsko doziranje Deterdžent"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "Automatsko postavljanje"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
@ -1182,6 +1234,30 @@
|
||||
},
|
||||
"auto_dose": {
|
||||
"name": "Automatsko doziranje"
|
||||
},
|
||||
"buzzer": {
|
||||
"name": "Zvono za završetak ciklusa"
|
||||
},
|
||||
"holiday_mode": {
|
||||
"name": "Način rada Holiday"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "Automatsko postavljanje"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
},
|
||||
"freezer_door": {
|
||||
"name": "Otvorena vrata Zamrzivač"
|
||||
},
|
||||
"fridge_door": {
|
||||
"name": "Otvorena vrata Hladnjak"
|
||||
},
|
||||
"filter_replacement": {
|
||||
"name": "Zamjena filtra"
|
||||
}
|
||||
},
|
||||
"number": {
|
||||
@ -1214,12 +1290,23 @@
|
||||
},
|
||||
"steam_level": {
|
||||
"name": "Razina pare"
|
||||
},
|
||||
"freezer_temp_sel": {
|
||||
"name": "Ciljana temperatura Zamrzivač"
|
||||
},
|
||||
"fridge_temp_sel": {
|
||||
"name": "Ciljana temperatura Hladnjak"
|
||||
}
|
||||
},
|
||||
"button": {
|
||||
"induction_hob": {
|
||||
"name": "Indukcijska ploča za kuhanje"
|
||||
}
|
||||
},
|
||||
"climate": {
|
||||
"air_conditioner": {
|
||||
"name": "Klimatizacijski uređaj"
|
||||
}
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
|
@ -359,6 +359,18 @@
|
||||
"xxl_load": "Carico XXL",
|
||||
"zoom_59": "Zoom 59"
|
||||
}
|
||||
},
|
||||
"room_temperature": {
|
||||
"name": "Temperatura ambiente"
|
||||
},
|
||||
"humidity": {
|
||||
"name": "Umidità"
|
||||
},
|
||||
"freezer_temp": {
|
||||
"name": "Temperatura del congelatore"
|
||||
},
|
||||
"fridge_temp": {
|
||||
"name": "Temperatura del frigorifero"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -1065,6 +1077,31 @@
|
||||
"iot_uv_and_fan": "UV + Ventola",
|
||||
"iot_uv_and_heat": "UV + Caldo"
|
||||
}
|
||||
},
|
||||
"programs_ref": {
|
||||
"state": {
|
||||
"auto_set": "AUTO-SET",
|
||||
"cheese": "Formaggio",
|
||||
"chiller": "Quick cool",
|
||||
"cold_drinks": "Soft chill",
|
||||
"eco": "Eco",
|
||||
"eco_mode": "Modalità Eco",
|
||||
"fruits_and_veg": "Fruit&Veg",
|
||||
"fruit_and_veg": "Fruit & Veg",
|
||||
"holiday": "HOLIDAY",
|
||||
"keep_fresh": "0° Fresh",
|
||||
"no_mode_selected": "Nessuna modalità selezionata",
|
||||
"quick_cool": " QUICK COOL",
|
||||
"sea_food": "Ready to cook meal",
|
||||
"soft_frozen": "Soft freezing",
|
||||
"super_cool": "SUPER COOL",
|
||||
"super_freeze": "SUPER FREEZE",
|
||||
"tea": "Cold drinks or Beverages",
|
||||
"zero_fresh": "0° Fresh"
|
||||
}
|
||||
},
|
||||
"remaining_time": {
|
||||
"name": "Tempo rimanente"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -1157,6 +1194,21 @@
|
||||
},
|
||||
"good_night": {
|
||||
"name": "Buona notte"
|
||||
},
|
||||
"auto_dose_softener": {
|
||||
"name": "Autodose Ammorbidente"
|
||||
},
|
||||
"auto_dose_detergent": {
|
||||
"name": "Autodose Detergente"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "Impostazione automatica"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
@ -1234,6 +1286,30 @@
|
||||
},
|
||||
"auto_dose": {
|
||||
"name": "Autodose"
|
||||
},
|
||||
"buzzer": {
|
||||
"name": "Avviso di fine ciclo"
|
||||
},
|
||||
"holiday_mode": {
|
||||
"name": "Modalità Holiday"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "Impostazione automatica"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
},
|
||||
"freezer_door": {
|
||||
"name": "Porta aperta Congelatore"
|
||||
},
|
||||
"fridge_door": {
|
||||
"name": "Porta aperta Frigorifero"
|
||||
},
|
||||
"filter_replacement": {
|
||||
"name": "Sostituzione filtro"
|
||||
}
|
||||
},
|
||||
"number": {
|
||||
@ -1266,12 +1342,23 @@
|
||||
},
|
||||
"steam_level": {
|
||||
"name": "Livello vapore"
|
||||
},
|
||||
"freezer_temp_sel": {
|
||||
"name": "Temperatura target Congelatore"
|
||||
},
|
||||
"fridge_temp_sel": {
|
||||
"name": "Temperatura target Frigorifero"
|
||||
}
|
||||
},
|
||||
"button": {
|
||||
"induction_hob": {
|
||||
"name": "Piano cottura a induzione"
|
||||
}
|
||||
},
|
||||
"climate": {
|
||||
"air_conditioner": {
|
||||
"name": "Condizionatore"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -307,6 +307,18 @@
|
||||
"xxl_load": "XXL Lading",
|
||||
"zoom_59": "Zoom 59"
|
||||
}
|
||||
},
|
||||
"room_temperature": {
|
||||
"name": "Omgevingstemperatuur"
|
||||
},
|
||||
"humidity": {
|
||||
"name": "Luchtvochtigheid"
|
||||
},
|
||||
"freezer_temp": {
|
||||
"name": "Vriezertemperatuur"
|
||||
},
|
||||
"fridge_temp": {
|
||||
"name": "Koelkasttemperatuur"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -1013,6 +1025,31 @@
|
||||
"iot_uv_and_fan": "UV + Hetelucht",
|
||||
"iot_uv_and_heat": "UV + Warmte"
|
||||
}
|
||||
},
|
||||
"programs_ref": {
|
||||
"state": {
|
||||
"auto_set": "AUTO-SET",
|
||||
"cheese": "Kaas",
|
||||
"chiller": "Quick cool",
|
||||
"cold_drinks": "Soft chill",
|
||||
"eco": "Eco",
|
||||
"eco_mode": "Eco-modus",
|
||||
"fruits_and_veg": "Fruit&Veg",
|
||||
"fruit_and_veg": "Fruit & Veg",
|
||||
"holiday": "HOLIDAY",
|
||||
"keep_fresh": "0° Fresh",
|
||||
"no_mode_selected": "Geen modus geselecteerd",
|
||||
"quick_cool": "QUICK KOEL",
|
||||
"sea_food": "Ready to cook meal",
|
||||
"soft_frozen": "Soft freezing",
|
||||
"super_cool": "SUPER COOL",
|
||||
"super_freeze": "SUPER FREEZE",
|
||||
"tea": "Cold drinks or Beverages",
|
||||
"zero_fresh": "0° Fresh"
|
||||
}
|
||||
},
|
||||
"remaining_time": {
|
||||
"name": "Resterende tijd"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -1105,6 +1142,21 @@
|
||||
},
|
||||
"good_night": {
|
||||
"name": "Goede nacht"
|
||||
},
|
||||
"auto_dose_softener": {
|
||||
"name": "Automatisch doseren Wasverzachter"
|
||||
},
|
||||
"auto_dose_detergent": {
|
||||
"name": "Automatisch doseren Wasmiddel"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "Automatisch instellen"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
@ -1182,6 +1234,30 @@
|
||||
},
|
||||
"auto_dose": {
|
||||
"name": "Automatisch doseren"
|
||||
},
|
||||
"buzzer": {
|
||||
"name": "Bel voor einde cyclus"
|
||||
},
|
||||
"holiday_mode": {
|
||||
"name": "Holiday-modus (Vakantie)"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "Automatisch instellen"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
},
|
||||
"freezer_door": {
|
||||
"name": "Deur open Vriezer"
|
||||
},
|
||||
"fridge_door": {
|
||||
"name": "Deur open Koelkast"
|
||||
},
|
||||
"filter_replacement": {
|
||||
"name": "Filter vervangen"
|
||||
}
|
||||
},
|
||||
"number": {
|
||||
@ -1214,12 +1290,23 @@
|
||||
},
|
||||
"steam_level": {
|
||||
"name": "Stoomniveau"
|
||||
},
|
||||
"freezer_temp_sel": {
|
||||
"name": "Doeltemperatuur Vriezer"
|
||||
},
|
||||
"fridge_temp_sel": {
|
||||
"name": "Doeltemperatuur Koelkast"
|
||||
}
|
||||
},
|
||||
"button": {
|
||||
"induction_hob": {
|
||||
"name": "Inductiekookplaat"
|
||||
}
|
||||
},
|
||||
"climate": {
|
||||
"air_conditioner": {
|
||||
"name": "Airconditioner"
|
||||
}
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
|
@ -307,6 +307,18 @@
|
||||
"xxl_load": "XXL Load",
|
||||
"zoom_59": "Zoom 59"
|
||||
}
|
||||
},
|
||||
"room_temperature": {
|
||||
"name": "Temperatura pokojowa"
|
||||
},
|
||||
"humidity": {
|
||||
"name": "Wilgotność"
|
||||
},
|
||||
"freezer_temp": {
|
||||
"name": "Temperatura zamrażarki"
|
||||
},
|
||||
"fridge_temp": {
|
||||
"name": "Temperatura lodówki"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -1013,6 +1025,31 @@
|
||||
"iot_uv_and_fan": "UV + wentylator",
|
||||
"iot_uv_and_heat": "UV + podgrzewanie"
|
||||
}
|
||||
},
|
||||
"programs_ref": {
|
||||
"state": {
|
||||
"auto_set": "AUTO-SET",
|
||||
"cheese": "Ser",
|
||||
"chiller": "Quick cool",
|
||||
"cold_drinks": "Soft chill",
|
||||
"eco": "Eco",
|
||||
"eco_mode": "Tryb Eco",
|
||||
"fruits_and_veg": "Fruit&Veg",
|
||||
"fruit_and_veg": "Fruit & Veg",
|
||||
"holiday": "HOLIDAY",
|
||||
"keep_fresh": "0° Fresh",
|
||||
"no_mode_selected": "Nie wybrano żadnego trybu",
|
||||
"quick_cool": "QUICK COOL",
|
||||
"sea_food": "Ready to cook meal",
|
||||
"soft_frozen": "Soft freezing",
|
||||
"super_cool": "SUPER COOL",
|
||||
"super_freeze": "SUPER FREEZE",
|
||||
"tea": "Cold drinks or Beverages",
|
||||
"zero_fresh": "0° Fresh"
|
||||
}
|
||||
},
|
||||
"remaining_time": {
|
||||
"name": "Pozostały czas"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -1105,6 +1142,21 @@
|
||||
},
|
||||
"good_night": {
|
||||
"name": "Dobranoc"
|
||||
},
|
||||
"auto_dose_softener": {
|
||||
"name": "Automatyczne dozowanie Środek zmiękczający"
|
||||
},
|
||||
"auto_dose_detergent": {
|
||||
"name": "Automatyczne dozowanie Detergent"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "Ustawianie automatyczne"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
@ -1182,6 +1234,30 @@
|
||||
},
|
||||
"auto_dose": {
|
||||
"name": "Automatyczne dozowanie"
|
||||
},
|
||||
"buzzer": {
|
||||
"name": "Sygnał dźwiękowy końca cyklu"
|
||||
},
|
||||
"holiday_mode": {
|
||||
"name": "Tryb Holiday"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "Ustawianie automatyczne"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
},
|
||||
"freezer_door": {
|
||||
"name": "Drzwi otwarte Zamrażarka"
|
||||
},
|
||||
"fridge_door": {
|
||||
"name": "Drzwi otwarte Lodówka"
|
||||
},
|
||||
"filter_replacement": {
|
||||
"name": "Wymiana filtra"
|
||||
}
|
||||
},
|
||||
"number": {
|
||||
@ -1214,12 +1290,23 @@
|
||||
},
|
||||
"steam_level": {
|
||||
"name": "Poziom pary"
|
||||
},
|
||||
"freezer_temp_sel": {
|
||||
"name": "Temperatura docelowa Zamrażarka"
|
||||
},
|
||||
"fridge_temp_sel": {
|
||||
"name": "Temperatura docelowa Lodówka"
|
||||
}
|
||||
},
|
||||
"button": {
|
||||
"induction_hob": {
|
||||
"name": "Płyta indukcyjna"
|
||||
}
|
||||
},
|
||||
"climate": {
|
||||
"air_conditioner": {
|
||||
"name": "Klimatyzator"
|
||||
}
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
|
@ -307,6 +307,18 @@
|
||||
"xxl_load": "Carga XXL",
|
||||
"zoom_59": "Zoom 59"
|
||||
}
|
||||
},
|
||||
"room_temperature": {
|
||||
"name": "Temperatura ambiente"
|
||||
},
|
||||
"humidity": {
|
||||
"name": "Humidade"
|
||||
},
|
||||
"freezer_temp": {
|
||||
"name": "Temperatura do congelador"
|
||||
},
|
||||
"fridge_temp": {
|
||||
"name": "Temperatura do frigorífico"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -1013,6 +1025,31 @@
|
||||
"iot_uv_and_fan": "UV + Ventilação",
|
||||
"iot_uv_and_heat": "UV + Calor"
|
||||
}
|
||||
},
|
||||
"programs_ref": {
|
||||
"state": {
|
||||
"auto_set": "AUTO-SET",
|
||||
"cheese": "Queijo",
|
||||
"chiller": "Quick cool",
|
||||
"cold_drinks": "Soft chill",
|
||||
"eco": "Eco",
|
||||
"eco_mode": "Modo Eco",
|
||||
"fruits_and_veg": "Fruit&Veg",
|
||||
"fruit_and_veg": "Fruit & Veg",
|
||||
"holiday": "HOLIDAY",
|
||||
"keep_fresh": "0° Fresh",
|
||||
"no_mode_selected": "Nenhum modo selecionado",
|
||||
"quick_cool": "QUICK COOL",
|
||||
"sea_food": "Ready to cook meal",
|
||||
"soft_frozen": "Soft freezing",
|
||||
"super_cool": "SUPER COOL",
|
||||
"super_freeze": "SUPER FREEZE",
|
||||
"tea": "Cold drinks or Beverages",
|
||||
"zero_fresh": "0° Fresh"
|
||||
}
|
||||
},
|
||||
"remaining_time": {
|
||||
"name": "Tempo restante"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -1105,6 +1142,21 @@
|
||||
},
|
||||
"good_night": {
|
||||
"name": "Boa Noite"
|
||||
},
|
||||
"auto_dose_softener": {
|
||||
"name": "Autodosagem Amaciador"
|
||||
},
|
||||
"auto_dose_detergent": {
|
||||
"name": "Autodosagem Detergente"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "Ajuste automático"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
@ -1182,6 +1234,30 @@
|
||||
},
|
||||
"auto_dose": {
|
||||
"name": "Autodosagem"
|
||||
},
|
||||
"buzzer": {
|
||||
"name": "Besouro de fim de ciclo"
|
||||
},
|
||||
"holiday_mode": {
|
||||
"name": "Modo Holiday"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "Ajuste automático"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
},
|
||||
"freezer_door": {
|
||||
"name": "Porta aberta Congelador"
|
||||
},
|
||||
"fridge_door": {
|
||||
"name": "Porta aberta Frigorífico"
|
||||
},
|
||||
"filter_replacement": {
|
||||
"name": "Substituição do filtro"
|
||||
}
|
||||
},
|
||||
"number": {
|
||||
@ -1214,12 +1290,23 @@
|
||||
},
|
||||
"steam_level": {
|
||||
"name": "Nível de vapor"
|
||||
},
|
||||
"freezer_temp_sel": {
|
||||
"name": "Temperatura alvo Congelador"
|
||||
},
|
||||
"fridge_temp_sel": {
|
||||
"name": "Temperatura alvo Frigorífico"
|
||||
}
|
||||
},
|
||||
"button": {
|
||||
"induction_hob": {
|
||||
"name": "Placa de indução"
|
||||
}
|
||||
},
|
||||
"climate": {
|
||||
"air_conditioner": {
|
||||
"name": "Ar Condicionado"
|
||||
}
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
|
@ -307,6 +307,18 @@
|
||||
"xxl_load": "Încărcare XXL",
|
||||
"zoom_59": "Zoom 59"
|
||||
}
|
||||
},
|
||||
"room_temperature": {
|
||||
"name": "Temperatura camerei"
|
||||
},
|
||||
"humidity": {
|
||||
"name": "Umiditate"
|
||||
},
|
||||
"freezer_temp": {
|
||||
"name": "Temperatura congelatorului"
|
||||
},
|
||||
"fridge_temp": {
|
||||
"name": "Temperatura frigiderului"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -1013,6 +1025,31 @@
|
||||
"iot_uv_and_fan": "UV + ventilator",
|
||||
"iot_uv_and_heat": "UV + încălzire"
|
||||
}
|
||||
},
|
||||
"programs_ref": {
|
||||
"state": {
|
||||
"auto_set": "AUTO-SET (Setare automată)",
|
||||
"cheese": "Brânză",
|
||||
"chiller": "Quick cool",
|
||||
"cold_drinks": "Soft chill",
|
||||
"eco": "Eco",
|
||||
"eco_mode": "Modul Eco",
|
||||
"fruits_and_veg": "Fruit&Veg (Fructe și legume)",
|
||||
"fruit_and_veg": "Fruit & Veg",
|
||||
"holiday": "HOLIDAY (Perioadă de neutilizare)",
|
||||
"keep_fresh": "0° Fresh",
|
||||
"no_mode_selected": "Niciun mod selectat",
|
||||
"quick_cool": "QUICK COOL",
|
||||
"sea_food": "Ready to cook meal",
|
||||
"soft_frozen": "Soft freezing",
|
||||
"super_cool": "SUPER COOL (Răcire rapidă)",
|
||||
"super_freeze": "SUPER FREEZE (Congelare rapidă)",
|
||||
"tea": "Cold drinks or Beverages",
|
||||
"zero_fresh": "0° Fresh"
|
||||
}
|
||||
},
|
||||
"remaining_time": {
|
||||
"name": "Timp rămas"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -1105,6 +1142,21 @@
|
||||
},
|
||||
"good_night": {
|
||||
"name": "Noapte bună"
|
||||
},
|
||||
"auto_dose_softener": {
|
||||
"name": "Autodozare Balsam"
|
||||
},
|
||||
"auto_dose_detergent": {
|
||||
"name": "Autodozare Detergent"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "Setare automată"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
@ -1182,6 +1234,30 @@
|
||||
},
|
||||
"auto_dose": {
|
||||
"name": "Autodozare"
|
||||
},
|
||||
"buzzer": {
|
||||
"name": "Sonerie la finalul ciclului"
|
||||
},
|
||||
"holiday_mode": {
|
||||
"name": "Mod Holiday"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "Setare automată"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
},
|
||||
"freezer_door": {
|
||||
"name": "Ușă deschisă Congelator"
|
||||
},
|
||||
"fridge_door": {
|
||||
"name": "Ușă deschisă Frigider"
|
||||
},
|
||||
"filter_replacement": {
|
||||
"name": "Înlocuirea filtrului"
|
||||
}
|
||||
},
|
||||
"number": {
|
||||
@ -1214,12 +1290,23 @@
|
||||
},
|
||||
"steam_level": {
|
||||
"name": "Nivel abur"
|
||||
},
|
||||
"freezer_temp_sel": {
|
||||
"name": "Temperatură vizată Congelator"
|
||||
},
|
||||
"fridge_temp_sel": {
|
||||
"name": "Temperatură vizată Frigider"
|
||||
}
|
||||
},
|
||||
"button": {
|
||||
"induction_hob": {
|
||||
"name": "Plita cu inducție"
|
||||
}
|
||||
},
|
||||
"climate": {
|
||||
"air_conditioner": {
|
||||
"name": "Aer condiționat"
|
||||
}
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
|
@ -307,6 +307,18 @@
|
||||
"xxl_load": "Объемные вещи",
|
||||
"zoom_59": "Zoom 59 (Зум 59)"
|
||||
}
|
||||
},
|
||||
"room_temperature": {
|
||||
"name": "Комнатная температура"
|
||||
},
|
||||
"humidity": {
|
||||
"name": "Влажность"
|
||||
},
|
||||
"freezer_temp": {
|
||||
"name": "Температура в морозильном отделении"
|
||||
},
|
||||
"fridge_temp": {
|
||||
"name": "Температура в холодильнике"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -1013,6 +1025,31 @@
|
||||
"iot_uv_and_fan": "УФ + Вентилятор",
|
||||
"iot_uv_and_heat": "УФ + Нагрев"
|
||||
}
|
||||
},
|
||||
"programs_ref": {
|
||||
"state": {
|
||||
"auto_set": "АВТОМАТИЧЕСКАЯ НАСТРОЙКА",
|
||||
"cheese": "Сыр",
|
||||
"chiller": "Quick cool",
|
||||
"cold_drinks": "Soft chill",
|
||||
"eco": "Eco",
|
||||
"eco_mode": "Режим Eco",
|
||||
"fruits_and_veg": "Фрукты и овощи",
|
||||
"fruit_and_veg": "Fruit & Veg",
|
||||
"holiday": "HOLIDAY",
|
||||
"keep_fresh": "0° Fresh",
|
||||
"no_mode_selected": "Режим не выбран",
|
||||
"quick_cool": " БЫСТРОЕ ОХЛАЖДЕНИЕ",
|
||||
"sea_food": "Ready to cook meal",
|
||||
"soft_frozen": "Soft freezing",
|
||||
"super_cool": "SUPER COOL",
|
||||
"super_freeze": "SUPER FREEZE",
|
||||
"tea": "Cold drinks or Beverages",
|
||||
"zero_fresh": "0° Fresh"
|
||||
}
|
||||
},
|
||||
"remaining_time": {
|
||||
"name": "Оставшееся время"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -1105,6 +1142,21 @@
|
||||
},
|
||||
"good_night": {
|
||||
"name": "Спокойной ночи"
|
||||
},
|
||||
"auto_dose_softener": {
|
||||
"name": "Автодозирование Кондиционер"
|
||||
},
|
||||
"auto_dose_detergent": {
|
||||
"name": "Автодозирование Средство для стирки"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "Автоматическая установка"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
@ -1182,6 +1234,30 @@
|
||||
},
|
||||
"auto_dose": {
|
||||
"name": "Автодозирование"
|
||||
},
|
||||
"buzzer": {
|
||||
"name": "Звуковой сигнал окончания цикла"
|
||||
},
|
||||
"holiday_mode": {
|
||||
"name": "Режим Holiday (режим отпуска)"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "Автоматическая установка"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
},
|
||||
"freezer_door": {
|
||||
"name": "Дверца открыта Морозильник"
|
||||
},
|
||||
"fridge_door": {
|
||||
"name": "Дверца открыта Холодильник"
|
||||
},
|
||||
"filter_replacement": {
|
||||
"name": "Замена фильтра"
|
||||
}
|
||||
},
|
||||
"number": {
|
||||
@ -1214,12 +1290,23 @@
|
||||
},
|
||||
"steam_level": {
|
||||
"name": "Уровень пара"
|
||||
},
|
||||
"freezer_temp_sel": {
|
||||
"name": "Заданная температура Морозильник"
|
||||
},
|
||||
"fridge_temp_sel": {
|
||||
"name": "Заданная температура Холодильник"
|
||||
}
|
||||
},
|
||||
"button": {
|
||||
"induction_hob": {
|
||||
"name": "Индукционная варочная панель"
|
||||
}
|
||||
},
|
||||
"climate": {
|
||||
"air_conditioner": {
|
||||
"name": "Кондиционер воздуха"
|
||||
}
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
|
@ -307,6 +307,18 @@
|
||||
"xxl_load": "XXL náplň",
|
||||
"zoom_59": "Zoom 59"
|
||||
}
|
||||
},
|
||||
"room_temperature": {
|
||||
"name": "Izbová teplota"
|
||||
},
|
||||
"humidity": {
|
||||
"name": "Vlhkosť"
|
||||
},
|
||||
"freezer_temp": {
|
||||
"name": "Teplota mrazničky"
|
||||
},
|
||||
"fridge_temp": {
|
||||
"name": "Teplota chladničky"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -1013,6 +1025,31 @@
|
||||
"iot_uv_and_fan": "UV + Ventilátor",
|
||||
"iot_uv_and_heat": "UV + Ohrev"
|
||||
}
|
||||
},
|
||||
"programs_ref": {
|
||||
"state": {
|
||||
"auto_set": "AUTOMATICKÉ NASTAVENIE",
|
||||
"cheese": "Syr",
|
||||
"chiller": "Quick cool",
|
||||
"cold_drinks": "Soft chill",
|
||||
"eco": "Eco",
|
||||
"eco_mode": "Režim Eco",
|
||||
"fruits_and_veg": "Fruit&Veg",
|
||||
"fruit_and_veg": "Fruit & Veg",
|
||||
"holiday": "DOVOLENKA",
|
||||
"keep_fresh": "0° Fresh",
|
||||
"no_mode_selected": "Nie je vybraný žiadny režim",
|
||||
"quick_cool": "QUICK COOL",
|
||||
"sea_food": "Ready to cook meal",
|
||||
"soft_frozen": "Soft freezing",
|
||||
"super_cool": "SUPER CHLADENIE",
|
||||
"super_freeze": "SUPER MRAZENIE",
|
||||
"tea": "Cold drinks or Beverages",
|
||||
"zero_fresh": "0° Fresh"
|
||||
}
|
||||
},
|
||||
"remaining_time": {
|
||||
"name": "Zostávajúci čas"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -1105,6 +1142,21 @@
|
||||
},
|
||||
"good_night": {
|
||||
"name": "Dobrú noc"
|
||||
},
|
||||
"auto_dose_softener": {
|
||||
"name": "Automatická dávka Aviváž"
|
||||
},
|
||||
"auto_dose_detergent": {
|
||||
"name": "Automatická dávka Prací prostriedok"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "Automatické nastavenie"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
@ -1182,6 +1234,30 @@
|
||||
},
|
||||
"auto_dose": {
|
||||
"name": "Automatická dávka"
|
||||
},
|
||||
"buzzer": {
|
||||
"name": "Signál na konci cyklu"
|
||||
},
|
||||
"holiday_mode": {
|
||||
"name": "Režim Holiday"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "Automatické nastavenie"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
},
|
||||
"freezer_door": {
|
||||
"name": "Otvorené dvere Mraznička"
|
||||
},
|
||||
"fridge_door": {
|
||||
"name": "Otvorené dvere Chladnička"
|
||||
},
|
||||
"filter_replacement": {
|
||||
"name": "Výmena filtra"
|
||||
}
|
||||
},
|
||||
"number": {
|
||||
@ -1214,12 +1290,23 @@
|
||||
},
|
||||
"steam_level": {
|
||||
"name": "Úroveň nastavenia pary"
|
||||
},
|
||||
"freezer_temp_sel": {
|
||||
"name": "Cieľová teplota Mraznička"
|
||||
},
|
||||
"fridge_temp_sel": {
|
||||
"name": "Cieľová teplota Chladnička"
|
||||
}
|
||||
},
|
||||
"button": {
|
||||
"induction_hob": {
|
||||
"name": "Indukčná varná doska"
|
||||
}
|
||||
},
|
||||
"climate": {
|
||||
"air_conditioner": {
|
||||
"name": "Klimatizácia"
|
||||
}
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
|
@ -307,6 +307,18 @@
|
||||
"xxl_load": "Zelo veliki kosi perila",
|
||||
"zoom_59": "Zoom 59"
|
||||
}
|
||||
},
|
||||
"room_temperature": {
|
||||
"name": "Sobna temperatura"
|
||||
},
|
||||
"humidity": {
|
||||
"name": "Vlaga "
|
||||
},
|
||||
"freezer_temp": {
|
||||
"name": "Temperatura zamrzovalnika"
|
||||
},
|
||||
"fridge_temp": {
|
||||
"name": "Temperatura hladilnika"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -1013,6 +1025,31 @@
|
||||
"iot_uv_and_fan": "UV + ventilator",
|
||||
"iot_uv_and_heat": "UV + gretje"
|
||||
}
|
||||
},
|
||||
"programs_ref": {
|
||||
"state": {
|
||||
"auto_set": "SAMODEJNA NASTAVITEV",
|
||||
"cheese": "Sir",
|
||||
"chiller": "Quick cool",
|
||||
"cold_drinks": "Soft chill",
|
||||
"eco": "Eco",
|
||||
"eco_mode": "Način Eco",
|
||||
"fruits_and_veg": "Sadje In Zelenjava",
|
||||
"fruit_and_veg": "Sadje in zelenjava",
|
||||
"holiday": "POČITNICE",
|
||||
"keep_fresh": "0° Fresh",
|
||||
"no_mode_selected": "Izbran ni noben način",
|
||||
"quick_cool": " HITRO HLAJENJE",
|
||||
"sea_food": "Ready to cook meal",
|
||||
"soft_frozen": "Soft freezing",
|
||||
"super_cool": "SUPER HLAJENJE",
|
||||
"super_freeze": "SUPER ZAMRZOVANJE",
|
||||
"tea": "Cold drinks or Beverages",
|
||||
"zero_fresh": "0° Fresh"
|
||||
}
|
||||
},
|
||||
"remaining_time": {
|
||||
"name": "Time remaining"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -1105,6 +1142,21 @@
|
||||
},
|
||||
"good_night": {
|
||||
"name": "Lahko noč"
|
||||
},
|
||||
"auto_dose_softener": {
|
||||
"name": "Samodejno odmerjanje Mehčalec"
|
||||
},
|
||||
"auto_dose_detergent": {
|
||||
"name": "Samodejno odmerjanje Detergent"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "Samodejna nastavitev"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
@ -1182,6 +1234,30 @@
|
||||
},
|
||||
"auto_dose": {
|
||||
"name": "Samodejno odmerjanje"
|
||||
},
|
||||
"buzzer": {
|
||||
"name": "Zvočni signal ob koncu cikla"
|
||||
},
|
||||
"holiday_mode": {
|
||||
"name": "Način Holiday"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "Samodejna nastavitev"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
},
|
||||
"freezer_door": {
|
||||
"name": "Door open Zamrzovalnik"
|
||||
},
|
||||
"fridge_door": {
|
||||
"name": "Door open Hladilnik"
|
||||
},
|
||||
"filter_replacement": {
|
||||
"name": "Menjava filtra"
|
||||
}
|
||||
},
|
||||
"number": {
|
||||
@ -1214,12 +1290,23 @@
|
||||
},
|
||||
"steam_level": {
|
||||
"name": "Količina pare"
|
||||
},
|
||||
"freezer_temp_sel": {
|
||||
"name": "Ciljna temperatura Zamrzovalnik"
|
||||
},
|
||||
"fridge_temp_sel": {
|
||||
"name": "Ciljna temperatura Hladilnik"
|
||||
}
|
||||
},
|
||||
"button": {
|
||||
"induction_hob": {
|
||||
"name": "Indukcijska kuhalna plošča"
|
||||
}
|
||||
},
|
||||
"climate": {
|
||||
"air_conditioner": {
|
||||
"name": "Klimatska naprava"
|
||||
}
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
|
@ -307,6 +307,18 @@
|
||||
"xxl_load": "XXL veš",
|
||||
"zoom_59": "Zoom 59"
|
||||
}
|
||||
},
|
||||
"room_temperature": {
|
||||
"name": "Sobna temperatura"
|
||||
},
|
||||
"humidity": {
|
||||
"name": "Vlažnost"
|
||||
},
|
||||
"freezer_temp": {
|
||||
"name": "Temperatura zamrzivača"
|
||||
},
|
||||
"fridge_temp": {
|
||||
"name": "Temperatura frižidera"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -1013,6 +1025,31 @@
|
||||
"iot_uv_and_fan": "UV + ventilator",
|
||||
"iot_uv_and_heat": "UV + toplota"
|
||||
}
|
||||
},
|
||||
"programs_ref": {
|
||||
"state": {
|
||||
"auto_set": "AUTOMATSKO PODEŠAVANJE",
|
||||
"cheese": "Sir",
|
||||
"chiller": "Quick cool",
|
||||
"cold_drinks": "Soft chill",
|
||||
"eco": "Eco",
|
||||
"eco_mode": "Eco režim",
|
||||
"fruits_and_veg": "Voće i Povrće",
|
||||
"fruit_and_veg": "Fruit & Veg",
|
||||
"holiday": "ODMOR",
|
||||
"keep_fresh": "0° Fresh",
|
||||
"no_mode_selected": "Nije izabran nijedan režim",
|
||||
"quick_cool": "BRZO HLAĐENJE",
|
||||
"sea_food": "Ready to cook meal",
|
||||
"soft_frozen": "Soft freezing",
|
||||
"super_cool": "SUPER HLAĐENJE",
|
||||
"super_freeze": "SUPER ZAMRZAVANJE",
|
||||
"tea": "Cold drinks or Beverages",
|
||||
"zero_fresh": "0° Fresh"
|
||||
}
|
||||
},
|
||||
"remaining_time": {
|
||||
"name": "Preostalo vreme"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -1105,6 +1142,21 @@
|
||||
},
|
||||
"good_night": {
|
||||
"name": "Laku noć"
|
||||
},
|
||||
"auto_dose_softener": {
|
||||
"name": "Automatsko doziranje Omekšivač"
|
||||
},
|
||||
"auto_dose_detergent": {
|
||||
"name": "Automatsko doziranje Deterdžent"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "Automatsko podešavanje"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
@ -1182,6 +1234,30 @@
|
||||
},
|
||||
"auto_dose": {
|
||||
"name": "Automatsko doziranje"
|
||||
},
|
||||
"buzzer": {
|
||||
"name": "Zvono na kraju ciklusa"
|
||||
},
|
||||
"holiday_mode": {
|
||||
"name": "Režim Holiday"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "Automatsko podešavanje"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
},
|
||||
"freezer_door": {
|
||||
"name": "Vrata su otvorena Zamrzivač"
|
||||
},
|
||||
"fridge_door": {
|
||||
"name": "Vrata su otvorena Frižider"
|
||||
},
|
||||
"filter_replacement": {
|
||||
"name": "Zamena filtera"
|
||||
}
|
||||
},
|
||||
"number": {
|
||||
@ -1214,12 +1290,23 @@
|
||||
},
|
||||
"steam_level": {
|
||||
"name": "Nivo pare"
|
||||
},
|
||||
"freezer_temp_sel": {
|
||||
"name": "Željena temperatura Zamrzivač"
|
||||
},
|
||||
"fridge_temp_sel": {
|
||||
"name": "Željena temperatura Frižider"
|
||||
}
|
||||
},
|
||||
"button": {
|
||||
"induction_hob": {
|
||||
"name": "Indukciona ploča"
|
||||
}
|
||||
},
|
||||
"climate": {
|
||||
"air_conditioner": {
|
||||
"name": "Klima uređaj"
|
||||
}
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
|
@ -307,6 +307,18 @@
|
||||
"xxl_load": "XXL Çamaşır",
|
||||
"zoom_59": "Yakınlaştır 59"
|
||||
}
|
||||
},
|
||||
"room_temperature": {
|
||||
"name": "Oda sıcaklığı"
|
||||
},
|
||||
"humidity": {
|
||||
"name": "Nem"
|
||||
},
|
||||
"freezer_temp": {
|
||||
"name": "Dondurucu sıcaklığı"
|
||||
},
|
||||
"fridge_temp": {
|
||||
"name": "Buzdolabı sıcaklığı"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -1013,6 +1025,31 @@
|
||||
"iot_uv_and_fan": "UV + Fan",
|
||||
"iot_uv_and_heat": "UV + Isıtma"
|
||||
}
|
||||
},
|
||||
"programs_ref": {
|
||||
"state": {
|
||||
"auto_set": "OTOMATİK AYAR",
|
||||
"cheese": "Peynir",
|
||||
"chiller": "Quick cool",
|
||||
"cold_drinks": "Soft chill",
|
||||
"eco": "Eco",
|
||||
"eco_mode": "Eco modu",
|
||||
"fruits_and_veg": "Meyve Ve Sebze",
|
||||
"fruit_and_veg": "Fruit & Veg",
|
||||
"holiday": "TATİL ",
|
||||
"keep_fresh": "0° Fresh",
|
||||
"no_mode_selected": "Hiç mod seçilmedi",
|
||||
"quick_cool": "HIZLI SOĞUTMA",
|
||||
"sea_food": "Ready to cook meal",
|
||||
"soft_frozen": "Soft freezing",
|
||||
"super_cool": "SUPER COOL",
|
||||
"super_freeze": "SUPER FREEZE",
|
||||
"tea": "Cold drinks or Beverages",
|
||||
"zero_fresh": "0° Fresh"
|
||||
}
|
||||
},
|
||||
"remaining_time": {
|
||||
"name": "Kalan süre"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -1105,6 +1142,21 @@
|
||||
},
|
||||
"good_night": {
|
||||
"name": "İyi Geceler"
|
||||
},
|
||||
"auto_dose_softener": {
|
||||
"name": "Otomatik doz Yumuşatıcı"
|
||||
},
|
||||
"auto_dose_detergent": {
|
||||
"name": "Otomatik doz Deterjan"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "Otomatik Ayarla"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
@ -1182,6 +1234,30 @@
|
||||
},
|
||||
"auto_dose": {
|
||||
"name": "Otomatik doz"
|
||||
},
|
||||
"buzzer": {
|
||||
"name": "Program sonu zili"
|
||||
},
|
||||
"holiday_mode": {
|
||||
"name": "Holiday Modu"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "Otomatik Ayarla"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
},
|
||||
"freezer_door": {
|
||||
"name": "Kapı açık Dondurucu"
|
||||
},
|
||||
"fridge_door": {
|
||||
"name": "Kapı açık Buzdolabı"
|
||||
},
|
||||
"filter_replacement": {
|
||||
"name": "Filtre değişimi"
|
||||
}
|
||||
},
|
||||
"number": {
|
||||
@ -1214,12 +1290,23 @@
|
||||
},
|
||||
"steam_level": {
|
||||
"name": "Buhar Seviyesi"
|
||||
},
|
||||
"freezer_temp_sel": {
|
||||
"name": "Hedef sıcaklık Dondurucu"
|
||||
},
|
||||
"fridge_temp_sel": {
|
||||
"name": "Hedef sıcaklık Buzdolabı"
|
||||
}
|
||||
},
|
||||
"button": {
|
||||
"induction_hob": {
|
||||
"name": "İndüksiyonlu Ocak"
|
||||
}
|
||||
},
|
||||
"climate": {
|
||||
"air_conditioner": {
|
||||
"name": "Klima"
|
||||
}
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
|
@ -307,6 +307,18 @@
|
||||
"xxl_load": "XXL Load",
|
||||
"zoom_59": "缩放 59"
|
||||
}
|
||||
},
|
||||
"room_temperature": {
|
||||
"name": "室温"
|
||||
},
|
||||
"humidity": {
|
||||
"name": "湿度"
|
||||
},
|
||||
"freezer_temp": {
|
||||
"name": "冷藏室温度"
|
||||
},
|
||||
"fridge_temp": {
|
||||
"name": "冰箱温度"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@ -1013,6 +1025,31 @@
|
||||
"iot_uv_and_fan": "UV + 风扇",
|
||||
"iot_uv_and_heat": "UV + 加热"
|
||||
}
|
||||
},
|
||||
"programs_ref": {
|
||||
"state": {
|
||||
"auto_set": "AUTO-SET(自动设置)",
|
||||
"cheese": "奶酪",
|
||||
"chiller": "Quick cool",
|
||||
"cold_drinks": "Soft chill",
|
||||
"eco": "Eco",
|
||||
"eco_mode": "Eco 模式",
|
||||
"fruits_and_veg": "Fruit&Veg(水果和蔬菜)",
|
||||
"fruit_and_veg": "Fruit & Veg",
|
||||
"holiday": "HOLIDAY(假日模式)",
|
||||
"keep_fresh": "0° Fresh",
|
||||
"no_mode_selected": "未选择模式",
|
||||
"quick_cool": "QUICK COOL(快速冷却)",
|
||||
"sea_food": "Ready to cook meal",
|
||||
"soft_frozen": "Soft freezing",
|
||||
"super_cool": "SUPER COOL(超级冷却)",
|
||||
"super_freeze": "SUPER FREEZE(超级冷冻)",
|
||||
"tea": "Cold drinks or Beverages",
|
||||
"zero_fresh": "0° Fresh"
|
||||
}
|
||||
},
|
||||
"remaining_time": {
|
||||
"name": "剩余时间"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
@ -1105,6 +1142,21 @@
|
||||
},
|
||||
"good_night": {
|
||||
"name": "晚安"
|
||||
},
|
||||
"auto_dose_softener": {
|
||||
"name": "自动定量 柔软剂"
|
||||
},
|
||||
"auto_dose_detergent": {
|
||||
"name": "自动定量 洗涤剂"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "自动设置"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
}
|
||||
},
|
||||
"binary_sensor": {
|
||||
@ -1182,6 +1234,30 @@
|
||||
},
|
||||
"auto_dose": {
|
||||
"name": "自动定量"
|
||||
},
|
||||
"buzzer": {
|
||||
"name": "循环结束提示音"
|
||||
},
|
||||
"holiday_mode": {
|
||||
"name": "Holiday 模式"
|
||||
},
|
||||
"auto_set": {
|
||||
"name": "自动设置"
|
||||
},
|
||||
"super_cool": {
|
||||
"name": "Super Cool"
|
||||
},
|
||||
"super_freeze": {
|
||||
"name": "Super Freeze"
|
||||
},
|
||||
"freezer_door": {
|
||||
"name": "门打开 冷藏箱"
|
||||
},
|
||||
"fridge_door": {
|
||||
"name": "门打开 冰箱"
|
||||
},
|
||||
"filter_replacement": {
|
||||
"name": "更换过滤器"
|
||||
}
|
||||
},
|
||||
"number": {
|
||||
@ -1214,12 +1290,23 @@
|
||||
},
|
||||
"steam_level": {
|
||||
"name": "蒸汽档位"
|
||||
},
|
||||
"freezer_temp_sel": {
|
||||
"name": "目标温度 冷藏箱"
|
||||
},
|
||||
"fridge_temp_sel": {
|
||||
"name": "目标温度 冰箱"
|
||||
}
|
||||
},
|
||||
"button": {
|
||||
"induction_hob": {
|
||||
"name": "电磁炉"
|
||||
}
|
||||
},
|
||||
"climate": {
|
||||
"air_conditioner": {
|
||||
"name": "空调"
|
||||
}
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
|
47
info.md
47
info.md
@ -12,6 +12,7 @@ Support for home appliances of Haier's mobile app hOn.
|
||||
- [Hob](https://github.com/Andre0512/hon#hob)
|
||||
- [Dish Washer](https://github.com/Andre0512/hon#dish-washer)
|
||||
- [Air conditioner](https://github.com/Andre0512/hon#air-conditioner) [BETA]
|
||||
- [Fridge](https://github.com/Andre0512/hon#fridge) [BETA]
|
||||
|
||||
## Configuration
|
||||
|
||||
@ -20,17 +21,6 @@ Support for home appliances of Haier's mobile app hOn.
|
||||
**Method 2**: Settings > Devices & Services > Add Integration > **Haier hOn**
|
||||
_If the integration is not in the list, you need to clear the browser cache._
|
||||
|
||||
## Supported Models
|
||||
Support was confirmed for these models. If a supported model is missing, please [add it with this form](https://forms.gle/bTSD8qFotdZFytbf8).
|
||||
- Haier WD90-B14TEAM5
|
||||
- Haier HD80-A3959
|
||||
- Haier HWO60SM2F3XH
|
||||
- Hoover H-WASH 500
|
||||
- Candy CIS633SCTTWIFI
|
||||
- Haier XIB 3B2SFS-80
|
||||
- Haier XIB 6B2D3FB
|
||||
- Hoover HSOT3161WG
|
||||
|
||||
## Supported Languages
|
||||
Translation of internal names like programs are available for all languages which are official supported by the hOn app:
|
||||
* 🇨🇳 Chinese
|
||||
@ -53,6 +43,41 @@ Translation of internal names like programs are available for all languages whic
|
||||
* 🇪🇸 Spanish
|
||||
* 🇹🇷 Turkish
|
||||
|
||||
## Examples
|
||||
### Washing Machine
|
||||

|
||||
|
||||
## 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 AD105S2SM3FA
|
||||
- Haier AS25PBAHRA
|
||||
- Haier AS25TADHRA-2
|
||||
- Haier AS35TADHRA-2
|
||||
- Haier EG9012B19SU1JD
|
||||
- Haier HD80-A3959
|
||||
- Haier HW90-B14TEAM5
|
||||
- Haier HW100-B14959U1
|
||||
- Haier HWD100-B14979
|
||||
- Haier HWO60SM2F3XH
|
||||
- Haier XIB 3B2SFS-80
|
||||
- Haier XIB 6B2D3FB
|
||||
- Candy CIS633SCTTWIFI
|
||||
- Candy CSOE C10DE-80
|
||||
- Candy ROE H9A3TCEX-S
|
||||
- Candy RPW41066BWMR/1-S
|
||||
- Hoover H-WASH 500
|
||||
- Hoover H-DRY 500
|
||||
- Hoover H7W4 48MBC-S
|
||||
- Hoover H9A3TCBEXS-S
|
||||
- Hoover HFB 6B2S3FX
|
||||
- Hoover HLE C10DCE-80
|
||||
- Hoover HSOT3161WG
|
||||
- Hoover HWPD 69AMBC/1-S
|
||||
- Hoover HWPS4954DAMR-11
|
||||
- Hoover NDE H10A2TCE-80
|
||||
- Hoover NDE H9A2TSBEXS-S
|
||||
- Hoover NDPHY10A2TCBEXSS
|
||||
|
||||
## Contribute
|
||||
Want to help us to support more appliances? Or add more sensors? Or help with translating? Or beautify some icons or captions?
|
||||
Check out the [project on GitHub](https://github.com/Andre0512/hon), every contribution is welcome!
|
||||
|
@ -36,6 +36,7 @@ PROGRAMS = {
|
||||
"programs_ov": "PROGRAMS.OV",
|
||||
"programs_td": "PROGRAMS.TD",
|
||||
"programs_wm": "PROGRAMS.WM_WD",
|
||||
"programs_ref": "PROGRAMS.REF",
|
||||
},
|
||||
"sensor": {
|
||||
"programs_td": "PROGRAMS.TD",
|
||||
@ -72,8 +73,18 @@ NAMES = {
|
||||
"extra_rinse_2": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.EXTRARINSE2",
|
||||
"extra_rinse_3": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.EXTRARINSE3",
|
||||
"acqua_plus": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.ACQUAPLUS",
|
||||
"auto_dose": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.AUTODOSE",
|
||||
"auto_dose_softener": [
|
||||
"WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.AUTODOSE",
|
||||
"WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.SOFTENER",
|
||||
],
|
||||
"auto_dose_detergent": [
|
||||
"WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.AUTODOSE",
|
||||
"WASHING_CMD&CTRL.DASHBOARD_MENU_MORE_SETTINGS_WATER.DETERGENT",
|
||||
],
|
||||
"good_night": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.GOODNIGHT",
|
||||
"auto_set": "REF_CMD&CTRL.MODALITIES.ECO",
|
||||
"super_cool": "REF_CMD&CTRL.MODALITIES.SUPER_COOL",
|
||||
"super_freeze": "REF_CMD&CTRL.MODALITIES.SUPER_FREEZE",
|
||||
},
|
||||
"binary_sensor": {
|
||||
"door_lock": "WASHING_CMD&CTRL.CHECK_UP_RESULTS.DOOR_LOCK",
|
||||
@ -83,7 +94,6 @@ NAMES = {
|
||||
"good_night": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.GOODNIGHT",
|
||||
"anti_crease": "HDRY_CMD&CTRL.PROGRAM_CYCLE_DETAIL.ANTICREASE_TITLE",
|
||||
"acqua_plus": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.ACQUAPLUS",
|
||||
"auto_dose": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.AUTODOSE",
|
||||
"spin_speed": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_MAIN_OPTIONS.SPINSPEED",
|
||||
"still_hot": "IH.COILS_STATUS.STILL_HOT",
|
||||
"pan_status": "IH.COILS_STATUS.PAN",
|
||||
@ -95,6 +105,14 @@ NAMES = {
|
||||
"child_lock": "AP.FOOTER_MENU_MORE.SECURITY_LOCK_TITLE",
|
||||
"on": "GLOBALS.GENERAL.ON",
|
||||
"prewash": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.PREWASH",
|
||||
"buzzer": "DW_CMD&CTRL.SETTINGS.END_CYCLE_BUZZER",
|
||||
"holiday_mode": "REF.DASHBOARD_MENU_MORE_NOTIFICATIONS.HOLIDAY_MODE",
|
||||
"auto_set": "REF_CMD&CTRL.MODALITIES.ECO",
|
||||
"super_cool": "REF_CMD&CTRL.MODALITIES.SUPER_COOL",
|
||||
"super_freeze": "REF_CMD&CTRL.MODALITIES.SUPER_FREEZE",
|
||||
"freezer_door": ["GLOBALS.APPLIANCE_STATUS.DOOR_OPEN", "REF.ZONES.FREEZER"],
|
||||
"fridge_door": ["GLOBALS.APPLIANCE_STATUS.DOOR_OPEN", "REF.ZONES.FRIDGE"],
|
||||
"filter_replacement": "AP.MAINTENANCE.FILTER_REPLACEMENT",
|
||||
},
|
||||
"button": {
|
||||
"induction_hob": "GLOBALS.APPLIANCES_NAME.IH",
|
||||
@ -110,6 +128,7 @@ NAMES = {
|
||||
"programs_td": "WC.SET_PROGRAM.PROGRAM",
|
||||
"programs_wm": "WC.SET_PROGRAM.PROGRAM",
|
||||
"eco_pilot": "AC.PROGRAM_DETAIL.ECO_PILOT",
|
||||
"remaining_time": "ENROLLMENT_COMMON.GENERAL.REMAINING_TIME",
|
||||
},
|
||||
"sensor": {
|
||||
"dry_levels": "WASHING_CMD&CTRL.DRAWER_CYCLE_DRYING.TAB_LEVEL",
|
||||
@ -134,6 +153,8 @@ NAMES = {
|
||||
"det_liquid": "HUBS.WIDGET.STAINS_WIDGET.STAINS.SUGGESTED_DET_LIQUID",
|
||||
"errors": "ROBOT_CMD&CTRL.PHASE_ERROR.TITLE",
|
||||
"programs": "OV.TABS.CURRENT_PROGRAM",
|
||||
"room_temperature": "REF.SMART_DRINK_ASSISTANT.AMBIENT",
|
||||
"humidity": "AP.TITLES.HUMIDITY",
|
||||
"cycles_total": [
|
||||
"WASHING_CMD&CTRL.GENERAL.CYCLES",
|
||||
"WC.VIRTUAL_WINE_STATS_COUNTRY.TOTAL",
|
||||
@ -154,6 +175,8 @@ NAMES = {
|
||||
"WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_RESULT.WATER_EFFICIENCY",
|
||||
"CUBE90_GLOBAL.GENERAL.CURRENT",
|
||||
],
|
||||
"freezer_temp": "REF_CMD&CTRL.TEMPERATURE_DRAWER_FREEZER.FREEZER_TEMPERATURE_TITLE",
|
||||
"fridge_temp": "REF_CMD&CTRL.TEMPERATURE_DRAWER_FRIDGE.FRIDGE_TEMPERATURE_TITLE",
|
||||
},
|
||||
"number": {
|
||||
"power_management": "HINTS.COOKING_WITH_INDUCTION.POWER_MANAGEMENT",
|
||||
@ -166,7 +189,10 @@ NAMES = {
|
||||
"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"],
|
||||
},
|
||||
"climate": {"air_conditioner": "GLOBALS.APPLIANCES_NAME.AC"},
|
||||
}
|
||||
|
||||
|
||||
|
@ -4,11 +4,13 @@ import re
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.path.insert(0, str(Path(__file__).parent.parent))
|
||||
|
||||
from custom_components.hon.binary_sensor import BINARY_SENSORS
|
||||
from custom_components.hon.button import BUTTONS
|
||||
from custom_components.hon.climate import CLIMATES
|
||||
from custom_components.hon.number import NUMBERS
|
||||
from custom_components.hon.select import SELECTS
|
||||
from custom_components.hon.sensor import SENSORS
|
||||
@ -41,6 +43,7 @@ entities = {
|
||||
"select": SELECTS,
|
||||
"sensor": SENSORS,
|
||||
"switch": SWITCHES,
|
||||
"climate": CLIMATES,
|
||||
}
|
||||
|
||||
result = {}
|
||||
@ -50,12 +53,19 @@ for entity_type, appliances in entities.items():
|
||||
if (
|
||||
isinstance(entity, HonSwitchEntityDescription)
|
||||
and entity.entity_category != "config"
|
||||
and "settings." not in entity.key
|
||||
):
|
||||
key = f"{entity.turn_on_key}` / `{entity.turn_off_key}"
|
||||
else:
|
||||
key = entity.key
|
||||
attributes = (key, entity.name, entity.icon, entity_type)
|
||||
category = "control" if entity_type in ["switch", "button"] else "sensor"
|
||||
category = (
|
||||
"control"
|
||||
if entity.key.startswith("settings")
|
||||
or hasattr(entity, "turn_on_key")
|
||||
or entity_type in ["button", "climate"]
|
||||
else "sensor"
|
||||
)
|
||||
result.setdefault(appliance, {}).setdefault(
|
||||
entity.entity_category or category, []
|
||||
).append(attributes)
|
||||
|
Reference in New Issue
Block a user