Compare commits

...

30 Commits

Author SHA1 Message Date
6e9981c9ab Add climate entity for oven 2023-05-28 17:38:56 +02:00
cb660fa9e0 Add climate entites for fridge #41 2023-05-28 07:50:59 +02:00
a8762367ed Refactor hon entities 2023-05-28 00:30:40 +02:00
696dc136eb Refactor entry setup 2023-05-25 01:30:33 +02:00
e9d1bb2056 Refactor get coordinator 2023-05-25 00:52:54 +02:00
9518031f24 Fix problematic char in translation keys 2023-05-22 01:12:51 +02:00
bf1a6e8fe2 Improve fridge support #41 2023-05-21 20:52:27 +02:00
833c395c97 Bump pyhon 2023-05-20 13:28:18 +02:00
d963086dbf Fix climate not available #52 2023-05-19 01:27:44 +02:00
29238d3d08 Add supported devices 2023-05-18 23:48:19 +02:00
a4ec3290ba Many air conditioner fixes for #52 2023-05-17 00:01:33 +02:00
d39deba973 Bump version 2023-05-16 20:52:17 +02:00
fae4c4c879 Check remote control only if available, fix #50 2023-05-16 20:34:05 +02:00
617ea0f99a Fix wrong ac attribute #49 2023-05-16 00:06:55 +02:00
81676771c7 Add some fridge sensors, change some configs to controls 2023-05-15 19:27:41 +02:00
604cf1b3c6 Add more fridge sensor #41 2023-05-15 00:38:41 +02:00
9a65eaba77 Fix errors in changing settings 2023-05-14 22:39:34 +02:00
e777fe1ec9 Add more dw conifgs 2023-05-14 03:17:58 +02:00
845adc75c9 Instant send settings 2023-05-14 03:16:21 +02:00
17d4d14ead Show controls always unavailable when diconnected #43 2023-05-13 22:09:48 +02:00
593d3912af Fix wrong wm keep fresh key 2023-05-13 01:20:02 +02:00
aefe2cf88d Add supported models 2023-05-12 18:15:28 +02:00
146e710881 Add first fridge sensors #41 2023-05-10 18:23:06 +02:00
0afbfe997d Fix log device info #40 2023-05-09 12:41:41 +02:00
6828f3e9a8 Fix missing switches again 2023-05-08 21:30:49 +02:00
a56d3e5f88 Fix missing temperature #38 2023-05-08 19:41:25 +02:00
240dc85ff3 Small fixes, fix KeyError for switches #38 2023-05-08 19:26:10 +02:00
44794c35ca Fix missing entities #34 2023-05-08 02:35:54 +02:00
a5c7b99569 Improve air conditioner support 2023-05-08 02:05:04 +02:00
6935f5f07f Deactivate contols when remotectrl disabled, fixes #28 2023-05-07 19:13:50 +02:00
35 changed files with 5244 additions and 907 deletions

190
README.md
View File

@ -1,18 +1,20 @@
# Haier hOn
[![hacs_badge](https://img.shields.io/badge/HACS-Default-41BDF5.svg)](https://hacs.xyz)
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/Andre0512/hon?color=green)](https://github.com/Andre0512/hon/releases/latest)
[![PyPI](https://img.shields.io/pypi/v/pyhon?label=pyhOn)](https://github.com/Andre0512/pyhOn)
[![GitHub](https://img.shields.io/github/license/Andre0512/hon?color=red)](https://github.com/Andre0512/hon/blob/main/LICENSE)
[![GitHub all releases](https://img.shields.io/github/downloads/Andre0512/hon/total?color=blue)](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:** [![Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.](https://my.home-assistant.io/badges/hacs_repository.svg)](https://my.home-assistant.io/redirect/hacs_repository/?owner=Andre0512&repository=hon&category=integration)
@ -30,17 +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
## Supported Languages
Translation of internal names like programs are available for all languages which are official supported by the hOn app:
* 🇨🇳 Chinese
@ -63,26 +54,52 @@ Translation of internal names like programs are available for all languages whic
* 🇪🇸 Spanish
* 🇹🇷 Turkish
## Examples
### Washing Machine
![washing_machine.png](assets/washing_machine.png)
## 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 BCTDH7A1TE
- 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 HW 68AMC/1-80
- 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
@ -127,35 +144,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 | | `switch` | `startProgram.10degreeHeatingStatus` |
| Echo | | `switch` | `startProgram.echoStatus` |
| Eco Mode | | `switch` | `startProgram.ecoMode` |
| Eco Pilot | | `select` | `startProgram.humanSensingStatus` |
| Health Mode | | `switch` | `startProgram.healthMode` |
| Mute | | `switch` | `startProgram.muteStatus` |
| 10° Heating | `heat-wave` | `switch` | `10degreeHeatingStatus` |
| Air Conditioner | `air-conditioner` | `climate` | `settings` |
| Echo | `account-voice` | `switch` | `echoStatus` |
| Eco Mode | | `switch` | `ecoMode` |
| Eco Pilot | `run` | `select` | `settings.humanSensingStatus` |
| Health Mode | `medication-outline` | `switch` | `healthMode` |
| Mute | `volume-off` | `switch` | `muteStatus` |
| Rapid Mode | `run-fast` | `switch` | `rapidMode` |
| Screen Display | `monitor-small` | `switch` | `screenDisplayStatus` |
| Self Cleaning | `air-filter` | `switch` | `selfCleaningStatus` |
| Self Cleaning 56 | `air-filter` | `switch` | `selfCleaning56Status` |
| Silent Sleep | `bed` | `switch` | `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` |
| Rapid Mode | | `switch` | `startProgram.rapidMode` |
| Screen Display | | `switch` | `startProgram.screenDisplayStatus` |
| Self Cleaning | | `switch` | `startProgram.selfCleaningStatus` |
| Self Cleaning 56 | | `switch` | `startProgram.selfCleaning56Status` |
| Silent Sleep | | `switch` | `startProgram.silentSleepStatus` |
| Target Temperature | `thermometer` | `number` | `startProgram.tempSel` |
| Selected Temperature | `thermometer` | `sensor` | `tempSel` |
### Dish washer
#### Controls
| Name | Icon | Entity | Key |
| --- | --- | --- | --- |
| Buzzer Disabled | `volume-off` | `switch` | `buzzerDisabled` |
| Dish Washer | `dishwasher` | `switch` | `startProgram` / `stopProgram` |
#### Configs
| Name | Icon | Entity | Key |
@ -169,6 +202,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` |
@ -209,7 +244,6 @@ I moved the api related stuff into the package [pyhOn](https://github.com/Andre0
| Pan Status | `pot-mix` | `binary_sensor` | `panStatus` |
| Power | `lightning-bolt` | `sensor` | `power` |
| Remaining Time | `timer` | `sensor` | `remainingTimeMM` |
| Remote Control | `remote` | `binary_sensor` | `attributes.parameters.remoteCtrValid` |
| Temperature | `thermometer` | `sensor` | `temp` |
### Oven
@ -217,6 +251,7 @@ I moved the api related stuff into the package [pyhOn](https://github.com/Andre0
| Name | Icon | Entity | Key |
| --- | --- | --- | --- |
| Oven | `toaster-oven` | `switch` | `startProgram` / `stopProgram` |
| Oven | `thermometer` | `climate` | `settings.tempSel` |
#### Configs
| Name | Icon | Entity | Key |
| --- | --- | --- | --- |
@ -231,11 +266,44 @@ I moved the api related stuff into the package [pyhOn](https://github.com/Andre0
| Connection | `wifi` | `binary_sensor` | `attributes.lastConnEvent.category` |
| On | `power-cycle` | `binary_sensor` | `attributes.parameters.onOffStatus` |
| Remaining Time | `timer` | `sensor` | `remainingTimeMM` |
| Remote Control | `remote` | `binary_sensor` | `attributes.parameters.remoteCtrValid` |
| Start Time | `clock-start` | `sensor` | `delayTime` |
| Temperature | `thermometer` | `sensor` | `temp` |
| Temperature Selected | `thermometer` | `sensor` | `tempSel` |
### Fridge
#### Controls
| Name | Icon | Entity | Key |
| --- | --- | --- | --- |
| Auto-Set Mode | `thermometer-auto` | `switch` | `intelligenceMode` |
| Freezer | `snowflake-thermometer` | `climate` | `settings.tempSelZ2` |
| Freezer Temperature | `thermometer` | `number` | `settings.tempSelZ2` |
| Fridge | `thermometer` | `climate` | `settings.tempSelZ1` |
| Fridge Temperature | `thermometer` | `number` | `settings.tempSelZ1` |
| Holiday Mode | `palm-tree` | `switch` | `holidayMode` |
| Program Start | `play` | `button` | `startProgram` |
| Program Stop | `stop` | `button` | `stopProgram` |
| Super Cool | `snowflake` | `switch` | `quickModeZ2` |
| Super Freeze | `snowflake-variant` | `switch` | `quickModeZ1` |
#### Configs
| Name | Icon | Entity | Key |
| --- | --- | --- | --- |
| Program | | `select` | `startProgram.program` |
| Zone | `radiobox-marked` | `select` | `startProgram.zone` |
#### 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` |
| Error | `math-log` | `sensor` | `errors` |
| 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 |
@ -286,18 +354,19 @@ 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` |
| Dry Time | `timer` | `select` | `startProgram.dryTimeMM` |
| Dry level | `hair-dryer` | `select` | `startProgram.dryLevel` |
| Energy Label | `lightning-bolt-circle` | `sensor` | `startProgram.energyLabel` |
| Extra Rinse 1 | `numeric-1-box-multiple-outline` | `switch` | `extraRinse1` |
| Extra Rinse 2 | `numeric-2-box-multiple-outline` | `switch` | `extraRinse2` |
| Extra Rinse 3 | `numeric-3-box-multiple-outline` | `switch` | `extraRinse3` |
| Good Night | `weather-night` | `switch` | `goodNight` |
| Keep Fresh | `refresh-circle` | `switch` | `startProgram.autoSoftenerStatus` |
| Extra Rinse 1 | `numeric-1-box-multiple-outline` | `switch` | `startProgram.extraRinse1` |
| Extra Rinse 2 | `numeric-2-box-multiple-outline` | `switch` | `startProgram.extraRinse2` |
| Extra Rinse 3 | `numeric-3-box-multiple-outline` | `switch` | `startProgram.extraRinse3` |
| Good Night | `weather-night` | `switch` | `startProgram.goodNight` |
| 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` |
@ -323,6 +392,7 @@ I moved the api related stuff into the package [pyhOn](https://github.com/Andre0
| Acqua Plus | | `binary_sensor` | `acquaplus` |
| Anti-Crease | | `binary_sensor` | `anticrease` |
| Current Electricity Used | `lightning-bolt` | `sensor` | `currentElectricityUsed` |
| Current Temperature | `thermometer` | `sensor` | `temp` |
| Current Water Used | `water` | `sensor` | `currentWaterUsed` |
| Dirt level | `liquid-spot` | `sensor` | `dirtyLevel` |
| Door | | `binary_sensor` | `doorStatus` |
@ -357,15 +427,16 @@ 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` |
| Extra Rinse 1 | `numeric-1-box-multiple-outline` | `switch` | `extraRinse1` |
| Extra Rinse 2 | `numeric-2-box-multiple-outline` | `switch` | `extraRinse2` |
| Extra Rinse 3 | `numeric-3-box-multiple-outline` | `switch` | `extraRinse3` |
| Good Night | `weather-night` | `switch` | `goodNight` |
| Keep Fresh | `refresh-circle` | `switch` | `startProgram.autoSoftenerStatus` |
| Extra Rinse 1 | `numeric-1-box-multiple-outline` | `switch` | `startProgram.extraRinse1` |
| Extra Rinse 2 | `numeric-2-box-multiple-outline` | `switch` | `startProgram.extraRinse2` |
| Extra Rinse 3 | `numeric-3-box-multiple-outline` | `switch` | `startProgram.extraRinse3` |
| Good Night | `weather-night` | `switch` | `startProgram.goodNight` |
| 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` |
@ -385,6 +456,7 @@ I moved the api related stuff into the package [pyhOn](https://github.com/Andre0
| --- | --- | --- | --- |
| Acqua Plus | | `binary_sensor` | `acquaplus` |
| Current Electricity Used | `lightning-bolt` | `sensor` | `currentElectricityUsed` |
| Current Temperature | `thermometer` | `sensor` | `temp` |
| Current Water Used | `water` | `sensor` | `currentWaterUsed` |
| Dirt level | `liquid-spot` | `sensor` | `dirtyLevel` |
| Door | | `binary_sensor` | `doorStatus` |

BIN
assets/washing_machine.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB

View File

@ -1,8 +1,6 @@
import logging
from dataclasses import dataclass
from pyhon import Hon
from homeassistant.components.binary_sensor import (
BinarySensorEntityDescription,
BinarySensorDeviceClass,
@ -10,8 +8,9 @@ from homeassistant.components.binary_sensor import (
)
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import callback
from .const import DOMAIN
from .hon import HonCoordinator, HonEntity, unique_entities
from .hon import HonEntity, unique_entities
_LOGGER = logging.getLogger(__name__)
@ -99,14 +98,6 @@ BINARY_SENSORS: dict[str, tuple[HonBinarySensorEntityDescription, ...]] = {
icon="mdi:wifi",
translation_key="connection",
),
HonBinarySensorEntityDescription(
key="attributes.parameters.remoteCtrValid",
name="Remote Control",
device_class=BinarySensorDeviceClass.CONNECTIVITY,
on_value="1",
icon="mdi:remote",
translation_key="remote_control",
),
HonBinarySensorEntityDescription(
key="attributes.parameters.onOffStatus",
name="On",
@ -125,14 +116,6 @@ BINARY_SENSORS: dict[str, tuple[HonBinarySensorEntityDescription, ...]] = {
icon="mdi:wifi",
translation_key="connection",
),
HonBinarySensorEntityDescription(
key="attributes.parameters.remoteCtrValid",
name="Remote Control",
device_class=BinarySensorDeviceClass.CONNECTIVITY,
on_value="1",
icon="mdi:remote",
translation_key="remote_control",
),
HonBinarySensorEntityDescription(
key="attributes.parameters.onOffStatus",
name="On",
@ -195,6 +178,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",
),
),
}
@ -202,39 +249,20 @@ BINARY_SENSORS["WD"] = unique_entities(BINARY_SENSORS["WM"], BINARY_SENSORS["TD"
async def async_setup_entry(hass, entry: ConfigEntry, async_add_entities) -> None:
hon: Hon = hass.data[DOMAIN][entry.unique_id]
coordinators = hass.data[DOMAIN]["coordinators"]
appliances = []
for device in hon.appliances:
if device.unique_id in coordinators:
coordinator = hass.data[DOMAIN]["coordinators"][device.unique_id]
else:
coordinator = HonCoordinator(hass, device)
hass.data[DOMAIN]["coordinators"][device.unique_id] = coordinator
await coordinator.async_config_entry_first_refresh()
if descriptions := BINARY_SENSORS.get(device.appliance_type):
for description in descriptions:
if not device.get(description.key):
continue
appliances.append(
HonBinarySensorEntity(hass, coordinator, entry, device, description)
)
async_add_entities(appliances)
entities = []
for device in hass.data[DOMAIN][entry.unique_id].appliances:
for description in BINARY_SENSORS.get(device.appliance_type, []):
if not device.get(description.key):
continue
entity = HonBinarySensorEntity(hass, entry, device, description)
await entity.coordinator.async_config_entry_first_refresh()
entities.append(entity)
async_add_entities(entities)
class HonBinarySensorEntity(HonEntity, BinarySensorEntity):
entity_description: HonBinarySensorEntityDescription
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}"
@property
def is_on(self) -> bool:
return (

View File

@ -1,16 +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 pyhon import Hon
from homeassistant.const import EntityCategory
from pyhon.appliance import HonAppliance
from homeassistant.const import EntityCategory
from .const import DOMAIN
from .hon import HonCoordinator, HonEntity
from .hon import HonEntity
_LOGGER = logging.getLogger(__name__)
@ -23,60 +21,68 @@ BUTTONS: dict[str, tuple[ButtonEntityDescription, ...]] = {
translation_key="induction_hob",
),
),
"REF": (
ButtonEntityDescription(
key="startProgram",
name="Program Start",
icon="mdi:play",
translation_key="start_program",
),
ButtonEntityDescription(
key="stopProgram",
name="Program Stop",
icon="mdi:stop",
translation_key="stop_program",
),
),
}
async def async_setup_entry(hass, entry: ConfigEntry, async_add_entities) -> None:
hon: Hon = hass.data[DOMAIN][entry.unique_id]
coordinators = hass.data[DOMAIN]["coordinators"]
appliances = []
for device in hon.appliances:
if device.unique_id in coordinators:
coordinator = hass.data[DOMAIN]["coordinators"][device.unique_id]
else:
coordinator = HonCoordinator(hass, device)
hass.data[DOMAIN]["coordinators"][device.unique_id] = coordinator
await coordinator.async_config_entry_first_refresh()
if descriptions := BUTTONS.get(device.appliance_type):
for description in descriptions:
if not device.commands.get(description.key):
continue
appliances.extend(
[HonButtonEntity(hass, coordinator, entry, device, description)]
)
appliances.extend([HonFeatureRequestButton(hass, coordinator, entry, device)])
async_add_entities(appliances)
entities = []
for device in hass.data[DOMAIN][entry.unique_id].appliances:
for description in BUTTONS.get(device.appliance_type, []):
if not device.commands.get(description.key):
continue
entity = HonButtonEntity(hass, entry, device, description)
await entity.coordinator.async_config_entry_first_refresh()
entities.append(entity)
entities.append(HonFeatureRequestButton(hass, entry, device))
await entities[-1].coordinator.async_config_entry_first_refresh()
async_add_entities(entities)
class HonButtonEntity(HonEntity, ButtonEntity):
def __init__(
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._attr_unique_id = f"{super().unique_id}{description.key}"
entity_description: ButtonEntityDescription
async def async_press(self) -> None:
await self._device.commands[self.entity_description.key].send()
@property
def available(self) -> bool:
"""Return True if entity is available."""
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)
def __init__(self, hass, entry, device: HonAppliance) -> None:
super().__init__(hass, entry, 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 "))

View File

@ -1,4 +1,7 @@
import logging
from dataclasses import dataclass
from pyhon.appliance import HonAppliance
from homeassistant.components.climate import (
ClimateEntity,
@ -16,66 +19,95 @@ from homeassistant.components.climate.const import (
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import (
ATTR_TEMPERATURE,
PRECISION_WHOLE,
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
from .hon import HonEntity
_LOGGER = logging.getLogger(__name__)
@dataclass
class HonACClimateEntityDescription(ClimateEntityDescription):
pass
@dataclass
class HonClimateEntityDescription(ClimateEntityDescription):
mode: HVACMode = "auto"
CLIMATES = {
"AC": (ClimateEntityDescription(key="startProgram"),),
"AC": (
HonACClimateEntityDescription(
key="settings",
name="Air Conditioner",
icon="mdi:air-conditioner",
translation_key="air_conditioner",
),
),
"REF": (
HonClimateEntityDescription(
key="settings.tempSelZ1",
mode=HVACMode.COOL,
name="Fridge",
icon="mdi:thermometer",
translation_key="fridge",
),
HonClimateEntityDescription(
key="settings.tempSelZ2",
mode=HVACMode.COOL,
name="Freezer",
icon="mdi:snowflake-thermometer",
translation_key="freezer",
),
),
"OV": (
HonClimateEntityDescription(
key="settings.tempSel",
mode=HVACMode.HEAT,
name="Oven",
icon="mdi:thermometer",
translation_key="oven",
),
),
}
async def async_setup_entry(hass, entry: ConfigEntry, async_add_entities) -> None:
hon: Hon = hass.data[DOMAIN][entry.unique_id]
coordinators = hass.data[DOMAIN]["coordinators"]
appliances = []
for device in hon.appliances:
if device.unique_id in coordinators:
coordinator = hass.data[DOMAIN]["coordinators"][device.unique_id]
else:
coordinator = HonCoordinator(hass, device)
hass.data[DOMAIN]["coordinators"][device.unique_id] = coordinator
await coordinator.async_config_entry_first_refresh()
if descriptions := CLIMATES.get(device.appliance_type):
for description in descriptions:
entities = []
for device in hass.data[DOMAIN][entry.unique_id].appliances:
for description in CLIMATES.get(device.appliance_type, []):
if isinstance(description, HonACClimateEntityDescription):
if description.key not in list(device.commands):
continue
entity = HonACClimateEntity(hass, entry, device, description)
elif isinstance(description, HonClimateEntityDescription):
if description.key not in device.available_settings:
continue
appliances.extend(
[HonClimateEntity(hass, coordinator, entry, device, description)]
)
async_add_entities(appliances)
entity = HonClimateEntity(hass, entry, device, description)
else:
continue
await entity.coordinator.async_config_entry_first_refresh()
entities.append(entity)
async_add_entities(entities)
class HonClimateEntity(HonEntity, ClimateEntity):
def __init__(
self, hass, coordinator, entry, device: HonAppliance, description
) -> None:
super().__init__(hass, entry, coordinator, device)
self._coordinator = coordinator
self._device = coordinator.device
self.entity_description = description
self._hass = hass
self._attr_unique_id = f"{super().unique_id}climate"
class HonACClimateEntity(HonEntity, ClimateEntity):
def __init__(self, hass, entry, device: HonAppliance, description) -> None:
super().__init__(hass, entry, device, description)
self._attr_temperature_unit = TEMP_CELSIUS
self._attr_target_temperature_step = PRECISION_WHOLE
self._attr_max_temp = device.settings["tempSel"].max
self._attr_min_temp = device.settings["tempSel"].min
self._attr_target_temperature_step = device.settings["settings.tempSel"].step
self._attr_max_temp = device.settings["settings.tempSel"].max
self._attr_min_temp = device.settings["settings.tempSel"].min
self._attr_hvac_modes = [HVACMode.OFF] + [
HON_HVAC_MODE[mode] for mode in device.settings["machMode"].values
HON_HVAC_MODE[mode] for mode in device.settings["settings.machMode"].values
]
self._attr_fan_modes = [FAN_OFF] + [
HON_FAN[mode] for mode in device.settings["windSpeed"].values
HON_FAN[mode] for mode in device.settings["settings.windSpeed"].values
]
self._attr_swing_modes = [
SWING_OFF,
@ -89,22 +121,37 @@ class HonClimateEntity(HonEntity, ClimateEntity):
| ClimateEntityFeature.SWING_MODE
)
self._handle_coordinator_update(update=False)
@property
def hvac_mode(self) -> HVACMode | str | None:
if self._device.get("onOffStatus") == "0":
return HVACMode.OFF
else:
return HON_HVAC_MODE[self._device.get("machMode")]
async def async_set_hvac_mode(self, hvac_mode):
if hvac_mode == HVACMode.OFF:
self._device.commands["stopProgram"].send()
await self._device.commands["stopProgram"].send()
else:
self._device.settings["program"].value = HON_HVAC_PROGRAM[hvac_mode]
self._device.commands["startProgram"].send()
self._device.settings["startProgram.program"].value = HON_HVAC_PROGRAM[
hvac_mode
]
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)
self._device.settings["windSpeed"].value = list(HON_FAN.keys())[mode_number]
self._device.commands["startProgram"].send()
self._device.settings["settings.windSpeed"].value = list(HON_FAN.keys())[
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["windDirectionHorizontal"]
vertical = self._device.settings["windDirectionVertical"]
horizontal = self._device.settings["settings.windDirectionHorizontal"]
vertical = self._device.settings["settings.windDirectionVertical"]
if swing_mode in [SWING_BOTH, SWING_HORIZONTAL]:
horizontal.value = "7"
if swing_mode in [SWING_BOTH, SWING_VERTICAL]:
@ -114,30 +161,30 @@ class HonClimateEntity(HonEntity, ClimateEntity):
if swing_mode in [SWING_OFF, SWING_VERTICAL] and horizontal.value == "7":
horizontal.value = "0"
self._attr_swing_mode = swing_mode
self._device.commands["startProgram"].send()
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["selTemp"].value = temperature
self._device.commands["startProgram"].send()
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["tempSel"].max
self._attr_min_temp = self._device.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")]
self._attr_fan_mode = HON_FAN[self._device.settings["windSpeed"].value]
self._attr_fan_mode = HON_FAN[self._device.get("windSpeed")]
horizontal = self._device.settings["windDirectionHorizontal"]
vertical = self._device.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":
@ -146,3 +193,113 @@ class HonClimateEntity(HonEntity, ClimateEntity):
self._attr_swing_mode = SWING_VERTICAL
else:
self._attr_swing_mode = SWING_OFF
if update:
self.async_write_ha_state()
class HonClimateEntity(HonEntity, ClimateEntity):
entity_description = HonClimateEntityDescription
def __init__(self, hass, entry, device: HonAppliance, description) -> None:
super().__init__(hass, entry, device, description)
self._attr_temperature_unit = TEMP_CELSIUS
self._set_temperature_bound()
self._attr_supported_features = (
ClimateEntityFeature.TARGET_TEMPERATURE | ClimateEntityFeature.PRESET_MODE
)
self._attr_hvac_modes = [description.mode]
if device.get("onOffStatus"):
self._attr_hvac_modes += [HVACMode.OFF]
modes = []
else:
modes = ["no_mode"]
for mode, data in device.commands["startProgram"].categories.items():
if mode not in data.parameters["program"].values:
continue
if zone := data.parameters.get("zone"):
if self.entity_description.name.lower() in zone.values:
modes.append(mode)
else:
modes.append(mode)
self._attr_preset_modes = modes
self._handle_coordinator_update(update=False)
@property
def target_temperature(self) -> int | None:
"""Return the temperature we try to reach."""
return int(self._device.get(self.entity_description.key))
@property
def current_temperature(self) -> int | None:
"""Return the current temperature."""
temp_key = self.entity_description.key.split(".")[-1].replace("Sel", "")
return int(self._device.get(temp_key))
async def async_set_temperature(self, **kwargs):
if (temperature := kwargs.get(ATTR_TEMPERATURE)) is None:
return False
self._device.settings[self.entity_description.key].value = str(int(temperature))
await self._device.commands["settings"].send()
self.async_write_ha_state()
@property
def hvac_mode(self) -> HVACMode | str | None:
if self._device.get("onOffStatus") == "0":
return HVACMode.OFF
else:
return self.entity_description.mode
async def async_set_hvac_mode(self, hvac_mode):
if len(self.hvac_modes) <= 1:
return
if hvac_mode == HVACMode.OFF:
await self._device.commands["stopProgram"].send()
else:
await self._device.commands["startProgram"].send()
self._attr_hvac_mode = hvac_mode
self.async_write_ha_state()
@property
def preset_mode(self) -> str | None:
"""Return the current Preset for this channel."""
if self._device.get("onOffStatus") is not None:
return self._device.get("programName", "")
else:
return self._device.get(
f"mode{self.entity_description.key[-2:]}", "no_mode"
)
async def async_set_preset_mode(self, preset_mode: str) -> None:
"""Set the new preset mode."""
command = "stopProgram" if preset_mode == "no_mode" else "startProgram"
if program := self._device.settings.get(f"{command}.program"):
program.value = preset_mode
if zone := self._device.settings.get(f"{command}.zone"):
zone.value = self.entity_description.name.lower()
self._device.sync_command(command, "settings")
self._set_temperature_bound()
await self.coordinator.async_refresh()
await self._device.commands[command].send()
self._attr_preset_mode = preset_mode
self.async_write_ha_state()
def _set_temperature_bound(self):
self._attr_target_temperature_step = self._device.settings[
self.entity_description.key
].step
self._attr_max_temp = self._device.settings[self.entity_description.key].max
self._attr_min_temp = self._device.settings[self.entity_description.key].min
@callback
def _handle_coordinator_update(self, update=True) -> None:
self._attr_target_temperature = self.target_temperature
self._attr_current_temperature = self.current_temperature
self._attr_hvac_mode = self.hvac_mode
self._attr_preset_mode = self.preset_mode
if update:
self.async_write_ha_state()

View File

@ -1,7 +1,6 @@
import logging
import voluptuous as vol
from homeassistant import config_entries
from homeassistant.const import CONF_EMAIL, CONF_PASSWORD

View File

@ -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,
@ -120,6 +120,19 @@ TUMBLE_DRYER_PR_PHASE = {
"19": "WASHING_CMD&CTRL.PHASE_DRYING.TITLE",
"20": "WASHING_CMD&CTRL.PHASE_DRYING.TITLE",
}
DIRTY_LEVEL = {
"1": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OPTIONS_VALUES_DESCRIPTION.LITTLE",
"2": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OPTIONS_VALUES_DESCRIPTION.NORMAL",
"3": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OPTIONS_VALUES_DESCRIPTION.VERY",
}
STEAM_LEVEL = {
"0": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OPTIONS_VALUES_DESCRIPTION.NO_STEAM",
"1": "WASHING_CMD&CTRL.GUIDED_WASHING_SYMBOLS_FABRICS.COTTON_TITLE",
"2": "WASHING_CMD&CTRL.GUIDED_WASHING_SYMBOLS_FABRICS.DELICATE_TITLE",
"3": "WASHING_CMD&CTRL.GUIDED_WASHING_SYMBOLS_FABRICS.SYNTHETIC_TITLE",
}
DISHWASHER_PR_PHASE = {
"0": "WASHING_CMD&CTRL.PHASE_READY.TITLE",
"1": "WASHING_CMD&CTRL.PHASE_PREWASH.TITLE",
@ -167,49 +180,12 @@ 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"
]
REF_ZONES = {
"fridge": "REF.ZONES.FRIDGE",
"freezer": "REF.ZONES.FREEZER",
"vtroom1": "REF.ZONES.MY_ZONE_1",
"fridge_freezer": ["REF.ZONES.FRIDGE", " & ", "REF.ZONES.FREEZER"],
}
PROGRAMS_TD = [
"active_dry",

View File

@ -1,11 +1,10 @@
import logging
from datetime import timedelta
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 pyhon.appliance import HonAppliance
from .const import DOMAIN
@ -15,14 +14,20 @@ _LOGGER = logging.getLogger(__name__)
class HonEntity(CoordinatorEntity):
_attr_has_entity_name = True
def __init__(self, hass, entry, coordinator, device: HonAppliance) -> None:
def __init__(self, hass, entry, device: HonAppliance, description=None) -> None:
coordinator = get_coordinator(hass, device)
super().__init__(coordinator)
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
if description is not None:
self.entity_description = description
self._attr_unique_id = f"{self._device.unique_id}{description.key}"
else:
self._attr_unique_id = self._device.unique_id
@property
def device_info(self):
@ -59,3 +64,13 @@ def unique_entities(base_entities, new_entities):
if entity.key not in existing_entities:
result.append(entity)
return tuple(result)
def get_coordinator(hass, appliance):
coordinators = hass.data[DOMAIN]["coordinators"]
if appliance.unique_id in coordinators:
coordinator = hass.data[DOMAIN]["coordinators"][appliance.unique_id]
else:
coordinator = HonCoordinator(hass, appliance)
hass.data[DOMAIN]["coordinators"][appliance.unique_id] = coordinator
return coordinator

View File

@ -1,11 +1,15 @@
{
"domain": "hon",
"name": "Haier hOn",
"codeowners": ["@Andre0512"],
"codeowners": [
"@Andre0512"
],
"config_flow": true,
"documentation": "https://github.com/Andre0512/hon/",
"iot_class": "cloud_polling",
"issue_tracker": "https://github.com/Andre0512/hon/issues",
"requirements": ["pyhOn==0.10.4"],
"version": "0.7.1"
"requirements": [
"pyhOn==0.11.3"
],
"version": "0.8.0-beta.7"
}

View File

@ -1,9 +1,6 @@
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 dataclasses import dataclass
from homeassistant.components.number import (
NumberEntity,
@ -12,186 +9,188 @@ from homeassistant.components.number import (
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import UnitOfTime, UnitOfTemperature
from homeassistant.core import callback
from homeassistant.helpers.entity import EntityCategory
from homeassistant.helpers.entity import EntityCategory, Entity
from pyhon.parameter.range import HonParameterRange
from .const import DOMAIN
from .hon import HonEntity, HonCoordinator, unique_entities
from .hon import HonEntity, unique_entities
@dataclass
class HonConfigNumberEntityDescription(NumberEntityDescription):
entity_category: EntityCategory = EntityCategory.CONFIG
@dataclass
class HonNumberEntityDescription(NumberEntityDescription):
pass
NUMBERS: dict[str, tuple[NumberEntityDescription, ...]] = {
"WM": (
NumberEntityDescription(
HonConfigNumberEntityDescription(
key="startProgram.delayTime",
name="Delay Time",
icon="mdi:timer-plus",
entity_category=EntityCategory.CONFIG,
native_unit_of_measurement=UnitOfTime.MINUTES,
translation_key="delay_time",
),
NumberEntityDescription(
HonConfigNumberEntityDescription(
key="startProgram.rinseIterations",
name="Rinse Iterations",
icon="mdi:rotate-right",
entity_category=EntityCategory.CONFIG,
translation_key="rinse_iterations",
),
NumberEntityDescription(
HonConfigNumberEntityDescription(
key="startProgram.mainWashTime",
name="Main Wash Time",
icon="mdi:clock-start",
entity_category=EntityCategory.CONFIG,
native_unit_of_measurement=UnitOfTime.MINUTES,
translation_key="wash_time",
),
NumberEntityDescription(
HonConfigNumberEntityDescription(
key="startProgram.steamLevel",
name="Steam Level",
icon="mdi:weather-dust",
entity_category=EntityCategory.CONFIG,
translation_key="steam_level",
),
NumberEntityDescription(
HonConfigNumberEntityDescription(
key="startProgram.waterHard",
name="Water hard",
icon="mdi:water",
entity_category=EntityCategory.CONFIG,
translation_key="water_hard",
),
NumberEntityDescription(
HonConfigNumberEntityDescription(
key="startProgram.lang",
name="lang",
entity_category=EntityCategory.CONFIG,
),
),
"TD": (
NumberEntityDescription(
HonConfigNumberEntityDescription(
key="startProgram.delayTime",
name="Delay time",
icon="mdi:timer-plus",
entity_category=EntityCategory.CONFIG,
native_unit_of_measurement=UnitOfTime.MINUTES,
translation_key="delay_time",
),
NumberEntityDescription(
HonConfigNumberEntityDescription(
key="startProgram.tempLevel",
name="Temperature level",
entity_category=EntityCategory.CONFIG,
icon="mdi:thermometer",
translation_key="tumbledryertemplevel",
),
NumberEntityDescription(
HonConfigNumberEntityDescription(
key="startProgram.dryTime",
name="Dry Time",
entity_category=EntityCategory.CONFIG,
translation_key="dry_time",
),
),
"OV": (
NumberEntityDescription(
HonConfigNumberEntityDescription(
key="startProgram.delayTime",
name="Delay time",
icon="mdi:timer-plus",
entity_category=EntityCategory.CONFIG,
native_unit_of_measurement=UnitOfTime.MINUTES,
translation_key="delay_time",
),
NumberEntityDescription(
HonConfigNumberEntityDescription(
key="startProgram.tempSel",
name="Target Temperature",
entity_category=EntityCategory.CONFIG,
icon="mdi:thermometer",
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
translation_key="target_temperature",
),
NumberEntityDescription(
HonConfigNumberEntityDescription(
key="startProgram.prTime",
name="Program Duration",
entity_category=EntityCategory.CONFIG,
icon="mdi:timelapse",
native_unit_of_measurement=UnitOfTime.MINUTES,
translation_key="program_duration",
),
),
"IH": (
NumberEntityDescription(
HonConfigNumberEntityDescription(
key="startProgram.temp",
name="Temperature",
entity_category=EntityCategory.CONFIG,
icon="mdi:thermometer",
translation_key="temperature",
),
NumberEntityDescription(
HonConfigNumberEntityDescription(
key="startProgram.powerManagement",
name="Power Management",
entity_category=EntityCategory.CONFIG,
icon="mdi:timelapse",
translation_key="power_management",
),
),
"DW": (
NumberEntityDescription(
HonConfigNumberEntityDescription(
key="startProgram.delayTime",
name="Delay time",
icon="mdi:timer-plus",
entity_category=EntityCategory.CONFIG,
native_unit_of_measurement=UnitOfTime.MINUTES,
translation_key="delay_time",
),
NumberEntityDescription(
HonConfigNumberEntityDescription(
key="startProgram.waterHard",
name="Water hard",
icon="mdi:water",
entity_category=EntityCategory.CONFIG,
translation_key="water_hard",
),
),
"AC": (
NumberEntityDescription(
key="startProgram.tempSel",
HonNumberEntityDescription(
key="settings.tempSel",
name="Target Temperature",
entity_category=EntityCategory.CONFIG,
icon="mdi:thermometer",
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
translation_key="target_temperature",
),
),
"REF": (
HonNumberEntityDescription(
key="settings.tempSelZ1",
name="Fridge Temperature",
icon="mdi:thermometer",
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
translation_key="fridge_temp_sel",
),
HonNumberEntityDescription(
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"])
async def async_setup_entry(hass, entry: ConfigEntry, async_add_entities) -> None:
hon: Hon = hass.data[DOMAIN][entry.unique_id]
coordinators = hass.data[DOMAIN]["coordinators"]
appliances = []
for device in hon.appliances:
if device.unique_id in coordinators:
coordinator = hass.data[DOMAIN]["coordinators"][device.unique_id]
else:
coordinator = HonCoordinator(hass, device)
hass.data[DOMAIN]["coordinators"][device.unique_id] = coordinator
await coordinator.async_config_entry_first_refresh()
if descriptions := NUMBERS.get(device.appliance_type):
for description in descriptions:
if description.key not in device.available_settings:
continue
appliances.extend(
[HonNumberEntity(hass, coordinator, entry, device, description)]
)
async_add_entities(appliances)
entities = []
for device in hass.data[DOMAIN][entry.unique_id].appliances:
for description in NUMBERS.get(device.appliance_type, []):
if description.key not in device.available_settings:
continue
if isinstance(description, HonNumberEntityDescription):
entity = HonNumberEntity(hass, entry, device, description)
elif isinstance(description, HonConfigNumberEntityDescription):
entity = HonConfigNumberEntity(hass, entry, device, description)
else:
continue
await entity.coordinator.async_config_entry_first_refresh()
entities.append(entity)
async_add_entities(entities)
class HonNumberEntity(HonEntity, NumberEntity):
def __init__(self, hass, coordinator, entry, device, description) -> None:
super().__init__(hass, entry, coordinator, device)
entity_description: HonNumberEntityDescription
def __init__(self, hass, entry, device, description) -> None:
super().__init__(hass, entry, device, description)
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}"
if isinstance(self._data, HonParameterRange):
self._attr_native_max_value = self._data.max
self._attr_native_min_value = self._data.min
@ -203,12 +202,10 @@ class HonNumberEntity(HonEntity, NumberEntity):
async def async_set_native_value(self, value: float) -> None:
setting = self._device.settings[self.entity_description.key]
if not (
isinstance(setting, HonParameter) or isinstance(setting, HonParameterFixed)
):
if isinstance(setting, HonParameterRange):
setting.value = value
if self._device.appliance_type in ["AC"]:
self._device.commands["startProgram"].send()
command = self.entity_description.key.split(".")[0]
await self._device.commands[command].send()
await self.coordinator.async_refresh()
@callback
@ -220,3 +217,27 @@ 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."""
return (
super().available
and self._device.get("remoteCtrValid", "1") == "1"
and self._device.get("attributes.lastConnEvent.category") != "DISCONNECTED"
)
class HonConfigNumberEntity(HonNumberEntity):
entity_description: HonConfigNumberEntityDescription
async def async_set_native_value(self, value: str) -> None:
setting = self._device.settings[self.entity_description.key]
if isinstance(setting, HonParameterRange):
setting.value = value
await self.coordinator.async_refresh()
@property
def available(self) -> bool:
"""Return True if entity is available."""
return super(NumberEntity, self).available

View File

@ -1,151 +1,169 @@
from __future__ import annotations
import logging
import time
from pyhon import Hon
from pyhon.appliance import HonAppliance
from pyhon.parameter.fixed import HonParameterFixed
from dataclasses import dataclass
from homeassistant.components.select import SelectEntity, SelectEntityDescription
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 homeassistant.helpers.entity import EntityCategory, Entity
from pyhon.appliance import HonAppliance
from pyhon.parameter.fixed import HonParameterFixed
from .const import DOMAIN
from .hon import HonEntity, HonCoordinator, unique_entities
from .hon import HonEntity, unique_entities
_LOGGER = logging.getLogger(__name__)
@dataclass
class HonSelectEntityDescription(SelectEntityDescription):
pass
@dataclass
class HonConfigSelectEntityDescription(SelectEntityDescription):
entity_category: EntityCategory = EntityCategory.CONFIG
SELECTS = {
"WM": (
SelectEntityDescription(
HonConfigSelectEntityDescription(
key="startProgram.spinSpeed",
name="Spin speed",
entity_category=EntityCategory.CONFIG,
icon="mdi:numeric",
unit_of_measurement=REVOLUTIONS_PER_MINUTE,
translation_key="spin_speed",
),
SelectEntityDescription(
HonConfigSelectEntityDescription(
key="startProgram.temp",
name="Temperature",
entity_category=EntityCategory.CONFIG,
icon="mdi:thermometer",
unit_of_measurement=UnitOfTemperature.CELSIUS,
translation_key="temperature",
),
SelectEntityDescription(
HonConfigSelectEntityDescription(
key="startProgram.program",
name="Program",
entity_category=EntityCategory.CONFIG,
translation_key="programs_wm",
),
),
"TD": (
SelectEntityDescription(
HonConfigSelectEntityDescription(
key="startProgram.program",
name="Program",
entity_category=EntityCategory.CONFIG,
translation_key="programs_td",
),
SelectEntityDescription(
HonConfigSelectEntityDescription(
key="startProgram.dryTimeMM",
name="Dry Time",
entity_category=EntityCategory.CONFIG,
icon="mdi:timer",
unit_of_measurement=UnitOfTime.MINUTES,
translation_key="dry_time",
),
SelectEntityDescription(
HonConfigSelectEntityDescription(
key="startProgram.dryLevel",
name="Dry level",
entity_category=EntityCategory.CONFIG,
icon="mdi:hair-dryer",
translation_key="dry_levels",
),
),
"OV": (
SelectEntityDescription(
HonConfigSelectEntityDescription(
key="startProgram.program",
name="Program",
entity_category=EntityCategory.CONFIG,
translation_key="programs_ov",
),
),
"IH": (
SelectEntityDescription(
HonConfigSelectEntityDescription(
key="startProgram.program",
name="Program",
entity_category=EntityCategory.CONFIG,
translation_key="programs_ih",
),
),
"DW": (
SelectEntityDescription(
HonConfigSelectEntityDescription(
key="startProgram.program",
name="Program",
entity_category=EntityCategory.CONFIG,
translation_key="programs_dw",
),
HonConfigSelectEntityDescription(
key="startProgram.temp",
name="Temperature",
icon="mdi:thermometer",
unit_of_measurement=UnitOfTemperature.CELSIUS,
translation_key="temperature",
),
HonConfigSelectEntityDescription(
key="startProgram.remainingTime",
name="Remaining Time",
icon="mdi:timer",
unit_of_measurement=UnitOfTime.MINUTES,
translation_key="remaining_time",
),
),
"AC": (
SelectEntityDescription(
HonSelectEntityDescription(
key="startProgram.program",
name="Program",
entity_category=EntityCategory.CONFIG,
translation_key="programs_ac",
),
SelectEntityDescription(
key="startProgram.humanSensingStatus",
HonSelectEntityDescription(
key="settings.humanSensingStatus",
name="Eco Pilot",
entity_category=EntityCategory.CONFIG,
icon="mdi:run",
translation_key="eco_pilot",
),
),
"REF": (
HonConfigSelectEntityDescription(
key="startProgram.program",
name="Program",
translation_key="programs_ref",
),
HonConfigSelectEntityDescription(
key="startProgram.zone",
name="Zone",
icon="mdi:radiobox-marked",
translation_key="ref_zones",
),
),
}
SELECTS["WD"] = unique_entities(SELECTS["WM"], SELECTS["TD"])
async def async_setup_entry(hass, entry: ConfigEntry, async_add_entities) -> None:
hon: Hon = hass.data[DOMAIN][entry.unique_id]
coordinators = hass.data[DOMAIN]["coordinators"]
appliances = []
for device in hon.appliances:
if device.unique_id in coordinators:
coordinator = hass.data[DOMAIN]["coordinators"][device.unique_id]
else:
coordinator = HonCoordinator(hass, device)
hass.data[DOMAIN]["coordinators"][device.unique_id] = coordinator
await coordinator.async_config_entry_first_refresh()
if descriptions := SELECTS.get(device.appliance_type):
for description in descriptions:
if description.key not in device.available_settings:
continue
appliances.extend(
[HonSelectEntity(hass, coordinator, entry, device, description)]
)
async_add_entities(appliances)
entities = []
for device in hass.data[DOMAIN][entry.unique_id].appliances:
for description in SELECTS.get(device.appliance_type, []):
if description.key not in device.available_settings:
continue
if isinstance(description, HonSelectEntityDescription):
entity = HonSelectEntity(hass, entry, device, description)
elif isinstance(description, HonConfigSelectEntityDescription):
entity = HonConfigSelectEntity(hass, entry, device, description)
else:
continue
await entity.coordinator.async_config_entry_first_refresh()
entities.append(entity)
async_add_entities(entities)
class HonSelectEntity(HonEntity, SelectEntity):
def __init__(
self, hass, coordinator, entry, device: HonAppliance, description
) -> None:
super().__init__(hass, entry, coordinator, device)
entity_description: HonSelectEntityDescription
self._coordinator = coordinator
self._device = device
self.entity_description = description
self._attr_unique_id = f"{super().unique_id}{description.key}"
def __init__(self, hass, entry, device: HonAppliance, description) -> None:
super().__init__(hass, entry, device, description)
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:
@ -156,8 +174,8 @@ 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()
command = self.entity_description.key.split(".")[0]
await self._device.commands[command].send()
await self.coordinator.async_refresh()
@callback
@ -172,3 +190,25 @@ 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."""
return (
super().available
and self._device.get("remoteCtrValid", "1") == "1"
and self._device.get("attributes.lastConnEvent.category") != "DISCONNECTED"
)
class HonConfigSelectEntity(HonSelectEntity):
entity_description: HonConfigSelectEntityDescription
async def async_select_option(self, option: str) -> None:
self._device.settings[self.entity_description.key].value = option
await self.coordinator.async_refresh()
@property
def available(self) -> bool:
"""Return True if entity is available."""
return super(SelectEntity, self).available

View File

@ -1,6 +1,5 @@
import logging
from pyhon import Hon
from dataclasses import dataclass
from homeassistant.components.sensor import (
SensorEntity,
@ -9,6 +8,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,18 +21,26 @@ 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
from .hon import HonEntity, unique_entities
_LOGGER = logging.getLogger(__name__)
@dataclass
class HonConfigSensorEntityDescription(SensorEntityDescription):
entity_category: EntityCategory = EntityCategory.CONFIG
@dataclass
class HonSensorEntityDescription(SensorEntityDescription):
pass
SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
"WM": (
SensorEntityDescription(
HonSensorEntityDescription(
key="prPhase",
name="Program Phase",
icon="mdi:washing-machine",
@ -40,7 +48,7 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
translation_key="program_phases_wm",
options=list(const.WASHING_PR_PHASE),
),
SensorEntityDescription(
HonSensorEntityDescription(
key="totalElectricityUsed",
name="Total Power",
device_class=SensorDeviceClass.ENERGY,
@ -48,7 +56,7 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR,
translation_key="energy_total",
),
SensorEntityDescription(
HonSensorEntityDescription(
key="totalWaterUsed",
name="Total Water",
device_class=SensorDeviceClass.WATER,
@ -56,14 +64,14 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
native_unit_of_measurement=UnitOfVolume.LITERS,
translation_key="water_total",
),
SensorEntityDescription(
HonSensorEntityDescription(
key="totalWashCycle",
name="Total Wash Cycle",
state_class=SensorStateClass.TOTAL_INCREASING,
icon="mdi:counter",
translation_key="cycles_total",
),
SensorEntityDescription(
HonSensorEntityDescription(
key="currentElectricityUsed",
name="Current Electricity Used",
state_class=SensorStateClass.MEASUREMENT,
@ -72,23 +80,22 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
icon="mdi:lightning-bolt",
translation_key="energy_current",
),
SensorEntityDescription(
HonSensorEntityDescription(
key="currentWaterUsed",
name="Current Water Used",
state_class=SensorStateClass.MEASUREMENT,
icon="mdi:water",
translation_key="water_current",
),
SensorEntityDescription(
HonConfigSensorEntityDescription(
key="startProgram.weight",
name="Suggested weight",
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.CONFIG,
native_unit_of_measurement=UnitOfMass.KILOGRAMS,
icon="mdi:weight-kilogram",
translation_key="suggested_load",
),
SensorEntityDescription(
HonSensorEntityDescription(
key="machMode",
name="Machine Status",
icon="mdi:information",
@ -96,10 +103,10 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
translation_key="washing_modes",
options=list(const.MACH_MODE),
),
SensorEntityDescription(
HonSensorEntityDescription(
key="errors", name="Error", icon="mdi:math-log", translation_key="errors"
),
SensorEntityDescription(
HonSensorEntityDescription(
key="remainingTimeMM",
name="Remaining Time",
icon="mdi:timer",
@ -107,7 +114,7 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
native_unit_of_measurement=UnitOfTime.MINUTES,
translation_key="remaining_time",
),
SensorEntityDescription(
HonSensorEntityDescription(
key="spinSpeed",
name="Spin Speed",
icon="mdi:speedometer",
@ -115,55 +122,58 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
native_unit_of_measurement=REVOLUTIONS_PER_MINUTE,
translation_key="spin_speed",
),
SensorEntityDescription(
HonConfigSensorEntityDescription(
key="startProgram.energyLabel",
name="Energy Label",
icon="mdi:lightning-bolt-circle",
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.CONFIG,
translation_key="energy_label",
),
SensorEntityDescription(
HonConfigSensorEntityDescription(
key="startProgram.liquidDetergentDose",
name="Liquid Detergent Dose",
icon="mdi:cup-water",
entity_category=EntityCategory.CONFIG,
translation_key="det_liquid",
),
SensorEntityDescription(
HonConfigSensorEntityDescription(
key="startProgram.powderDetergentDose",
name="Powder Detergent Dose",
icon="mdi:cup",
entity_category=EntityCategory.CONFIG,
translation_key="det_dust",
),
SensorEntityDescription(
HonConfigSensorEntityDescription(
key="startProgram.remainingTime",
name="Remaining Time",
icon="mdi:timer",
state_class=SensorStateClass.MEASUREMENT,
native_unit_of_measurement=UnitOfTime.MINUTES,
entity_category=EntityCategory.CONFIG,
translation_key="remaining_time",
),
SensorEntityDescription(
HonSensorEntityDescription(
key="dirtyLevel",
name="Dirt level",
icon="mdi:liquid-spot",
translation_key="dirt_level",
),
SensorEntityDescription(
HonConfigSensorEntityDescription(
key="startProgram.suggestedLoadW",
name="Suggested Load",
icon="mdi:weight-kilogram",
entity_category=EntityCategory.CONFIG,
state_class=SensorStateClass.MEASUREMENT,
native_unit_of_measurement=UnitOfMass.KILOGRAMS,
translation_key="suggested_load",
),
HonSensorEntityDescription(
key="temp",
name="Current Temperature",
icon="mdi:thermometer",
state_class=SensorStateClass.MEASUREMENT,
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
translation_key="temperature",
),
),
"TD": (
SensorEntityDescription(
HonSensorEntityDescription(
key="machMode",
name="Machine Status",
icon="mdi:information",
@ -171,10 +181,10 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
translation_key="washing_modes",
options=list(const.MACH_MODE),
),
SensorEntityDescription(
HonSensorEntityDescription(
key="errors", name="Error", icon="mdi:math-log", translation_key="errors"
),
SensorEntityDescription(
HonSensorEntityDescription(
key="remainingTimeMM",
name="Remaining Time",
icon="mdi:timer",
@ -182,7 +192,7 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
native_unit_of_measurement=UnitOfTime.MINUTES,
translation_key="remaining_time",
),
SensorEntityDescription(
HonSensorEntityDescription(
key="delayTime",
name="Start Time",
icon="mdi:clock-start",
@ -190,7 +200,7 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
native_unit_of_measurement=UnitOfTime.MINUTES,
translation_key="delay_time",
),
SensorEntityDescription(
HonSensorEntityDescription(
key="programName",
name="Program",
icon="mdi:tumble-dryer",
@ -198,7 +208,7 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
translation_key="programs_td",
options=const.PROGRAMS_TD,
),
SensorEntityDescription(
HonSensorEntityDescription(
key="prPhase",
name="Program Phase",
icon="mdi:washing-machine",
@ -206,7 +216,7 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
translation_key="program_phases_td",
options=list(const.TUMBLE_DRYER_PR_PHASE),
),
SensorEntityDescription(
HonSensorEntityDescription(
key="dryLevel",
name="Dry level",
icon="mdi:hair-dryer",
@ -214,58 +224,54 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
translation_key="dry_levels",
options=list(const.TUMBLE_DRYER_DRY_LEVEL),
),
SensorEntityDescription(
HonSensorEntityDescription(
key="tempLevel",
name="Temperature level",
icon="mdi:thermometer",
translation_key="tumbledryertemplevel",
),
SensorEntityDescription(
HonConfigSensorEntityDescription(
key="startProgram.suggestedLoadD",
name="Suggested Load",
icon="mdi:weight-kilogram",
entity_category=EntityCategory.CONFIG,
state_class=SensorStateClass.MEASUREMENT,
native_unit_of_measurement=UnitOfMass.KILOGRAMS,
translation_key="suggested_load",
),
SensorEntityDescription(
HonConfigSensorEntityDescription(
key="startProgram.energyLabel",
name="Energy Label",
icon="mdi:lightning-bolt-circle",
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.CONFIG,
translation_key="energy_label",
),
SensorEntityDescription(
HonConfigSensorEntityDescription(
key="startProgram.steamLevel",
name="Steam level",
icon="mdi:smoke",
entity_category=EntityCategory.CONFIG,
translation_key="steam_level",
),
SensorEntityDescription(
HonSensorEntityDescription(
key="steamLevel",
name="Steam level",
icon="mdi:smoke",
translation_key="steam_level",
),
SensorEntityDescription(
HonConfigSensorEntityDescription(
key="steamType",
name="Steam Type",
icon="mdi:weather-dust",
entity_category=EntityCategory.CONFIG,
),
),
"OV": (
SensorEntityDescription(
HonSensorEntityDescription(
key="remainingTimeMM",
name="Remaining Time",
icon="mdi:timer",
native_unit_of_measurement=UnitOfTime.MINUTES,
translation_key="remaining_time",
),
SensorEntityDescription(
HonSensorEntityDescription(
key="delayTime",
name="Start Time",
icon="mdi:clock-start",
@ -273,13 +279,13 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
native_unit_of_measurement=UnitOfTime.MINUTES,
translation_key="delay_time",
),
SensorEntityDescription(
HonSensorEntityDescription(
key="temp",
name="Temperature",
icon="mdi:thermometer",
translation_key="temperature",
),
SensorEntityDescription(
HonSensorEntityDescription(
key="tempSel",
name="Temperature Selected",
icon="mdi:thermometer",
@ -287,14 +293,14 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
),
),
"IH": (
SensorEntityDescription(
HonSensorEntityDescription(
key="remainingTimeMM",
name="Remaining Time",
icon="mdi:timer",
native_unit_of_measurement=UnitOfTime.MINUTES,
translation_key="remaining_time",
),
SensorEntityDescription(
HonSensorEntityDescription(
key="temp",
name="Temperature",
icon="mdi:thermometer",
@ -302,10 +308,10 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
translation_key="temperature",
),
SensorEntityDescription(
HonSensorEntityDescription(
key="errors", name="Error", icon="mdi:math-log", translation_key="errors"
),
SensorEntityDescription(
HonSensorEntityDescription(
key="power",
name="Power",
icon="mdi:lightning-bolt",
@ -314,57 +320,51 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
),
),
"DW": (
SensorEntityDescription(
HonConfigSensorEntityDescription(
key="startProgram.ecoIndex",
name="Eco Index",
icon="mdi:sprout",
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.CONFIG,
),
SensorEntityDescription(
HonConfigSensorEntityDescription(
key="startProgram.waterEfficiency",
name="Water Efficiency",
icon="mdi:water",
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.CONFIG,
translation_key="water_efficiency",
),
SensorEntityDescription(
HonConfigSensorEntityDescription(
key="startProgram.waterSaving",
name="Water Saving",
icon="mdi:water-percent",
state_class=SensorStateClass.MEASUREMENT,
native_unit_of_measurement=PERCENTAGE,
entity_category=EntityCategory.CONFIG,
translation_key="water_saving",
),
SensorEntityDescription(
HonConfigSensorEntityDescription(
key="startProgram.temp",
name="Temperature",
icon="mdi:thermometer",
state_class=SensorStateClass.MEASUREMENT,
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
entity_category=EntityCategory.CONFIG,
translation_key="temperature",
),
SensorEntityDescription(
HonConfigSensorEntityDescription(
key="startProgram.energyLabel",
name="Energy Label",
icon="mdi:lightning-bolt-circle",
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.CONFIG,
translation_key="energy_label",
),
SensorEntityDescription(
HonConfigSensorEntityDescription(
key="startProgram.remainingTime",
name="Time",
icon="mdi:timer",
state_class=SensorStateClass.MEASUREMENT,
native_unit_of_measurement=UnitOfTime.MINUTES,
entity_category=EntityCategory.CONFIG,
translation_key="duration",
),
SensorEntityDescription(
HonSensorEntityDescription(
key="machMode",
name="Machine Status",
icon="mdi:information",
@ -372,10 +372,10 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
translation_key="washing_modes",
options=list(const.MACH_MODE),
),
SensorEntityDescription(
HonSensorEntityDescription(
key="errors", name="Error", icon="mdi:math-log", translation_key="errors"
),
SensorEntityDescription(
HonSensorEntityDescription(
key="remainingTimeMM",
name="Remaining Time",
icon="mdi:timer",
@ -383,7 +383,7 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
native_unit_of_measurement=UnitOfTime.MINUTES,
translation_key="remaining_time",
),
SensorEntityDescription(
HonSensorEntityDescription(
key="prPhase",
name="Program Phase",
icon="mdi:washing-machine",
@ -392,50 +392,139 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
options=list(const.DISHWASHER_PR_PHASE),
),
),
"AC": (
HonSensorEntityDescription(
key="tempAirOutdoor",
name="Air Temperature Outdoor",
icon="mdi:thermometer",
state_class=SensorStateClass.MEASUREMENT,
device_class=SensorDeviceClass.TEMPERATURE,
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
),
HonSensorEntityDescription(
key="tempCoilerIndoor",
name="Coiler Temperature Indoor",
icon="mdi:thermometer",
state_class=SensorStateClass.MEASUREMENT,
device_class=SensorDeviceClass.TEMPERATURE,
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
),
HonSensorEntityDescription(
key="tempCoilerOutdoor",
name="Coiler Temperature Outside",
icon="mdi:thermometer",
state_class=SensorStateClass.MEASUREMENT,
device_class=SensorDeviceClass.TEMPERATURE,
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
),
HonSensorEntityDescription(
key="tempDefrostOutdoor",
name="Defrost Temperature Outdoor",
icon="mdi:thermometer",
state_class=SensorStateClass.MEASUREMENT,
device_class=SensorDeviceClass.TEMPERATURE,
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
),
HonSensorEntityDescription(
key="tempInAirOutdoor",
name="In Air Temperature Outdoor",
icon="mdi:thermometer",
state_class=SensorStateClass.MEASUREMENT,
device_class=SensorDeviceClass.TEMPERATURE,
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
),
HonSensorEntityDescription(
key="tempIndoor",
name="Indoor Temperature",
icon="mdi:thermometer",
state_class=SensorStateClass.MEASUREMENT,
device_class=SensorDeviceClass.TEMPERATURE,
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
),
HonSensorEntityDescription(
key="tempOutdoor",
name="Outdoor Temperature",
icon="mdi:thermometer",
state_class=SensorStateClass.MEASUREMENT,
device_class=SensorDeviceClass.TEMPERATURE,
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
),
HonSensorEntityDescription(
key="tempSel",
name="Selected Temperature",
icon="mdi:thermometer",
state_class=SensorStateClass.MEASUREMENT,
device_class=SensorDeviceClass.TEMPERATURE,
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
),
),
"REF": (
HonSensorEntityDescription(
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",
),
HonSensorEntityDescription(
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",
),
HonSensorEntityDescription(
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",
),
HonSensorEntityDescription(
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",
),
HonSensorEntityDescription(
key="errors", name="Error", icon="mdi:math-log", translation_key="errors"
),
),
}
SENSORS["WD"] = unique_entities(SENSORS["WM"], SENSORS["TD"])
async def async_setup_entry(hass, entry: ConfigEntry, async_add_entities) -> None:
hon: Hon = hass.data[DOMAIN][entry.unique_id]
coordinators = hass.data[DOMAIN]["coordinators"]
appliances = []
for device in hon.appliances:
if device.unique_id in coordinators:
coordinator = hass.data[DOMAIN]["coordinators"][device.unique_id]
else:
coordinator = HonCoordinator(hass, device)
hass.data[DOMAIN]["coordinators"][device.unique_id] = coordinator
await coordinator.async_config_entry_first_refresh()
if descriptions := SENSORS.get(device.appliance_type):
for description in descriptions:
if not device.get(description.key) and not device.settings.get(
description.key
):
entities = []
for device in hass.data[DOMAIN][entry.unique_id].appliances:
for description in SENSORS.get(device.appliance_type, []):
if isinstance(description, HonSensorEntityDescription):
if not device.get(description.key):
continue
appliances.extend(
[HonSensorEntity(hass, coordinator, entry, device, description)]
)
entity = HonSensorEntity(hass, entry, device, description)
elif isinstance(description, HonConfigSensorEntityDescription):
if description.key not in device.available_settings:
continue
entity = HonConfigSensorEntity(hass, entry, device, description)
else:
continue
await entity.coordinator.async_config_entry_first_refresh()
entities.append(entity)
async_add_entities(appliances)
async_add_entities(entities)
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}"
@property
def native_value(self) -> StateType:
value = self._device.get(self.entity_description.key, "")
if not value and self.entity_description.state_class is not None:
return 0
return value
entity_description: HonSensorEntityDescription
@callback
def _handle_coordinator_update(self):
@ -444,3 +533,21 @@ class HonSensorEntity(HonEntity, SensorEntity):
self._attr_native_value = 0
self._attr_native_value = value
self.async_write_ha_state()
class HonConfigSensorEntity(HonEntity, SensorEntity):
entity_description: HonConfigSensorEntityDescription
@callback
def _handle_coordinator_update(self):
value = self._device.settings.get(self.entity_description.key, None)
if self.entity_description.state_class is not None:
if value and value.value:
self._attr_native_value = (
float(value.value) if "." in str(value.value) else int(value.value)
)
else:
self._attr_native_value = 0
else:
self._attr_native_value = value.value
self.async_write_ha_state()

View File

@ -5,12 +5,12 @@ 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 homeassistant.core import callback
from pyhon.parameter.base import HonParameter
from pyhon.parameter.range import HonParameterRange
from .const import DOMAIN
from .hon import HonCoordinator, HonEntity, unique_entities
from .hon import HonEntity, unique_entities
_LOGGER = logging.getLogger(__name__)
@ -22,15 +22,24 @@ class HonSwitchEntityDescriptionMixin:
@dataclass
class HonSwitchEntityDescription(
class HonControlSwitchEntityDescription(
HonSwitchEntityDescriptionMixin, SwitchEntityDescription
):
pass
class HonSwitchEntityDescription(SwitchEntityDescription):
pass
@dataclass
class HonConfigSwitchEntityDescription(SwitchEntityDescription):
entity_category: EntityCategory = EntityCategory.CONFIG
SWITCHES: dict[str, tuple[HonSwitchEntityDescription, ...]] = {
"WM": (
HonSwitchEntityDescription(
HonControlSwitchEntityDescription(
key="active",
name="Washing Machine",
icon="mdi:washing-machine",
@ -38,7 +47,7 @@ SWITCHES: dict[str, tuple[HonSwitchEntityDescription, ...]] = {
turn_off_key="stopProgram",
translation_key="washing_machine",
),
HonSwitchEntityDescription(
HonControlSwitchEntityDescription(
key="pause",
name="Pause Washing Machine",
icon="mdi:pause",
@ -46,72 +55,69 @@ SWITCHES: dict[str, tuple[HonSwitchEntityDescription, ...]] = {
turn_off_key="resumeProgram",
translation_key="pause",
),
HonSwitchEntityDescription(
HonConfigSwitchEntityDescription(
key="startProgram.delayStatus",
name="Delay Status",
icon="mdi:timer-check",
entity_category=EntityCategory.CONFIG,
translation_key="delay_time",
),
HonSwitchEntityDescription(
HonConfigSwitchEntityDescription(
key="startProgram.haier_SoakPrewashSelection",
name="Soak Prewash Selection",
icon="mdi:tshirt-crew",
entity_category=EntityCategory.CONFIG,
translation_key="prewash",
),
HonSwitchEntityDescription(
key="startProgram.autoSoftenerStatus",
HonConfigSwitchEntityDescription(
key="startProgram.permanentPressStatus",
name="Keep Fresh",
entity_category=EntityCategory.CONFIG,
icon="mdi:refresh-circle",
translation_key="keep_fresh",
),
HonSwitchEntityDescription(
key="startProgram.autoDetergentStatus",
name="Auto Dose",
entity_category=EntityCategory.CONFIG,
icon="mdi:cup",
translation_key="auto_dose",
HonConfigSwitchEntityDescription(
key="startProgram.autoSoftenerStatus",
name="Auto Dose Softener",
icon="mdi:teddy-bear",
translation_key="auto_dose_softener",
),
HonSwitchEntityDescription(
HonConfigSwitchEntityDescription(
key="startProgram.autoDetergentStatus",
name="Auto Dose Detergent",
icon="mdi:cup",
translation_key="auto_dose_detergent",
),
HonConfigSwitchEntityDescription(
key="startProgram.acquaplus",
name="Acqua Plus",
entity_category=EntityCategory.CONFIG,
icon="mdi:water-plus",
translation_key="acqua_plus",
),
HonSwitchEntityDescription(
key="extraRinse1",
HonConfigSwitchEntityDescription(
key="startProgram.extraRinse1",
name="Extra Rinse 1",
entity_category=EntityCategory.CONFIG,
icon="mdi:numeric-1-box-multiple-outline",
translation_key="extra_rinse_1",
),
HonSwitchEntityDescription(
key="extraRinse2",
HonConfigSwitchEntityDescription(
key="startProgram.extraRinse2",
name="Extra Rinse 2",
entity_category=EntityCategory.CONFIG,
icon="mdi:numeric-2-box-multiple-outline",
translation_key="extra_rinse_2",
),
HonSwitchEntityDescription(
key="extraRinse3",
HonConfigSwitchEntityDescription(
key="startProgram.extraRinse3",
name="Extra Rinse 3",
entity_category=EntityCategory.CONFIG,
icon="mdi:numeric-3-box-multiple-outline",
translation_key="extra_rinse_3",
),
HonSwitchEntityDescription(
key="goodNight",
HonConfigSwitchEntityDescription(
key="startProgram.goodNight",
name="Good Night",
icon="mdi:weather-night",
entity_category=EntityCategory.CONFIG,
translation_key="good_night",
),
),
"TD": (
HonSwitchEntityDescription(
HonControlSwitchEntityDescription(
key="active",
name="Tumble Dryer",
icon="mdi:tumble-dryer",
@ -119,7 +125,7 @@ SWITCHES: dict[str, tuple[HonSwitchEntityDescription, ...]] = {
turn_off_key="stopProgram",
translation_key="tumble_dryer",
),
HonSwitchEntityDescription(
HonControlSwitchEntityDescription(
key="pause",
name="Pause Tumble Dryer",
icon="mdi:pause",
@ -127,29 +133,26 @@ SWITCHES: dict[str, tuple[HonSwitchEntityDescription, ...]] = {
turn_off_key="resumeProgram",
translation_key="pause",
),
HonSwitchEntityDescription(
HonConfigSwitchEntityDescription(
key="startProgram.sterilizationStatus",
name="Sterilization",
icon="mdi:clock-start",
entity_category=EntityCategory.CONFIG,
),
HonSwitchEntityDescription(
HonConfigSwitchEntityDescription(
key="startProgram.antiCreaseTime",
name="Anti-Crease",
entity_category=EntityCategory.CONFIG,
icon="mdi:timer",
translation_key="anti_crease",
),
HonSwitchEntityDescription(
HonConfigSwitchEntityDescription(
key="startProgram.anticrease",
name="Anti-Crease",
entity_category=EntityCategory.CONFIG,
icon="mdi:timer",
translation_key="anti_crease",
),
),
"OV": (
HonSwitchEntityDescription(
HonControlSwitchEntityDescription(
key="active",
name="Oven",
icon="mdi:toaster-oven",
@ -157,16 +160,15 @@ SWITCHES: dict[str, tuple[HonSwitchEntityDescription, ...]] = {
turn_off_key="stopProgram",
translation_key="oven",
),
HonSwitchEntityDescription(
HonConfigSwitchEntityDescription(
key="startProgram.preheatStatus",
name="Preheat",
icon="mdi:thermometer-chevron-up",
entity_category=EntityCategory.CONFIG,
translation_key="preheat",
),
),
"WD": (
HonSwitchEntityDescription(
HonControlSwitchEntityDescription(
key="active",
name="Washer Dryer",
icon="mdi:washing-machine",
@ -174,7 +176,7 @@ SWITCHES: dict[str, tuple[HonSwitchEntityDescription, ...]] = {
turn_off_key="stopProgram",
translation_key="washer_dryer",
),
HonSwitchEntityDescription(
HonControlSwitchEntityDescription(
key="pause",
name="Pause Washer Dryer",
icon="mdi:pause",
@ -184,7 +186,7 @@ SWITCHES: dict[str, tuple[HonSwitchEntityDescription, ...]] = {
),
),
"DW": (
HonSwitchEntityDescription(
HonControlSwitchEntityDescription(
key="active",
name="Dish Washer",
icon="mdi:dishwasher",
@ -192,108 +194,133 @@ SWITCHES: dict[str, tuple[HonSwitchEntityDescription, ...]] = {
turn_off_key="stopProgram",
translation_key="dish_washer",
),
HonSwitchEntityDescription(
HonConfigSwitchEntityDescription(
key="startProgram.extraDry",
name="Extra Dry",
icon="mdi:hair-dryer",
entity_category=EntityCategory.CONFIG,
translation_key="extra_dry",
),
HonSwitchEntityDescription(
HonConfigSwitchEntityDescription(
key="startProgram.halfLoad",
name="Half Load",
icon="mdi:fraction-one-half",
entity_category=EntityCategory.CONFIG,
translation_key="half_load",
),
HonSwitchEntityDescription(
HonConfigSwitchEntityDescription(
key="startProgram.openDoor",
name="Open Door",
icon="mdi:door-open",
entity_category=EntityCategory.CONFIG,
translation_key="open_door",
),
HonSwitchEntityDescription(
HonConfigSwitchEntityDescription(
key="startProgram.threeInOne",
name="Three in One",
icon="mdi:numeric-3-box-outline",
entity_category=EntityCategory.CONFIG,
translation_key="three_in_one",
),
HonSwitchEntityDescription(
HonConfigSwitchEntityDescription(
key="startProgram.ecoExpress",
name="Eco Express",
icon="mdi:sprout",
entity_category=EntityCategory.CONFIG,
translation_key="eco",
),
HonSwitchEntityDescription(
HonConfigSwitchEntityDescription(
key="startProgram.addDish",
name="Add Dish",
icon="mdi:silverware-fork-knife",
entity_category=EntityCategory.CONFIG,
translation_key="add_dish",
),
HonSwitchEntityDescription(
key="buzzerDisabled",
name="Buzzer Disabled",
icon="mdi:volume-off",
translation_key="buzzer",
),
),
"AC": (
HonSwitchEntityDescription(
key="startProgram.10degreeHeatingStatus",
key="10degreeHeatingStatus",
name="10° Heating",
entity_category=EntityCategory.CONFIG,
icon="mdi:heat-wave",
translation_key="10_degree_heating",
),
HonSwitchEntityDescription(
key="startProgram.echoStatus",
key="echoStatus",
name="Echo",
entity_category=EntityCategory.CONFIG,
icon="mdi:account-voice",
),
HonSwitchEntityDescription(
key="startProgram.ecoMode",
key="ecoMode",
name="Eco Mode",
entity_category=EntityCategory.CONFIG,
translation_key="eco_mode",
),
HonSwitchEntityDescription(
key="startProgram.healthMode",
key="healthMode",
name="Health Mode",
entity_category=EntityCategory.CONFIG,
icon="mdi:medication-outline",
),
HonSwitchEntityDescription(
key="startProgram.muteStatus",
key="muteStatus",
name="Mute",
entity_category=EntityCategory.CONFIG,
icon="mdi:volume-off",
translation_key="mute_mode",
),
HonSwitchEntityDescription(
key="startProgram.rapidMode",
key="rapidMode",
name="Rapid Mode",
entity_category=EntityCategory.CONFIG,
icon="mdi:run-fast",
translation_key="rapid_mode",
),
HonSwitchEntityDescription(
key="startProgram.screenDisplayStatus",
key="screenDisplayStatus",
name="Screen Display",
entity_category=EntityCategory.CONFIG,
icon="mdi:monitor-small",
),
HonSwitchEntityDescription(
key="startProgram.selfCleaning56Status",
key="selfCleaning56Status",
name="Self Cleaning 56",
entity_category=EntityCategory.CONFIG,
icon="mdi:air-filter",
translation_key="self_clean_56",
),
HonSwitchEntityDescription(
key="startProgram.selfCleaningStatus",
key="selfCleaningStatus",
name="Self Cleaning",
entity_category=EntityCategory.CONFIG,
icon="mdi:air-filter",
translation_key="self_clean",
),
HonSwitchEntityDescription(
key="startProgram.silentSleepStatus",
key="silentSleepStatus",
name="Silent Sleep",
entity_category=EntityCategory.CONFIG,
icon="mdi:bed",
translation_key="silent_mode",
),
),
"REF": (
HonSwitchEntityDescription(
key="intelligenceMode",
name="Auto-Set Mode",
icon="mdi:thermometer-auto",
translation_key="auto_set",
),
HonSwitchEntityDescription(
key="quickModeZ1",
name="Super Freeze",
icon="mdi:snowflake-variant",
translation_key="super_freeze",
),
HonSwitchEntityDescription(
key="quickModeZ2",
name="Super Cool",
icon="mdi:snowflake",
translation_key="super_cool",
),
HonSwitchEntityDescription(
key="holidayMode",
name="Holiday Mode",
icon="mdi:palm-tree",
translation_key="holiday_mode",
),
),
}
SWITCHES["WD"] = unique_entities(SWITCHES["WD"], SWITCHES["WM"])
@ -301,81 +328,133 @@ SWITCHES["WD"] = unique_entities(SWITCHES["WD"], SWITCHES["TD"])
async def async_setup_entry(hass, entry: ConfigEntry, async_add_entities) -> None:
hon: Hon = hass.data[DOMAIN][entry.unique_id]
coordinators = hass.data[DOMAIN]["coordinators"]
appliances = []
for device in hon.appliances:
if device.unique_id in coordinators:
coordinator = hass.data[DOMAIN]["coordinators"][device.unique_id]
else:
coordinator = HonCoordinator(hass, device)
hass.data[DOMAIN]["coordinators"][device.unique_id] = coordinator
await coordinator.async_config_entry_first_refresh()
if descriptions := SWITCHES.get(device.appliance_type):
for description in descriptions:
if (
entities = []
for device in hass.data[DOMAIN][entry.unique_id].appliances:
for description in SWITCHES.get(device.appliance_type, []):
if isinstance(description, HonConfigSwitchEntityDescription):
if description.key not in device.available_settings:
continue
entity = HonConfigSwitchEntity(hass, entry, device, description)
elif isinstance(description, HonControlSwitchEntityDescription):
if not (
device.get(description.key) is not None
or description.key in device.available_settings
or description.turn_on_key in list(device.commands)
or description.turn_off_key in list(device.commands)
):
appliances.extend(
[HonSwitchEntity(hass, coordinator, entry, device, description)]
)
continue
entity = HonControlSwitchEntity(hass, entry, device, description)
elif isinstance(description, HonSwitchEntityDescription):
if (
f"settings.{description.key}" not in device.available_settings
or not device.get(description.key)
):
continue
entity = HonSwitchEntity(hass, entry, device, description)
else:
continue
await entity.coordinator.async_config_entry_first_refresh()
entities.append(entity)
async_add_entities(appliances)
async_add_entities(entities)
class HonSwitchEntity(HonEntity, SwitchEntity):
entity_description: HonSwitchEntityDescription
def __init__(
self,
hass,
coordinator,
entry,
device: HonAppliance,
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}"
@property
def is_on(self) -> bool | None:
"""Return True if entity is on."""
return self._device.get(self.entity_description.key, "0") == "1"
async def async_turn_on(self, **kwargs: Any) -> None:
setting = self._device.settings[f"settings.{self.entity_description.key}"]
if type(setting) == HonParameter:
return
setting.value = setting.max if isinstance(setting, HonParameterRange) else "1"
self.async_write_ha_state()
await self._device.commands["settings"].send()
await self.coordinator.async_refresh()
async def async_turn_off(self, **kwargs: Any) -> None:
setting = self._device.settings[f"settings.{self.entity_description.key}"]
if type(setting) == HonParameter:
return
setting.value = setting.min if isinstance(setting, HonParameterRange) else "0"
self.async_write_ha_state()
await self._device.commands["settings"].send()
await self.coordinator.async_refresh()
@property
def available(self) -> bool:
"""Return True if entity is available."""
return (
super().available
and self._device.get("remoteCtrValid", "1") == "1"
and self._device.get("attributes.lastConnEvent.category") != "DISCONNECTED"
)
@callback
def _handle_coordinator_update(self):
value = self._device.get(self.entity_description.key, "0")
self._attr_state = value == "1"
self.async_write_ha_state()
class HonControlSwitchEntity(HonEntity, SwitchEntity):
entity_description: HonControlSwitchEntityDescription
@property
def is_on(self) -> bool | None:
"""Return True if entity is on."""
if self.entity_category == EntityCategory.CONFIG:
setting = self._device.settings[self.entity_description.key]
return (
setting.value == "1"
or hasattr(setting, "min")
and setting.value != setting.min
)
return self._device.get(self.entity_description.key, False)
async def async_turn_on(self, **kwargs: Any) -> None:
if self.entity_category == EntityCategory.CONFIG:
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()
await self.coordinator.async_refresh()
else:
await self._device.commands[self.entity_description.turn_on_key].send()
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:
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()
await self.coordinator.async_refresh()
else:
await self._device.commands[self.entity_description.turn_off_key].send()
await self._device.commands[self.entity_description.turn_off_key].send()
@property
def available(self) -> bool:
"""Return True if entity is available."""
return (
super().available
and self._device.get("remoteCtrValid", "1") == "1"
and self._device.get("attributes.lastConnEvent.category") != "DISCONNECTED"
)
class HonConfigSwitchEntity(HonEntity, SwitchEntity):
entity_description: HonConfigSwitchEntityDescription
@property
def is_on(self) -> bool | None:
"""Return True if entity is on."""
setting = self._device.settings[self.entity_description.key]
return (
setting.value != setting.min
if hasattr(setting, "min")
else setting.value == "1"
)
async def async_turn_on(self, **kwargs: Any) -> None:
setting = self._device.settings[self.entity_description.key]
if type(setting) == HonParameter:
return
setting.value = setting.max if isinstance(setting, HonParameterRange) else "1"
self.async_write_ha_state()
await self.coordinator.async_refresh()
async def async_turn_off(self, **kwargs: Any) -> None:
setting = self._device.settings[self.entity_description.key]
if type(setting) == HonParameter:
return
setting.value = setting.min if isinstance(setting, HonParameterRange) else "0"
self.async_write_ha_state()
await self.coordinator.async_refresh()
@callback
def _handle_coordinator_update(self):
value = self._device.settings.get(self.entity_description.key, "0")
self._attr_state = value == "1"
self.async_write_ha_state()

View File

@ -225,7 +225,7 @@
"hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Rychlý 20",
"hqd_quick_30": "Rychlý 30",
"hqd_quick_dry": "Rychlé sušení",
"hqd_quick_dry": "Rychlé sušení 30",
"hqd_quilt": "Deky",
"hqd_refresh": "Osvěžení",
"hqd_school_uniform": "Školní uniformy",
@ -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": {
@ -397,6 +409,11 @@
"silent": "Noc",
"silent_care": "Silent Care",
"smart_ai": "Smart AI",
"smart_ai_pro": "Smart AI Pro",
"smart_ai_pro_soil": "Smart AI Pro",
"smart_ai_rapid": "Smart AI Rapid",
"smart_ai_rapid_soil": "Smart AI Rapid",
"smart_ai_soil": "Smart AI",
"special": "speciální",
"special_pw_prz": "speciální",
"steam": "Parní 75 °C",
@ -453,19 +470,20 @@
"programs_ov": {
"state": {
"bakery": "Těstoviny a pečivo",
"bakery_steam": "Chléb pečený v páře",
"bakery_steam": "Pára v troubě",
"bottom_heating": "Spodní ohřev",
"bottom_heating_fan": "Spodní ohřev + ventilátor",
"bread": "Chléb",
"bread_steam": "Pečivo pečené v páře",
"bread_steam": "Chléb pečený v páře",
"combi": "Combi",
"convection_fan": "Statický + ventilátor",
"convection_fan_turnspit": "Konvekce + ventilátor + rožeň",
"conventional": "Statický",
"conventional_turnspit": "Konvekční + rožeň",
"conventional_turnspit": "Konvekce + rožeň",
"defrost": "Rozmrazování",
"descaling": "Odstraňování vodního kamene",
"fish": "Ryby",
"fish_steam": "Ryby připravované v páře",
"fish_steam": "Ryby v páře",
"grill_cata": "Gril",
"grill_fan_cata": "Ventilátor grilu",
"grill_fan_pyro": "Gril + ventilátor",
@ -475,13 +493,13 @@
"iot_h20_clean": "h2O clean",
"leavening": "Kynutí",
"low_temp_cooking": "Příprava při nízkých teplotách",
"low_temp_cooking_fish": "Příprava ryb při nízkých teplotách",
"low_temp_cooking_fish_steam": "Příprava ryb v páře při nízkých teplotách",
"low_temp_cooking_meat": "Příprava masa při nízkých teplotách",
"low_temp_cooking_meat_steam": "Příprava masa v páře při nízkých teplotách",
"low_temp_cooking_fish": "Příprava při nízkých teplotách ryby",
"low_temp_cooking_fish_steam": "Příprava při nízkých teplotách ryby v páře",
"low_temp_cooking_meat": "Příprava při nízkých teplotách maso",
"low_temp_cooking_meat_steam": "Příprava při nízkých teplotách - dušené maso",
"low_temp_cooking_steam": "Příprava v páře při nízkých teplotách",
"meat": "Maso",
"meat_steam": "Maso připravované v páře",
"meat_steam": "Maso v páře",
"multi_level": "Víceúrovňové",
"paella": "Paella",
"pasta_and_bakery": "Těstoviny a pečivo",
@ -489,7 +507,7 @@
"pyrolysis": "Pyrolýza",
"pyrolysis_plus": "Pyrolýza +",
"red_meat": "Tmavé maso",
"red_meat_steam": "Červené maso připravované v páře",
"red_meat_steam": "Červené maso vařené v páře",
"regenerate": "Regenerace",
"soft_plus": "Soft +",
"super_grill": "Super gril",
@ -499,9 +517,9 @@
"vegetables": "Zelenina",
"vegetables_cata": "Zelenina",
"vegetables_pyro": "Zelenina",
"water_discharge": "Odtok vody",
"water_discharge": "Vypouštění vody",
"white_meat": "Bílé maso",
"white_meat_steam": "Bílé maso připravované v páře"
"white_meat_steam": "Bílé maso vařené v páře"
},
"name": "Program"
},
@ -558,7 +576,7 @@
"hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Rychlý 20",
"hqd_quick_30": "Rychlý 30",
"hqd_quick_dry": "Rychlé sušení",
"hqd_quick_dry": "Rychlé sušení 30",
"hqd_quilt": "Deky",
"hqd_refresh": "Osvěžení",
"hqd_school_uniform": "Školní uniformy",
@ -1013,6 +1031,40 @@
"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"
},
"ref_zones": {
"state": {
"fridge": "Chladnička",
"freezer": "Mraznička",
"vtroom1": "My Zone",
"fridge_freezer": "Chladnička & Mraznička"
},
"name": "Zóna"
}
},
"switch": {
@ -1056,7 +1108,7 @@
"name": "Trouba"
},
"prewash": {
"name": "Předpírka\r\r\r\r\r\r\n"
"name": "Předpírka\r\r\r\r\r\r\r\n"
},
"pause": {
"name": "Pozastavit"
@ -1105,6 +1157,24 @@
},
"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"
},
"refrigerator": {
"name": "Chladnička"
}
},
"binary_sensor": {
@ -1175,13 +1245,37 @@
"name": "Zapnout"
},
"prewash": {
"name": "Předpírka\r\r\r\r\r\r\n"
"name": "Předpírka\r\r\r\r\r\r\r\n"
},
"acqua_plus": {
"name": "Aquaplus"
},
"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,11 +1308,116 @@
},
"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"
},
"start_program": {
"name": "Program Zahájení"
},
"stop_program": {
"name": "Program Zastavit"
}
},
"climate": {
"air_conditioner": {
"name": "Klimatizační jednotka"
},
"fridge": {
"name": "Chladnička",
"state_attributes": {
"preset_mode": {
"name": "Režimy chladničky",
"state": {
"auto_set": "Automatické nastavení",
"super_cool": "Super Cool",
"holiday": "Holiday",
"no_mode": "Není vybrán žádný režim"
}
}
}
},
"freezer": {
"name": "Mraznička",
"state_attributes": {
"preset_mode": {
"name": "Režimy mrazničky",
"state": {
"auto_set": "Automatické nastavení",
"super_freeze": "Super Freeze",
"no_mode": "Není vybrán žádný režim"
}
}
}
},
"oven": {
"name": "Trouba",
"state_attributes": {
"preset_mode": {
"name": "Programy",
"state": {
"bakery": "Těstoviny a pečivo",
"bakery_steam": "Pára v troubě",
"bottom_heating": "Spodní ohřev",
"bottom_heating_fan": "Spodní ohřev + ventilátor",
"bread": "Chléb",
"bread_steam": "Chléb pečený v páře",
"combi": "Combi",
"convection_fan": "Statický + ventilátor",
"convection_fan_turnspit": "Konvekce + ventilátor + rožeň",
"conventional": "Statický",
"conventional_turnspit": "Konvekce + rožeň",
"defrost": "Rozmrazování",
"descaling": "Odstraňování vodního kamene",
"fish": "Ryby",
"fish_steam": "Ryby v páře",
"grill_cata": "Gril",
"grill_fan_cata": "Ventilátor grilu",
"grill_fan_pyro": "Gril + ventilátor",
"grill_pyro": "Gril",
"h20_clean": "H2O-Clean",
"iot_bread": "Chléb",
"iot_h20_clean": "h2O clean",
"leavening": "Kynutí",
"low_temp_cooking": "Příprava při nízkých teplotách",
"low_temp_cooking_fish": "Příprava při nízkých teplotách ryby",
"low_temp_cooking_fish_steam": "Příprava při nízkých teplotách ryby v páře",
"low_temp_cooking_meat": "Příprava při nízkých teplotách maso",
"low_temp_cooking_meat_steam": "Příprava při nízkých teplotách - dušené maso",
"low_temp_cooking_steam": "Příprava v páře při nízkých teplotách",
"meat": "Maso",
"meat_steam": "Maso v páře",
"multi_level": "Víceúrovňové",
"paella": "Paella",
"pasta_and_bakery": "Těstoviny a pečivo",
"pizza": "Pizza",
"pyrolysis": "Pyrolýza",
"pyrolysis_plus": "Pyrolýza +",
"red_meat": "Tmavé maso",
"red_meat_steam": "Červené maso vařené v páře",
"regenerate": "Regenerace",
"soft_plus": "Soft +",
"super_grill": "Super gril",
"tailor_bake": "Tailor bake",
"tailor_bake_cata": "Tailor Bake",
"tailor_bake_pyro": "Tailor Bake",
"vegetables": "Zelenina",
"vegetables_cata": "Zelenina",
"vegetables_pyro": "Zelenina",
"water_discharge": "Vypouštění vody",
"white_meat": "Bílé maso",
"white_meat_steam": "Bílé maso vařené v páře"
}
}
}
}
}
},

View File

@ -225,7 +225,7 @@
"hqd_precious_cure": "Precious Cure",
"hqd_quick_20": "Schnell 20",
"hqd_quick_30": "Schnell 30",
"hqd_quick_dry": "Schnell trocken",
"hqd_quick_dry": "Schnell trocken 30",
"hqd_quilt": "Steppdecken",
"hqd_refresh": "Auffrischen",
"hqd_school_uniform": "Schuluniform",
@ -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": {
@ -397,6 +409,11 @@
"silent": "Nacht",
"silent_care": "Silent Care",
"smart_ai": "Smart AI",
"smart_ai_pro": "Smart AI Pro",
"smart_ai_pro_soil": "Smart AI Pro",
"smart_ai_rapid": "Smart AI Rapid",
"smart_ai_rapid_soil": "Smart AI Rapid",
"smart_ai_soil": "Smart AI",
"special": "spezial",
"special_pw_prz": "spezial",
"steam": "Dampf 75 °C",
@ -453,11 +470,12 @@
"programs_ov": {
"state": {
"bakery": "Teigwaren und Brot",
"bakery_steam": "Mit Dampf gebackenes Brot",
"bakery_steam": "Dampf im Backofen",
"bottom_heating": "Unterhitze",
"bottom_heating_fan": "Unterhitze + Umluft",
"bread": "Brot",
"bread_steam": "Mit Dampf gebackenes Gebäck",
"bread_steam": "Mit Dampf gebackenes Brot",
"combi": "Combi",
"convection_fan": "Umluft",
"convection_fan_turnspit": "Heißluft + Drehspieß",
"conventional": "Ober-Unterhitze",
@ -465,7 +483,7 @@
"defrost": "Auftauen",
"descaling": "Entkalkung",
"fish": "Fisch",
"fish_steam": "Dampfgegarter Fisch",
"fish_steam": "Gedünsteter Fisch",
"grill_cata": "Grill",
"grill_fan_cata": "Grill Umluft",
"grill_fan_pyro": "Grill + Umluft",
@ -476,12 +494,12 @@
"leavening": "Aufgehen",
"low_temp_cooking": "Garen bei niedriger Temperatur",
"low_temp_cooking_fish": "Garen bei niedriger Temperatur - Fisch",
"low_temp_cooking_fish_steam": "Dampfgaren bei niedriger Temperatur - Fisch",
"low_temp_cooking_fish_steam": "Niedertemperaturgaren - Gedünsteter Fisch",
"low_temp_cooking_meat": "Garen bei niedriger Temperatur - Fleisch",
"low_temp_cooking_meat_steam": "Niedertemperatur-Dampfgaren - Fleisch",
"low_temp_cooking_meat_steam": "Niedertemperaturgaren - Gedämpftes Fleisch",
"low_temp_cooking_steam": "Niedertemperatur-Dampfgaren",
"meat": "Fleisch",
"meat_steam": "Dampfgegartes Fleisch",
"meat_steam": "Fleisch Dampf",
"multi_level": "Multi-Level",
"paella": "Paella",
"pasta_and_bakery": "Teigwaren und Brot",
@ -489,8 +507,8 @@
"pyrolysis": "Pyrolyse",
"pyrolysis_plus": "Pyrolyse +",
"red_meat": "Rotes Fleisch",
"red_meat_steam": "Dampfgegartes rotes Fleisch",
"regenerate": "Regeneration",
"red_meat_steam": "Gedünstetes rotes Fleisch",
"regenerate": "Regenerieren",
"soft_plus": "Soft+",
"super_grill": "Super Grill",
"tailor_bake": "Tailor bake",
@ -501,7 +519,7 @@
"vegetables_pyro": "Gemüse",
"water_discharge": "Wasserabfluss",
"white_meat": "Weißes Fleisch",
"white_meat_steam": "Dampfgegartes weißes Fleisch"
"white_meat_steam": "Gedämpftes weißes Fleisch"
},
"name": "Programm"
},
@ -558,7 +576,7 @@
"hqd_precious_cure": "Precious Cure",
"hqd_quick_20": "Schnell 20",
"hqd_quick_30": "Schnell 30",
"hqd_quick_dry": "Schnell trocken",
"hqd_quick_dry": "Schnell trocken 30",
"hqd_quilt": "Steppdecken",
"hqd_refresh": "Auffrischen",
"hqd_school_uniform": "Schuluniform",
@ -1013,6 +1031,40 @@
"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"
},
"ref_zones": {
"state": {
"fridge": "Kühlschrank",
"freezer": "Gefrierschrank",
"vtroom1": "My Zone",
"fridge_freezer": "Kühlschrank & Gefrierschrank"
},
"name": "Zone"
}
},
"switch": {
@ -1105,6 +1157,24 @@
},
"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"
},
"refrigerator": {
"name": "Kühlschrank"
}
},
"binary_sensor": {
@ -1182,6 +1252,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,11 +1308,116 @@
},
"steam_level": {
"name": "Dampfstufe"
},
"freezer_temp_sel": {
"name": "Zieltemperatur Gefrierschrank"
},
"fridge_temp_sel": {
"name": "Zieltemperatur Kühlschrank"
}
},
"button": {
"induction_hob": {
"name": "Induktionskochfeld"
},
"start_program": {
"name": "Programm Start"
},
"stop_program": {
"name": "Programm Stopp"
}
},
"climate": {
"air_conditioner": {
"name": "Klimaanlage"
},
"fridge": {
"name": "Kühlschrank",
"state_attributes": {
"preset_mode": {
"name": "Kühlschrank-Modi",
"state": {
"auto_set": "Auto-Set",
"super_cool": "Super Cool",
"holiday": "Holiday",
"no_mode": "Kein Modus ausgewählt"
}
}
}
},
"freezer": {
"name": "Gefrierschrank",
"state_attributes": {
"preset_mode": {
"name": "Gefrierschrank-Modi",
"state": {
"auto_set": "Auto-Set",
"super_freeze": "Super Freeze",
"no_mode": "Kein Modus ausgewählt"
}
}
}
},
"oven": {
"name": "Ofen",
"state_attributes": {
"preset_mode": {
"name": "Programme",
"state": {
"bakery": "Teigwaren und Brot",
"bakery_steam": "Dampf im Backofen",
"bottom_heating": "Unterhitze",
"bottom_heating_fan": "Unterhitze + Umluft",
"bread": "Brot",
"bread_steam": "Mit Dampf gebackenes Brot",
"combi": "Combi",
"convection_fan": "Umluft",
"convection_fan_turnspit": "Heißluft + Drehspieß",
"conventional": "Ober-Unterhitze",
"conventional_turnspit": "Ober-&Unterhitze + Bratspieß",
"defrost": "Auftauen",
"descaling": "Entkalkung",
"fish": "Fisch",
"fish_steam": "Gedünsteter Fisch",
"grill_cata": "Grill",
"grill_fan_cata": "Grill Umluft",
"grill_fan_pyro": "Grill + Umluft",
"grill_pyro": "Grill",
"h20_clean": "H2O-Clean",
"iot_bread": "Brot",
"iot_h20_clean": "h2O clean",
"leavening": "Aufgehen",
"low_temp_cooking": "Garen bei niedriger Temperatur",
"low_temp_cooking_fish": "Garen bei niedriger Temperatur - Fisch",
"low_temp_cooking_fish_steam": "Niedertemperaturgaren - Gedünsteter Fisch",
"low_temp_cooking_meat": "Garen bei niedriger Temperatur - Fleisch",
"low_temp_cooking_meat_steam": "Niedertemperaturgaren - Gedämpftes Fleisch",
"low_temp_cooking_steam": "Niedertemperatur-Dampfgaren",
"meat": "Fleisch",
"meat_steam": "Fleisch Dampf",
"multi_level": "Multi-Level",
"paella": "Paella",
"pasta_and_bakery": "Teigwaren und Brot",
"pizza": "Pizza",
"pyrolysis": "Pyrolyse",
"pyrolysis_plus": "Pyrolyse +",
"red_meat": "Rotes Fleisch",
"red_meat_steam": "Gedünstetes rotes Fleisch",
"regenerate": "Regenerieren",
"soft_plus": "Soft+",
"super_grill": "Super Grill",
"tailor_bake": "Tailor bake",
"tailor_bake_cata": "Tailor Bake",
"tailor_bake_pyro": "Tailor Bake",
"vegetables": "Gemüse",
"vegetables_cata": "Gemüse",
"vegetables_pyro": "Gemüse",
"water_discharge": "Wasserabfluss",
"white_meat": "Weißes Fleisch",
"white_meat_steam": "Gedämpftes weißes Fleisch"
}
}
}
}
}
},

View File

@ -225,7 +225,7 @@
"hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Γρήγορα 20",
"hqd_quick_30": "Γρήγορα 30",
"hqd_quick_dry": "Γρήγορο στέγνωμα",
"hqd_quick_dry": "Γρήγορο στέγνωμα 30",
"hqd_quilt": "Παπλώματα",
"hqd_refresh": "Φρεσκάρισμα",
"hqd_school_uniform": "Σχολική στολή",
@ -307,6 +307,18 @@
"xxl_load": "XXL Φορτιο",
"zoom_59": "Zoom 59"
}
},
"room_temperature": {
"name": "Θερμοκρασία δωματίου"
},
"humidity": {
"name": "Υγρασία"
},
"freezer_temp": {
"name": "Θερμοκρασία καταψύκτη"
},
"fridge_temp": {
"name": "Θερμοκρασία ψυγείου"
}
},
"select": {
@ -397,6 +409,11 @@
"silent": "Νύχτα",
"silent_care": "Silent Care",
"smart_ai": "Smart AI",
"smart_ai_pro": "Smart AI Pro",
"smart_ai_pro_soil": "Smart AI Pro",
"smart_ai_rapid": "Smart AI Rapid",
"smart_ai_rapid_soil": "Smart AI Rapid",
"smart_ai_soil": "Smart AI",
"special": "σπεσιαλ",
"special_pw_prz": "σπεσιαλ",
"steam": "ατμος 75°C",
@ -453,11 +470,12 @@
"programs_ov": {
"state": {
"bakery": "Ζυμαρικά και αρτοποιήματα",
"bakery_steam": "Ψωμί ατμού",
"bakery_steam": "Ατμός φούρνου",
"bottom_heating": "Κάτω στοιχείο",
"bottom_heating_fan": "Κάτω στοιχείο + ανεμιστήρας",
"bread": "Ψωμί",
"bread_steam": "Αρτοσκευάσματα ατμού",
"bread_steam": "Ψωμί ατμού",
"combi": "Combi",
"convection_fan": "Θερμοσ αερασ",
"convection_fan_turnspit": "Θερμός αέρας + Ανεμιστήρας + Σούβλα",
"conventional": "Ανω - κατω θερμανση",
@ -465,7 +483,7 @@
"defrost": "Απόψυξη",
"descaling": "Αφαλάτωση",
"fish": "Ψάρια",
"fish_steam": "Ψάρι στον ατμό",
"fish_steam": "Ψάρια στον ατμό",
"grill_cata": "Γκριλ",
"grill_fan_cata": "Ανεμιστήρας γκριλ",
"grill_fan_pyro": "Γκριλ + ανεμιστήρας",
@ -476,9 +494,9 @@
"leavening": "Ζυμωση",
"low_temp_cooking": "Μαγείρεμα σε χαμηλή θερμοκρασία",
"low_temp_cooking_fish": "Μαγείρεμα σε χαμηλή θερμοκρασία - Ψάρι",
"low_temp_cooking_fish_steam": "Μαγείρεμα με ατμό σε χαμηλή θερμοκρασία - Ψάρι",
"low_temp_cooking_fish_steam": "Μαγείρεμα σε χαμηλή θερμοκρασία - Ψάρια στον ατμό",
"low_temp_cooking_meat": "Μαγείρεμα σε χαμηλή θερμοκρασία - Κρέας",
"low_temp_cooking_meat_steam": "Μαγείρεμα με ατμό σε χαμηλή θερμοκρασία - Κρέας",
"low_temp_cooking_meat_steam": "Μαγείρεμα σε χαμηλή θερμοκρασία - Κρέας στον ατμό",
"low_temp_cooking_steam": "Μαγείρεμα με ατμό σε χαμηλή θερμοκρασία",
"meat": "Κρέας",
"meat_steam": "Κρέας στον ατμό",
@ -499,7 +517,7 @@
"vegetables": "Λαχανικά",
"vegetables_cata": "Λαχανικά",
"vegetables_pyro": "Λαχανικά",
"water_discharge": "Αποστράγγιση νερού",
"water_discharge": "Απόρριψη νερού",
"white_meat": "Λευκό κρέας",
"white_meat_steam": "Λευκό κρέας στον ατμό"
},
@ -558,7 +576,7 @@
"hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Γρήγορα 20",
"hqd_quick_30": "Γρήγορα 30",
"hqd_quick_dry": "Γρήγορο στέγνωμα",
"hqd_quick_dry": "Γρήγορο στέγνωμα 30",
"hqd_quilt": "Παπλώματα",
"hqd_refresh": "Φρεσκάρισμα",
"hqd_school_uniform": "Σχολική στολή",
@ -1013,6 +1031,40 @@
"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": "Χρόνος που απομένει"
},
"ref_zones": {
"state": {
"fridge": "Ψυγείο",
"freezer": "Καταψύκτης",
"vtroom1": "My Zone",
"fridge_freezer": "Ψυγείο & Καταψύκτης"
},
"name": "Ζώνη"
}
},
"switch": {
@ -1105,6 +1157,24 @@
},
"good_night": {
"name": "Καληνυχτα"
},
"auto_dose_softener": {
"name": "Αυτόματη Δοσολογία Μαλακτικό"
},
"auto_dose_detergent": {
"name": "Αυτόματη Δοσολογία Απορρυπαντικό"
},
"auto_set": {
"name": "Αυτόματη ρύθμιση"
},
"super_cool": {
"name": "Super Cool"
},
"super_freeze": {
"name": "Super Freeze"
},
"refrigerator": {
"name": "Ψυγείο"
}
},
"binary_sensor": {
@ -1154,7 +1224,7 @@
"name": "Τηγάνι"
},
"remote_control": {
"name": "Τηλεχειριστήριο"
"name": "Daljinsko upravljanje"
},
"rinse_aid": {
"name": "Επίπεδο λαμπρυντικού"
@ -1182,6 +1252,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,11 +1308,116 @@
},
"steam_level": {
"name": "Επίπεδο ατμού"
},
"freezer_temp_sel": {
"name": "Στοχευμένη θερμοκρασία Καταψύκτης"
},
"fridge_temp_sel": {
"name": "Στοχευμένη θερμοκρασία Ψυγείο"
}
},
"button": {
"induction_hob": {
"name": "Επαγωγική εστία"
},
"start_program": {
"name": "Πρόγραμμα Εκκίνηση"
},
"stop_program": {
"name": "Πρόγραμμα Διακοπή"
}
},
"climate": {
"air_conditioner": {
"name": "Κλιματιστικό"
},
"fridge": {
"name": "Ψυγείο",
"state_attributes": {
"preset_mode": {
"name": "Λειτουργίες ψυγείου",
"state": {
"auto_set": "Αυτόματη ρύθμιση",
"super_cool": "Super Cool",
"holiday": "Holiday",
"no_mode": "Δεν επιλέχθηκε λειτουργία"
}
}
}
},
"freezer": {
"name": "Καταψύκτης",
"state_attributes": {
"preset_mode": {
"name": "Λειτουργίες κατάψυξης",
"state": {
"auto_set": "Αυτόματη ρύθμιση",
"super_freeze": "Super Freeze",
"no_mode": "Δεν επιλέχθηκε λειτουργία"
}
}
}
},
"oven": {
"name": "Φούρνος",
"state_attributes": {
"preset_mode": {
"name": "Προγράμματα",
"state": {
"bakery": "Ζυμαρικά και αρτοποιήματα",
"bakery_steam": "Ατμός φούρνου",
"bottom_heating": "Κάτω στοιχείο",
"bottom_heating_fan": "Κάτω στοιχείο + ανεμιστήρας",
"bread": "Ψωμί",
"bread_steam": "Ψωμί ατμού",
"combi": "Combi",
"convection_fan": "Θερμοσ αερασ",
"convection_fan_turnspit": "Θερμός αέρας + Ανεμιστήρας + Σούβλα",
"conventional": "Ανω - κατω θερμανση",
"conventional_turnspit": "Θερμός αέρας + Σούβλα",
"defrost": "Απόψυξη",
"descaling": "Αφαλάτωση",
"fish": "Ψάρια",
"fish_steam": "Ψάρια στον ατμό",
"grill_cata": "Γκριλ",
"grill_fan_cata": "Ανεμιστήρας γκριλ",
"grill_fan_pyro": "Γκριλ + ανεμιστήρας",
"grill_pyro": "Γκριλ",
"h20_clean": "H2O-Clean",
"iot_bread": "Ψωμί",
"iot_h20_clean": "h2O clean",
"leavening": "Ζυμωση",
"low_temp_cooking": "Μαγείρεμα σε χαμηλή θερμοκρασία",
"low_temp_cooking_fish": "Μαγείρεμα σε χαμηλή θερμοκρασία - Ψάρι",
"low_temp_cooking_fish_steam": "Μαγείρεμα σε χαμηλή θερμοκρασία - Ψάρια στον ατμό",
"low_temp_cooking_meat": "Μαγείρεμα σε χαμηλή θερμοκρασία - Κρέας",
"low_temp_cooking_meat_steam": "Μαγείρεμα σε χαμηλή θερμοκρασία - Κρέας στον ατμό",
"low_temp_cooking_steam": "Μαγείρεμα με ατμό σε χαμηλή θερμοκρασία",
"meat": "Κρέας",
"meat_steam": "Κρέας στον ατμό",
"multi_level": "Πολλαπλων Επιπεδων",
"paella": "Paella",
"pasta_and_bakery": "Ζυμαρικά και αρτοποιήματα",
"pizza": "Pizza",
"pyrolysis": "Πυρόλυση",
"pyrolysis_plus": "Πυρόλυση +",
"red_meat": "Κόκκινο κρέας",
"red_meat_steam": "Κόκκινο κρέας στον ατμό",
"regenerate": "Αναζωογόνηση",
"soft_plus": "Μαλακό +",
"super_grill": "Σούπερ γκριλ",
"tailor_bake": "Tailor bake",
"tailor_bake_cata": "Tailor Bake",
"tailor_bake_pyro": "Tailor Bake",
"vegetables": "Λαχανικά",
"vegetables_cata": "Λαχανικά",
"vegetables_pyro": "Λαχανικά",
"water_discharge": "Απόρριψη νερού",
"white_meat": "Λευκό κρέας",
"white_meat_steam": "Λευκό κρέας στον ατμό"
}
}
}
}
}
},

View File

@ -263,7 +263,7 @@
"hqd_bed_sheets": "Bed Sheets",
"hqd_bulky": "Bulky Items",
"hqd_casual": "Casual",
"hqd_cold_wind_30": "Cool Breeze 30 minutes",
"hqd_cold_wind_30": "Cool Breeze 30m",
"hqd_cold_wind_timing": "Cool Breeze ",
"hqd_cotton": "Cotton",
"hqd_curtain": "Curtains",
@ -282,9 +282,9 @@
"hqd_night_dry": "Overnight drying",
"hqd_outdoor": "Outdoor",
"hqd_precious_cure": "Precious Cure",
"hqd_quick_20": "Quick 20",
"hqd_quick_30": "Quick 30",
"hqd_quick_dry": "Quick dry",
"hqd_quick_20": "Quick 20m",
"hqd_quick_30": "Quick 30m",
"hqd_quick_dry": "Quick dry (30 min)",
"hqd_quilt": "Quilts",
"hqd_refresh": "Refresh",
"hqd_school_uniform": "School Uniform",
@ -322,7 +322,7 @@
"iot_dry_lingerie": "Lingerie",
"iot_dry_mixed": "Mixed",
"iot_dry_playsuits": "Playsuits",
"iot_dry_rapid_30": "Rapid 30",
"iot_dry_rapid_30": "Rapid 30m",
"iot_dry_rapid_59": "Rapid 59'",
"iot_dry_refresh": "Refresh",
"iot_dry_regenerates_waterproof": "Regenerates Waterproof",
@ -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,24 @@
},
"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"
},
"refrigerator": {
"name": "Refrigerator"
}
},
"select": {
@ -481,9 +511,9 @@
"59_min": "Rapid 59'",
"auto_care": "Auto Care",
"auto_care_soil": "Auto Care",
"auto_hygiene": "Auto Hygiene",
"auto_plus": "AutoPlus",
"auto_rapid": "Auto Rapid",
"auto_plus_soil": "Auto Plus Soil",
"auto_rapid_soil": "Auto rapid Soil",
"auto_sensor": "Auto Sensor",
"auto_sensor_soil": "Auto Sensor",
"auto_universal": "Auto Universal 50 - 60°C",
@ -527,7 +557,7 @@
"iot_eco_bldc": "Eco 45°C",
"iot_eco_synch": "Eco 45°C",
"iot_extra_hygiene": "Extra Hygiene",
"iot_fairy_quick_cycle": "Fairy Short",
"iot_fairy_quick_cycle": "Fairy Quick",
"iot_happy_hour": "Happy Hour",
"iot_jar_quick_cycle": "Jar Quick",
"iot_party": "Party",
@ -566,7 +596,10 @@
"silent_care": "Silent Care",
"smart_ai": "Smart AI",
"smart_ai_pro": "Smart AI Pro",
"smart_ai_pro_soil": "Smart AI Pro",
"smart_ai_rapid": "Smart AI Rapid",
"smart_ai_rapid_soil": "Smart AI Rapid",
"smart_ai_soil": "Smart AI",
"special": "Special",
"special_pw_prz": "Special",
"steam": "Steam 75°C",
@ -623,21 +656,21 @@
},
"programs_ov": {
"state": {
"bakery": "Pasta and Pastries",
"bakery_steam": "Steam-baked bread",
"bakery": "Pasta and Bakery",
"bakery_steam": "Steam oven",
"bottom_heating": "Bottom Heating",
"bottom_heating_fan": "Bottom Heating + Fan",
"bread": "Bread",
"bread_steam": "Steam-baked pastries",
"bread_steam": "Steam baked bread",
"combi": "Combi",
"convection_fan": "Convection + Fan",
"convection_fan_turnspit": "Convection + Fan + Turnspit",
"conventional": "Conventional",
"conventional_turnspit": "Convection + Turnspit",
"defrost": "Defrost",
"defrost": "Defrosting",
"descaling": "Descaling",
"fish": "Fish",
"fish_steam": "Steam-cooked fish",
"fish_steam": "Steamed fish",
"grill_cata": "Grill",
"grill_fan_cata": "Grill fan",
"grill_fan_pyro": "Grill + Fan",
@ -646,16 +679,15 @@
"iot_bread": "Bread",
"iot_h20_clean": "h2O clean",
"leavening": "Leavening",
"light_fan": "Light Fan",
"light_fan\n": "Light Fan",
"low_temp_cooking": "Low Temperature Cooking",
"low_temp_cooking_fish": "Low Temperature Cooking - Fish",
"low_temp_cooking_fish_steam": "Low Temperature Steam Cooking - Fish",
"low_temp_cooking_fish_steam": "Low Temperature Cooking - Steamed fish",
"low_temp_cooking_meat": "Low Temperature Cooking - Meat",
"low_temp_cooking_meat_steam": "Low Temperature Steam Cooking - Meat",
"low_temp_cooking_meat_steam": "Low Temperature Cooking - Steamed meat",
"low_temp_cooking_steam": "Low Temperature Steam Cooking",
"meat": "Meat",
"meat_steam": "Steam-cooked meat",
"meat_steam": "Steamed meat",
"multi_level": "Multi-Level",
"paella": "Paella",
"pasta_and_bakery": "Pasta and Bakery",
@ -663,8 +695,8 @@
"pyrolysis": "Pyrolysis",
"pyrolysis_plus": "Pyrolysis +",
"red_meat": "Red Meat",
"red_meat_steam": "Steam-cooked red meat",
"regenerate": "Regeneration",
"red_meat_steam": "Steamed red meat",
"regenerate": "Regenerate",
"soft_plus": "Soft+",
"super_grill": "Super Grill",
"tailor_bake": "Tailor bake",
@ -673,9 +705,9 @@
"vegetables": "Vegetables",
"vegetables_cata": "Vegetables",
"vegetables_pyro": "Vegetables",
"water_discharge": "Water Drain",
"water_discharge": "Water Discharge",
"white_meat": "White Meat",
"white_meat_steam": "Steam-cooked white meat"
"white_meat_steam": "Steamed white meat"
},
"name": "Program"
},
@ -711,7 +743,7 @@
"hqd_bed_sheets": "Bed Sheets",
"hqd_bulky": "Bulky Items",
"hqd_casual": "Casual",
"hqd_cold_wind_30": "Cool Breeze 30 minutes",
"hqd_cold_wind_30": "Cool Breeze 30m",
"hqd_cold_wind_timing": "Cool Breeze ",
"hqd_cotton": "Cotton",
"hqd_curtain": "Curtains",
@ -730,9 +762,9 @@
"hqd_night_dry": "Overnight drying",
"hqd_outdoor": "Outdoor",
"hqd_precious_cure": "Precious Cure",
"hqd_quick_20": "Quick 20",
"hqd_quick_30": "Quick 30",
"hqd_quick_dry": "Quick dry",
"hqd_quick_20": "Quick 20m",
"hqd_quick_30": "Quick 30m",
"hqd_quick_dry": "Quick dry (30 min)",
"hqd_quilt": "Quilts",
"hqd_refresh": "Refresh",
"hqd_school_uniform": "School Uniform",
@ -770,7 +802,7 @@
"iot_dry_lingerie": "Lingerie",
"iot_dry_mixed": "Mixed",
"iot_dry_playsuits": "Playsuits",
"iot_dry_rapid_30": "Rapid 30",
"iot_dry_rapid_30": "Rapid 30m",
"iot_dry_rapid_59": "Rapid 59'",
"iot_dry_refresh": "Refresh",
"iot_dry_regenerates_waterproof": "Regenerates Waterproof",
@ -829,7 +861,7 @@
"all_in_one_59": "All in One 59'",
"all_in_one_59_steam": "Active Wash + Steam",
"autocare": "Autocare",
"autoclean": "Drum Cleaning",
"autoclean": "Drum cleaning and descaling ",
"baby_60": "All Baby 60°C",
"care_14": "Rapid Care 14'",
"care_30": "Rapid Care 30'",
@ -1172,6 +1204,41 @@
"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"
},
"ref_zones": {
"state": {
"fridge": "Fridge",
"freezer": "Freezer",
"vtroom1": "My Zone",
"fridge_freezer": "Fridge & Freezer"
},
"name": "Zone"
}
},
"binary_sensor": {
@ -1249,6 +1316,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,11 +1372,117 @@
},
"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"
},
"start_program": {
"name": "Program Start"
},
"stop_program": {
"name": "Program Stop"
}
},
"climate": {
"air_conditioner": {
"name": "Air conditioner"
},
"fridge": {
"name": "Fridge",
"state_attributes": {
"preset_mode": {
"name": "Fridge modes",
"state": {
"auto_set": "Auto-Set",
"super_cool": "Super Cool",
"holiday": "Holiday",
"no_mode": "No mode selected"
}
}
}
},
"freezer": {
"name": "Freezer",
"state_attributes": {
"preset_mode": {
"name": "Freezer modes",
"state": {
"auto_set": "Auto-Set",
"super_freeze": "Super Freeze",
"no_mode": "No mode selected"
}
}
}
},
"oven": {
"name": "Oven",
"state_attributes": {
"preset_mode": {
"name": "Programs",
"state": {
"bakery": "Pasta and Bakery",
"bakery_steam": "Steam oven",
"bottom_heating": "Bottom Heating",
"bottom_heating_fan": "Bottom Heating + Fan",
"bread": "Bread",
"bread_steam": "Steam baked bread",
"combi": "Combi",
"convection_fan": "Convection + Fan",
"convection_fan_turnspit": "Convection + Fan + Turnspit",
"conventional": "Conventional",
"conventional_turnspit": "Convection + Turnspit",
"defrost": "Defrosting",
"descaling": "Descaling",
"fish": "Fish",
"fish_steam": "Steamed fish",
"grill_cata": "Grill",
"grill_fan_cata": "Grill fan",
"grill_fan_pyro": "Grill + Fan",
"grill_pyro": "Grill",
"h20_clean": "H2O-Clean",
"iot_bread": "Bread",
"iot_h20_clean": "h2O clean",
"leavening": "Leavening",
"light_fan\n": "Light Fan",
"low_temp_cooking": "Low Temperature Cooking",
"low_temp_cooking_fish": "Low Temperature Cooking - Fish",
"low_temp_cooking_fish_steam": "Low Temperature Cooking - Steamed fish",
"low_temp_cooking_meat": "Low Temperature Cooking - Meat",
"low_temp_cooking_meat_steam": "Low Temperature Cooking - Steamed meat",
"low_temp_cooking_steam": "Low Temperature Steam Cooking",
"meat": "Meat",
"meat_steam": "Steamed meat",
"multi_level": "Multi-Level",
"paella": "Paella",
"pasta_and_bakery": "Pasta and Bakery",
"pizza": "Pizza",
"pyrolysis": "Pyrolysis",
"pyrolysis_plus": "Pyrolysis +",
"red_meat": "Red Meat",
"red_meat_steam": "Steamed red meat",
"regenerate": "Regenerate",
"soft_plus": "Soft+",
"super_grill": "Super Grill",
"tailor_bake": "Tailor bake",
"tailor_bake_cata": "Tailor Bake",
"tailor_bake_pyro": "Tailor Bake",
"vegetables": "Vegetables",
"vegetables_cata": "Vegetables",
"vegetables_pyro": "Vegetables",
"water_discharge": "Water Discharge",
"white_meat": "White Meat",
"white_meat_steam": "Steamed white meat"
}
}
}
}
}
}

View File

@ -225,7 +225,7 @@
"hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Rápido 20",
"hqd_quick_30": "Rápido 30",
"hqd_quick_dry": "Secado rápido",
"hqd_quick_dry": "Secado rápido 30",
"hqd_quilt": "Colchas",
"hqd_refresh": "Refrescar",
"hqd_school_uniform": "Uniformes escolares",
@ -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": {
@ -397,6 +409,11 @@
"silent": "Noche",
"silent_care": "Silent Care",
"smart_ai": "Smart AI",
"smart_ai_pro": "Smart AI Pro",
"smart_ai_pro_soil": "Smart AI Pro",
"smart_ai_rapid": "Smart AI Rapid",
"smart_ai_rapid_soil": "Smart AI Rapid",
"smart_ai_soil": "Smart AI",
"special": "Especial",
"special_pw_prz": "Especial",
"steam": "Vapor 75 °C",
@ -453,15 +470,16 @@
"programs_ov": {
"state": {
"bakery": "Pasta y Panadería",
"bakery_steam": "Pan al vapor",
"bakery_steam": "Oven steam",
"bottom_heating": "Calentamiento Inferior",
"bottom_heating_fan": "Calentamiento Inferior + Ventilador",
"bread": "Pan",
"bread_steam": "Bollería al vapor",
"bread_steam": "Pan al vapor",
"combi": "Combi",
"convection_fan": "Convección + Ventilador",
"convection_fan_turnspit": "Convección + Ventilador + Rustepollos",
"convection_fan_turnspit": "Asador giratorio convencional ventilada",
"conventional": "Convección",
"conventional_turnspit": "Convección + Rustepollos",
"conventional_turnspit": "Asador giratorio convencional",
"defrost": "Descongelación",
"descaling": "Descalcificación",
"fish": "Pescado",
@ -475,13 +493,13 @@
"iot_h20_clean": "h2O clean",
"leavening": "Fermentación",
"low_temp_cooking": "Cocción a baja temperatura",
"low_temp_cooking_fish": "Cocción a baja temperatura - Pescado",
"low_temp_cooking_fish_steam": "Cocción al vapor a baja temperatura - Pescado",
"low_temp_cooking_meat": "Cocción a baja temperatura - Carne",
"low_temp_cooking_meat_steam": "Cocción al vapor a baja temperatura - Carne",
"low_temp_cooking_steam": "Cocción al vapor a baja temperatura",
"low_temp_cooking_fish": "Cocción a baja temperatura Pescado",
"low_temp_cooking_fish_steam": "Cocción a baja temperatura Pescado",
"low_temp_cooking_meat": "Cocción a baja temperatura Carne",
"low_temp_cooking_meat_steam": "Cocción a baja temperatura Carne al vapor",
"low_temp_cooking_steam": "Cocción a baja temperatura al vapor",
"meat": "Carne",
"meat_steam": "Carne al vapor",
"meat_steam": "Meat steam",
"multi_level": "Múltiples niveles",
"paella": "Paella",
"pasta_and_bakery": "Pasta y Panadería",
@ -490,7 +508,7 @@
"pyrolysis_plus": "Pirólisis +",
"red_meat": "Carne roja",
"red_meat_steam": "Carne roja al vapor",
"regenerate": "Regeneración",
"regenerate": "Regenerar",
"soft_plus": "Soft+",
"super_grill": "Super Grill",
"tailor_bake": "Tailor bake",
@ -499,7 +517,7 @@
"vegetables": "Verduras",
"vegetables_cata": "Verduras",
"vegetables_pyro": "Verdura",
"water_discharge": "Drenaje del agua",
"water_discharge": "Descarga de agua",
"white_meat": "Carne blanca",
"white_meat_steam": "Carne blanca al vapor"
},
@ -558,7 +576,7 @@
"hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Rápido 20",
"hqd_quick_30": "Rápido 30",
"hqd_quick_dry": "Secado rápido",
"hqd_quick_dry": "Secado rápido 30",
"hqd_quilt": "Colchas",
"hqd_refresh": "Refrescar",
"hqd_school_uniform": "Uniformes escolares",
@ -1013,6 +1031,40 @@
"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"
},
"ref_zones": {
"state": {
"fridge": "Frigorífico",
"freezer": "Congelador",
"vtroom1": "My Zone",
"fridge_freezer": "Frigorífico & Congelador"
},
"name": "Zona"
}
},
"switch": {
@ -1105,6 +1157,24 @@
},
"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"
},
"refrigerator": {
"name": "Frigorífico"
}
},
"binary_sensor": {
@ -1154,7 +1224,7 @@
"name": "Sartén"
},
"remote_control": {
"name": "Control remoto"
"name": "Τηλεχειριστήριο"
},
"rinse_aid": {
"name": "Nivel del agente de enjuague"
@ -1182,6 +1252,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,11 +1308,116 @@
},
"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"
},
"start_program": {
"name": "Programa Inicio"
},
"stop_program": {
"name": "Programa Detener"
}
},
"climate": {
"air_conditioner": {
"name": "Aire acondicionado"
},
"fridge": {
"name": "Frigorífico",
"state_attributes": {
"preset_mode": {
"name": "Modos de frigorífico",
"state": {
"auto_set": "Auto-Set",
"super_cool": "Super Cool",
"holiday": "Holiday",
"no_mode": "No se ha seleccionado ningún modo"
}
}
}
},
"freezer": {
"name": "Congelador",
"state_attributes": {
"preset_mode": {
"name": "Modos congelador",
"state": {
"auto_set": "Auto-Set",
"super_freeze": "Super Freeze",
"no_mode": "No se ha seleccionado ningún modo"
}
}
}
},
"oven": {
"name": "Horno",
"state_attributes": {
"preset_mode": {
"name": "Programas",
"state": {
"bakery": "Pasta y Panadería",
"bakery_steam": "Oven steam",
"bottom_heating": "Calentamiento Inferior",
"bottom_heating_fan": "Calentamiento Inferior + Ventilador",
"bread": "Pan",
"bread_steam": "Pan al vapor",
"combi": "Combi",
"convection_fan": "Convección + Ventilador",
"convection_fan_turnspit": "Asador giratorio convencional ventilada",
"conventional": "Convección",
"conventional_turnspit": "Asador giratorio convencional",
"defrost": "Descongelación",
"descaling": "Descalcificación",
"fish": "Pescado",
"fish_steam": "Pescado al vapor",
"grill_cata": "Grill",
"grill_fan_cata": "Grill y ventilador",
"grill_fan_pyro": "Grill + Ventilador",
"grill_pyro": "Grill",
"h20_clean": "H2O-Clean",
"iot_bread": "Pan",
"iot_h20_clean": "h2O clean",
"leavening": "Fermentación",
"low_temp_cooking": "Cocción a baja temperatura",
"low_temp_cooking_fish": "Cocción a baja temperatura Pescado",
"low_temp_cooking_fish_steam": "Cocción a baja temperatura Pescado",
"low_temp_cooking_meat": "Cocción a baja temperatura Carne",
"low_temp_cooking_meat_steam": "Cocción a baja temperatura Carne al vapor",
"low_temp_cooking_steam": "Cocción a baja temperatura al vapor",
"meat": "Carne",
"meat_steam": "Meat steam",
"multi_level": "Múltiples niveles",
"paella": "Paella",
"pasta_and_bakery": "Pasta y Panadería",
"pizza": "Pizza",
"pyrolysis": "Pirólisis",
"pyrolysis_plus": "Pirólisis +",
"red_meat": "Carne roja",
"red_meat_steam": "Carne roja al vapor",
"regenerate": "Regenerar",
"soft_plus": "Soft+",
"super_grill": "Super Grill",
"tailor_bake": "Tailor bake",
"tailor_bake_cata": "Tailor Bake",
"tailor_bake_pyro": "Tailor Bake",
"vegetables": "Verduras",
"vegetables_cata": "Verduras",
"vegetables_pyro": "Verdura",
"water_discharge": "Descarga de agua",
"white_meat": "Carne blanca",
"white_meat_steam": "Carne blanca al vapor"
}
}
}
}
}
},

View File

@ -225,7 +225,7 @@
"hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Rapide 20",
"hqd_quick_30": "Rapide 30",
"hqd_quick_dry": "Séchage rapide",
"hqd_quick_dry": "Séchage rapide 30",
"hqd_quilt": "Couvertures",
"hqd_refresh": "Rafraîchissement",
"hqd_school_uniform": "Uniforme scolaire",
@ -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": {
@ -397,6 +409,11 @@
"silent": "Nuit",
"silent_care": "Silent Care",
"smart_ai": "Smart AI",
"smart_ai_pro": "Smart AI Pro",
"smart_ai_pro_soil": "Smart AI Pro",
"smart_ai_rapid": "Smart AI Rapid",
"smart_ai_rapid_soil": "Smart AI Rapid",
"smart_ai_soil": "Smart AI",
"special": "spécial",
"special_pw_prz": "spécial",
"steam": "Vapeur 75 °C",
@ -453,19 +470,20 @@
"programs_ov": {
"state": {
"bakery": "Pâtes et pains",
"bakery_steam": "Pain cuit à la vapeur",
"bakery_steam": "Four à vapeur",
"bottom_heating": "Sole",
"bottom_heating_fan": "Sole brassée",
"bread": "Pain",
"bread_steam": "Pâtisseries cuites à la vapeur",
"bread_steam": "Pain àla vapeur",
"combi": "Combi",
"convection_fan": "Chaleur tournante",
"convection_fan_turnspit": "Convection + Ventilateur + Tournebroche",
"convection_fan_turnspit": "Tournebrocheà convection ventilée",
"conventional": "Convection naturelle",
"conventional_turnspit": "Convection + Tournebroche",
"conventional_turnspit": "Tournebroche conventionnel",
"defrost": "Décongélation",
"descaling": "Détartrage",
"fish": "Poisson",
"fish_steam": "Poisson cuit à la vapeur",
"fish_steam": "Poisson à la vapeur",
"grill_cata": "Gril",
"grill_fan_cata": "Turbogril",
"grill_fan_pyro": "Turbogril",
@ -475,13 +493,13 @@
"iot_h20_clean": "h2O clean",
"leavening": "Étuve",
"low_temp_cooking": "Cuisson à basse température",
"low_temp_cooking_fish": "Cuisson à basse température - Poisson",
"low_temp_cooking_fish_steam": "Cuisson à la vapeur à basse température - Poisson",
"low_temp_cooking_meat": "Cuisson à basse température - Viande",
"low_temp_cooking_meat_steam": "Cuisson à la vapeur à basse température - Viande",
"low_temp_cooking_steam": "Cuisson à la vapeur à basse température",
"low_temp_cooking_fish": "Cuisson à basse température Poisson",
"low_temp_cooking_fish_steam": "Cuisson à basse température Poisson à la vapeur",
"low_temp_cooking_meat": "Cuisson à basse température Viande",
"low_temp_cooking_meat_steam": "Cuisson à basse température Viande à la vapeur",
"low_temp_cooking_steam": "Cuisson à basse température à la vapeur",
"meat": "Viande",
"meat_steam": "Viande cuite à la vapeur",
"meat_steam": "Viande à la vapeur",
"multi_level": "Chaleur pulsée",
"paella": "Paella",
"pasta_and_bakery": "Pâtes et pains",
@ -489,8 +507,8 @@
"pyrolysis": "Pyrolyse",
"pyrolysis_plus": "Pyrolyse +",
"red_meat": "Viande rouge",
"red_meat_steam": "Viande rouge cuite à la vapeur",
"regenerate": "Régénération",
"red_meat_steam": "Viande rouge à la vapeur",
"regenerate": "Régénérer",
"soft_plus": "Soft+",
"super_grill": "Super Gril",
"tailor_bake": "Tailor bake",
@ -499,9 +517,9 @@
"vegetables": "Légumes",
"vegetables_cata": "Légumes",
"vegetables_pyro": "Légumes",
"water_discharge": "Vidange de leau",
"water_discharge": "Décharge d'eau",
"white_meat": "Viande blanche",
"white_meat_steam": "Viande blanche cuite à la vapeur"
"white_meat_steam": "Viande blanche à la vapeur"
},
"name": "Programme"
},
@ -558,7 +576,7 @@
"hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Rapide 20",
"hqd_quick_30": "Rapide 30",
"hqd_quick_dry": "Séchage rapide",
"hqd_quick_dry": "Séchage rapide 30",
"hqd_quilt": "Couvertures",
"hqd_refresh": "Rafraîchissement",
"hqd_school_uniform": "Uniforme scolaire",
@ -1013,6 +1031,40 @@
"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"
},
"ref_zones": {
"state": {
"fridge": "Réfrigérateur",
"freezer": "Congélateur",
"vtroom1": "My Zone",
"fridge_freezer": "Réfrigérateur & Congélateur"
},
"name": "Zone"
}
},
"switch": {
@ -1105,6 +1157,24 @@
},
"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"
},
"refrigerator": {
"name": "Réfrigérateur"
}
},
"binary_sensor": {
@ -1182,6 +1252,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,11 +1308,116 @@
},
"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"
},
"start_program": {
"name": "Programme Démarrer"
},
"stop_program": {
"name": "Programme Arrêter"
}
},
"climate": {
"air_conditioner": {
"name": "Climatiseur"
},
"fridge": {
"name": "Réfrigérateur",
"state_attributes": {
"preset_mode": {
"name": "Modes réfrigérateur",
"state": {
"auto_set": "Réglage automatique",
"super_cool": "Super Cool",
"holiday": "Holiday",
"no_mode": "Aucun mode sélectionné"
}
}
}
},
"freezer": {
"name": "Congélateur",
"state_attributes": {
"preset_mode": {
"name": "Modes congélateur",
"state": {
"auto_set": "Réglage automatique",
"super_freeze": "Super Freeze",
"no_mode": "Aucun mode sélectionné"
}
}
}
},
"oven": {
"name": "Four",
"state_attributes": {
"preset_mode": {
"name": "Programmes",
"state": {
"bakery": "Pâtes et pains",
"bakery_steam": "Four à vapeur",
"bottom_heating": "Sole",
"bottom_heating_fan": "Sole brassée",
"bread": "Pain",
"bread_steam": "Pain àla vapeur",
"combi": "Combi",
"convection_fan": "Chaleur tournante",
"convection_fan_turnspit": "Tournebrocheà convection ventilée",
"conventional": "Convection naturelle",
"conventional_turnspit": "Tournebroche conventionnel",
"defrost": "Décongélation",
"descaling": "Détartrage",
"fish": "Poisson",
"fish_steam": "Poisson à la vapeur",
"grill_cata": "Gril",
"grill_fan_cata": "Turbogril",
"grill_fan_pyro": "Turbogril",
"grill_pyro": "Gril",
"h20_clean": "H2O-Clean",
"iot_bread": "Pain",
"iot_h20_clean": "h2O clean",
"leavening": "Étuve",
"low_temp_cooking": "Cuisson à basse température",
"low_temp_cooking_fish": "Cuisson à basse température Poisson",
"low_temp_cooking_fish_steam": "Cuisson à basse température Poisson à la vapeur",
"low_temp_cooking_meat": "Cuisson à basse température Viande",
"low_temp_cooking_meat_steam": "Cuisson à basse température Viande à la vapeur",
"low_temp_cooking_steam": "Cuisson à basse température à la vapeur",
"meat": "Viande",
"meat_steam": "Viande à la vapeur",
"multi_level": "Chaleur pulsée",
"paella": "Paella",
"pasta_and_bakery": "Pâtes et pains",
"pizza": "Pizza",
"pyrolysis": "Pyrolyse",
"pyrolysis_plus": "Pyrolyse +",
"red_meat": "Viande rouge",
"red_meat_steam": "Viande rouge à la vapeur",
"regenerate": "Régénérer",
"soft_plus": "Soft+",
"super_grill": "Super Gril",
"tailor_bake": "Tailor bake",
"tailor_bake_cata": "Tailor Bake",
"tailor_bake_pyro": "Tailor Bake",
"vegetables": "Légumes",
"vegetables_cata": "Légumes",
"vegetables_pyro": "Légumes",
"water_discharge": "Décharge d'eau",
"white_meat": "Viande blanche",
"white_meat_steam": "Viande blanche à la vapeur"
}
}
}
}
}
},

View File

@ -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": {
@ -199,7 +211,8 @@
"iot_fairy_quick_cycle": "Fairy Quick",
"iot_jar_quick_cycle": "Jar Quick",
"iot_yes_quick_cycle": "Yes Quick",
"smart_ai": "Smart AI"
"smart_ai": "Smart AI",
"smart_ai_soil": "Smart AI"
},
"name": "Program"
},
@ -477,6 +490,29 @@
"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": "זמן שנותר"
},
"ref_zones": {
"state": {
"fridge": "Fridge",
"freezer": "Freezer",
"vtroom1": "My Zone",
"fridge_freezer": "Fridge & Freezer"
},
"name": "Zone"
}
},
"switch": {
@ -569,6 +605,24 @@
},
"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"
},
"refrigerator": {
"name": "Refrigerator"
}
},
"binary_sensor": {
@ -646,6 +700,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,11 +756,68 @@
},
"steam_level": {
"name": "מפלס קיטור"
},
"freezer_temp_sel": {
"name": "Target temperature Freezer"
},
"fridge_temp_sel": {
"name": "Target temperature Fridge"
}
},
"button": {
"induction_hob": {
"name": "Induction Hob"
},
"start_program": {
"name": "Program Start"
},
"stop_program": {
"name": "Program Stop"
}
},
"climate": {
"air_conditioner": {
"name": "Air conditioner"
},
"fridge": {
"name": "Fridge",
"state_attributes": {
"preset_mode": {
"name": "Fridge modes",
"state": {
"auto_set": "Auto-Set",
"super_cool": "Super Cool",
"holiday": "Holiday",
"no_mode": "No mode selected"
}
}
}
},
"freezer": {
"name": "Freezer",
"state_attributes": {
"preset_mode": {
"name": "Freezer modes",
"state": {
"auto_set": "Auto-Set",
"super_freeze": "Super Freeze",
"no_mode": "No mode selected"
}
}
}
},
"oven": {
"name": "Oven",
"state_attributes": {
"preset_mode": {
"name": "Programs",
"state": {
"iot_h20_clean": "h2O clean",
"pizza": "Pizza",
"tailor_bake": "Tailor bake"
}
}
}
}
}
},

View File

@ -225,7 +225,7 @@
"hqd_precious_cure": "Precious Cure",
"hqd_quick_20": "Brzo 20",
"hqd_quick_30": "Brzo 30",
"hqd_quick_dry": "Brzo sušenje",
"hqd_quick_dry": "Brzo sušenje 30",
"hqd_quilt": "Popluni",
"hqd_refresh": "Protiv neugodnih mirisa",
"hqd_school_uniform": "Školska uniforma",
@ -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": {
@ -397,6 +409,11 @@
"silent": "Noć",
"silent_care": "Silent Care",
"smart_ai": "Smart AI",
"smart_ai_pro": "Smart AI Pro",
"smart_ai_pro_soil": "Smart AI Pro",
"smart_ai_rapid": "Smart AI Rapid",
"smart_ai_rapid_soil": "Smart AI Rapid",
"smart_ai_soil": "Smart AI",
"special": "Posebno",
"special_pw_prz": "Posebno",
"steam": "Steam (Para) 75 °C",
@ -453,11 +470,12 @@
"programs_ov": {
"state": {
"bakery": "Tjestenina i tijesta",
"bakery_steam": "Kruh pečen na pari",
"bakery_steam": "Para u pećnici",
"bottom_heating": "Donji grijač",
"bottom_heating_fan": "Donji grijač + Ventilator",
"bread": "Kruh",
"bread_steam": "Peciva pečena na pari",
"bread_steam": "Kruh pečen na pari",
"combi": "Combi",
"convection_fan": "Konvekcija + Ventilator",
"convection_fan_turnspit": "Konvekcija + ventilator + ražanj",
"conventional": "Konvekcijska",
@ -465,7 +483,7 @@
"defrost": "Odmrzavanje",
"descaling": "Uklanjanje kamenca",
"fish": "Riba",
"fish_steam": "Riba kuhana na pari",
"fish_steam": "Riba na pari",
"grill_cata": "Pečenje",
"grill_fan_cata": "Ventilator za pečenje",
"grill_fan_pyro": "Grijač + ventilator",
@ -476,12 +494,12 @@
"leavening": "Dizanje tijesta",
"low_temp_cooking": "Kuhanje na niskoj temperaturi",
"low_temp_cooking_fish": "Kuhanje na niskoj temperaturi - riba",
"low_temp_cooking_fish_steam": "Kuhanje na pari i na niskoj temperaturi - riba",
"low_temp_cooking_fish_steam": "Kuhanje na niskoj temperaturi - riba na pari",
"low_temp_cooking_meat": "Kuhanje na niskoj temperaturi - meso",
"low_temp_cooking_meat_steam": "Kuhanje na pari i na niskoj temperaturi - meso",
"low_temp_cooking_meat_steam": "Kuhanje na niskoj temperaturi - meso na pari",
"low_temp_cooking_steam": "Kuhanje na pari i na niskoj temperaturi",
"meat": "Meso",
"meat_steam": "Meso kuhano na pari",
"meat_steam": "Meso na pari",
"multi_level": "Više razina",
"paella": "Paella",
"pasta_and_bakery": "Tjestenina i tijesta",
@ -489,7 +507,7 @@
"pyrolysis": "Piroliza",
"pyrolysis_plus": "Piroliza +",
"red_meat": "Crveno meso",
"red_meat_steam": "Crveno meso kuhano na pari",
"red_meat_steam": "Kuhano crveno meso",
"regenerate": "Regeneracija",
"soft_plus": "Mekano+",
"super_grill": "Super roštilj",
@ -499,9 +517,9 @@
"vegetables": "Povrće",
"vegetables_cata": "Povrće",
"vegetables_pyro": "Povrće",
"water_discharge": "Odvod vode",
"water_discharge": "Ispuštanje vode",
"white_meat": "Bijelo meso",
"white_meat_steam": "Bijelo meso kuhano na pari"
"white_meat_steam": "Kuhano bijelo meso na pari"
},
"name": "Program"
},
@ -558,7 +576,7 @@
"hqd_precious_cure": "Precious Cure",
"hqd_quick_20": "Brzo 20",
"hqd_quick_30": "Brzo 30",
"hqd_quick_dry": "Brzo sušenje",
"hqd_quick_dry": "Brzo sušenje 30",
"hqd_quilt": "Popluni",
"hqd_refresh": "Protiv neugodnih mirisa",
"hqd_school_uniform": "Školska uniforma",
@ -1013,6 +1031,40 @@
"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"
},
"ref_zones": {
"state": {
"fridge": "Hladnjak",
"freezer": "Zamrzivač",
"vtroom1": "My Zone",
"fridge_freezer": "Hladnjak & Zamrzivač"
},
"name": "Zona"
}
},
"switch": {
@ -1105,6 +1157,24 @@
},
"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"
},
"refrigerator": {
"name": "Hladnjak"
}
},
"binary_sensor": {
@ -1154,7 +1224,7 @@
"name": "Tava"
},
"remote_control": {
"name": "Upravljanje na daljinu"
"name": "Daljinski upravljač"
},
"rinse_aid": {
"name": "Razina sredstva za ispiranje"
@ -1182,6 +1252,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,11 +1308,116 @@
},
"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"
},
"start_program": {
"name": "Program Početak"
},
"stop_program": {
"name": "Program Zaustavi"
}
},
"climate": {
"air_conditioner": {
"name": "Klimatizacijski uređaj"
},
"fridge": {
"name": "Hladnjak",
"state_attributes": {
"preset_mode": {
"name": "Načini rada za hladnjak",
"state": {
"auto_set": "Automatsko postavljanje",
"super_cool": "Super Cool",
"holiday": "Holiday",
"no_mode": "Nije odabran način rada"
}
}
}
},
"freezer": {
"name": "Zamrzivač",
"state_attributes": {
"preset_mode": {
"name": "Načini rada za zamrzavanje",
"state": {
"auto_set": "Automatsko postavljanje",
"super_freeze": "Super Freeze",
"no_mode": "Nije odabran način rada"
}
}
}
},
"oven": {
"name": "Pećnica",
"state_attributes": {
"preset_mode": {
"name": "Programi",
"state": {
"bakery": "Tjestenina i tijesta",
"bakery_steam": "Para u pećnici",
"bottom_heating": "Donji grijač",
"bottom_heating_fan": "Donji grijač + Ventilator",
"bread": "Kruh",
"bread_steam": "Kruh pečen na pari",
"combi": "Combi",
"convection_fan": "Konvekcija + Ventilator",
"convection_fan_turnspit": "Konvekcija + ventilator + ražanj",
"conventional": "Konvekcijska",
"conventional_turnspit": "Konvekcija + ražanj",
"defrost": "Odmrzavanje",
"descaling": "Uklanjanje kamenca",
"fish": "Riba",
"fish_steam": "Riba na pari",
"grill_cata": "Pečenje",
"grill_fan_cata": "Ventilator za pečenje",
"grill_fan_pyro": "Grijač + ventilator",
"grill_pyro": "Grijač",
"h20_clean": "H2O-Clean",
"iot_bread": "Kruh",
"iot_h20_clean": "h2O clean",
"leavening": "Dizanje tijesta",
"low_temp_cooking": "Kuhanje na niskoj temperaturi",
"low_temp_cooking_fish": "Kuhanje na niskoj temperaturi - riba",
"low_temp_cooking_fish_steam": "Kuhanje na niskoj temperaturi - riba na pari",
"low_temp_cooking_meat": "Kuhanje na niskoj temperaturi - meso",
"low_temp_cooking_meat_steam": "Kuhanje na niskoj temperaturi - meso na pari",
"low_temp_cooking_steam": "Kuhanje na pari i na niskoj temperaturi",
"meat": "Meso",
"meat_steam": "Meso na pari",
"multi_level": "Više razina",
"paella": "Paella",
"pasta_and_bakery": "Tjestenina i tijesta",
"pizza": "Pizza",
"pyrolysis": "Piroliza",
"pyrolysis_plus": "Piroliza +",
"red_meat": "Crveno meso",
"red_meat_steam": "Kuhano crveno meso",
"regenerate": "Regeneracija",
"soft_plus": "Mekano+",
"super_grill": "Super roštilj",
"tailor_bake": "Tailor bake",
"tailor_bake_cata": "Tailor Bake",
"tailor_bake_pyro": "Tailor Bake",
"vegetables": "Povrće",
"vegetables_cata": "Povrće",
"vegetables_pyro": "Povrće",
"water_discharge": "Ispuštanje vode",
"white_meat": "Bijelo meso",
"white_meat_steam": "Kuhano bijelo meso na pari"
}
}
}
}
}
},

View File

@ -256,7 +256,7 @@
"hqd_bed_sheets": "Lenzuola",
"hqd_bulky": "Vestiti voluminosi",
"hqd_casual": "Casual",
"hqd_cold_wind_30": "Brezza rinfrescante 30 minuti",
"hqd_cold_wind_30": "Brezza rinfrescante 30m",
"hqd_cold_wind_timing": "Brezza rinfrescante",
"hqd_cotton": "Cotone",
"hqd_curtain": "Tende",
@ -270,14 +270,14 @@
"hqd_i_refresh_pro": "I-Refresh Pro",
"hqd_jacket": "Giacche",
"hqd_jeans": "Jeans",
"hqd_luxury": "Vestiti preziosi",
"hqd_luxury": "Capi Pregiati",
"hqd_mix": "Misti",
"hqd_night_dry": "Asciugatura notturna",
"hqd_outdoor": "Outdoor",
"hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Rapido 20",
"hqd_quick_30": "Rapido 30",
"hqd_quick_dry": "Asciugatura veloce",
"hqd_quick_20": "Rapido 20m",
"hqd_quick_30": "Rapido 30m",
"hqd_quick_dry": "Asciugatura veloce (30 min)",
"hqd_quilt": "Trapunte",
"hqd_refresh": "Refresh",
"hqd_school_uniform": "Uniforme scolastica",
@ -291,7 +291,7 @@
"hqd_underwear": "Intimo",
"hqd_warm_up": "Riscaldamento",
"hqd_wool": "Lana",
"hqd_working_suit": "Completo da lavoro",
"hqd_working_suit": "Abbigliamento da lavoro",
"hygiene": "Igiene",
"iot_checkup": "Check-Up",
"iot_dry_anti_mites": "Anti-Acari",
@ -315,7 +315,7 @@
"iot_dry_lingerie": "Lingerie",
"iot_dry_mixed": "Misti",
"iot_dry_playsuits": "Tutine",
"iot_dry_rapid_30": "Rapido 30",
"iot_dry_rapid_30": "Rapido 30m",
"iot_dry_rapid_59": "Rapido 59'.",
"iot_dry_refresh": "Rinfresca",
"iot_dry_regenerates_waterproof": "Rigenera Tessuti Impermeabili",
@ -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": {
@ -449,6 +461,11 @@
"silent": "Notte",
"silent_care": "Silent Care",
"smart_ai": "Smart AI",
"smart_ai_pro": "Smart AI Pro",
"smart_ai_pro_soil": "Smart AI Pro",
"smart_ai_rapid": "Smart AI Rapid",
"smart_ai_rapid_soil": "Smart AI Rapid",
"smart_ai_soil": "Smart AI",
"special": "Speciale",
"special_pw_prz": "Speciale",
"steam": "Vapore 75°C",
@ -505,19 +522,20 @@
"programs_ov": {
"state": {
"bakery": "Pasta e Pasticceria",
"bakery_steam": "Pane a vapore",
"bakery_steam": "Vapore da forno",
"bottom_heating": "Resistenza Inferiore",
"bottom_heating_fan": "Resistenza Inferiore Ventilata",
"bread": "Pane",
"bread_steam": "Pasticceria a vapore",
"bread_steam": "Pane al vapore",
"combi": "Combi",
"convection_fan": "Cottura Ventilata",
"convection_fan_turnspit": "Girarrosto + statico ventilato",
"convection_fan_turnspit": "Girarrosto a convenzione ventilata",
"conventional": "Statico",
"conventional_turnspit": "Girarrosto + statico",
"conventional_turnspit": "Girarrosto a convenzione",
"defrost": "Decongelamento",
"descaling": "Disincrostazione",
"descaling": "Decalcificazione",
"fish": "Pesce",
"fish_steam": "Pesce a vapore",
"fish_steam": "Pesce al vapore",
"grill_cata": "Grill",
"grill_fan_cata": "Grill fan",
"grill_fan_pyro": "Grill Ventilato",
@ -527,13 +545,13 @@
"iot_h20_clean": "h2O clean",
"leavening": "Lievitazione",
"low_temp_cooking": "Cottura a bassa temperatura",
"low_temp_cooking_fish": "Cottura a bassa temperatura del pesce",
"low_temp_cooking_fish_steam": "Cottura a bassa temperatura del pesce a vapore",
"low_temp_cooking_meat": "Cottura a bassa temperatura della carne",
"low_temp_cooking_meat_steam": "Cottura a vapore a bassa temperatura di carne",
"low_temp_cooking_steam": "Cottura a vapore a bassa temperatura",
"low_temp_cooking_fish": "Cottura a bassa temperatura Pesce",
"low_temp_cooking_fish_steam": "Cottura a bassa temperatura Pesce al vapore",
"low_temp_cooking_meat": "Cottura a bassa temperatura Carne",
"low_temp_cooking_meat_steam": "Cottura a bassa temperatura Carne al vapore",
"low_temp_cooking_steam": "Cottura a bassa temperatura al vapore",
"meat": "Carne",
"meat_steam": "Carne a vapore",
"meat_steam": "Carne al vapore",
"multi_level": "Cottura Multilivello",
"paella": "Paella",
"pasta_and_bakery": "Pasta e Pasticceria",
@ -541,8 +559,8 @@
"pyrolysis": "Pirolisi",
"pyrolysis_plus": "Pirolisi +",
"red_meat": "Carne rossa",
"red_meat_steam": "Carne rossa a vapore",
"regenerate": "Rigenerazione",
"red_meat_steam": "Carne rossa al vapore",
"regenerate": "Rigenerare",
"soft_plus": "Soft+",
"super_grill": "Supergriglia",
"tailor_bake": "Tailor bake",
@ -551,9 +569,9 @@
"vegetables": "Verdure",
"vegetables_cata": "Verdure",
"vegetables_pyro": "Verdure",
"water_discharge": "Scarico d'acqua",
"white_meat": "Carne bianca",
"white_meat_steam": "Carne bianca a vapore"
"water_discharge": "Scarico dell'acqua",
"white_meat": "Carne Bianca",
"white_meat_steam": "Carne bianca al vapore"
},
"name": "Programma"
},
@ -589,7 +607,7 @@
"hqd_bed_sheets": "Lenzuola",
"hqd_bulky": "Vestiti voluminosi",
"hqd_casual": "Casual",
"hqd_cold_wind_30": "Brezza rinfrescante 30 minuti",
"hqd_cold_wind_30": "Brezza rinfrescante 30m",
"hqd_cold_wind_timing": "Brezza rinfrescante",
"hqd_cotton": "Cotone",
"hqd_curtain": "Tende",
@ -603,14 +621,14 @@
"hqd_i_refresh_pro": "I-Refresh Pro",
"hqd_jacket": "Giacche",
"hqd_jeans": "Jeans",
"hqd_luxury": "Vestiti preziosi",
"hqd_luxury": "Capi Pregiati",
"hqd_mix": "Misti",
"hqd_night_dry": "Asciugatura notturna",
"hqd_outdoor": "Outdoor",
"hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Rapido 20",
"hqd_quick_30": "Rapido 30",
"hqd_quick_dry": "Asciugatura veloce",
"hqd_quick_20": "Rapido 20m",
"hqd_quick_30": "Rapido 30m",
"hqd_quick_dry": "Asciugatura veloce (30 min)",
"hqd_quilt": "Trapunte",
"hqd_refresh": "Refresh",
"hqd_school_uniform": "Uniforme scolastica",
@ -624,7 +642,7 @@
"hqd_underwear": "Intimo",
"hqd_warm_up": "Riscaldamento",
"hqd_wool": "Lana",
"hqd_working_suit": "Completo da lavoro",
"hqd_working_suit": "Abbigliamento da lavoro",
"hygiene": "Igiene",
"iot_checkup": "Check-Up",
"iot_dry_anti_mites": "Anti-Acari",
@ -648,7 +666,7 @@
"iot_dry_lingerie": "Lingerie",
"iot_dry_mixed": "Misti",
"iot_dry_playsuits": "Tutine",
"iot_dry_rapid_30": "Rapido 30",
"iot_dry_rapid_30": "Rapido 30m",
"iot_dry_rapid_59": "Rapido 59'.",
"iot_dry_refresh": "Rinfresca",
"iot_dry_regenerates_waterproof": "Rigenera Tessuti Impermeabili",
@ -1065,6 +1083,40 @@
"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"
},
"ref_zones": {
"state": {
"fridge": "Frigorifero",
"freezer": "Congelatore",
"vtroom1": "My Zone",
"fridge_freezer": "Frigorifero & Congelatore"
},
"name": "Zona"
}
},
"switch": {
@ -1157,6 +1209,24 @@
},
"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"
},
"refrigerator": {
"name": "Frigo"
}
},
"binary_sensor": {
@ -1206,7 +1276,7 @@
"name": "Pentola"
},
"remote_control": {
"name": "Controllo remoto"
"name": "远程控制"
},
"rinse_aid": {
"name": "Livello Brillantante"
@ -1234,6 +1304,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,11 +1360,116 @@
},
"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"
},
"start_program": {
"name": "Programma Inizia"
},
"stop_program": {
"name": "Programma Stop"
}
},
"climate": {
"air_conditioner": {
"name": "Condizionatore"
},
"fridge": {
"name": "Frigorifero",
"state_attributes": {
"preset_mode": {
"name": "Modalità del frigorifero",
"state": {
"auto_set": "Impostazione automatica",
"super_cool": "Super Cool",
"holiday": "Holiday",
"no_mode": "Nessuna modalità selezionata"
}
}
}
},
"freezer": {
"name": "Congelatore",
"state_attributes": {
"preset_mode": {
"name": "Modalità del congelatore",
"state": {
"auto_set": "Impostazione automatica",
"super_freeze": "Super Freeze",
"no_mode": "Nessuna modalità selezionata"
}
}
}
},
"oven": {
"name": "Forno",
"state_attributes": {
"preset_mode": {
"name": "Programmi",
"state": {
"bakery": "Pasta e Pasticceria",
"bakery_steam": "Vapore da forno",
"bottom_heating": "Resistenza Inferiore",
"bottom_heating_fan": "Resistenza Inferiore Ventilata",
"bread": "Pane",
"bread_steam": "Pane al vapore",
"combi": "Combi",
"convection_fan": "Cottura Ventilata",
"convection_fan_turnspit": "Girarrosto a convenzione ventilata",
"conventional": "Statico",
"conventional_turnspit": "Girarrosto a convenzione",
"defrost": "Decongelamento",
"descaling": "Decalcificazione",
"fish": "Pesce",
"fish_steam": "Pesce al vapore",
"grill_cata": "Grill",
"grill_fan_cata": "Grill fan",
"grill_fan_pyro": "Grill Ventilato",
"grill_pyro": "Grill",
"h20_clean": "H2O-Clean",
"iot_bread": "Pane",
"iot_h20_clean": "h2O clean",
"leavening": "Lievitazione",
"low_temp_cooking": "Cottura a bassa temperatura",
"low_temp_cooking_fish": "Cottura a bassa temperatura Pesce",
"low_temp_cooking_fish_steam": "Cottura a bassa temperatura Pesce al vapore",
"low_temp_cooking_meat": "Cottura a bassa temperatura Carne",
"low_temp_cooking_meat_steam": "Cottura a bassa temperatura Carne al vapore",
"low_temp_cooking_steam": "Cottura a bassa temperatura al vapore",
"meat": "Carne",
"meat_steam": "Carne al vapore",
"multi_level": "Cottura Multilivello",
"paella": "Paella",
"pasta_and_bakery": "Pasta e Pasticceria",
"pizza": "Pizza",
"pyrolysis": "Pirolisi",
"pyrolysis_plus": "Pirolisi +",
"red_meat": "Carne rossa",
"red_meat_steam": "Carne rossa al vapore",
"regenerate": "Rigenerare",
"soft_plus": "Soft+",
"super_grill": "Supergriglia",
"tailor_bake": "Tailor bake",
"tailor_bake_cata": "Tailor Bake",
"tailor_bake_pyro": "Tailor Bake",
"vegetables": "Verdure",
"vegetables_cata": "Verdure",
"vegetables_pyro": "Verdure",
"water_discharge": "Scarico dell'acqua",
"white_meat": "Carne Bianca",
"white_meat_steam": "Carne bianca al vapore"
}
}
}
}
}
}

View File

@ -225,7 +225,7 @@
"hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Quick 20",
"hqd_quick_30": "Quick 30",
"hqd_quick_dry": "Quick dry",
"hqd_quick_dry": "Quick dry 30",
"hqd_quilt": "Quilts",
"hqd_refresh": "Opfrissen",
"hqd_school_uniform": "Schooluniform",
@ -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": {
@ -397,6 +409,11 @@
"silent": "Nacht",
"silent_care": "Silent Care",
"smart_ai": "Smart AI",
"smart_ai_pro": "Smart AI Pro",
"smart_ai_pro_soil": "Smart AI Pro",
"smart_ai_rapid": "Smart AI Rapid",
"smart_ai_rapid_soil": "Smart AI Rapid",
"smart_ai_soil": "Smart AI",
"special": "speciaal",
"special_pw_prz": "speciaal",
"steam": "Stoom 75°C",
@ -453,11 +470,12 @@
"programs_ov": {
"state": {
"bakery": "Pasta en bakkersproducten",
"bakery_steam": "Stoomgebakken brood",
"bakery_steam": "Oven stomen",
"bottom_heating": "Bodemverwarming",
"bottom_heating_fan": "Bodemverwarming + Ventilator",
"bread": "Brood",
"bread_steam": "Stoomgebakken pasteien",
"bread_steam": "Stoomgebakken brood",
"combi": "Combi",
"convection_fan": "Met ventilator",
"convection_fan_turnspit": "Convectie + ventilator + draaispit",
"conventional": "Conventioneel",
@ -476,12 +494,12 @@
"leavening": "Gisting",
"low_temp_cooking": "Bereiding op lage temperatuur",
"low_temp_cooking_fish": "Bereiding op lage temperatuur Vis",
"low_temp_cooking_fish_steam": "Stomen bij lage temperatuur Vis",
"low_temp_cooking_fish_steam": "Bereiding op lage temperatuur Gestoomde vis",
"low_temp_cooking_meat": "Bereiding op lage temperatuur Vlees",
"low_temp_cooking_meat_steam": "Stomen bij lage temperatuur Vlees",
"low_temp_cooking_meat_steam": "Bereiding op lage temperatuur Gestoomd vlees",
"low_temp_cooking_steam": "Stomen bij lage temperatuur",
"meat": "Vlees",
"meat_steam": "Gestoomd vlees",
"meat_steam": "Vlees stomen",
"multi_level": "Multi-level",
"paella": "Paella",
"pasta_and_bakery": "Pasta en bakkersproducten",
@ -490,7 +508,7 @@
"pyrolysis_plus": "Pyrolyse +",
"red_meat": "Rood vlees",
"red_meat_steam": "Gestoomd rood vlees",
"regenerate": "Regeneratie",
"regenerate": "Regenereren",
"soft_plus": "Soft+",
"super_grill": "Super grill",
"tailor_bake": "Tailor bake",
@ -499,7 +517,7 @@
"vegetables": "Groenten",
"vegetables_cata": "Groenten",
"vegetables_pyro": "Groenten",
"water_discharge": "Waterafvoer",
"water_discharge": "Afvoer van water",
"white_meat": "Wit vlees",
"white_meat_steam": "Gestoomd wit vlees"
},
@ -558,7 +576,7 @@
"hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Quick 20",
"hqd_quick_30": "Quick 30",
"hqd_quick_dry": "Quick dry",
"hqd_quick_dry": "Quick dry 30",
"hqd_quilt": "Quilts",
"hqd_refresh": "Opfrissen",
"hqd_school_uniform": "Schooluniform",
@ -1013,6 +1031,40 @@
"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"
},
"ref_zones": {
"state": {
"fridge": "Koelkast",
"freezer": "Vriezer",
"vtroom1": "My Zone",
"fridge_freezer": "Koelkast & Vriezer"
},
"name": "Zone"
}
},
"switch": {
@ -1105,6 +1157,24 @@
},
"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"
},
"refrigerator": {
"name": "Koelkast"
}
},
"binary_sensor": {
@ -1182,6 +1252,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,11 +1308,116 @@
},
"steam_level": {
"name": "Stoomniveau"
},
"freezer_temp_sel": {
"name": "Doeltemperatuur Vriezer"
},
"fridge_temp_sel": {
"name": "Doeltemperatuur Koelkast"
}
},
"button": {
"induction_hob": {
"name": "Inductiekookplaat"
},
"start_program": {
"name": "Programma Start"
},
"stop_program": {
"name": "Programma Stoppen"
}
},
"climate": {
"air_conditioner": {
"name": "Airconditioner"
},
"fridge": {
"name": "Koelkast",
"state_attributes": {
"preset_mode": {
"name": "Koelkastmodi",
"state": {
"auto_set": "Automatisch instellen",
"super_cool": "Super Cool",
"holiday": "Holiday",
"no_mode": "Geen modus geselecteerd"
}
}
}
},
"freezer": {
"name": "Vriezer",
"state_attributes": {
"preset_mode": {
"name": "Vriezermodi",
"state": {
"auto_set": "Automatisch instellen",
"super_freeze": "Super Freeze",
"no_mode": "Geen modus geselecteerd"
}
}
}
},
"oven": {
"name": "Oven",
"state_attributes": {
"preset_mode": {
"name": "Programma's",
"state": {
"bakery": "Pasta en bakkersproducten",
"bakery_steam": "Oven stomen",
"bottom_heating": "Bodemverwarming",
"bottom_heating_fan": "Bodemverwarming + Ventilator",
"bread": "Brood",
"bread_steam": "Stoomgebakken brood",
"combi": "Combi",
"convection_fan": "Met ventilator",
"convection_fan_turnspit": "Convectie + ventilator + draaispit",
"conventional": "Conventioneel",
"conventional_turnspit": "Convectie + draaispit",
"defrost": "Ontdooien",
"descaling": "Ontkalken",
"fish": "Vis",
"fish_steam": "Gestoomde vis",
"grill_cata": "Grill",
"grill_fan_cata": "Grill + ventilator",
"grill_fan_pyro": "Grill + ventilator",
"grill_pyro": "Grill",
"h20_clean": "H2O-Clean",
"iot_bread": "Brood",
"iot_h20_clean": "h2O clean",
"leavening": "Gisting",
"low_temp_cooking": "Bereiding op lage temperatuur",
"low_temp_cooking_fish": "Bereiding op lage temperatuur Vis",
"low_temp_cooking_fish_steam": "Bereiding op lage temperatuur Gestoomde vis",
"low_temp_cooking_meat": "Bereiding op lage temperatuur Vlees",
"low_temp_cooking_meat_steam": "Bereiding op lage temperatuur Gestoomd vlees",
"low_temp_cooking_steam": "Stomen bij lage temperatuur",
"meat": "Vlees",
"meat_steam": "Vlees stomen",
"multi_level": "Multi-level",
"paella": "Paella",
"pasta_and_bakery": "Pasta en bakkersproducten",
"pizza": "Pizza",
"pyrolysis": "Pyrolyse",
"pyrolysis_plus": "Pyrolyse +",
"red_meat": "Rood vlees",
"red_meat_steam": "Gestoomd rood vlees",
"regenerate": "Regenereren",
"soft_plus": "Soft+",
"super_grill": "Super grill",
"tailor_bake": "Tailor bake",
"tailor_bake_cata": "Tailor Bake",
"tailor_bake_pyro": "Tailor Bake",
"vegetables": "Groenten",
"vegetables_cata": "Groenten",
"vegetables_pyro": "Groenten",
"water_discharge": "Afvoer van water",
"white_meat": "Wit vlees",
"white_meat_steam": "Gestoomd wit vlees"
}
}
}
}
}
},

View File

@ -225,7 +225,7 @@
"hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Szybkie 20",
"hqd_quick_30": "Szybkie 30",
"hqd_quick_dry": "Szybkoschnące",
"hqd_quick_dry": "Szybkoschnące 30",
"hqd_quilt": "Kołdry",
"hqd_refresh": "Odświeżanie",
"hqd_school_uniform": "Mundurek szkolny",
@ -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": {
@ -397,6 +409,11 @@
"silent": "Nocny",
"silent_care": "Silent Care",
"smart_ai": "Smart AI",
"smart_ai_pro": "Smart AI Pro",
"smart_ai_pro_soil": "Smart AI Pro",
"smart_ai_rapid": "Smart AI Rapid",
"smart_ai_rapid_soil": "Smart AI Rapid",
"smart_ai_soil": "Smart AI",
"special": "specjalne",
"special_pw_prz": "specjalne",
"steam": "Para 75°C",
@ -453,11 +470,12 @@
"programs_ov": {
"state": {
"bakery": "Makaron i Piekarnia",
"bakery_steam": "Chleb pieczony na parze",
"bakery_steam": "Para z piekarnika",
"bottom_heating": "Grzanie dolne",
"bottom_heating_fan": "Grzanie Dolne + Termoobieg",
"bread": "Chleb",
"bread_steam": "Ciasteczka pieczone na parze",
"bread_steam": "Chleb pieczony na parze",
"combi": "Kombi",
"convection_fan": "Termoobieg",
"convection_fan_turnspit": "Termoobieg + Fan + Rożen",
"conventional": "Konwencjonalny",
@ -465,7 +483,7 @@
"defrost": "Rozmrażanie",
"descaling": "Odkamienianie",
"fish": "Ryby",
"fish_steam": "Ryba gotowana na parze",
"fish_steam": "Ryba na parze",
"grill_cata": "Grill",
"grill_fan_cata": "Grill + termoobieg",
"grill_fan_pyro": "Grill + termoobieg",
@ -476,12 +494,12 @@
"leavening": "Zaczyn",
"low_temp_cooking": "Pieczenie w niskiej temperaturze",
"low_temp_cooking_fish": "Pieczenie w niskiej temperaturze - ryby",
"low_temp_cooking_fish_steam": "Gotowanie na parze w niskiej temperaturze ryby",
"low_temp_cooking_fish_steam": "Gotowanie w niskiej temperaturze - ryba gotowana na parze",
"low_temp_cooking_meat": "Pieczenie w niskiej temperaturze - mięso",
"low_temp_cooking_meat_steam": "Gotowanie na parze w niskiej temperaturze — mięso",
"low_temp_cooking_meat_steam": "Gotowanie w niskiej temperaturze — mięso gotowane na parze",
"low_temp_cooking_steam": "Gotowanie na parze w niskiej temperaturze",
"meat": "Mięso",
"meat_steam": "Mięso gotowane na parze",
"meat_steam": "Mięso na parze",
"multi_level": "Wielopoziomowo",
"paella": "Paella",
"pasta_and_bakery": "Makaron i Piekarnia",
@ -489,8 +507,8 @@
"pyrolysis": "Pyroliza",
"pyrolysis_plus": "Pyroliza +",
"red_meat": "Czerwone mięso",
"red_meat_steam": "Czerwone mięso gotowane na parze",
"regenerate": "Regeneracja",
"red_meat_steam": "Czerwone mięso na parze",
"regenerate": "Podgrzewanie",
"soft_plus": "Soft+",
"super_grill": "Super Grill",
"tailor_bake": "Tailor bake",
@ -499,7 +517,7 @@
"vegetables": "Warzywa",
"vegetables_cata": "Warzywa",
"vegetables_pyro": "Warzywa",
"water_discharge": "Odpływ wody",
"water_discharge": "Odprowadzanie wody",
"white_meat": "Białe mięso",
"white_meat_steam": "Białe mięso gotowane na parze"
},
@ -558,7 +576,7 @@
"hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Szybkie 20",
"hqd_quick_30": "Szybkie 30",
"hqd_quick_dry": "Szybkoschnące",
"hqd_quick_dry": "Szybkoschnące 30",
"hqd_quilt": "Kołdry",
"hqd_refresh": "Odświeżanie",
"hqd_school_uniform": "Mundurek szkolny",
@ -1013,6 +1031,40 @@
"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"
},
"ref_zones": {
"state": {
"fridge": "Lodówka",
"freezer": "Zamrażarka",
"vtroom1": "My Zone",
"fridge_freezer": "Lodówka & Zamrażarka"
},
"name": "Strefa"
}
},
"switch": {
@ -1105,6 +1157,24 @@
},
"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"
},
"refrigerator": {
"name": "Lodówka"
}
},
"binary_sensor": {
@ -1182,6 +1252,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,11 +1308,116 @@
},
"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"
},
"start_program": {
"name": "Program Początek"
},
"stop_program": {
"name": "Program Zatrzymaj"
}
},
"climate": {
"air_conditioner": {
"name": "Klimatyzator"
},
"fridge": {
"name": "Lodówka",
"state_attributes": {
"preset_mode": {
"name": "Tryby pracy lodówki",
"state": {
"auto_set": "Ustawianie automatyczne",
"super_cool": "Super Cool",
"holiday": "Holiday",
"no_mode": "Nie wybrano żadnego trybu"
}
}
}
},
"freezer": {
"name": "Zamrażarka",
"state_attributes": {
"preset_mode": {
"name": "Tryby pracy zamrażarki",
"state": {
"auto_set": "Ustawianie automatyczne",
"super_freeze": "Super Freeze",
"no_mode": "Nie wybrano żadnego trybu"
}
}
}
},
"oven": {
"name": "Piekarnik",
"state_attributes": {
"preset_mode": {
"name": "Programy",
"state": {
"bakery": "Makaron i Piekarnia",
"bakery_steam": "Para z piekarnika",
"bottom_heating": "Grzanie dolne",
"bottom_heating_fan": "Grzanie Dolne + Termoobieg",
"bread": "Chleb",
"bread_steam": "Chleb pieczony na parze",
"combi": "Kombi",
"convection_fan": "Termoobieg",
"convection_fan_turnspit": "Termoobieg + Fan + Rożen",
"conventional": "Konwencjonalny",
"conventional_turnspit": "Statyczny + Rożen",
"defrost": "Rozmrażanie",
"descaling": "Odkamienianie",
"fish": "Ryby",
"fish_steam": "Ryba na parze",
"grill_cata": "Grill",
"grill_fan_cata": "Grill + termoobieg",
"grill_fan_pyro": "Grill + termoobieg",
"grill_pyro": "Grill",
"h20_clean": "H2O-Clean",
"iot_bread": "Chleb",
"iot_h20_clean": "h2O clean",
"leavening": "Zaczyn",
"low_temp_cooking": "Pieczenie w niskiej temperaturze",
"low_temp_cooking_fish": "Pieczenie w niskiej temperaturze - ryby",
"low_temp_cooking_fish_steam": "Gotowanie w niskiej temperaturze - ryba gotowana na parze",
"low_temp_cooking_meat": "Pieczenie w niskiej temperaturze - mięso",
"low_temp_cooking_meat_steam": "Gotowanie w niskiej temperaturze — mięso gotowane na parze",
"low_temp_cooking_steam": "Gotowanie na parze w niskiej temperaturze",
"meat": "Mięso",
"meat_steam": "Mięso na parze",
"multi_level": "Wielopoziomowo",
"paella": "Paella",
"pasta_and_bakery": "Makaron i Piekarnia",
"pizza": "Pizza",
"pyrolysis": "Pyroliza",
"pyrolysis_plus": "Pyroliza +",
"red_meat": "Czerwone mięso",
"red_meat_steam": "Czerwone mięso na parze",
"regenerate": "Podgrzewanie",
"soft_plus": "Soft+",
"super_grill": "Super Grill",
"tailor_bake": "Tailor bake",
"tailor_bake_cata": "Tailor bake",
"tailor_bake_pyro": "Tailor bake",
"vegetables": "Warzywa",
"vegetables_cata": "Warzywa",
"vegetables_pyro": "Warzywa",
"water_discharge": "Odprowadzanie wody",
"white_meat": "Białe mięso",
"white_meat_steam": "Białe mięso gotowane na parze"
}
}
}
}
}
},

View File

@ -225,7 +225,7 @@
"hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Rápido 20",
"hqd_quick_30": "Rápido 30",
"hqd_quick_dry": "Secagem rápida",
"hqd_quick_dry": "Secagem rápida 30",
"hqd_quilt": "Colchas",
"hqd_refresh": "Refrescar",
"hqd_school_uniform": "Farda da escola",
@ -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": {
@ -397,6 +409,11 @@
"silent": "Noite",
"silent_care": "Silent Care",
"smart_ai": "Smart AI",
"smart_ai_pro": "Smart AI Pro",
"smart_ai_pro_soil": "Smart AI Pro",
"smart_ai_rapid": "Smart AI Rapid",
"smart_ai_rapid_soil": "Smart AI Rapid",
"smart_ai_soil": "Smart AI",
"special": "especial",
"special_pw_prz": "especial",
"steam": "Vapor 75 °C",
@ -453,19 +470,20 @@
"programs_ov": {
"state": {
"bakery": "Massas e bolos",
"bakery_steam": "Pão cozido a vapor",
"bakery_steam": "Vapor do forno",
"bottom_heating": "Aquecimento inferior",
"bottom_heating_fan": "Aquecimento Inferior + Ventilação",
"bread": "Pão",
"bread_steam": "Pastelaria cozida a vapor",
"bread_steam": "Pão no vapor",
"combi": "Combi",
"convection_fan": "Convecção + Ventilador",
"convection_fan_turnspit": "Convecção + Ventilador + Espeto giratório",
"convection_fan_turnspit": "Espeto com convecção ventilada",
"conventional": "Estático",
"conventional_turnspit": "Convecção + Espeto giratório",
"conventional_turnspit": "Espeto convencional",
"defrost": "Descongelar",
"descaling": "Descalcificação",
"fish": "Peixe",
"fish_steam": "Peixe cozinhado a vapor",
"fish_steam": "Peixe no vapor",
"grill_cata": "Grelhar",
"grill_fan_cata": "Grelhar com ventilação",
"grill_fan_pyro": "Grelhar + Ventilação",
@ -474,23 +492,23 @@
"iot_bread": "Pão",
"iot_h20_clean": "h2O clean",
"leavening": "Levedação",
"low_temp_cooking": "Cozinhar a baixa temperatura",
"low_temp_cooking_fish": "Cozinhar carne a baixa temperatura - Peixe",
"low_temp_cooking_fish_steam": "Cozedura a vapor a baixa temperatura - Peixe",
"low_temp_cooking_meat": "Cozinhar carne a baixa temperatura - Carne",
"low_temp_cooking_meat_steam": "Cozedura a vapor a baixa temperatura - Carne",
"low_temp_cooking_steam": "Cozedura a vapor a baixa temperatura",
"low_temp_cooking": "Cozimento em baixa temperatura",
"low_temp_cooking_fish": "Cozimento em baixa temperatura Peixe",
"low_temp_cooking_fish_steam": "Cozimento em baixa temperatura Peixe a vapor",
"low_temp_cooking_meat": "Cozimento em baixa temperatura Carne",
"low_temp_cooking_meat_steam": "Cozimento em baixa temperatura Carne no vapor",
"low_temp_cooking_steam": "Cozimento em baixa temperatura no vapor",
"meat": "Carne",
"meat_steam": "Carne cozinhada a vapor",
"meat_steam": "Vapor de carne",
"multi_level": "Multinível",
"paella": "Paella",
"pasta_and_bakery": "Massas e bolos",
"pizza": "Pizza",
"pyrolysis": "Pirólise",
"pyrolysis_plus": "Pirólise +",
"red_meat": "Carne vermelha",
"red_meat_steam": "Carne vermelha cozinhada a vapor",
"regenerate": "Regeneração",
"red_meat": "Carne Vermelha",
"red_meat_steam": "Carne Vermelha no vapor",
"regenerate": "Regenerar",
"soft_plus": "Soft+",
"super_grill": "Super Grelhador",
"tailor_bake": "Tailor bake",
@ -499,9 +517,9 @@
"vegetables": "Vegetais",
"vegetables_cata": "Legumes",
"vegetables_pyro": "Legumes",
"water_discharge": "Drenagem de água",
"white_meat": "Carne branca",
"white_meat_steam": "Carne branca cozinhada a vapor"
"water_discharge": "Descarga d'água",
"white_meat": "Carne Branca",
"white_meat_steam": "Carne Branca no vapor"
},
"name": "Programa"
},
@ -558,7 +576,7 @@
"hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Rápido 20",
"hqd_quick_30": "Rápido 30",
"hqd_quick_dry": "Secagem rápida",
"hqd_quick_dry": "Secagem rápida 30",
"hqd_quilt": "Colchas",
"hqd_refresh": "Refrescar",
"hqd_school_uniform": "Farda da escola",
@ -1013,6 +1031,40 @@
"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"
},
"ref_zones": {
"state": {
"fridge": "Frigorífico",
"freezer": "Congelador",
"vtroom1": "My Zone",
"fridge_freezer": "Frigorífico & Congelador"
},
"name": "Zona"
}
},
"switch": {
@ -1105,6 +1157,24 @@
},
"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"
},
"refrigerator": {
"name": "Frigorífico"
}
},
"binary_sensor": {
@ -1182,6 +1252,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,11 +1308,116 @@
},
"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"
},
"start_program": {
"name": "Programa Início"
},
"stop_program": {
"name": "Programa Parar"
}
},
"climate": {
"air_conditioner": {
"name": "Ar Condicionado"
},
"fridge": {
"name": "Frigorífico",
"state_attributes": {
"preset_mode": {
"name": "Modos do frigorífico",
"state": {
"auto_set": "Ajuste automático",
"super_cool": "Super Cool",
"holiday": "Holiday",
"no_mode": "Nenhum modo selecionado"
}
}
}
},
"freezer": {
"name": "Congelador",
"state_attributes": {
"preset_mode": {
"name": "Modos do congelador",
"state": {
"auto_set": "Ajuste automático",
"super_freeze": "Super Freeze",
"no_mode": "Nenhum modo selecionado"
}
}
}
},
"oven": {
"name": "Forno",
"state_attributes": {
"preset_mode": {
"name": "Programas",
"state": {
"bakery": "Massas e bolos",
"bakery_steam": "Vapor do forno",
"bottom_heating": "Aquecimento inferior",
"bottom_heating_fan": "Aquecimento Inferior + Ventilação",
"bread": "Pão",
"bread_steam": "Pão no vapor",
"combi": "Combi",
"convection_fan": "Convecção + Ventilador",
"convection_fan_turnspit": "Espeto com convecção ventilada",
"conventional": "Estático",
"conventional_turnspit": "Espeto convencional",
"defrost": "Descongelar",
"descaling": "Descalcificação",
"fish": "Peixe",
"fish_steam": "Peixe no vapor",
"grill_cata": "Grelhar",
"grill_fan_cata": "Grelhar com ventilação",
"grill_fan_pyro": "Grelhar + Ventilação",
"grill_pyro": "Grelhar",
"h20_clean": "H2O-Clean",
"iot_bread": "Pão",
"iot_h20_clean": "h2O clean",
"leavening": "Levedação",
"low_temp_cooking": "Cozimento em baixa temperatura",
"low_temp_cooking_fish": "Cozimento em baixa temperatura Peixe",
"low_temp_cooking_fish_steam": "Cozimento em baixa temperatura Peixe a vapor",
"low_temp_cooking_meat": "Cozimento em baixa temperatura Carne",
"low_temp_cooking_meat_steam": "Cozimento em baixa temperatura Carne no vapor",
"low_temp_cooking_steam": "Cozimento em baixa temperatura no vapor",
"meat": "Carne",
"meat_steam": "Vapor de carne",
"multi_level": "Multinível",
"paella": "Paella",
"pasta_and_bakery": "Massas e bolos",
"pizza": "Pizza",
"pyrolysis": "Pirólise",
"pyrolysis_plus": "Pirólise +",
"red_meat": "Carne Vermelha",
"red_meat_steam": "Carne Vermelha no vapor",
"regenerate": "Regenerar",
"soft_plus": "Soft+",
"super_grill": "Super Grelhador",
"tailor_bake": "Tailor bake",
"tailor_bake_cata": "Tailor Bake",
"tailor_bake_pyro": "Tailor Bake",
"vegetables": "Vegetais",
"vegetables_cata": "Legumes",
"vegetables_pyro": "Legumes",
"water_discharge": "Descarga d'água",
"white_meat": "Carne Branca",
"white_meat_steam": "Carne Branca no vapor"
}
}
}
}
}
},

View File

@ -225,7 +225,7 @@
"hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Rapid 20",
"hqd_quick_30": "Rapid 30",
"hqd_quick_dry": "Uscare rapidă",
"hqd_quick_dry": "Uscare rapidă 30",
"hqd_quilt": "Pilote",
"hqd_refresh": "Reîmprospătare",
"hqd_school_uniform": "Uniformă școlară",
@ -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": {
@ -397,6 +409,11 @@
"silent": "Noapte",
"silent_care": "Silent Care",
"smart_ai": "Smart AI",
"smart_ai_pro": "Smart AI Pro",
"smart_ai_pro_soil": "Smart AI Pro",
"smart_ai_rapid": "Smart AI Rapid",
"smart_ai_rapid_soil": "Smart AI Rapid",
"smart_ai_soil": "Smart AI",
"special": "special",
"special_pw_prz": "special",
"steam": "Abur 75 °C",
@ -452,12 +469,13 @@
},
"programs_ov": {
"state": {
"bakery": "Paste și patiserie",
"bakery_steam": "Pâine gătită la abur",
"bakery": "Paste și produse de patiserie",
"bakery_steam": "În cuptor la abur",
"bottom_heating": "Încălzire de jos",
"bottom_heating_fan": "Încălzire De Jos + Ventilație",
"bread": "Pâine",
"bread_steam": "Produse de patiserie gătite la abur",
"bread_steam": "Pâine gătită la abur",
"combi": "Combi",
"convection_fan": "Convecție și ventilație",
"convection_fan_turnspit": "Convecție + Ventilator + Rotisor",
"conventional": "Convențional",
@ -476,9 +494,9 @@
"leavening": "Dospire",
"low_temp_cooking": "Gătire la temperatură scăzută",
"low_temp_cooking_fish": "Gătire la temperatură scăzută - Pește",
"low_temp_cooking_fish_steam": "Gătitul cu abur la temperatură scăzută - Pește",
"low_temp_cooking_fish_steam": "Gătitul la temperaturi scăzute - Pește gătit la abur",
"low_temp_cooking_meat": "Gătire la temperatură scăzută - Carne",
"low_temp_cooking_meat_steam": "Gătitul la abur la temperatură scăzută - carne",
"low_temp_cooking_meat_steam": "Gătitul la temperaturi scăzute - Carne gătită la abur",
"low_temp_cooking_steam": "Gătitul la abur la temperaturi scăzute",
"meat": "Carne",
"meat_steam": "Carne gătită la abur",
@ -499,7 +517,7 @@
"vegetables": "Legume",
"vegetables_cata": "Legume",
"vegetables_pyro": "Legume",
"water_discharge": "Scurgerea apei",
"water_discharge": "Evacuare apă",
"white_meat": "Carne albă",
"white_meat_steam": "Carne albă gătită la abur"
},
@ -558,7 +576,7 @@
"hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Rapid 20",
"hqd_quick_30": "Rapid 30",
"hqd_quick_dry": "Uscare rapidă",
"hqd_quick_dry": "Uscare rapidă 30",
"hqd_quilt": "Pilote",
"hqd_refresh": "Reîmprospătare",
"hqd_school_uniform": "Uniformă școlară",
@ -1013,6 +1031,40 @@
"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"
},
"ref_zones": {
"state": {
"fridge": "Frigider",
"freezer": "Congelator",
"vtroom1": "My Zone",
"fridge_freezer": "Frigider & Congelator"
},
"name": "Zonă"
}
},
"switch": {
@ -1105,6 +1157,24 @@
},
"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"
},
"refrigerator": {
"name": "Frigider"
}
},
"binary_sensor": {
@ -1182,6 +1252,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,11 +1308,116 @@
},
"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"
},
"start_program": {
"name": "Program Pornire"
},
"stop_program": {
"name": "Program Oprire"
}
},
"climate": {
"air_conditioner": {
"name": "Aer condiționat"
},
"fridge": {
"name": "Frigider",
"state_attributes": {
"preset_mode": {
"name": "Moduri frigider",
"state": {
"auto_set": "Setare automată",
"super_cool": "Super Cool",
"holiday": "Holiday",
"no_mode": "Niciun mod selectat"
}
}
}
},
"freezer": {
"name": "Congelator",
"state_attributes": {
"preset_mode": {
"name": "Moduri de congelare",
"state": {
"auto_set": "Setare automată",
"super_freeze": "Super Freeze",
"no_mode": "Niciun mod selectat"
}
}
}
},
"oven": {
"name": "Cuptor",
"state_attributes": {
"preset_mode": {
"name": "Programe",
"state": {
"bakery": "Paste și produse de patiserie",
"bakery_steam": "În cuptor la abur",
"bottom_heating": "Încălzire de jos",
"bottom_heating_fan": "Încălzire De Jos + Ventilație",
"bread": "Pâine",
"bread_steam": "Pâine gătită la abur",
"combi": "Combi",
"convection_fan": "Convecție și ventilație",
"convection_fan_turnspit": "Convecție + Ventilator + Rotisor",
"conventional": "Convențional",
"conventional_turnspit": "Convecție + Rotisor",
"defrost": "Decongelare",
"descaling": "Îndepărtarea calcarului",
"fish": "Pește",
"fish_steam": "Pește gătit la abur",
"grill_cata": "Gril",
"grill_fan_cata": "Grill + Ventilație",
"grill_fan_pyro": "Grill + Ventilație",
"grill_pyro": "Grill",
"h20_clean": "H2O-Clean",
"iot_bread": "Pâine",
"iot_h20_clean": "h2O clean",
"leavening": "Dospire",
"low_temp_cooking": "Gătire la temperatură scăzută",
"low_temp_cooking_fish": "Gătire la temperatură scăzută - Pește",
"low_temp_cooking_fish_steam": "Gătitul la temperaturi scăzute - Pește gătit la abur",
"low_temp_cooking_meat": "Gătire la temperatură scăzută - Carne",
"low_temp_cooking_meat_steam": "Gătitul la temperaturi scăzute - Carne gătită la abur",
"low_temp_cooking_steam": "Gătitul la abur la temperaturi scăzute",
"meat": "Carne",
"meat_steam": "Carne gătită la abur",
"multi_level": "Multi-Nivel",
"paella": "Paella",
"pasta_and_bakery": "Paste și patiserie",
"pizza": "Pizza",
"pyrolysis": "Piroliză",
"pyrolysis_plus": "Piroliză+",
"red_meat": "Carne roșie",
"red_meat_steam": "Carne roșie gătită la abur",
"regenerate": "Regenerare",
"soft_plus": "Soft+",
"super_grill": "Super Grill",
"tailor_bake": "Tailor bake",
"tailor_bake_cata": "Tailor Bake",
"tailor_bake_pyro": "Tailor Bake",
"vegetables": "Legume",
"vegetables_cata": "Legume",
"vegetables_pyro": "Legume",
"water_discharge": "Evacuare apă",
"white_meat": "Carne albă",
"white_meat_steam": "Carne albă gătită la abur"
}
}
}
}
}
},

View File

@ -225,7 +225,7 @@
"hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Быстрая 20",
"hqd_quick_30": "Быстрая 30",
"hqd_quick_dry": "Быстрая сушка",
"hqd_quick_dry": "Быстрая сушка 30",
"hqd_quilt": "Стеганые одеяла",
"hqd_refresh": "Освежение",
"hqd_school_uniform": "Школьная форма",
@ -307,6 +307,18 @@
"xxl_load": "Объемные вещи",
"zoom_59": "Zoom 59 (Зум 59)"
}
},
"room_temperature": {
"name": "Комнатная температура"
},
"humidity": {
"name": "Влажность"
},
"freezer_temp": {
"name": "Температура в морозильном отделении"
},
"fridge_temp": {
"name": "Температура в холодильнике"
}
},
"select": {
@ -397,6 +409,11 @@
"silent": "Ночь",
"silent_care": "Silent Care",
"smart_ai": "Smart AI",
"smart_ai_pro": "Smart AI Pro",
"smart_ai_pro_soil": "Smart AI Pro",
"smart_ai_rapid": "Smart AI Rapid",
"smart_ai_rapid_soil": "Smart AI Rapid",
"smart_ai_soil": "Smart AI",
"special": "специальные",
"special_pw_prz": "специальные",
"steam": "пар 75°C",
@ -453,11 +470,12 @@
"programs_ov": {
"state": {
"bakery": "Паста и выпечка",
"bakery_steam": "Хлеб, испеченный на пару",
"bakery_steam": "Пар в духовом шкафу",
"bottom_heating": "Нижний элемент",
"bottom_heating_fan": "Нижний элемент + вентилятор",
"bread": "Хлеб",
"bread_steam": "Выпечка, приготовленная на пару",
"bread_steam": "Хлеб, испеченный на пару",
"combi": "Combi",
"convection_fan": "Верхний и нижний нагрев с вентилятором",
"convection_fan_turnspit": "Обыкновенная духовка + вентилятор + вертел",
"conventional": "Верхний и нижний нагрев",
@ -465,7 +483,7 @@
"defrost": "Размораживание",
"descaling": "Удаление накипи",
"fish": "Рыба",
"fish_steam": "Рыба, приготовленная на пару",
"fish_steam": "Рыба на пару",
"grill_cata": "Гриль",
"grill_fan_cata": "Гриль с вентилятором",
"grill_fan_pyro": "Гриль + вентилятор",
@ -476,12 +494,12 @@
"leavening": "Заквашивание",
"low_temp_cooking": "Приготовление при низкой температуре",
"low_temp_cooking_fish": "Приготовление при низкой температуре - Рыба",
"low_temp_cooking_fish_steam": "Приготовление при низкой температуре на пару - Рыба",
"low_temp_cooking_fish_steam": "Приготовление при низкой температуре - Рыба на пару",
"low_temp_cooking_meat": "Приготовление при низкой температуре - Мясо",
"low_temp_cooking_meat_steam": "Приготовление при низкой температуре на пару - Мясо",
"low_temp_cooking_meat_steam": "Приготовление при низкой температуре - Мясо на пару",
"low_temp_cooking_steam": "Приготовление при низкой температуре на пару",
"meat": "Мясо",
"meat_steam": "Мясо, приготовленное на пару",
"meat_steam": "Мясо на пару",
"multi_level": "Многоуровневое приготовление",
"paella": "Paella",
"pasta_and_bakery": "Паста и выпечка",
@ -489,7 +507,7 @@
"pyrolysis": "Пиролиз",
"pyrolysis_plus": "Пиролиз +",
"red_meat": "Красное мясо",
"red_meat_steam": "Красное мясо, приготовленное на пару",
"red_meat_steam": "Красное мясо на пару",
"regenerate": "Регенерация",
"soft_plus": "Soft+",
"super_grill": "Супер-гриль",
@ -499,9 +517,9 @@
"vegetables": "Овощи",
"vegetables_cata": "Овощи",
"vegetables_pyro": "Овощи",
"water_discharge": "Водоотвод",
"water_discharge": "Слив воды",
"white_meat": "Белое мясо",
"white_meat_steam": "Белое мясо, приготовленное на пару"
"white_meat_steam": "Белое мясо на пару"
},
"name": "Программа"
},
@ -558,7 +576,7 @@
"hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Быстрая 20",
"hqd_quick_30": "Быстрая 30",
"hqd_quick_dry": "Быстрая сушка",
"hqd_quick_dry": "Быстрая сушка 30",
"hqd_quilt": "Стеганые одеяла",
"hqd_refresh": "Освежение",
"hqd_school_uniform": "Школьная форма",
@ -1013,6 +1031,40 @@
"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": "Оставшееся время"
},
"ref_zones": {
"state": {
"fridge": "Холодильник",
"freezer": "Морозильник",
"vtroom1": "My Zone",
"fridge_freezer": "Холодильник & Морозильник"
},
"name": "Зона"
}
},
"switch": {
@ -1105,6 +1157,24 @@
},
"good_night": {
"name": "Спокойной ночи"
},
"auto_dose_softener": {
"name": "Автодозирование Кондиционер"
},
"auto_dose_detergent": {
"name": "Автодозирование Средство для стирки"
},
"auto_set": {
"name": "Автоматическая установка"
},
"super_cool": {
"name": "Super Cool"
},
"super_freeze": {
"name": "Super Freeze"
},
"refrigerator": {
"name": "Холодильник"
}
},
"binary_sensor": {
@ -1182,6 +1252,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,11 +1308,116 @@
},
"steam_level": {
"name": "Уровень пара"
},
"freezer_temp_sel": {
"name": "Заданная температура Морозильник"
},
"fridge_temp_sel": {
"name": "Заданная температура Холодильник"
}
},
"button": {
"induction_hob": {
"name": "Индукционная варочная панель"
},
"start_program": {
"name": "Программа Начать"
},
"stop_program": {
"name": "Программа Стоп"
}
},
"climate": {
"air_conditioner": {
"name": "Кондиционер воздуха"
},
"fridge": {
"name": "Холодильник",
"state_attributes": {
"preset_mode": {
"name": "Режимы холодильника",
"state": {
"auto_set": "Автоматическая установка",
"super_cool": "Super Cool",
"holiday": "Holiday",
"no_mode": "Режим не выбран"
}
}
}
},
"freezer": {
"name": "Морозильник",
"state_attributes": {
"preset_mode": {
"name": "Режимы морозильного отделения",
"state": {
"auto_set": "Автоматическая установка",
"super_freeze": "Super Freeze",
"no_mode": "Режим не выбран"
}
}
}
},
"oven": {
"name": "Духовой шкаф",
"state_attributes": {
"preset_mode": {
"name": "Программы",
"state": {
"bakery": "Паста и выпечка",
"bakery_steam": "Пар в духовом шкафу",
"bottom_heating": "Нижний элемент",
"bottom_heating_fan": "Нижний элемент + вентилятор",
"bread": "Хлеб",
"bread_steam": "Хлеб, испеченный на пару",
"combi": "Combi",
"convection_fan": "Верхний и нижний нагрев с вентилятором",
"convection_fan_turnspit": "Обыкновенная духовка + вентилятор + вертел",
"conventional": "Верхний и нижний нагрев",
"conventional_turnspit": "Обыкновенная духовка + вентилятор",
"defrost": "Размораживание",
"descaling": "Удаление накипи",
"fish": "Рыба",
"fish_steam": "Рыба на пару",
"grill_cata": "Гриль",
"grill_fan_cata": "Гриль с вентилятором",
"grill_fan_pyro": "Гриль + вентилятор",
"grill_pyro": "Гриль",
"h20_clean": "H2O-Clean",
"iot_bread": "Хлеб",
"iot_h20_clean": "h2O clean",
"leavening": "Заквашивание",
"low_temp_cooking": "Приготовление при низкой температуре",
"low_temp_cooking_fish": "Приготовление при низкой температуре - Рыба",
"low_temp_cooking_fish_steam": "Приготовление при низкой температуре - Рыба на пару",
"low_temp_cooking_meat": "Приготовление при низкой температуре - Мясо",
"low_temp_cooking_meat_steam": "Приготовление при низкой температуре - Мясо на пару",
"low_temp_cooking_steam": "Приготовление при низкой температуре на пару",
"meat": "Мясо",
"meat_steam": "Мясо на пару",
"multi_level": "Многоуровневое приготовление",
"paella": "Paella",
"pasta_and_bakery": "Паста и выпечка",
"pizza": "Pizza",
"pyrolysis": "Пиролиз",
"pyrolysis_plus": "Пиролиз +",
"red_meat": "Красное мясо",
"red_meat_steam": "Красное мясо на пару",
"regenerate": "Регенерация",
"soft_plus": "Soft+",
"super_grill": "Супер-гриль",
"tailor_bake": "Tailor bake",
"tailor_bake_cata": "Tailor Bake",
"tailor_bake_pyro": "Tailor Bake",
"vegetables": "Овощи",
"vegetables_cata": "Овощи",
"vegetables_pyro": "Овощи",
"water_discharge": "Слив воды",
"white_meat": "Белое мясо",
"white_meat_steam": "Белое мясо на пару"
}
}
}
}
}
},

View File

@ -225,7 +225,7 @@
"hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Rýchle 20",
"hqd_quick_30": "Rýchle 30",
"hqd_quick_dry": "Rýchle sušenie",
"hqd_quick_dry": "Rýchle sušenie 30",
"hqd_quilt": "Prikrývky",
"hqd_refresh": "Osvieženie",
"hqd_school_uniform": "Školská uniforma",
@ -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": {
@ -397,6 +409,11 @@
"silent": "Noc",
"silent_care": "Silent Care",
"smart_ai": "Smart AI",
"smart_ai_pro": "Smart AI Pro",
"smart_ai_pro_soil": "Smart AI Pro",
"smart_ai_rapid": "Smart AI Rapid",
"smart_ai_rapid_soil": "Smart AI Rapid",
"smart_ai_soil": "Smart AI",
"special": "špeciál",
"special_pw_prz": "špeciál",
"steam": "Para 75 °C",
@ -453,11 +470,12 @@
"programs_ov": {
"state": {
"bakery": "Cestoviny a pečenie",
"bakery_steam": "Chlieb pečený v pare",
"bakery_steam": "Parná rúra",
"bottom_heating": "Spodný ohrev",
"bottom_heating_fan": "Spodný ohrev + Ventilátor",
"bread": "Chlieb",
"bread_steam": "Pečivo pečené v pare",
"bread_steam": "Chlieb pečený v pare",
"combi": "Combi",
"convection_fan": "Statický + ventilátor",
"convection_fan_turnspit": "Statické + ventilátor + otočný ražeň",
"conventional": "Statický",
@ -465,7 +483,7 @@
"defrost": "Rozmraziť",
"descaling": "Odstránenie vodného kameňa",
"fish": "Ryby",
"fish_steam": "Ryby varené v pare",
"fish_steam": "Ryby pripravené v pare",
"grill_cata": "Gril",
"grill_fan_cata": "Gril + ventilátor",
"grill_fan_pyro": "Gril + ventilátor",
@ -476,12 +494,12 @@
"leavening": "Kysnutie",
"low_temp_cooking": "Varenie pri nízkych teplotách",
"low_temp_cooking_fish": "Varenie pri nízkych teplotách Ryby",
"low_temp_cooking_fish_steam": "Varenie pri nízkych teplotách v pare Ryby",
"low_temp_cooking_fish_steam": "Varenie pri nízkych teplotách ryby pripravené v pare",
"low_temp_cooking_meat": "Varenie pri nízkych teplotách Mäso",
"low_temp_cooking_meat_steam": "Varenie pri nízkych teplotách v pare",
"low_temp_cooking_meat_steam": "Varenie pri nízkych teplotách - mäso dusené v pare",
"low_temp_cooking_steam": "Varenie pri nízkych teplotách v pare",
"meat": "Mäso",
"meat_steam": "Mäso uvarené v pare",
"meat_steam": "Mäso v pare",
"multi_level": "Viacúrovňové",
"paella": "Paella",
"pasta_and_bakery": "Cestoviny a pečenie",
@ -489,8 +507,8 @@
"pyrolysis": "Pyrolýza",
"pyrolysis_plus": "Pyrolýza +",
"red_meat": "Červené mäso",
"red_meat_steam": "Červené mäso varené v pare",
"regenerate": "Regenerácia",
"red_meat_steam": "Červené mäso dusené v pare",
"regenerate": "Regenerovať",
"soft_plus": "Soft+",
"super_grill": "Super Gril",
"tailor_bake": "Tailor bake",
@ -499,9 +517,9 @@
"vegetables": "Zelenina",
"vegetables_cata": "Zelenina",
"vegetables_pyro": "Zelenina",
"water_discharge": "Odtok vody",
"water_discharge": "Vypúšťanie vody",
"white_meat": "Biele mäso",
"white_meat_steam": "Biele mäso varené v pare"
"white_meat_steam": "Biele mäso pripravené v pare"
},
"name": "Program"
},
@ -558,7 +576,7 @@
"hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Rýchle 20",
"hqd_quick_30": "Rýchle 30",
"hqd_quick_dry": "Rýchle sušenie",
"hqd_quick_dry": "Rýchle sušenie 30",
"hqd_quilt": "Prikrývky",
"hqd_refresh": "Osvieženie",
"hqd_school_uniform": "Školská uniforma",
@ -1013,6 +1031,40 @@
"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"
},
"ref_zones": {
"state": {
"fridge": "Chladnička",
"freezer": "Mraznička",
"vtroom1": "My Zone",
"fridge_freezer": "Chladnička & Mraznička"
},
"name": "Zóna"
}
},
"switch": {
@ -1105,6 +1157,24 @@
},
"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"
},
"refrigerator": {
"name": "Chladnička"
}
},
"binary_sensor": {
@ -1154,7 +1224,7 @@
"name": "Panvica"
},
"remote_control": {
"name": "Diaľkové ovládanie"
"name": "Daljinsko upravljanje"
},
"rinse_aid": {
"name": "Úroveň prostriedku na oplachovanie"
@ -1182,6 +1252,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,11 +1308,116 @@
},
"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"
},
"start_program": {
"name": "Program Začiatok"
},
"stop_program": {
"name": "Program Zastaviť"
}
},
"climate": {
"air_conditioner": {
"name": "Klimatizácia"
},
"fridge": {
"name": "Chladnička",
"state_attributes": {
"preset_mode": {
"name": "Režimy chladničky",
"state": {
"auto_set": "Automatické nastavenie",
"super_cool": "Super Cool",
"holiday": "Holiday",
"no_mode": "Nie je vybraný žiadny režim"
}
}
}
},
"freezer": {
"name": "Mraznička",
"state_attributes": {
"preset_mode": {
"name": "Režimy mrazničky",
"state": {
"auto_set": "Automatické nastavenie",
"super_freeze": "Super Freeze",
"no_mode": "Nie je vybraný žiadny režim"
}
}
}
},
"oven": {
"name": "Rúra na pečenie",
"state_attributes": {
"preset_mode": {
"name": "Programy",
"state": {
"bakery": "Cestoviny a pečenie",
"bakery_steam": "Parná rúra",
"bottom_heating": "Spodný ohrev",
"bottom_heating_fan": "Spodný ohrev + Ventilátor",
"bread": "Chlieb",
"bread_steam": "Chlieb pečený v pare",
"combi": "Combi",
"convection_fan": "Statický + ventilátor",
"convection_fan_turnspit": "Statické + ventilátor + otočný ražeň",
"conventional": "Statický",
"conventional_turnspit": "Statické + otočný ražeň",
"defrost": "Rozmraziť",
"descaling": "Odstránenie vodného kameňa",
"fish": "Ryby",
"fish_steam": "Ryby pripravené v pare",
"grill_cata": "Gril",
"grill_fan_cata": "Gril + ventilátor",
"grill_fan_pyro": "Gril + ventilátor",
"grill_pyro": "Gril",
"h20_clean": "H2O-Clean",
"iot_bread": "Chlieb",
"iot_h20_clean": "h2O clean",
"leavening": "Kysnutie",
"low_temp_cooking": "Varenie pri nízkych teplotách",
"low_temp_cooking_fish": "Varenie pri nízkych teplotách Ryby",
"low_temp_cooking_fish_steam": "Varenie pri nízkych teplotách ryby pripravené v pare",
"low_temp_cooking_meat": "Varenie pri nízkych teplotách Mäso",
"low_temp_cooking_meat_steam": "Varenie pri nízkych teplotách - mäso dusené v pare",
"low_temp_cooking_steam": "Varenie pri nízkych teplotách v pare",
"meat": "Mäso",
"meat_steam": "Mäso v pare",
"multi_level": "Viacúrovňové",
"paella": "Paella",
"pasta_and_bakery": "Cestoviny a pečenie",
"pizza": "Pizza",
"pyrolysis": "Pyrolýza",
"pyrolysis_plus": "Pyrolýza +",
"red_meat": "Červené mäso",
"red_meat_steam": "Červené mäso dusené v pare",
"regenerate": "Regenerovať",
"soft_plus": "Soft+",
"super_grill": "Super Gril",
"tailor_bake": "Tailor bake",
"tailor_bake_cata": "Tailor Bake",
"tailor_bake_pyro": "Tailor Bake",
"vegetables": "Zelenina",
"vegetables_cata": "Zelenina",
"vegetables_pyro": "Zelenina",
"water_discharge": "Vypúšťanie vody",
"white_meat": "Biele mäso",
"white_meat_steam": "Biele mäso pripravené v pare"
}
}
}
}
}
},

View File

@ -225,7 +225,7 @@
"hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Hitro 20",
"hqd_quick_30": "Hitro 30",
"hqd_quick_dry": "Hitro sušenje",
"hqd_quick_dry": "Hitro sušenje 30",
"hqd_quilt": "Posteljna pregrinjala",
"hqd_refresh": "Osvežitev",
"hqd_school_uniform": "Šolska uniforma",
@ -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": {
@ -397,6 +409,11 @@
"silent": "Noč",
"silent_care": "Silent Care",
"smart_ai": "Smart AI",
"smart_ai_pro": "Smart AI Pro",
"smart_ai_pro_soil": "Smart AI Pro",
"smart_ai_rapid": "Smart AI Rapid",
"smart_ai_rapid_soil": "Smart AI Rapid",
"smart_ai_soil": "Smart AI",
"special": "posebno",
"special_pw_prz": "Posebno",
"steam": "Para 75 °C",
@ -453,11 +470,12 @@
"programs_ov": {
"state": {
"bakery": "Testenine in pekovski izdelki",
"bakery_steam": "V sopari pečen kruh",
"bakery_steam": "Parna pečica",
"bottom_heating": "Spodnji grelnik",
"bottom_heating_fan": "Spodnji grelnik + Ventilator",
"bread": "Kruh",
"bread_steam": "V sopari pečeno pecivo",
"bread_steam": "V sopari pečen kruh",
"combi": "Kombinirano",
"convection_fan": "Konvekcija + ventilator",
"convection_fan_turnspit": "Konvekcija + ventilator + raženj",
"conventional": "Konvenkcijsko",
@ -474,14 +492,14 @@
"iot_bread": "Kruh",
"iot_h20_clean": "h2O clean",
"leavening": "Vzhajanje",
"low_temp_cooking": "Priprava pri nizki temperaturi",
"low_temp_cooking_fish": "Priprava pri nizki temperaturi ribe",
"low_temp_cooking_fish_steam": "Soparjenje pri nizki temperaturi ribe",
"low_temp_cooking_meat": "Priprava pri nizki temperaturi meso",
"low_temp_cooking_meat_steam": "Soparjenje pri nizki temperaturi meso",
"low_temp_cooking": "Kuhanje pri nizki temperaturi",
"low_temp_cooking_fish": "Kuhanje pri nizki temperaturi ribe",
"low_temp_cooking_fish_steam": "Kuhanje pri nizki temperaturi soparjene ribe",
"low_temp_cooking_meat": "Kuhanje pri nizki temperaturi meso",
"low_temp_cooking_meat_steam": "Kuhanje pri nizki temperaturi soparjeno meso",
"low_temp_cooking_steam": "Soparjenje pri nizki temperaturi",
"meat": "Meso",
"meat_steam": "Soparjeno meso",
"meat_steam": "Soparjenje mesa",
"multi_level": "Na več nivojih",
"paella": "Paella",
"pasta_and_bakery": "Testenine in pekovski izdelki",
@ -490,7 +508,7 @@
"pyrolysis_plus": "Piroliza +",
"red_meat": "Rdeče meso",
"red_meat_steam": "Soparjeno rdeče meso",
"regenerate": "Obnavljanje",
"regenerate": "Regeneracija",
"soft_plus": "Soft+",
"super_grill": "Super Grill",
"tailor_bake": "Tailor bake",
@ -499,7 +517,7 @@
"vegetables": "Zelenjava",
"vegetables_cata": "Zelenjava",
"vegetables_pyro": "Zelenjava",
"water_discharge": "Odtok za vodo",
"water_discharge": "Izpust vode",
"white_meat": "Belo meso",
"white_meat_steam": "Soparjeno belo meso"
},
@ -558,7 +576,7 @@
"hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Hitro 20",
"hqd_quick_30": "Hitro 30",
"hqd_quick_dry": "Hitro sušenje",
"hqd_quick_dry": "Hitro sušenje 30",
"hqd_quilt": "Posteljna pregrinjala",
"hqd_refresh": "Osvežitev",
"hqd_school_uniform": "Šolska uniforma",
@ -1013,6 +1031,40 @@
"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"
},
"ref_zones": {
"state": {
"fridge": "Hladilnik",
"freezer": "Zamrzovalnik",
"vtroom1": "My Zone",
"fridge_freezer": "Hladilnik & Zamrzovalnik"
},
"name": "Cona"
}
},
"switch": {
@ -1105,6 +1157,24 @@
},
"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"
},
"refrigerator": {
"name": "Hladilnik"
}
},
"binary_sensor": {
@ -1154,7 +1224,7 @@
"name": "Posoda"
},
"remote_control": {
"name": "Daljinsko upravljanje"
"name": "Diaľkové ovládanie"
},
"rinse_aid": {
"name": "Nivo sredstva za sijaj"
@ -1182,6 +1252,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,11 +1308,116 @@
},
"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"
},
"start_program": {
"name": "Program Start"
},
"stop_program": {
"name": "Program Stop"
}
},
"climate": {
"air_conditioner": {
"name": "Klimatska naprava"
},
"fridge": {
"name": "Hladilnik",
"state_attributes": {
"preset_mode": {
"name": "Načini hladilnika",
"state": {
"auto_set": "Samodejna nastavitev",
"super_cool": "Super Cool",
"holiday": "Holiday",
"no_mode": "Izbran ni noben način"
}
}
}
},
"freezer": {
"name": "Zamrzovalnik",
"state_attributes": {
"preset_mode": {
"name": "Načini zamrzovalnika",
"state": {
"auto_set": "Samodejna nastavitev",
"super_freeze": "Super Freeze",
"no_mode": "Izbran ni noben način"
}
}
}
},
"oven": {
"name": "Pečica",
"state_attributes": {
"preset_mode": {
"name": "Programi",
"state": {
"bakery": "Testenine in pekovski izdelki",
"bakery_steam": "Parna pečica",
"bottom_heating": "Spodnji grelnik",
"bottom_heating_fan": "Spodnji grelnik + Ventilator",
"bread": "Kruh",
"bread_steam": "V sopari pečen kruh",
"combi": "Kombinirano",
"convection_fan": "Konvekcija + ventilator",
"convection_fan_turnspit": "Konvekcija + ventilator + raženj",
"conventional": "Konvenkcijsko",
"conventional_turnspit": "Konvekcija + raženj",
"defrost": "Odmrzovanje",
"descaling": "Odstranjevanje vodnega kamna",
"fish": "Ribe",
"fish_steam": "Soparjene ribe",
"grill_cata": "Žar",
"grill_fan_cata": "Žar in ventilator",
"grill_fan_pyro": "Žar + ventilator",
"grill_pyro": "Žar",
"h20_clean": "H2O-Clean",
"iot_bread": "Kruh",
"iot_h20_clean": "h2O clean",
"leavening": "Vzhajanje",
"low_temp_cooking": "Kuhanje pri nizki temperaturi",
"low_temp_cooking_fish": "Kuhanje pri nizki temperaturi ribe",
"low_temp_cooking_fish_steam": "Kuhanje pri nizki temperaturi soparjene ribe",
"low_temp_cooking_meat": "Kuhanje pri nizki temperaturi meso",
"low_temp_cooking_meat_steam": "Kuhanje pri nizki temperaturi soparjeno meso",
"low_temp_cooking_steam": "Soparjenje pri nizki temperaturi",
"meat": "Meso",
"meat_steam": "Soparjenje mesa",
"multi_level": "Na več nivojih",
"paella": "Paella",
"pasta_and_bakery": "Testenine in pekovski izdelki",
"pizza": "Pizza",
"pyrolysis": "Piroliza",
"pyrolysis_plus": "Piroliza +",
"red_meat": "Rdeče meso",
"red_meat_steam": "Soparjeno rdeče meso",
"regenerate": "Regeneracija",
"soft_plus": "Soft+",
"super_grill": "Super Grill",
"tailor_bake": "Tailor bake",
"tailor_bake_cata": "Tailor Bake",
"tailor_bake_pyro": "Tailor Bake",
"vegetables": "Zelenjava",
"vegetables_cata": "Zelenjava",
"vegetables_pyro": "Zelenjava",
"water_discharge": "Izpust vode",
"white_meat": "Belo meso",
"white_meat_steam": "Soparjeno belo meso"
}
}
}
}
}
},

View File

@ -225,7 +225,7 @@
"hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Brzo 20",
"hqd_quick_30": "Brzo 30",
"hqd_quick_dry": "Brzo sušenje",
"hqd_quick_dry": "Brzo sušenje 30",
"hqd_quilt": "Jorgani",
"hqd_refresh": "Osvežavanje",
"hqd_school_uniform": "Školska uniforma",
@ -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": {
@ -397,6 +409,11 @@
"silent": "Noć",
"silent_care": "Silent Care",
"smart_ai": "Smart AI",
"smart_ai_pro": "Smart AI Pro",
"smart_ai_pro_soil": "Smart AI Pro",
"smart_ai_rapid": "Smart AI Rapid",
"smart_ai_rapid_soil": "Smart AI Rapid",
"smart_ai_soil": "Smart AI",
"special": "posebno",
"special_pw_prz": "posebno",
"steam": "Para 75°C",
@ -453,11 +470,12 @@
"programs_ov": {
"state": {
"bakery": "Testenine i pecivo",
"bakery_steam": "Hleb pečen na pari",
"bakery_steam": "Priprema na pari u rerni",
"bottom_heating": "Donje grejanje",
"bottom_heating_fan": "Donje grejanje + Ventilator",
"bread": "Hleb",
"bread_steam": "Peciva pečena na pari",
"bread_steam": "Hleb pečen na pari",
"combi": "Kombinovani",
"convection_fan": "Konvekcija + ventilator",
"convection_fan_turnspit": "Konvekcija + ventilator + ražanj",
"conventional": "Konvekcija",
@ -465,7 +483,7 @@
"defrost": "Odmrzavanje",
"descaling": "Uklanjanje kamenca",
"fish": "Riba",
"fish_steam": "Riba kuvana na pari",
"fish_steam": "Riba na pari",
"grill_cata": "Roštilj",
"grill_fan_cata": "Roštilj sa ventilatorom",
"grill_fan_pyro": "Gril + ventilator",
@ -476,12 +494,12 @@
"leavening": "Narastanje",
"low_temp_cooking": "Kuvanje na niskoj temperaturi",
"low_temp_cooking_fish": "Kuvanje na niskoj temperaturi riba",
"low_temp_cooking_fish_steam": "Kuvanje na pari na niskoj temperaturi riba",
"low_temp_cooking_fish_steam": "Kuvanje na niskoj temperaturi riba na pari",
"low_temp_cooking_meat": "Kuvanje na niskoj temperaturi meso",
"low_temp_cooking_meat_steam": "Kuvanje na pari na niskoj temperaturi meso",
"low_temp_cooking_meat_steam": "Kuvanje na niskoj temperaturi meso na pari",
"low_temp_cooking_steam": "Kuvanje na pari na niskoj temperaturi",
"meat": "Meso",
"meat_steam": "Meso kuvano na pari",
"meat_steam": "Priprema mesa na pari",
"multi_level": "Više nivoa",
"paella": "Paella",
"pasta_and_bakery": "Testenine i pecivo",
@ -489,7 +507,7 @@
"pyrolysis": "Piroliza",
"pyrolysis_plus": "Piroliza +",
"red_meat": "Crveno meso",
"red_meat_steam": "Crveno meso kuvano na pari",
"red_meat_steam": "Crveno meso na pari",
"regenerate": "Regeneracija",
"soft_plus": "Meko+",
"super_grill": "Super gril",
@ -499,9 +517,9 @@
"vegetables": "Povrće",
"vegetables_cata": "Povrće",
"vegetables_pyro": "Povrće",
"water_discharge": "Odvod vode",
"water_discharge": "Ispuštanje vode",
"white_meat": "Belo meso",
"white_meat_steam": "Belo meso kuvano na pari"
"white_meat_steam": "Belo meso na pari"
},
"name": "Program"
},
@ -558,7 +576,7 @@
"hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Brzo 20",
"hqd_quick_30": "Brzo 30",
"hqd_quick_dry": "Brzo sušenje",
"hqd_quick_dry": "Brzo sušenje 30",
"hqd_quilt": "Jorgani",
"hqd_refresh": "Osvežavanje",
"hqd_school_uniform": "Školska uniforma",
@ -1013,6 +1031,40 @@
"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"
},
"ref_zones": {
"state": {
"fridge": "Frižider",
"freezer": "Zamrzivač",
"vtroom1": "My Zone",
"fridge_freezer": "Frižider & Zamrzivač"
},
"name": "Zona"
}
},
"switch": {
@ -1105,6 +1157,24 @@
},
"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"
},
"refrigerator": {
"name": "Frižider"
}
},
"binary_sensor": {
@ -1154,7 +1224,7 @@
"name": "Tiganj"
},
"remote_control": {
"name": "Daljinsko upravljanje"
"name": "Upravljanje na daljinu"
},
"rinse_aid": {
"name": "Nivo sredstva za ispiranje"
@ -1182,6 +1252,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,11 +1308,116 @@
},
"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"
},
"start_program": {
"name": "Program Pokretanje"
},
"stop_program": {
"name": "Program Zaustavi"
}
},
"climate": {
"air_conditioner": {
"name": "Klima uređaj"
},
"fridge": {
"name": "Frižider",
"state_attributes": {
"preset_mode": {
"name": "Režimi frižidera",
"state": {
"auto_set": "Automatsko podešavanje",
"super_cool": "Super Cool",
"holiday": "Holiday",
"no_mode": "Nije izabran nijedan režim"
}
}
}
},
"freezer": {
"name": "Zamrzivač",
"state_attributes": {
"preset_mode": {
"name": "Režimi zamrzivača",
"state": {
"auto_set": "Automatsko podešavanje",
"super_freeze": "Super Freeze",
"no_mode": "Nije izabran nijedan režim"
}
}
}
},
"oven": {
"name": "Rerna",
"state_attributes": {
"preset_mode": {
"name": "Programi",
"state": {
"bakery": "Testenine i pecivo",
"bakery_steam": "Priprema na pari u rerni",
"bottom_heating": "Donje grejanje",
"bottom_heating_fan": "Donje grejanje + Ventilator",
"bread": "Hleb",
"bread_steam": "Hleb pečen na pari",
"combi": "Kombinovani",
"convection_fan": "Konvekcija + ventilator",
"convection_fan_turnspit": "Konvekcija + ventilator + ražanj",
"conventional": "Konvekcija",
"conventional_turnspit": "Konvekcija + ražanj",
"defrost": "Odmrzavanje",
"descaling": "Uklanjanje kamenca",
"fish": "Riba",
"fish_steam": "Riba na pari",
"grill_cata": "Roštilj",
"grill_fan_cata": "Roštilj sa ventilatorom",
"grill_fan_pyro": "Gril + ventilator",
"grill_pyro": "Gril",
"h20_clean": "H2O-Clean",
"iot_bread": "Hleb",
"iot_h20_clean": "h2O clean",
"leavening": "Narastanje",
"low_temp_cooking": "Kuvanje na niskoj temperaturi",
"low_temp_cooking_fish": "Kuvanje na niskoj temperaturi riba",
"low_temp_cooking_fish_steam": "Kuvanje na niskoj temperaturi riba na pari",
"low_temp_cooking_meat": "Kuvanje na niskoj temperaturi meso",
"low_temp_cooking_meat_steam": "Kuvanje na niskoj temperaturi meso na pari",
"low_temp_cooking_steam": "Kuvanje na pari na niskoj temperaturi",
"meat": "Meso",
"meat_steam": "Priprema mesa na pari",
"multi_level": "Više nivoa",
"paella": "Paella",
"pasta_and_bakery": "Testenine i pecivo",
"pizza": "Pizza",
"pyrolysis": "Piroliza",
"pyrolysis_plus": "Piroliza +",
"red_meat": "Crveno meso",
"red_meat_steam": "Crveno meso na pari",
"regenerate": "Regeneracija",
"soft_plus": "Meko+",
"super_grill": "Super gril",
"tailor_bake": "Tailor bake",
"tailor_bake_cata": "Tailor Bake",
"tailor_bake_pyro": "Tailor Bake",
"vegetables": "Povrće",
"vegetables_cata": "Povrće",
"vegetables_pyro": "Povrće",
"water_discharge": "Ispuštanje vode",
"white_meat": "Belo meso",
"white_meat_steam": "Belo meso na pari"
}
}
}
}
}
},

View File

@ -225,7 +225,7 @@
"hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Hızlı 20",
"hqd_quick_30": "Hızlı 30",
"hqd_quick_dry": "Hızlı kurutma",
"hqd_quick_dry": "Hızlı kurutma 30",
"hqd_quilt": "Yorganlar",
"hqd_refresh": "Yenileme",
"hqd_school_uniform": "Okul üniforması",
@ -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": {
@ -397,6 +409,11 @@
"silent": "Gece",
"silent_care": "Silent Care",
"smart_ai": "Smart AI",
"smart_ai_pro": "Smart AI Pro",
"smart_ai_pro_soil": "Smart AI Pro",
"smart_ai_rapid": "Smart AI Rapid",
"smart_ai_rapid_soil": "Smart AI Rapid",
"smart_ai_soil": "Smart AI",
"special": "özel",
"special_pw_prz": "özel",
"steam": "Buhar 75°C",
@ -453,11 +470,12 @@
"programs_ov": {
"state": {
"bakery": "Makarna ve Ekmek",
"bakery_steam": "Buharda pişmiş ekmek",
"bakery_steam": "Fırın buharı",
"bottom_heating": "Alt ısıtıcı",
"bottom_heating_fan": "Alt ısıtıcı + Fan",
"bread": "Ekmek",
"bread_steam": "Buharda pişmiş hamur işleri",
"bread_steam": "Buharda pişmiş ekmek",
"combi": "Kombi",
"convection_fan": "Fan desteklı",
"convection_fan_turnspit": "Konveksiyon + Fan + Şiş Çevirme",
"conventional": "Statık",
@ -465,7 +483,7 @@
"defrost": "Buz çözme",
"descaling": "Kireç çözme",
"fish": "Balık",
"fish_steam": "Buharda pişmiş balık",
"fish_steam": "Balık buğulama",
"grill_cata": "Izgara",
"grill_fan_cata": "Izgara fan",
"grill_fan_pyro": "Izgara + Fan",
@ -476,12 +494,12 @@
"leavening": "Mayalama",
"low_temp_cooking": "Düşük Sıcaklıkta Pişirme",
"low_temp_cooking_fish": "Düşük Sıcaklıkta Pişirme - Balık",
"low_temp_cooking_fish_steam": "Düşük Sıcaklıkta Buharda Pişirme - Balık",
"low_temp_cooking_fish_steam": "Düşük Isıda Pişirme - Balık buğulama",
"low_temp_cooking_meat": "Düşük Sıcaklıkta Pişirme - Et",
"low_temp_cooking_meat_steam": "Düşük Sıcaklıkta Buharda Pişirme - Et",
"low_temp_cooking_meat_steam": "Düşük Isıda Pişirme - Buharda et",
"low_temp_cooking_steam": "Düşük Sıcaklıkta Buharda Pişirme",
"meat": "Et",
"meat_steam": "Buharda pişmiş et",
"meat_steam": "Et buharı",
"multi_level": "Çok Seviyeli",
"paella": "Paella",
"pasta_and_bakery": "Makarna ve Ekmek",
@ -489,8 +507,8 @@
"pyrolysis": "Piroliz",
"pyrolysis_plus": "Piroliz +",
"red_meat": "Kırmızı Et",
"red_meat_steam": "Buharda pişmiş kırmızı et",
"regenerate": "Yenileme",
"red_meat_steam": "Buharda kırmızı et",
"regenerate": "Yeniden oluştur",
"soft_plus": "Yumuşak+",
"super_grill": "Süper Izgara",
"tailor_bake": "Tailor bake",
@ -499,9 +517,9 @@
"vegetables": "Sebzeler",
"vegetables_cata": "Sebzeler",
"vegetables_pyro": "Sebzeler",
"water_discharge": "Su Drenajı",
"water_discharge": "Su Tahliyesi",
"white_meat": "Beyaz Et",
"white_meat_steam": "Buharda pişmiş beyaz et"
"white_meat_steam": "Buharda beyaz et"
},
"name": "Program"
},
@ -558,7 +576,7 @@
"hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Hızlı 20",
"hqd_quick_30": "Hızlı 30",
"hqd_quick_dry": "Hızlı kurutma",
"hqd_quick_dry": "Hızlı kurutma 30",
"hqd_quilt": "Yorganlar",
"hqd_refresh": "Yenileme",
"hqd_school_uniform": "Okul üniforması",
@ -1013,6 +1031,40 @@
"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"
},
"ref_zones": {
"state": {
"fridge": "Buzdolabı",
"freezer": "Dondurucu",
"vtroom1": "My Zone",
"fridge_freezer": "Buzdolabı & Dondurucu"
},
"name": "Ocak gözü"
}
},
"switch": {
@ -1105,6 +1157,24 @@
},
"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"
},
"refrigerator": {
"name": "Buzdolabı"
}
},
"binary_sensor": {
@ -1182,6 +1252,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ıık Dondurucu"
},
"fridge_door": {
"name": "Kapıık Buzdolabı"
},
"filter_replacement": {
"name": "Filtre değişimi"
}
},
"number": {
@ -1214,11 +1308,116 @@
},
"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"
},
"start_program": {
"name": "Program Başlangıç"
},
"stop_program": {
"name": "Program Durdur"
}
},
"climate": {
"air_conditioner": {
"name": "Klima"
},
"fridge": {
"name": "Buzdolabı",
"state_attributes": {
"preset_mode": {
"name": "Buzdolabı modları",
"state": {
"auto_set": "Otomatik Ayarla",
"super_cool": "Super Cool",
"holiday": "Holiday",
"no_mode": "Hiç mod seçilmedi"
}
}
}
},
"freezer": {
"name": "Dondurucu",
"state_attributes": {
"preset_mode": {
"name": "Dondurucu modları",
"state": {
"auto_set": "Otomatik Ayarla",
"super_freeze": "Super Freeze",
"no_mode": "Hiç mod seçilmedi"
}
}
}
},
"oven": {
"name": "Fırın",
"state_attributes": {
"preset_mode": {
"name": "Programlar",
"state": {
"bakery": "Makarna ve Ekmek",
"bakery_steam": "Fırın buharı",
"bottom_heating": "Alt ısıtıcı",
"bottom_heating_fan": "Alt ısıtıcı + Fan",
"bread": "Ekmek",
"bread_steam": "Buharda pişmiş ekmek",
"combi": "Kombi",
"convection_fan": "Fan desteklı",
"convection_fan_turnspit": "Konveksiyon + Fan + Şiş Çevirme",
"conventional": "Statık",
"conventional_turnspit": "Konveksiyon + Şiş Çevirme",
"defrost": "Buz çözme",
"descaling": "Kireç çözme",
"fish": "Balık",
"fish_steam": "Balık buğulama",
"grill_cata": "Izgara",
"grill_fan_cata": "Izgara fan",
"grill_fan_pyro": "Izgara + Fan",
"grill_pyro": "Izgara",
"h20_clean": "H2O-Clean",
"iot_bread": "Ekmek",
"iot_h20_clean": "h2O clean",
"leavening": "Mayalama",
"low_temp_cooking": "Düşük Sıcaklıkta Pişirme",
"low_temp_cooking_fish": "Düşük Sıcaklıkta Pişirme - Balık",
"low_temp_cooking_fish_steam": "Düşük Isıda Pişirme - Balık buğulama",
"low_temp_cooking_meat": "Düşük Sıcaklıkta Pişirme - Et",
"low_temp_cooking_meat_steam": "Düşük Isıda Pişirme - Buharda et",
"low_temp_cooking_steam": "Düşük Sıcaklıkta Buharda Pişirme",
"meat": "Et",
"meat_steam": "Et buharı",
"multi_level": "Çok Seviyeli",
"paella": "Paella",
"pasta_and_bakery": "Makarna ve Ekmek",
"pizza": "Pizza",
"pyrolysis": "Piroliz",
"pyrolysis_plus": "Piroliz +",
"red_meat": "Kırmızı Et",
"red_meat_steam": "Buharda kırmızı et",
"regenerate": "Yeniden oluştur",
"soft_plus": "Yumuşak+",
"super_grill": "Süper Izgara",
"tailor_bake": "Tailor bake",
"tailor_bake_cata": "Tailor Bake",
"tailor_bake_pyro": "Tailor Bake",
"vegetables": "Sebzeler",
"vegetables_cata": "Sebzeler",
"vegetables_pyro": "Sebzeler",
"water_discharge": "Su Tahliyesi",
"white_meat": "Beyaz Et",
"white_meat_steam": "Buharda beyaz et"
}
}
}
}
}
},

View File

@ -307,6 +307,18 @@
"xxl_load": "XXL Load",
"zoom_59": "缩放 59"
}
},
"room_temperature": {
"name": "室温"
},
"humidity": {
"name": "湿度"
},
"freezer_temp": {
"name": "冷藏室温度"
},
"fridge_temp": {
"name": "冰箱温度"
}
},
"select": {
@ -397,6 +409,11 @@
"silent": "夜间",
"silent_care": "Silent Care",
"smart_ai": "Smart AI",
"smart_ai_pro": "Smart AI Pro",
"smart_ai_pro_soil": "Smart AI Pro",
"smart_ai_rapid": "Smart AI Rapid",
"smart_ai_rapid_soil": "Smart AI Rapid",
"smart_ai_soil": "Smart AI",
"special": "特殊",
"special_pw_prz": "特殊",
"steam": "蒸汽洗75°C",
@ -453,11 +470,12 @@
"programs_ov": {
"state": {
"bakery": "意大利面和烘焙食品",
"bakery_steam": "蒸烤的面包",
"bakery_steam": "烤炉蒸汽",
"bottom_heating": "底部加热 ",
"bottom_heating_fan": "底部加热 + 风扇",
"bread": "面包",
"bread_steam": "蒸烤的甜点",
"bread_steam": "蒸烤的面包",
"combi": "Combi",
"convection_fan": "对流 + 风扇",
"convection_fan_turnspit": "对流 + 风扇 + 烤叉",
"conventional": "对流",
@ -465,7 +483,7 @@
"defrost": "解冻",
"descaling": "除垢",
"fish": "鱼",
"fish_steam": "蒸煮的鱼",
"fish_steam": "蒸鱼",
"grill_cata": "烤架",
"grill_fan_cata": "烤架风扇",
"grill_fan_pyro": "烤架 + 风扇",
@ -476,12 +494,12 @@
"leavening": "发酵",
"low_temp_cooking": "低温烹饪",
"low_temp_cooking_fish": "低温烹饪 - 鱼类",
"low_temp_cooking_fish_steam": "低温蒸汽烹饪 - 鱼",
"low_temp_cooking_fish_steam": "低温烹饪 - 鱼",
"low_temp_cooking_meat": "低温烹饪 - 肉类",
"low_temp_cooking_meat_steam": "低温蒸汽烹饪 - 肉",
"low_temp_cooking_meat_steam": "低温烹饪 - 肉",
"low_temp_cooking_steam": "低温蒸汽烹饪",
"meat": "肉",
"meat_steam": "蒸煮的肉",
"meat_steam": "肉类蒸汽",
"multi_level": "多层",
"paella": "Paella",
"pasta_and_bakery": "意大利面和烘焙食品",
@ -489,8 +507,8 @@
"pyrolysis": "热解",
"pyrolysis_plus": "热解 +",
"red_meat": "红肉",
"red_meat_steam": "蒸煮的红肉",
"regenerate": "再",
"red_meat_steam": "蒸红肉",
"regenerate": "再加热",
"soft_plus": "软+",
"super_grill": "超级烤架",
"tailor_bake": "Tailor bake",
@ -501,7 +519,7 @@
"vegetables_pyro": "蔬菜",
"water_discharge": "排水",
"white_meat": "白肉",
"white_meat_steam": "蒸煮的白肉"
"white_meat_steam": "蒸白肉"
},
"name": "程序"
},
@ -1013,6 +1031,40 @@
"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": "剩余时间"
},
"ref_zones": {
"state": {
"fridge": "冰箱",
"freezer": "冷藏箱",
"vtroom1": "My Zone",
"fridge_freezer": "冰箱 & 冷藏箱"
},
"name": "区域"
}
},
"switch": {
@ -1105,6 +1157,24 @@
},
"good_night": {
"name": "晚安"
},
"auto_dose_softener": {
"name": "自动定量 柔软剂"
},
"auto_dose_detergent": {
"name": "自动定量 洗涤剂"
},
"auto_set": {
"name": "自动设置"
},
"super_cool": {
"name": "Super Cool"
},
"super_freeze": {
"name": "Super Freeze"
},
"refrigerator": {
"name": "冰箱"
}
},
"binary_sensor": {
@ -1154,7 +1224,7 @@
"name": "烤盘"
},
"remote_control": {
"name": "远程控制"
"name": "Control remoto"
},
"rinse_aid": {
"name": "漂洗助剂液位"
@ -1182,6 +1252,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,11 +1308,116 @@
},
"steam_level": {
"name": "蒸汽档位"
},
"freezer_temp_sel": {
"name": "目标温度 冷藏箱"
},
"fridge_temp_sel": {
"name": "目标温度 冰箱"
}
},
"button": {
"induction_hob": {
"name": "电磁炉"
},
"start_program": {
"name": "程序 开始"
},
"stop_program": {
"name": "程序 停止"
}
},
"climate": {
"air_conditioner": {
"name": "空调"
},
"fridge": {
"name": "冰箱",
"state_attributes": {
"preset_mode": {
"name": "冰箱模式",
"state": {
"auto_set": "自动设置",
"super_cool": "Super Cool",
"holiday": "Holiday",
"no_mode": "未选择模式"
}
}
}
},
"freezer": {
"name": "冷藏箱",
"state_attributes": {
"preset_mode": {
"name": "冷藏室模式",
"state": {
"auto_set": "自动设置",
"super_freeze": "Super Freeze",
"no_mode": "未选择模式"
}
}
}
},
"oven": {
"name": "烤炉",
"state_attributes": {
"preset_mode": {
"name": "程序",
"state": {
"bakery": "意大利面和烘焙食品",
"bakery_steam": "烤炉蒸汽",
"bottom_heating": "底部加热 ",
"bottom_heating_fan": "底部加热 + 风扇",
"bread": "面包",
"bread_steam": "蒸烤的面包",
"combi": "Combi",
"convection_fan": "对流 + 风扇",
"convection_fan_turnspit": "对流 + 风扇 + 烤叉",
"conventional": "对流",
"conventional_turnspit": "对流 + 烤叉",
"defrost": "解冻",
"descaling": "除垢",
"fish": "鱼",
"fish_steam": "蒸鱼",
"grill_cata": "烤架",
"grill_fan_cata": "烤架风扇",
"grill_fan_pyro": "烤架 + 风扇",
"grill_pyro": "烤架",
"h20_clean": "H2O-Clean",
"iot_bread": "面包",
"iot_h20_clean": "h2O clean",
"leavening": "发酵",
"low_temp_cooking": "低温烹饪",
"low_temp_cooking_fish": "低温烹饪 - 鱼类",
"low_temp_cooking_fish_steam": "低温烹饪 - 蒸鱼",
"low_temp_cooking_meat": "低温烹饪 - 肉类",
"low_temp_cooking_meat_steam": "低温烹饪 - 蒸肉",
"low_temp_cooking_steam": "低温蒸汽烹饪",
"meat": "肉",
"meat_steam": "肉类蒸汽",
"multi_level": "多层",
"paella": "Paella",
"pasta_and_bakery": "意大利面和烘焙食品",
"pizza": "Pizza",
"pyrolysis": "热解",
"pyrolysis_plus": "热解 +",
"red_meat": "红肉",
"red_meat_steam": "蒸红肉",
"regenerate": "再加热",
"soft_plus": "软+",
"super_grill": "超级烤架",
"tailor_bake": "Tailor bake",
"tailor_bake_cata": "Tailor Bake",
"tailor_bake_pyro": "Tailor Bake",
"vegetables": "蔬菜",
"vegetables_cata": "蔬菜",
"vegetables_pyro": "蔬菜",
"water_discharge": "排水",
"white_meat": "白肉",
"white_meat_steam": "蒸白肉"
}
}
}
}
}
},

48
info.md
View File

@ -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,16 +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
## Supported Languages
Translation of internal names like programs are available for all languages which are official supported by the hOn app:
* 🇨🇳 Chinese
@ -52,6 +43,43 @@ Translation of internal names like programs are available for all languages whic
* 🇪🇸 Spanish
* 🇹🇷 Turkish
## Examples
### Washing Machine
![washing_machine.png](assets/washing_machine.png)
## 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 BCTDH7A1TE
- 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 HW 68AMC/1-80
- 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!

View File

@ -26,6 +26,7 @@ SELECT = {
"dry_levels": const.TUMBLE_DRYER_DRY_LEVEL,
"eco_pilot": const.AC_HUMAN_SENSE,
"fan_mode": const.AC_FAN_MODE,
"ref_zones": const.REF_ZONES,
}
PROGRAMS = {
@ -36,12 +37,43 @@ PROGRAMS = {
"programs_ov": "PROGRAMS.OV",
"programs_td": "PROGRAMS.TD",
"programs_wm": "PROGRAMS.WM_WD",
"programs_ref": "PROGRAMS.REF",
},
"sensor": {
"programs_td": "PROGRAMS.TD",
},
}
CLIMATE = {
"fridge": {
"preset_mode": {
"name": "REF_CMD&CTRL.MODE_SELECTION_DRAWER_FRIDGE.FRIDGE_MODE_TITLE",
"state": {
"auto_set": "REF_CMD&CTRL.MODALITIES.ECO",
"super_cool": "REF_CMD&CTRL.MODALITIES.SUPER_COOL",
"holiday": "REF_CMD&CTRL.MODALITIES.BACK_FROM_HOLIDAY",
"no_mode": "REF_CMD&CTRL.MODALITIES.NO_MODE_SELECTED",
},
}
},
"freezer": {
"preset_mode": {
"name": "REF_CMD&CTRL.MODE_SELECTION_DRAWER_FREEZER.FREEZER_MODE_TITLE",
"state": {
"auto_set": "REF_CMD&CTRL.MODALITIES.ECO",
"super_freeze": "REF_CMD&CTRL.MODALITIES.SHOCK_FREEZE",
"no_mode": "REF_CMD&CTRL.MODALITIES.NO_MODE_SELECTED",
},
}
},
"oven": {
"preset_mode": {
"name": "OV.TABS.PROGRAMS_TITLE",
"state": "PROGRAMS.OV",
}
},
}
NAMES = {
"switch": {
"anti_crease": "HDRY_CMD&CTRL.PROGRAM_CYCLE_DETAIL.ANTICREASE_TITLE",
@ -72,8 +104,19 @@ 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",
"refrigerator": "REF.NAME",
},
"binary_sensor": {
"door_lock": "WASHING_CMD&CTRL.CHECK_UP_RESULTS.DOOR_LOCK",
@ -83,7 +126,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,9 +137,19 @@ 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",
"start_program": ["WC.SET_PROGRAM.PROGRAM", "GLOBALS.GENERAL.START_ON"],
"stop_program": ["WC.SET_PROGRAM.PROGRAM", "GLOBALS.GENERAL.STOP"],
},
"select": {
"dry_levels": "WASHING_CMD&CTRL.DRAWER_CYCLE_DRYING.TAB_LEVEL",
@ -110,6 +162,8 @@ 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",
"ref_zones": "IH.COMMON.COIL",
},
"sensor": {
"dry_levels": "WASHING_CMD&CTRL.DRAWER_CYCLE_DRYING.TAB_LEVEL",
@ -134,6 +188,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 +210,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,6 +224,14 @@ 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",
"fridge": "REF.ZONES.FRIDGE",
"freezer": "REF.ZONES.FREEZER",
"oven": "GLOBALS.APPLIANCES_NAME.OV",
},
}
@ -267,6 +333,19 @@ def main():
for name, key in data.items():
select = old.setdefault("entity", {}).setdefault(entity, {})
select.setdefault(name, {})["name"] = load_key(key, original, fallback)
for name, modes in CLIMATE.items():
climate = old.setdefault("entity", {}).setdefault("climate", {})
attr = climate.setdefault(name, {}).setdefault("state_attributes", {})
for mode, data in modes.items():
mode_name = load_key(data["name"], original, fallback)
attr.setdefault(mode, {})["name"] = mode_name
if isinstance(data["state"], dict):
for state, key in data["state"].items():
mode_state = load_key(key, original, fallback)
attr[mode].setdefault("state", {})[state] = mode_state
else:
attr[mode]["state"] = load_keys(data["state"], original)
translate_login(old, original, fallback)
save_json(base_path / f"{language}.json", old)

View File

@ -4,15 +4,21 @@ 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
from custom_components.hon.switch import SWITCHES, HonSwitchEntityDescription
from custom_components.hon.switch import (
SWITCHES,
HonControlSwitchEntityDescription,
HonSwitchEntityDescription,
)
APPLIANCES = {
"AC": "Air conditioner",
@ -41,21 +47,26 @@ entities = {
"select": SELECTS,
"sensor": SENSORS,
"switch": SWITCHES,
"climate": CLIMATES,
}
result = {}
for entity_type, appliances in entities.items():
for appliance, data in appliances.items():
for entity in data:
if (
isinstance(entity, HonSwitchEntityDescription)
and entity.entity_category != "config"
):
if isinstance(entity, HonControlSwitchEntityDescription):
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 isinstance(entity, HonSwitchEntityDescription)
or isinstance(entity, HonControlSwitchEntityDescription)
or entity_type in ["button", "climate"]
else "sensor"
)
result.setdefault(appliance, {}).setdefault(
entity.entity_category or category, []
).append(attributes)