Compare commits

...

25 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
35 changed files with 5174 additions and 879 deletions

169
README.md
View File

@ -1,18 +1,20 @@
# Haier hOn # Haier hOn
[![hacs_badge](https://img.shields.io/badge/HACS-Default-41BDF5.svg)](https://hacs.xyz) [![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) [![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](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) [![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 ## Supported Appliances
- [Washing Machine](https://github.com/Andre0512/hon#washing-machine) - [Washing Machine](https://github.com/Andre0512/hon#washing-machine)
- [Tumble Dryer](https://github.com/Andre0512/hon#tumble-dryer) - [Tumble Dryer](https://github.com/Andre0512/hon#tumble-dryer)
- [Washer Dryer](https://github.com/Andre0512/hon#washer-dryer) - [Washer Dryer](https://github.com/Andre0512/hon#washer-dryer)
- [Oven](https://github.com/Andre0512/hon#oven) - [Oven](https://github.com/Andre0512/hon#oven)
- [Hob](https://github.com/Andre0512/hon#hob)
- [Dish Washer](https://github.com/Andre0512/hon#dish-washer) - [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] - [Air conditioner](https://github.com/Andre0512/hon#air-conditioner) [BETA]
- [Fridge](https://github.com/Andre0512/hon#fridge) [BETA]
## Installation ## 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) **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,18 +32,6 @@ _Restart Home Assistant_
**Method 2**: Settings > Devices & Services > Add Integration > **Haier 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._ _If the integration is not in the list, you need to clear the browser cache._
## Supported Models
Support was confirmed for these models. If a supported model is missing, please [add it with this form](https://forms.gle/bTSD8qFotdZFytbf8).
- Haier WD90-B14TEAM5
- Haier HD80-A3959
- Haier HWO60SM2F3XH
- Hoover H-WASH 500
- Candy CIS633SCTTWIFI
- Haier XIB 3B2SFS-80
- Haier XIB 6B2D3FB
- Hoover HSOT3161WG
## Supported Languages ## Supported Languages
Translation of internal names like programs are available for all languages which are official supported by the hOn app: Translation of internal names like programs are available for all languages which are official supported by the hOn app:
* 🇨🇳 Chinese * 🇨🇳 Chinese
@ -64,26 +54,52 @@ Translation of internal names like programs are available for all languages whic
* 🇪🇸 Spanish * 🇪🇸 Spanish
* 🇹🇷 Turkish * 🇹🇷 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 ## Contribute
Any kind of contribution is welcome! Any kind of contribution is welcome!
### Read out device data ### 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. 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. For every device exists a hidden button which can be used to log all infos of your appliance.
1. Enable the "Log Device Info" button 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._ _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 2. Press the button to create a notification
3. Go to Settings > System > Logs, click _load full logs_ and scroll down 3. Open home assistant notifications and copy the message (Crtl+A, Ctrl+C)
_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
### Add appliances or additional attributes ### Add appliances or additional attributes
1. Install [pyhOn](https://github.com/Andre0512/pyhOn) 1. Install [pyhOn](https://github.com/Andre0512/pyhOn)
```commandline ```commandline
@ -128,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. - 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 - Use [pyhOn's translate command](https://github.com/Andre0512/pyhOn#translation) to read out the official translations
## About this Repo ## Special Thanks
The existing integrations missed some features from the app I liked to have in HomeAssistant. - 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.
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. - 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.
I moved the api related stuff into the package [pyhOn](https://github.com/Andre0512/pyhOn). - 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 ## Appliance Features
### Air conditioner ### Air conditioner
#### Configs #### Controls
| Name | Icon | Entity | Key | | Name | Icon | Entity | Key |
| --- | --- | --- | --- | | --- | --- | --- | --- |
| 10° Heating | `heat-wave` | `switch` | `settings.10degreeHeatingStatus` | | 10° Heating | `heat-wave` | `switch` | `10degreeHeatingStatus` |
| Echo | `account-voice` | `switch` | `settings.echoStatus` | | Air Conditioner | `air-conditioner` | `climate` | `settings` |
| Eco Mode | | `switch` | `settings.ecoMode` | | Echo | `account-voice` | `switch` | `echoStatus` |
| Eco Mode | | `switch` | `ecoMode` |
| Eco Pilot | `run` | `select` | `settings.humanSensingStatus` | | Eco Pilot | `run` | `select` | `settings.humanSensingStatus` |
| Health Mode | `medication-outline` | `switch` | `settings.healthMode` | | Health Mode | `medication-outline` | `switch` | `healthMode` |
| Mute | `volume-off` | `switch` | `settings.muteStatus` | | Mute | `volume-off` | `switch` | `muteStatus` |
| Program | | `select` | `startProgram.program` | | Rapid Mode | `run-fast` | `switch` | `rapidMode` |
| Rapid Mode | `run-fast` | `switch` | `settings.rapidMode` | | Screen Display | `monitor-small` | `switch` | `screenDisplayStatus` |
| Screen Display | `monitor-small` | `switch` | `settings.screenDisplayStatus` | | Self Cleaning | `air-filter` | `switch` | `selfCleaningStatus` |
| Self Cleaning | `air-filter` | `switch` | `settings.selfCleaningStatus` | | Self Cleaning 56 | `air-filter` | `switch` | `selfCleaning56Status` |
| Self Cleaning 56 | `air-filter` | `switch` | `settings.selfCleaning56Status` | | Silent Sleep | `bed` | `switch` | `silentSleepStatus` |
| Silent Sleep | `bed` | `switch` | `settings.silentSleepStatus` |
| Target Temperature | `thermometer` | `number` | `settings.tempSel` | | Target Temperature | `thermometer` | `number` | `settings.tempSel` |
#### Sensors
| Name | Icon | Entity | Key |
| --- | --- | --- | --- |
| Air Temperature Outdoor | `thermometer` | `sensor` | `tempAirOutdoor` |
| Ch2O Cleaning | | `binary_sensor` | `ch2oCleaningStatus` |
| Coiler Temperature Indoor | `thermometer` | `sensor` | `tempCoilerIndoor` |
| Coiler Temperature Outside | `thermometer` | `sensor` | `tempCoilerOutdoor` |
| Defrost Temperature Outdoor | `thermometer` | `sensor` | `tempDefrostOutdoor` |
| Filter Replacement | | `binary_sensor` | `filterChangeStatusLocal` |
| In Air Temperature Outdoor | `thermometer` | `sensor` | `tempInAirOutdoor` |
| Indoor Temperature | `thermometer` | `sensor` | `tempIndoor` |
| Outdoor Temperature | `thermometer` | `sensor` | `tempOutdoor` |
| Program | | `select` | `startProgram.program` |
| Selected Temperature | `thermometer` | `sensor` | `tempSel` |
### Dish washer ### Dish washer
#### Controls #### Controls
| Name | Icon | Entity | Key | | Name | Icon | Entity | Key |
| --- | --- | --- | --- | | --- | --- | --- | --- |
| Buzzer Disabled | `volume-off` | `switch` | `buzzerDisabled` |
| Dish Washer | `dishwasher` | `switch` | `startProgram` / `stopProgram` | | Dish Washer | `dishwasher` | `switch` | `startProgram` / `stopProgram` |
#### Configs #### Configs
| Name | Icon | Entity | Key | | Name | Icon | Entity | Key |
@ -170,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` | | Half Load | `fraction-one-half` | `switch` | `startProgram.halfLoad` |
| Open Door | `door-open` | `switch` | `startProgram.openDoor` | | Open Door | `door-open` | `switch` | `startProgram.openDoor` |
| Program | | `select` | `startProgram.program` | | Program | | `select` | `startProgram.program` |
| Remaining Time | `timer` | `select` | `startProgram.remainingTime` |
| Temperature | `thermometer` | `select` | `startProgram.temp` |
| Temperature | `thermometer` | `sensor` | `startProgram.temp` | | Temperature | `thermometer` | `sensor` | `startProgram.temp` |
| Three in One | `numeric-3-box-outline` | `switch` | `startProgram.threeInOne` | | Three in One | `numeric-3-box-outline` | `switch` | `startProgram.threeInOne` |
| Time | `timer` | `sensor` | `startProgram.remainingTime` | | Time | `timer` | `sensor` | `startProgram.remainingTime` |
@ -217,6 +251,7 @@ I moved the api related stuff into the package [pyhOn](https://github.com/Andre0
| Name | Icon | Entity | Key | | Name | Icon | Entity | Key |
| --- | --- | --- | --- | | --- | --- | --- | --- |
| Oven | `toaster-oven` | `switch` | `startProgram` / `stopProgram` | | Oven | `toaster-oven` | `switch` | `startProgram` / `stopProgram` |
| Oven | `thermometer` | `climate` | `settings.tempSel` |
#### Configs #### Configs
| Name | Icon | Entity | Key | | Name | Icon | Entity | Key |
| --- | --- | --- | --- | | --- | --- | --- | --- |
@ -235,6 +270,40 @@ I moved the api related stuff into the package [pyhOn](https://github.com/Andre0
| Temperature | `thermometer` | `sensor` | `temp` | | Temperature | `thermometer` | `sensor` | `temp` |
| Temperature Selected | `thermometer` | `sensor` | `tempSel` | | 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 ### Tumble dryer
#### Controls #### Controls
| Name | Icon | Entity | Key | | Name | Icon | Entity | Key |
@ -285,7 +354,8 @@ I moved the api related stuff into the package [pyhOn](https://github.com/Andre0
| Acqua Plus | `water-plus` | `switch` | `startProgram.acquaplus` | | Acqua Plus | `water-plus` | `switch` | `startProgram.acquaplus` |
| Anti-Crease | `timer` | `switch` | `startProgram.antiCreaseTime` | | Anti-Crease | `timer` | `switch` | `startProgram.antiCreaseTime` |
| Anti-Crease | `timer` | `switch` | `startProgram.anticrease` | | 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 Status | `timer-check` | `switch` | `startProgram.delayStatus` |
| Delay Time | `timer-plus` | `number` | `startProgram.delayTime` | | Delay Time | `timer-plus` | `number` | `startProgram.delayTime` |
| Dry Time | | `number` | `startProgram.dryTime` | | Dry Time | | `number` | `startProgram.dryTime` |
@ -296,7 +366,7 @@ I moved the api related stuff into the package [pyhOn](https://github.com/Andre0
| Extra Rinse 2 | `numeric-2-box-multiple-outline` | `switch` | `startProgram.extraRinse2` | | Extra Rinse 2 | `numeric-2-box-multiple-outline` | `switch` | `startProgram.extraRinse2` |
| Extra Rinse 3 | `numeric-3-box-multiple-outline` | `switch` | `startProgram.extraRinse3` | | Extra Rinse 3 | `numeric-3-box-multiple-outline` | `switch` | `startProgram.extraRinse3` |
| Good Night | `weather-night` | `switch` | `startProgram.goodNight` | | Good Night | `weather-night` | `switch` | `startProgram.goodNight` |
| Keep Fresh | `refresh-circle` | `switch` | `startProgram.autoSoftenerStatus` | | Keep Fresh | `refresh-circle` | `switch` | `startProgram.permanentPressStatus` |
| Liquid Detergent Dose | `cup-water` | `sensor` | `startProgram.liquidDetergentDose` | | Liquid Detergent Dose | `cup-water` | `sensor` | `startProgram.liquidDetergentDose` |
| Main Wash Time | `clock-start` | `number` | `startProgram.mainWashTime` | | Main Wash Time | `clock-start` | `number` | `startProgram.mainWashTime` |
| Powder Detergent Dose | `cup` | `sensor` | `startProgram.powderDetergentDose` | | Powder Detergent Dose | `cup` | `sensor` | `startProgram.powderDetergentDose` |
@ -357,7 +427,8 @@ I moved the api related stuff into the package [pyhOn](https://github.com/Andre0
| Name | Icon | Entity | Key | | Name | Icon | Entity | Key |
| --- | --- | --- | --- | | --- | --- | --- | --- |
| Acqua Plus | `water-plus` | `switch` | `startProgram.acquaplus` | | 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 Status | `timer-check` | `switch` | `startProgram.delayStatus` |
| Delay Time | `timer-plus` | `number` | `startProgram.delayTime` | | Delay Time | `timer-plus` | `number` | `startProgram.delayTime` |
| Energy Label | `lightning-bolt-circle` | `sensor` | `startProgram.energyLabel` | | Energy Label | `lightning-bolt-circle` | `sensor` | `startProgram.energyLabel` |
@ -365,7 +436,7 @@ I moved the api related stuff into the package [pyhOn](https://github.com/Andre0
| Extra Rinse 2 | `numeric-2-box-multiple-outline` | `switch` | `startProgram.extraRinse2` | | Extra Rinse 2 | `numeric-2-box-multiple-outline` | `switch` | `startProgram.extraRinse2` |
| Extra Rinse 3 | `numeric-3-box-multiple-outline` | `switch` | `startProgram.extraRinse3` | | Extra Rinse 3 | `numeric-3-box-multiple-outline` | `switch` | `startProgram.extraRinse3` |
| Good Night | `weather-night` | `switch` | `startProgram.goodNight` | | Good Night | `weather-night` | `switch` | `startProgram.goodNight` |
| Keep Fresh | `refresh-circle` | `switch` | `startProgram.autoSoftenerStatus` | | Keep Fresh | `refresh-circle` | `switch` | `startProgram.permanentPressStatus` |
| Liquid Detergent Dose | `cup-water` | `sensor` | `startProgram.liquidDetergentDose` | | Liquid Detergent Dose | `cup-water` | `sensor` | `startProgram.liquidDetergentDose` |
| Main Wash Time | `clock-start` | `number` | `startProgram.mainWashTime` | | Main Wash Time | `clock-start` | `number` | `startProgram.mainWashTime` |
| Powder Detergent Dose | `cup` | `sensor` | `startProgram.powderDetergentDose` | | Powder Detergent Dose | `cup` | `sensor` | `startProgram.powderDetergentDose` |

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 import logging
from dataclasses import dataclass from dataclasses import dataclass
from pyhon import Hon
from homeassistant.components.binary_sensor import ( from homeassistant.components.binary_sensor import (
BinarySensorEntityDescription, BinarySensorEntityDescription,
BinarySensorDeviceClass, BinarySensorDeviceClass,
@ -10,8 +8,9 @@ from homeassistant.components.binary_sensor import (
) )
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.core import callback from homeassistant.core import callback
from .const import DOMAIN from .const import DOMAIN
from .hon import HonCoordinator, HonEntity, unique_entities from .hon import HonEntity, unique_entities
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
@ -179,6 +178,70 @@ BINARY_SENSORS: dict[str, tuple[HonBinarySensorEntityDescription, ...]] = {
translation_key="door_open", 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",
),
),
} }
@ -186,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: async def async_setup_entry(hass, entry: ConfigEntry, async_add_entities) -> None:
hon: Hon = hass.data[DOMAIN][entry.unique_id] entities = []
coordinators = hass.data[DOMAIN]["coordinators"] for device in hass.data[DOMAIN][entry.unique_id].appliances:
appliances = [] for description in BINARY_SENSORS.get(device.appliance_type, []):
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): if not device.get(description.key):
continue continue
appliances.append( entity = HonBinarySensorEntity(hass, entry, device, description)
HonBinarySensorEntity(hass, coordinator, entry, device, description) await entity.coordinator.async_config_entry_first_refresh()
) entities.append(entity)
async_add_entities(entities)
async_add_entities(appliances)
class HonBinarySensorEntity(HonEntity, BinarySensorEntity): class HonBinarySensorEntity(HonEntity, BinarySensorEntity):
entity_description: HonBinarySensorEntityDescription 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 @property
def is_on(self) -> bool: def is_on(self) -> bool:
return ( return (

View File

@ -1,16 +1,14 @@
import logging import logging
import urllib
from urllib.parse import quote
import pkg_resources import pkg_resources
from homeassistant.components import persistent_notification
from homeassistant.components.button import ButtonEntityDescription, ButtonEntity from homeassistant.components.button import ButtonEntityDescription, ButtonEntity
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from pyhon import Hon from homeassistant.const import EntityCategory
from pyhon.appliance import HonAppliance from pyhon.appliance import HonAppliance
from homeassistant.const import EntityCategory
from .const import DOMAIN from .const import DOMAIN
from .hon import HonCoordinator, HonEntity from .hon import HonEntity
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
@ -23,43 +21,39 @@ BUTTONS: dict[str, tuple[ButtonEntityDescription, ...]] = {
translation_key="induction_hob", 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: async def async_setup_entry(hass, entry: ConfigEntry, async_add_entities) -> None:
hon: Hon = hass.data[DOMAIN][entry.unique_id] entities = []
coordinators = hass.data[DOMAIN]["coordinators"] for device in hass.data[DOMAIN][entry.unique_id].appliances:
appliances = [] for description in BUTTONS.get(device.appliance_type, []):
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): if not device.commands.get(description.key):
continue continue
appliances.extend( entity = HonButtonEntity(hass, entry, device, description)
[HonButtonEntity(hass, coordinator, entry, device, description)] await entity.coordinator.async_config_entry_first_refresh()
) entities.append(entity)
appliances.extend([HonFeatureRequestButton(hass, coordinator, entry, device)]) entities.append(HonFeatureRequestButton(hass, entry, device))
await entities[-1].coordinator.async_config_entry_first_refresh()
async_add_entities(appliances) async_add_entities(entities)
class HonButtonEntity(HonEntity, ButtonEntity): class HonButtonEntity(HonEntity, ButtonEntity):
def __init__( entity_description: ButtonEntityDescription
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}"
async def async_press(self) -> None: async def async_press(self) -> None:
await self._device.commands[self.entity_description.key].send() await self._device.commands[self.entity_description.key].send()
@ -67,21 +61,28 @@ class HonButtonEntity(HonEntity, ButtonEntity):
@property @property
def available(self) -> bool: def available(self) -> bool:
"""Return True if entity is available.""" """Return True if entity is available."""
return super().available and self._device.get("remoteCtrValid") == "1" return (
super().available
and self._device.get("remoteCtrValid", "1") == "1"
and self._device.get("attributes.lastConnEvent.category") != "DISCONNECTED"
)
class HonFeatureRequestButton(HonEntity, ButtonEntity): class HonFeatureRequestButton(HonEntity, ButtonEntity):
def __init__(self, hass, coordinator, entry, device: HonAppliance) -> None: def __init__(self, hass, entry, device: HonAppliance) -> None:
super().__init__(hass, entry, coordinator, device) super().__init__(hass, entry, device)
self._device = device
self._attr_unique_id = f"{super().unique_id}_log_device_info" self._attr_unique_id = f"{super().unique_id}_log_device_info"
self._attr_icon = "mdi:information" 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_category = EntityCategory.DIAGNOSTIC
self._attr_entity_registry_enabled_default = False self._attr_entity_registry_enabled_default = False
async def async_press(self) -> None: async def async_press(self) -> None:
pyhon_version = pkg_resources.get_distribution("pyhon").version pyhon_version = pkg_resources.get_distribution("pyhon").version
info = f"Device Info:\n{self._device.diagnose}pyhOnVersion: {pyhon_version}" info = f"{self._device.diagnose()}pyhOnVersion: {pyhon_version}"
_LOGGER.error(info) 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 import logging
from dataclasses import dataclass
from pyhon.appliance import HonAppliance
from homeassistant.components.climate import ( from homeassistant.components.climate import (
ClimateEntity, ClimateEntity,
@ -16,58 +19,87 @@ from homeassistant.components.climate.const import (
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import ( from homeassistant.const import (
ATTR_TEMPERATURE, ATTR_TEMPERATURE,
PRECISION_WHOLE,
TEMP_CELSIUS, TEMP_CELSIUS,
) )
from homeassistant.core import callback 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 .const import HON_HVAC_MODE, HON_FAN, HON_HVAC_PROGRAM, DOMAIN
from .hon import HonEntity, HonCoordinator from .hon import HonEntity
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
@dataclass
class HonACClimateEntityDescription(ClimateEntityDescription):
pass
@dataclass
class HonClimateEntityDescription(ClimateEntityDescription):
mode: HVACMode = "auto"
CLIMATES = { CLIMATES = {
"AC": (ClimateEntityDescription(key="startProgram", icon="mdi:air-conditioner"),), "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: async def async_setup_entry(hass, entry: ConfigEntry, async_add_entities) -> None:
hon: Hon = hass.data[DOMAIN][entry.unique_id] entities = []
coordinators = hass.data[DOMAIN]["coordinators"] for device in hass.data[DOMAIN][entry.unique_id].appliances:
appliances = [] for description in CLIMATES.get(device.appliance_type, []):
for device in hon.appliances: if isinstance(description, HonACClimateEntityDescription):
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:
if description.key not in list(device.commands): if description.key not in list(device.commands):
continue continue
appliances.extend( entity = HonACClimateEntity(hass, entry, device, description)
[HonClimateEntity(hass, coordinator, entry, device, description)] elif isinstance(description, HonClimateEntityDescription):
) if description.key not in device.available_settings:
async_add_entities(appliances) continue
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): class HonACClimateEntity(HonEntity, ClimateEntity):
def __init__( def __init__(self, hass, entry, device: HonAppliance, description) -> None:
self, hass, coordinator, entry, device: HonAppliance, description super().__init__(hass, entry, device, description)
) -> None:
super().__init__(hass, entry, coordinator, device)
self._coordinator = coordinator
self._device = device
self.entity_description = description
self._hass = hass
self._attr_unique_id = f"{super().unique_id}climate"
self._attr_temperature_unit = TEMP_CELSIUS self._attr_temperature_unit = TEMP_CELSIUS
self._attr_target_temperature_step = PRECISION_WHOLE self._attr_target_temperature_step = device.settings["settings.tempSel"].step
self._attr_max_temp = device.settings["settings.tempSel"].max self._attr_max_temp = device.settings["settings.tempSel"].max
self._attr_min_temp = device.settings["settings.tempSel"].min self._attr_min_temp = device.settings["settings.tempSel"].min
@ -89,7 +121,14 @@ class HonClimateEntity(HonEntity, ClimateEntity):
| ClimateEntityFeature.SWING_MODE | ClimateEntityFeature.SWING_MODE
) )
self._handle_coordinator_update() 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): async def async_set_hvac_mode(self, hvac_mode):
if hvac_mode == HVACMode.OFF: if hvac_mode == HVACMode.OFF:
@ -100,6 +139,7 @@ class HonClimateEntity(HonEntity, ClimateEntity):
] ]
await self._device.commands["startProgram"].send() await self._device.commands["startProgram"].send()
self._attr_hvac_mode = hvac_mode self._attr_hvac_mode = hvac_mode
self.async_write_ha_state()
async def async_set_fan_mode(self, fan_mode): async def async_set_fan_mode(self, fan_mode):
mode_number = list(HON_FAN.values()).index(fan_mode) mode_number = list(HON_FAN.values()).index(fan_mode)
@ -107,6 +147,7 @@ class HonClimateEntity(HonEntity, ClimateEntity):
mode_number mode_number
] ]
await self._device.commands["settings"].send() await self._device.commands["settings"].send()
self.async_write_ha_state()
async def async_set_swing_mode(self, swing_mode): async def async_set_swing_mode(self, swing_mode):
horizontal = self._device.settings["settings.windDirectionHorizontal"] horizontal = self._device.settings["settings.windDirectionHorizontal"]
@ -121,29 +162,29 @@ class HonClimateEntity(HonEntity, ClimateEntity):
horizontal.value = "0" horizontal.value = "0"
self._attr_swing_mode = swing_mode self._attr_swing_mode = swing_mode
await self._device.commands["settings"].send() await self._device.commands["settings"].send()
self.async_write_ha_state()
async def async_set_temperature(self, **kwargs): async def async_set_temperature(self, **kwargs):
if (temperature := kwargs.get(ATTR_TEMPERATURE)) is None: if (temperature := kwargs.get(ATTR_TEMPERATURE)) is None:
return False return False
self._device.settings["settings.selTemp"].value = temperature self._device.settings["settings.tempSel"].value = str(int(temperature))
await self._device.commands["settings"].send() await self._device.commands["settings"].send()
self.async_write_ha_state()
@callback @callback
def _handle_coordinator_update(self, update=True) -> None: def _handle_coordinator_update(self, update=True) -> None:
self._attr_target_temperature = int(float(self._device.get("tempSel"))) self._attr_target_temperature = int(float(self._device.get("tempSel")))
self._attr_current_temperature = float(self._device.get("tempIndoor")) self._attr_current_temperature = float(self._device.get("tempIndoor"))
self._attr_max_temp = self._device.settings["settings.tempSel"].max
self._attr_min_temp = self._device.settings["settings.tempSel"].min
if self._device.get("onOffStatus") == "0": if self._device.get("onOffStatus") == "0":
self._attr_hvac_mode = HVACMode.OFF self._attr_hvac_mode = HVACMode.OFF
else: else:
self._attr_hvac_mode = HON_HVAC_MODE[self._device.get("machMode") or "0"] self._attr_hvac_mode = HON_HVAC_MODE[self._device.get("machMode")]
self._attr_fan_mode = HON_FAN[self._device.settings["settings.windSpeed"].value] self._attr_fan_mode = HON_FAN[self._device.get("windSpeed")]
horizontal = self._device.settings["settings.windDirectionHorizontal"] horizontal = self._device.get("windDirectionHorizontal")
vertical = self._device.settings["settings.windDirectionVertical"] vertical = self._device.get("windDirectionVertical")
if horizontal == "7" and vertical == "8": if horizontal == "7" and vertical == "8":
self._attr_swing_mode = SWING_BOTH self._attr_swing_mode = SWING_BOTH
elif horizontal == "7": elif horizontal == "7":
@ -152,3 +193,113 @@ class HonClimateEntity(HonEntity, ClimateEntity):
self._attr_swing_mode = SWING_VERTICAL self._attr_swing_mode = SWING_VERTICAL
else: else:
self._attr_swing_mode = SWING_OFF 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 logging
import voluptuous as vol import voluptuous as vol
from homeassistant import config_entries from homeassistant import config_entries
from homeassistant.const import CONF_EMAIL, CONF_PASSWORD from homeassistant.const import CONF_EMAIL, CONF_PASSWORD

View File

@ -21,7 +21,7 @@ PLATFORMS = [
HON_HVAC_MODE = { HON_HVAC_MODE = {
"0": HVACMode.AUTO, "0": HVACMode.AUTO,
"1": HVACMode.COOL, "1": HVACMode.COOL,
"2": HVACMode.COOL, "2": HVACMode.DRY,
"3": HVACMode.DRY, "3": HVACMode.DRY,
"4": HVACMode.HEAT, "4": HVACMode.HEAT,
"5": HVACMode.FAN_ONLY, "5": HVACMode.FAN_ONLY,
@ -180,49 +180,12 @@ AC_HUMAN_SENSE = {
"2": "AC.PROGRAM_DETAIL.FOLLOW_TOUCH", "2": "AC.PROGRAM_DETAIL.FOLLOW_TOUCH",
} }
TUMBLE_DRYER_PROGRAMS = [ REF_ZONES = {
"hqd_baby_care" "fridge": "REF.ZONES.FRIDGE",
"hqd_bath_towel" "freezer": "REF.ZONES.FREEZER",
"hqd_bed_sheets" "vtroom1": "REF.ZONES.MY_ZONE_1",
"hqd_bulky" "fridge_freezer": ["REF.ZONES.FRIDGE", " & ", "REF.ZONES.FREEZER"],
"hqd_casual" }
"hqd_cold_wind_30"
"hqd_cold_wind_timing"
"hqd_cotton"
"hqd_curtain"
"hqd_delicate"
"hqd_diaper"
"hqd_duvet"
"hqd_feather"
"hqd_hot_wind_timing"
"hqd_hygienic"
"hqd_i_refresh"
"hqd_i_refresh_pro"
"hqd_jacket"
"hqd_jeans"
"hqd_luxury"
"hqd_mix"
"hqd_night_dry"
"hqd_outdoor"
"hqd_precious_cure"
"hqd_quick_20"
"hqd_quick_30"
"hqd_quick_dry"
"hqd_quilt"
"hqd_refresh"
"hqd_school_uniform"
"hqd_shirt"
"hqd_shoes"
"hqd_silk"
"hqd_sports"
"hqd_synthetics"
"hqd_timer"
"hqd_towel"
"hqd_underwear"
"hqd_warm_up"
"hqd_wool"
"hqd_working_suit"
]
PROGRAMS_TD = [ PROGRAMS_TD = [
"active_dry", "active_dry",

View File

@ -1,11 +1,10 @@
import logging import logging
from datetime import timedelta from datetime import timedelta
from pyhon.appliance import HonAppliance
from homeassistant.helpers.entity import DeviceInfo from homeassistant.helpers.entity import DeviceInfo
from homeassistant.helpers.update_coordinator import CoordinatorEntity from homeassistant.helpers.update_coordinator import CoordinatorEntity
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator from homeassistant.helpers.update_coordinator import DataUpdateCoordinator
from pyhon.appliance import HonAppliance
from .const import DOMAIN from .const import DOMAIN
@ -15,13 +14,19 @@ _LOGGER = logging.getLogger(__name__)
class HonEntity(CoordinatorEntity): class HonEntity(CoordinatorEntity):
_attr_has_entity_name = True _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) super().__init__(coordinator)
self._hon = hass.data[DOMAIN][entry.unique_id] self._hon = hass.data[DOMAIN][entry.unique_id]
self._hass = hass self._hass = hass
self._coordinator = coordinator
self._device = device self._device = device
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 self._attr_unique_id = self._device.unique_id
@property @property
@ -59,3 +64,13 @@ def unique_entities(base_entities, new_entities):
if entity.key not in existing_entities: if entity.key not in existing_entities:
result.append(entity) result.append(entity)
return tuple(result) 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", "domain": "hon",
"name": "Haier hOn", "name": "Haier hOn",
"codeowners": ["@Andre0512"], "codeowners": [
"@Andre0512"
],
"config_flow": true, "config_flow": true,
"documentation": "https://github.com/Andre0512/hon/", "documentation": "https://github.com/Andre0512/hon/",
"iot_class": "cloud_polling", "iot_class": "cloud_polling",
"issue_tracker": "https://github.com/Andre0512/hon/issues", "issue_tracker": "https://github.com/Andre0512/hon/issues",
"requirements": ["pyhOn==0.10.6"], "requirements": [
"version": "0.7.3-beta.1" "pyhOn==0.11.3"
],
"version": "0.8.0-beta.7"
} }

View File

@ -1,9 +1,6 @@
from __future__ import annotations from __future__ import annotations
from pyhon import Hon from dataclasses import dataclass
from pyhon.parameter.base import HonParameter
from pyhon.parameter.fixed import HonParameterFixed
from pyhon.parameter.range import HonParameterRange
from homeassistant.components.number import ( from homeassistant.components.number import (
NumberEntity, NumberEntity,
@ -12,186 +9,188 @@ from homeassistant.components.number import (
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import UnitOfTime, UnitOfTemperature from homeassistant.const import UnitOfTime, UnitOfTemperature
from homeassistant.core import callback 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 .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, ...]] = { NUMBERS: dict[str, tuple[NumberEntityDescription, ...]] = {
"WM": ( "WM": (
NumberEntityDescription( HonConfigNumberEntityDescription(
key="startProgram.delayTime", key="startProgram.delayTime",
name="Delay Time", name="Delay Time",
icon="mdi:timer-plus", icon="mdi:timer-plus",
entity_category=EntityCategory.CONFIG,
native_unit_of_measurement=UnitOfTime.MINUTES, native_unit_of_measurement=UnitOfTime.MINUTES,
translation_key="delay_time", translation_key="delay_time",
), ),
NumberEntityDescription( HonConfigNumberEntityDescription(
key="startProgram.rinseIterations", key="startProgram.rinseIterations",
name="Rinse Iterations", name="Rinse Iterations",
icon="mdi:rotate-right", icon="mdi:rotate-right",
entity_category=EntityCategory.CONFIG,
translation_key="rinse_iterations", translation_key="rinse_iterations",
), ),
NumberEntityDescription( HonConfigNumberEntityDescription(
key="startProgram.mainWashTime", key="startProgram.mainWashTime",
name="Main Wash Time", name="Main Wash Time",
icon="mdi:clock-start", icon="mdi:clock-start",
entity_category=EntityCategory.CONFIG,
native_unit_of_measurement=UnitOfTime.MINUTES, native_unit_of_measurement=UnitOfTime.MINUTES,
translation_key="wash_time", translation_key="wash_time",
), ),
NumberEntityDescription( HonConfigNumberEntityDescription(
key="startProgram.steamLevel", key="startProgram.steamLevel",
name="Steam Level", name="Steam Level",
icon="mdi:weather-dust", icon="mdi:weather-dust",
entity_category=EntityCategory.CONFIG,
translation_key="steam_level", translation_key="steam_level",
), ),
NumberEntityDescription( HonConfigNumberEntityDescription(
key="startProgram.waterHard", key="startProgram.waterHard",
name="Water hard", name="Water hard",
icon="mdi:water", icon="mdi:water",
entity_category=EntityCategory.CONFIG,
translation_key="water_hard", translation_key="water_hard",
), ),
NumberEntityDescription( HonConfigNumberEntityDescription(
key="startProgram.lang", key="startProgram.lang",
name="lang", name="lang",
entity_category=EntityCategory.CONFIG,
), ),
), ),
"TD": ( "TD": (
NumberEntityDescription( HonConfigNumberEntityDescription(
key="startProgram.delayTime", key="startProgram.delayTime",
name="Delay time", name="Delay time",
icon="mdi:timer-plus", icon="mdi:timer-plus",
entity_category=EntityCategory.CONFIG,
native_unit_of_measurement=UnitOfTime.MINUTES, native_unit_of_measurement=UnitOfTime.MINUTES,
translation_key="delay_time", translation_key="delay_time",
), ),
NumberEntityDescription( HonConfigNumberEntityDescription(
key="startProgram.tempLevel", key="startProgram.tempLevel",
name="Temperature level", name="Temperature level",
entity_category=EntityCategory.CONFIG,
icon="mdi:thermometer", icon="mdi:thermometer",
translation_key="tumbledryertemplevel", translation_key="tumbledryertemplevel",
), ),
NumberEntityDescription( HonConfigNumberEntityDescription(
key="startProgram.dryTime", key="startProgram.dryTime",
name="Dry Time", name="Dry Time",
entity_category=EntityCategory.CONFIG,
translation_key="dry_time", translation_key="dry_time",
), ),
), ),
"OV": ( "OV": (
NumberEntityDescription( HonConfigNumberEntityDescription(
key="startProgram.delayTime", key="startProgram.delayTime",
name="Delay time", name="Delay time",
icon="mdi:timer-plus", icon="mdi:timer-plus",
entity_category=EntityCategory.CONFIG,
native_unit_of_measurement=UnitOfTime.MINUTES, native_unit_of_measurement=UnitOfTime.MINUTES,
translation_key="delay_time", translation_key="delay_time",
), ),
NumberEntityDescription( HonConfigNumberEntityDescription(
key="startProgram.tempSel", key="startProgram.tempSel",
name="Target Temperature", name="Target Temperature",
entity_category=EntityCategory.CONFIG,
icon="mdi:thermometer", icon="mdi:thermometer",
native_unit_of_measurement=UnitOfTemperature.CELSIUS, native_unit_of_measurement=UnitOfTemperature.CELSIUS,
translation_key="target_temperature", translation_key="target_temperature",
), ),
NumberEntityDescription( HonConfigNumberEntityDescription(
key="startProgram.prTime", key="startProgram.prTime",
name="Program Duration", name="Program Duration",
entity_category=EntityCategory.CONFIG,
icon="mdi:timelapse", icon="mdi:timelapse",
native_unit_of_measurement=UnitOfTime.MINUTES, native_unit_of_measurement=UnitOfTime.MINUTES,
translation_key="program_duration", translation_key="program_duration",
), ),
), ),
"IH": ( "IH": (
NumberEntityDescription( HonConfigNumberEntityDescription(
key="startProgram.temp", key="startProgram.temp",
name="Temperature", name="Temperature",
entity_category=EntityCategory.CONFIG,
icon="mdi:thermometer", icon="mdi:thermometer",
translation_key="temperature", translation_key="temperature",
), ),
NumberEntityDescription( HonConfigNumberEntityDescription(
key="startProgram.powerManagement", key="startProgram.powerManagement",
name="Power Management", name="Power Management",
entity_category=EntityCategory.CONFIG,
icon="mdi:timelapse", icon="mdi:timelapse",
translation_key="power_management", translation_key="power_management",
), ),
), ),
"DW": ( "DW": (
NumberEntityDescription( HonConfigNumberEntityDescription(
key="startProgram.delayTime", key="startProgram.delayTime",
name="Delay time", name="Delay time",
icon="mdi:timer-plus", icon="mdi:timer-plus",
entity_category=EntityCategory.CONFIG,
native_unit_of_measurement=UnitOfTime.MINUTES, native_unit_of_measurement=UnitOfTime.MINUTES,
translation_key="delay_time", translation_key="delay_time",
), ),
NumberEntityDescription( HonConfigNumberEntityDescription(
key="startProgram.waterHard", key="startProgram.waterHard",
name="Water hard", name="Water hard",
icon="mdi:water", icon="mdi:water",
entity_category=EntityCategory.CONFIG,
translation_key="water_hard", translation_key="water_hard",
), ),
), ),
"AC": ( "AC": (
NumberEntityDescription( HonNumberEntityDescription(
key="settings.tempSel", key="settings.tempSel",
name="Target Temperature", name="Target Temperature",
entity_category=EntityCategory.CONFIG,
icon="mdi:thermometer", icon="mdi:thermometer",
native_unit_of_measurement=UnitOfTemperature.CELSIUS, native_unit_of_measurement=UnitOfTemperature.CELSIUS,
translation_key="target_temperature", 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"]) NUMBERS["WD"] = unique_entities(NUMBERS["WM"], NUMBERS["TD"])
async def async_setup_entry(hass, entry: ConfigEntry, async_add_entities) -> None: async def async_setup_entry(hass, entry: ConfigEntry, async_add_entities) -> None:
hon: Hon = hass.data[DOMAIN][entry.unique_id] entities = []
coordinators = hass.data[DOMAIN]["coordinators"] for device in hass.data[DOMAIN][entry.unique_id].appliances:
appliances = [] for description in NUMBERS.get(device.appliance_type, []):
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: if description.key not in device.available_settings:
continue continue
appliances.extend( if isinstance(description, HonNumberEntityDescription):
[HonNumberEntity(hass, coordinator, entry, device, description)] entity = HonNumberEntity(hass, entry, device, description)
) elif isinstance(description, HonConfigNumberEntityDescription):
entity = HonConfigNumberEntity(hass, entry, device, description)
async_add_entities(appliances) else:
continue
await entity.coordinator.async_config_entry_first_refresh()
entities.append(entity)
async_add_entities(entities)
class HonNumberEntity(HonEntity, NumberEntity): class HonNumberEntity(HonEntity, NumberEntity):
def __init__(self, hass, coordinator, entry, device, description) -> None: entity_description: HonNumberEntityDescription
super().__init__(hass, entry, coordinator, device)
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._data = device.settings[description.key]
self.entity_description = description
self._attr_unique_id = f"{super().unique_id}{description.key}"
if isinstance(self._data, HonParameterRange): if isinstance(self._data, HonParameterRange):
self._attr_native_max_value = self._data.max self._attr_native_max_value = self._data.max
self._attr_native_min_value = self._data.min 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: async def async_set_native_value(self, value: float) -> None:
setting = self._device.settings[self.entity_description.key] setting = self._device.settings[self.entity_description.key]
if not ( if isinstance(setting, HonParameterRange):
isinstance(setting, HonParameter) or isinstance(setting, HonParameterFixed)
):
setting.value = value setting.value = value
if self._device.appliance_type in ["AC"]: command = self.entity_description.key.split(".")[0]
self._device.commands["startProgram"].send() await self._device.commands[command].send()
await self.coordinator.async_refresh() await self.coordinator.async_refresh()
@callback @callback
@ -220,3 +217,27 @@ class HonNumberEntity(HonEntity, NumberEntity):
self._attr_native_step = setting.step self._attr_native_step = setting.step
self._attr_native_value = setting.value self._attr_native_value = setting.value
self.async_write_ha_state() 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,152 +1,169 @@
from __future__ import annotations from __future__ import annotations
import logging import logging
import time from dataclasses import dataclass
from pyhon import Hon
from pyhon.appliance import HonAppliance
from pyhon.parameter.fixed import HonParameterFixed
from homeassistant.components.select import SelectEntity, SelectEntityDescription from homeassistant.components.select import SelectEntity, SelectEntityDescription
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import UnitOfTemperature, UnitOfTime, REVOLUTIONS_PER_MINUTE from homeassistant.const import UnitOfTemperature, UnitOfTime, REVOLUTIONS_PER_MINUTE
from homeassistant.core import callback 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 .const import DOMAIN
from .hon import HonEntity, HonCoordinator, unique_entities from .hon import HonEntity, unique_entities
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
@dataclass
class HonSelectEntityDescription(SelectEntityDescription):
pass
@dataclass
class HonConfigSelectEntityDescription(SelectEntityDescription):
entity_category: EntityCategory = EntityCategory.CONFIG
SELECTS = { SELECTS = {
"WM": ( "WM": (
SelectEntityDescription( HonConfigSelectEntityDescription(
key="startProgram.spinSpeed", key="startProgram.spinSpeed",
name="Spin speed", name="Spin speed",
entity_category=EntityCategory.CONFIG,
icon="mdi:numeric", icon="mdi:numeric",
unit_of_measurement=REVOLUTIONS_PER_MINUTE, unit_of_measurement=REVOLUTIONS_PER_MINUTE,
translation_key="spin_speed", translation_key="spin_speed",
), ),
SelectEntityDescription( HonConfigSelectEntityDescription(
key="startProgram.temp", key="startProgram.temp",
name="Temperature", name="Temperature",
entity_category=EntityCategory.CONFIG,
icon="mdi:thermometer", icon="mdi:thermometer",
unit_of_measurement=UnitOfTemperature.CELSIUS, unit_of_measurement=UnitOfTemperature.CELSIUS,
translation_key="temperature", translation_key="temperature",
), ),
SelectEntityDescription( HonConfigSelectEntityDescription(
key="startProgram.program", key="startProgram.program",
name="Program", name="Program",
entity_category=EntityCategory.CONFIG,
translation_key="programs_wm", translation_key="programs_wm",
), ),
), ),
"TD": ( "TD": (
SelectEntityDescription( HonConfigSelectEntityDescription(
key="startProgram.program", key="startProgram.program",
name="Program", name="Program",
entity_category=EntityCategory.CONFIG,
translation_key="programs_td", translation_key="programs_td",
), ),
SelectEntityDescription( HonConfigSelectEntityDescription(
key="startProgram.dryTimeMM", key="startProgram.dryTimeMM",
name="Dry Time", name="Dry Time",
entity_category=EntityCategory.CONFIG,
icon="mdi:timer", icon="mdi:timer",
unit_of_measurement=UnitOfTime.MINUTES, unit_of_measurement=UnitOfTime.MINUTES,
translation_key="dry_time", translation_key="dry_time",
), ),
SelectEntityDescription( HonConfigSelectEntityDescription(
key="startProgram.dryLevel", key="startProgram.dryLevel",
name="Dry level", name="Dry level",
entity_category=EntityCategory.CONFIG,
icon="mdi:hair-dryer", icon="mdi:hair-dryer",
translation_key="dry_levels", translation_key="dry_levels",
), ),
), ),
"OV": ( "OV": (
SelectEntityDescription( HonConfigSelectEntityDescription(
key="startProgram.program", key="startProgram.program",
name="Program", name="Program",
entity_category=EntityCategory.CONFIG,
translation_key="programs_ov", translation_key="programs_ov",
), ),
), ),
"IH": ( "IH": (
SelectEntityDescription( HonConfigSelectEntityDescription(
key="startProgram.program", key="startProgram.program",
name="Program", name="Program",
entity_category=EntityCategory.CONFIG,
translation_key="programs_ih", translation_key="programs_ih",
), ),
), ),
"DW": ( "DW": (
SelectEntityDescription( HonConfigSelectEntityDescription(
key="startProgram.program", key="startProgram.program",
name="Program", name="Program",
entity_category=EntityCategory.CONFIG,
translation_key="programs_dw", 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": ( "AC": (
SelectEntityDescription( HonSelectEntityDescription(
key="startProgram.program", key="startProgram.program",
name="Program", name="Program",
entity_category=EntityCategory.CONFIG,
translation_key="programs_ac", translation_key="programs_ac",
), ),
SelectEntityDescription( HonSelectEntityDescription(
key="settings.humanSensingStatus", key="settings.humanSensingStatus",
name="Eco Pilot", name="Eco Pilot",
icon="mdi:run", icon="mdi:run",
entity_category=EntityCategory.CONFIG,
translation_key="eco_pilot", 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"]) SELECTS["WD"] = unique_entities(SELECTS["WM"], SELECTS["TD"])
async def async_setup_entry(hass, entry: ConfigEntry, async_add_entities) -> None: async def async_setup_entry(hass, entry: ConfigEntry, async_add_entities) -> None:
hon: Hon = hass.data[DOMAIN][entry.unique_id] entities = []
coordinators = hass.data[DOMAIN]["coordinators"] for device in hass.data[DOMAIN][entry.unique_id].appliances:
appliances = [] for description in SELECTS.get(device.appliance_type, []):
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: if description.key not in device.available_settings:
continue continue
appliances.extend( if isinstance(description, HonSelectEntityDescription):
[HonSelectEntity(hass, coordinator, entry, device, description)] entity = HonSelectEntity(hass, entry, device, description)
) elif isinstance(description, HonConfigSelectEntityDescription):
async_add_entities(appliances) 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): class HonSelectEntity(HonEntity, SelectEntity):
def __init__( entity_description: HonSelectEntityDescription
self, hass, coordinator, entry, device: HonAppliance, description
) -> None:
super().__init__(hass, entry, coordinator, device)
self._coordinator = coordinator def __init__(self, hass, entry, device: HonAppliance, description) -> None:
self._device = device super().__init__(hass, entry, device, description)
self.entity_description = description
self._attr_unique_id = f"{super().unique_id}{description.key}"
if not isinstance(self._device.settings[description.key], HonParameterFixed): if not (setting := self._device.settings.get(description.key)):
self._attr_options: list[str] = device.settings[description.key].values self._attr_options: list[str] = []
elif not isinstance(setting, HonParameterFixed):
self._attr_options: list[str] = setting.values
else: else:
self._attr_options: list[str] = [device.settings[description.key].value] self._attr_options: list[str] = [setting.value]
@property @property
def current_option(self) -> str | None: def current_option(self) -> str | None:
@ -157,8 +174,8 @@ class HonSelectEntity(HonEntity, SelectEntity):
async def async_select_option(self, option: str) -> None: async def async_select_option(self, option: str) -> None:
self._device.settings[self.entity_description.key].value = option self._device.settings[self.entity_description.key].value = option
if self._device.appliance_type in ["AC"]: command = self.entity_description.key.split(".")[0]
self._device.commands["startProgram"].send() await self._device.commands[command].send()
await self.coordinator.async_refresh() await self.coordinator.async_refresh()
@callback @callback
@ -173,3 +190,25 @@ class HonSelectEntity(HonEntity, SelectEntity):
self._attr_options: list[str] = setting.values self._attr_options: list[str] = setting.values
self._attr_native_value = setting.value self._attr_native_value = setting.value
self.async_write_ha_state() 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 import logging
from dataclasses import dataclass
from pyhon import Hon
from homeassistant.components.sensor import ( from homeassistant.components.sensor import (
SensorEntity, SensorEntity,
@ -9,6 +8,7 @@ from homeassistant.components.sensor import (
SensorEntityDescription, SensorEntityDescription,
) )
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import PERCENTAGE
from homeassistant.const import ( from homeassistant.const import (
REVOLUTIONS_PER_MINUTE, REVOLUTIONS_PER_MINUTE,
UnitOfEnergy, UnitOfEnergy,
@ -21,18 +21,26 @@ from homeassistant.const import (
from homeassistant.core import callback from homeassistant.core import callback
from homeassistant.helpers.entity import EntityCategory from homeassistant.helpers.entity import EntityCategory
from homeassistant.helpers.typing import StateType from homeassistant.helpers.typing import StateType
from homeassistant.const import PERCENTAGE
from . import const from . import const
from .const import DOMAIN from .const import DOMAIN
from .hon import HonCoordinator, HonEntity, unique_entities from .hon import HonEntity, unique_entities
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
@dataclass
class HonConfigSensorEntityDescription(SensorEntityDescription):
entity_category: EntityCategory = EntityCategory.CONFIG
@dataclass
class HonSensorEntityDescription(SensorEntityDescription):
pass
SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = { SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
"WM": ( "WM": (
SensorEntityDescription( HonSensorEntityDescription(
key="prPhase", key="prPhase",
name="Program Phase", name="Program Phase",
icon="mdi:washing-machine", icon="mdi:washing-machine",
@ -40,7 +48,7 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
translation_key="program_phases_wm", translation_key="program_phases_wm",
options=list(const.WASHING_PR_PHASE), options=list(const.WASHING_PR_PHASE),
), ),
SensorEntityDescription( HonSensorEntityDescription(
key="totalElectricityUsed", key="totalElectricityUsed",
name="Total Power", name="Total Power",
device_class=SensorDeviceClass.ENERGY, device_class=SensorDeviceClass.ENERGY,
@ -48,7 +56,7 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR, native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR,
translation_key="energy_total", translation_key="energy_total",
), ),
SensorEntityDescription( HonSensorEntityDescription(
key="totalWaterUsed", key="totalWaterUsed",
name="Total Water", name="Total Water",
device_class=SensorDeviceClass.WATER, device_class=SensorDeviceClass.WATER,
@ -56,14 +64,14 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
native_unit_of_measurement=UnitOfVolume.LITERS, native_unit_of_measurement=UnitOfVolume.LITERS,
translation_key="water_total", translation_key="water_total",
), ),
SensorEntityDescription( HonSensorEntityDescription(
key="totalWashCycle", key="totalWashCycle",
name="Total Wash Cycle", name="Total Wash Cycle",
state_class=SensorStateClass.TOTAL_INCREASING, state_class=SensorStateClass.TOTAL_INCREASING,
icon="mdi:counter", icon="mdi:counter",
translation_key="cycles_total", translation_key="cycles_total",
), ),
SensorEntityDescription( HonSensorEntityDescription(
key="currentElectricityUsed", key="currentElectricityUsed",
name="Current Electricity Used", name="Current Electricity Used",
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
@ -72,23 +80,22 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
icon="mdi:lightning-bolt", icon="mdi:lightning-bolt",
translation_key="energy_current", translation_key="energy_current",
), ),
SensorEntityDescription( HonSensorEntityDescription(
key="currentWaterUsed", key="currentWaterUsed",
name="Current Water Used", name="Current Water Used",
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
icon="mdi:water", icon="mdi:water",
translation_key="water_current", translation_key="water_current",
), ),
SensorEntityDescription( HonConfigSensorEntityDescription(
key="startProgram.weight", key="startProgram.weight",
name="Suggested weight", name="Suggested weight",
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.CONFIG,
native_unit_of_measurement=UnitOfMass.KILOGRAMS, native_unit_of_measurement=UnitOfMass.KILOGRAMS,
icon="mdi:weight-kilogram", icon="mdi:weight-kilogram",
translation_key="suggested_load", translation_key="suggested_load",
), ),
SensorEntityDescription( HonSensorEntityDescription(
key="machMode", key="machMode",
name="Machine Status", name="Machine Status",
icon="mdi:information", icon="mdi:information",
@ -96,10 +103,10 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
translation_key="washing_modes", translation_key="washing_modes",
options=list(const.MACH_MODE), options=list(const.MACH_MODE),
), ),
SensorEntityDescription( HonSensorEntityDescription(
key="errors", name="Error", icon="mdi:math-log", translation_key="errors" key="errors", name="Error", icon="mdi:math-log", translation_key="errors"
), ),
SensorEntityDescription( HonSensorEntityDescription(
key="remainingTimeMM", key="remainingTimeMM",
name="Remaining Time", name="Remaining Time",
icon="mdi:timer", icon="mdi:timer",
@ -107,7 +114,7 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
native_unit_of_measurement=UnitOfTime.MINUTES, native_unit_of_measurement=UnitOfTime.MINUTES,
translation_key="remaining_time", translation_key="remaining_time",
), ),
SensorEntityDescription( HonSensorEntityDescription(
key="spinSpeed", key="spinSpeed",
name="Spin Speed", name="Spin Speed",
icon="mdi:speedometer", icon="mdi:speedometer",
@ -115,53 +122,48 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
native_unit_of_measurement=REVOLUTIONS_PER_MINUTE, native_unit_of_measurement=REVOLUTIONS_PER_MINUTE,
translation_key="spin_speed", translation_key="spin_speed",
), ),
SensorEntityDescription( HonConfigSensorEntityDescription(
key="startProgram.energyLabel", key="startProgram.energyLabel",
name="Energy Label", name="Energy Label",
icon="mdi:lightning-bolt-circle", icon="mdi:lightning-bolt-circle",
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.CONFIG,
translation_key="energy_label", translation_key="energy_label",
), ),
SensorEntityDescription( HonConfigSensorEntityDescription(
key="startProgram.liquidDetergentDose", key="startProgram.liquidDetergentDose",
name="Liquid Detergent Dose", name="Liquid Detergent Dose",
icon="mdi:cup-water", icon="mdi:cup-water",
entity_category=EntityCategory.CONFIG,
translation_key="det_liquid", translation_key="det_liquid",
), ),
SensorEntityDescription( HonConfigSensorEntityDescription(
key="startProgram.powderDetergentDose", key="startProgram.powderDetergentDose",
name="Powder Detergent Dose", name="Powder Detergent Dose",
icon="mdi:cup", icon="mdi:cup",
entity_category=EntityCategory.CONFIG,
translation_key="det_dust", translation_key="det_dust",
), ),
SensorEntityDescription( HonConfigSensorEntityDescription(
key="startProgram.remainingTime", key="startProgram.remainingTime",
name="Remaining Time", name="Remaining Time",
icon="mdi:timer", icon="mdi:timer",
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
native_unit_of_measurement=UnitOfTime.MINUTES, native_unit_of_measurement=UnitOfTime.MINUTES,
entity_category=EntityCategory.CONFIG,
translation_key="remaining_time", translation_key="remaining_time",
), ),
SensorEntityDescription( HonSensorEntityDescription(
key="dirtyLevel", key="dirtyLevel",
name="Dirt level", name="Dirt level",
icon="mdi:liquid-spot", icon="mdi:liquid-spot",
translation_key="dirt_level", translation_key="dirt_level",
), ),
SensorEntityDescription( HonConfigSensorEntityDescription(
key="startProgram.suggestedLoadW", key="startProgram.suggestedLoadW",
name="Suggested Load", name="Suggested Load",
icon="mdi:weight-kilogram", icon="mdi:weight-kilogram",
entity_category=EntityCategory.CONFIG,
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
native_unit_of_measurement=UnitOfMass.KILOGRAMS, native_unit_of_measurement=UnitOfMass.KILOGRAMS,
translation_key="suggested_load", translation_key="suggested_load",
), ),
SensorEntityDescription( HonSensorEntityDescription(
key="temp", key="temp",
name="Current Temperature", name="Current Temperature",
icon="mdi:thermometer", icon="mdi:thermometer",
@ -171,7 +173,7 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
), ),
), ),
"TD": ( "TD": (
SensorEntityDescription( HonSensorEntityDescription(
key="machMode", key="machMode",
name="Machine Status", name="Machine Status",
icon="mdi:information", icon="mdi:information",
@ -179,10 +181,10 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
translation_key="washing_modes", translation_key="washing_modes",
options=list(const.MACH_MODE), options=list(const.MACH_MODE),
), ),
SensorEntityDescription( HonSensorEntityDescription(
key="errors", name="Error", icon="mdi:math-log", translation_key="errors" key="errors", name="Error", icon="mdi:math-log", translation_key="errors"
), ),
SensorEntityDescription( HonSensorEntityDescription(
key="remainingTimeMM", key="remainingTimeMM",
name="Remaining Time", name="Remaining Time",
icon="mdi:timer", icon="mdi:timer",
@ -190,7 +192,7 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
native_unit_of_measurement=UnitOfTime.MINUTES, native_unit_of_measurement=UnitOfTime.MINUTES,
translation_key="remaining_time", translation_key="remaining_time",
), ),
SensorEntityDescription( HonSensorEntityDescription(
key="delayTime", key="delayTime",
name="Start Time", name="Start Time",
icon="mdi:clock-start", icon="mdi:clock-start",
@ -198,7 +200,7 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
native_unit_of_measurement=UnitOfTime.MINUTES, native_unit_of_measurement=UnitOfTime.MINUTES,
translation_key="delay_time", translation_key="delay_time",
), ),
SensorEntityDescription( HonSensorEntityDescription(
key="programName", key="programName",
name="Program", name="Program",
icon="mdi:tumble-dryer", icon="mdi:tumble-dryer",
@ -206,7 +208,7 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
translation_key="programs_td", translation_key="programs_td",
options=const.PROGRAMS_TD, options=const.PROGRAMS_TD,
), ),
SensorEntityDescription( HonSensorEntityDescription(
key="prPhase", key="prPhase",
name="Program Phase", name="Program Phase",
icon="mdi:washing-machine", icon="mdi:washing-machine",
@ -214,7 +216,7 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
translation_key="program_phases_td", translation_key="program_phases_td",
options=list(const.TUMBLE_DRYER_PR_PHASE), options=list(const.TUMBLE_DRYER_PR_PHASE),
), ),
SensorEntityDescription( HonSensorEntityDescription(
key="dryLevel", key="dryLevel",
name="Dry level", name="Dry level",
icon="mdi:hair-dryer", icon="mdi:hair-dryer",
@ -222,58 +224,54 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
translation_key="dry_levels", translation_key="dry_levels",
options=list(const.TUMBLE_DRYER_DRY_LEVEL), options=list(const.TUMBLE_DRYER_DRY_LEVEL),
), ),
SensorEntityDescription( HonSensorEntityDescription(
key="tempLevel", key="tempLevel",
name="Temperature level", name="Temperature level",
icon="mdi:thermometer", icon="mdi:thermometer",
translation_key="tumbledryertemplevel", translation_key="tumbledryertemplevel",
), ),
SensorEntityDescription( HonConfigSensorEntityDescription(
key="startProgram.suggestedLoadD", key="startProgram.suggestedLoadD",
name="Suggested Load", name="Suggested Load",
icon="mdi:weight-kilogram", icon="mdi:weight-kilogram",
entity_category=EntityCategory.CONFIG,
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
native_unit_of_measurement=UnitOfMass.KILOGRAMS, native_unit_of_measurement=UnitOfMass.KILOGRAMS,
translation_key="suggested_load", translation_key="suggested_load",
), ),
SensorEntityDescription( HonConfigSensorEntityDescription(
key="startProgram.energyLabel", key="startProgram.energyLabel",
name="Energy Label", name="Energy Label",
icon="mdi:lightning-bolt-circle", icon="mdi:lightning-bolt-circle",
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.CONFIG,
translation_key="energy_label", translation_key="energy_label",
), ),
SensorEntityDescription( HonConfigSensorEntityDescription(
key="startProgram.steamLevel", key="startProgram.steamLevel",
name="Steam level", name="Steam level",
icon="mdi:smoke", icon="mdi:smoke",
entity_category=EntityCategory.CONFIG,
translation_key="steam_level", translation_key="steam_level",
), ),
SensorEntityDescription( HonSensorEntityDescription(
key="steamLevel", key="steamLevel",
name="Steam level", name="Steam level",
icon="mdi:smoke", icon="mdi:smoke",
translation_key="steam_level", translation_key="steam_level",
), ),
SensorEntityDescription( HonConfigSensorEntityDescription(
key="steamType", key="steamType",
name="Steam Type", name="Steam Type",
icon="mdi:weather-dust", icon="mdi:weather-dust",
entity_category=EntityCategory.CONFIG,
), ),
), ),
"OV": ( "OV": (
SensorEntityDescription( HonSensorEntityDescription(
key="remainingTimeMM", key="remainingTimeMM",
name="Remaining Time", name="Remaining Time",
icon="mdi:timer", icon="mdi:timer",
native_unit_of_measurement=UnitOfTime.MINUTES, native_unit_of_measurement=UnitOfTime.MINUTES,
translation_key="remaining_time", translation_key="remaining_time",
), ),
SensorEntityDescription( HonSensorEntityDescription(
key="delayTime", key="delayTime",
name="Start Time", name="Start Time",
icon="mdi:clock-start", icon="mdi:clock-start",
@ -281,13 +279,13 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
native_unit_of_measurement=UnitOfTime.MINUTES, native_unit_of_measurement=UnitOfTime.MINUTES,
translation_key="delay_time", translation_key="delay_time",
), ),
SensorEntityDescription( HonSensorEntityDescription(
key="temp", key="temp",
name="Temperature", name="Temperature",
icon="mdi:thermometer", icon="mdi:thermometer",
translation_key="temperature", translation_key="temperature",
), ),
SensorEntityDescription( HonSensorEntityDescription(
key="tempSel", key="tempSel",
name="Temperature Selected", name="Temperature Selected",
icon="mdi:thermometer", icon="mdi:thermometer",
@ -295,14 +293,14 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
), ),
), ),
"IH": ( "IH": (
SensorEntityDescription( HonSensorEntityDescription(
key="remainingTimeMM", key="remainingTimeMM",
name="Remaining Time", name="Remaining Time",
icon="mdi:timer", icon="mdi:timer",
native_unit_of_measurement=UnitOfTime.MINUTES, native_unit_of_measurement=UnitOfTime.MINUTES,
translation_key="remaining_time", translation_key="remaining_time",
), ),
SensorEntityDescription( HonSensorEntityDescription(
key="temp", key="temp",
name="Temperature", name="Temperature",
icon="mdi:thermometer", icon="mdi:thermometer",
@ -310,10 +308,10 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
native_unit_of_measurement=UnitOfTemperature.CELSIUS, native_unit_of_measurement=UnitOfTemperature.CELSIUS,
translation_key="temperature", translation_key="temperature",
), ),
SensorEntityDescription( HonSensorEntityDescription(
key="errors", name="Error", icon="mdi:math-log", translation_key="errors" key="errors", name="Error", icon="mdi:math-log", translation_key="errors"
), ),
SensorEntityDescription( HonSensorEntityDescription(
key="power", key="power",
name="Power", name="Power",
icon="mdi:lightning-bolt", icon="mdi:lightning-bolt",
@ -322,57 +320,51 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
), ),
), ),
"DW": ( "DW": (
SensorEntityDescription( HonConfigSensorEntityDescription(
key="startProgram.ecoIndex", key="startProgram.ecoIndex",
name="Eco Index", name="Eco Index",
icon="mdi:sprout", icon="mdi:sprout",
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.CONFIG,
), ),
SensorEntityDescription( HonConfigSensorEntityDescription(
key="startProgram.waterEfficiency", key="startProgram.waterEfficiency",
name="Water Efficiency", name="Water Efficiency",
icon="mdi:water", icon="mdi:water",
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.CONFIG,
translation_key="water_efficiency", translation_key="water_efficiency",
), ),
SensorEntityDescription( HonConfigSensorEntityDescription(
key="startProgram.waterSaving", key="startProgram.waterSaving",
name="Water Saving", name="Water Saving",
icon="mdi:water-percent", icon="mdi:water-percent",
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
native_unit_of_measurement=PERCENTAGE, native_unit_of_measurement=PERCENTAGE,
entity_category=EntityCategory.CONFIG,
translation_key="water_saving", translation_key="water_saving",
), ),
SensorEntityDescription( HonConfigSensorEntityDescription(
key="startProgram.temp", key="startProgram.temp",
name="Temperature", name="Temperature",
icon="mdi:thermometer", icon="mdi:thermometer",
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
native_unit_of_measurement=UnitOfTemperature.CELSIUS, native_unit_of_measurement=UnitOfTemperature.CELSIUS,
entity_category=EntityCategory.CONFIG,
translation_key="temperature", translation_key="temperature",
), ),
SensorEntityDescription( HonConfigSensorEntityDescription(
key="startProgram.energyLabel", key="startProgram.energyLabel",
name="Energy Label", name="Energy Label",
icon="mdi:lightning-bolt-circle", icon="mdi:lightning-bolt-circle",
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.CONFIG,
translation_key="energy_label", translation_key="energy_label",
), ),
SensorEntityDescription( HonConfigSensorEntityDescription(
key="startProgram.remainingTime", key="startProgram.remainingTime",
name="Time", name="Time",
icon="mdi:timer", icon="mdi:timer",
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
native_unit_of_measurement=UnitOfTime.MINUTES, native_unit_of_measurement=UnitOfTime.MINUTES,
entity_category=EntityCategory.CONFIG,
translation_key="duration", translation_key="duration",
), ),
SensorEntityDescription( HonSensorEntityDescription(
key="machMode", key="machMode",
name="Machine Status", name="Machine Status",
icon="mdi:information", icon="mdi:information",
@ -380,10 +372,10 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
translation_key="washing_modes", translation_key="washing_modes",
options=list(const.MACH_MODE), options=list(const.MACH_MODE),
), ),
SensorEntityDescription( HonSensorEntityDescription(
key="errors", name="Error", icon="mdi:math-log", translation_key="errors" key="errors", name="Error", icon="mdi:math-log", translation_key="errors"
), ),
SensorEntityDescription( HonSensorEntityDescription(
key="remainingTimeMM", key="remainingTimeMM",
name="Remaining Time", name="Remaining Time",
icon="mdi:timer", icon="mdi:timer",
@ -391,7 +383,7 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
native_unit_of_measurement=UnitOfTime.MINUTES, native_unit_of_measurement=UnitOfTime.MINUTES,
translation_key="remaining_time", translation_key="remaining_time",
), ),
SensorEntityDescription( HonSensorEntityDescription(
key="prPhase", key="prPhase",
name="Program Phase", name="Program Phase",
icon="mdi:washing-machine", icon="mdi:washing-machine",
@ -400,50 +392,139 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
options=list(const.DISHWASHER_PR_PHASE), 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"]) SENSORS["WD"] = unique_entities(SENSORS["WM"], SENSORS["TD"])
async def async_setup_entry(hass, entry: ConfigEntry, async_add_entities) -> None: async def async_setup_entry(hass, entry: ConfigEntry, async_add_entities) -> None:
hon: Hon = hass.data[DOMAIN][entry.unique_id] entities = []
coordinators = hass.data[DOMAIN]["coordinators"] for device in hass.data[DOMAIN][entry.unique_id].appliances:
appliances = [] for description in SENSORS.get(device.appliance_type, []):
for device in hon.appliances: if isinstance(description, HonSensorEntityDescription):
if device.unique_id in coordinators: if not device.get(description.key):
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
):
continue continue
appliances.extend( entity = HonSensorEntity(hass, entry, device, description)
[HonSensorEntity(hass, coordinator, 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): class HonSensorEntity(HonEntity, SensorEntity):
def __init__(self, hass, coordinator, entry, device, description) -> None: entity_description: HonSensorEntityDescription
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
@callback @callback
def _handle_coordinator_update(self): def _handle_coordinator_update(self):
@ -452,3 +533,21 @@ class HonSensorEntity(HonEntity, SensorEntity):
self._attr_native_value = 0 self._attr_native_value = 0
self._attr_native_value = value self._attr_native_value = value
self.async_write_ha_state() 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.components.switch import SwitchEntityDescription, SwitchEntity
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import EntityCategory from homeassistant.const import EntityCategory
from pyhon import Hon from homeassistant.core import callback
from pyhon.appliance import HonAppliance from pyhon.parameter.base import HonParameter
from pyhon.parameter.range import HonParameterRange from pyhon.parameter.range import HonParameterRange
from .const import DOMAIN from .const import DOMAIN
from .hon import HonCoordinator, HonEntity, unique_entities from .hon import HonEntity, unique_entities
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
@ -22,15 +22,24 @@ class HonSwitchEntityDescriptionMixin:
@dataclass @dataclass
class HonSwitchEntityDescription( class HonControlSwitchEntityDescription(
HonSwitchEntityDescriptionMixin, SwitchEntityDescription HonSwitchEntityDescriptionMixin, SwitchEntityDescription
): ):
pass pass
class HonSwitchEntityDescription(SwitchEntityDescription):
pass
@dataclass
class HonConfigSwitchEntityDescription(SwitchEntityDescription):
entity_category: EntityCategory = EntityCategory.CONFIG
SWITCHES: dict[str, tuple[HonSwitchEntityDescription, ...]] = { SWITCHES: dict[str, tuple[HonSwitchEntityDescription, ...]] = {
"WM": ( "WM": (
HonSwitchEntityDescription( HonControlSwitchEntityDescription(
key="active", key="active",
name="Washing Machine", name="Washing Machine",
icon="mdi:washing-machine", icon="mdi:washing-machine",
@ -38,7 +47,7 @@ SWITCHES: dict[str, tuple[HonSwitchEntityDescription, ...]] = {
turn_off_key="stopProgram", turn_off_key="stopProgram",
translation_key="washing_machine", translation_key="washing_machine",
), ),
HonSwitchEntityDescription( HonControlSwitchEntityDescription(
key="pause", key="pause",
name="Pause Washing Machine", name="Pause Washing Machine",
icon="mdi:pause", icon="mdi:pause",
@ -46,72 +55,69 @@ SWITCHES: dict[str, tuple[HonSwitchEntityDescription, ...]] = {
turn_off_key="resumeProgram", turn_off_key="resumeProgram",
translation_key="pause", translation_key="pause",
), ),
HonSwitchEntityDescription( HonConfigSwitchEntityDescription(
key="startProgram.delayStatus", key="startProgram.delayStatus",
name="Delay Status", name="Delay Status",
icon="mdi:timer-check", icon="mdi:timer-check",
entity_category=EntityCategory.CONFIG,
translation_key="delay_time", translation_key="delay_time",
), ),
HonSwitchEntityDescription( HonConfigSwitchEntityDescription(
key="startProgram.haier_SoakPrewashSelection", key="startProgram.haier_SoakPrewashSelection",
name="Soak Prewash Selection", name="Soak Prewash Selection",
icon="mdi:tshirt-crew", icon="mdi:tshirt-crew",
entity_category=EntityCategory.CONFIG,
translation_key="prewash", translation_key="prewash",
), ),
HonSwitchEntityDescription( HonConfigSwitchEntityDescription(
key="startProgram.autoSoftenerStatus", key="startProgram.permanentPressStatus",
name="Keep Fresh", name="Keep Fresh",
entity_category=EntityCategory.CONFIG,
icon="mdi:refresh-circle", icon="mdi:refresh-circle",
translation_key="keep_fresh", translation_key="keep_fresh",
), ),
HonSwitchEntityDescription( HonConfigSwitchEntityDescription(
key="startProgram.autoDetergentStatus", key="startProgram.autoSoftenerStatus",
name="Auto Dose", name="Auto Dose Softener",
entity_category=EntityCategory.CONFIG, icon="mdi:teddy-bear",
icon="mdi:cup", translation_key="auto_dose_softener",
translation_key="auto_dose",
), ),
HonSwitchEntityDescription( HonConfigSwitchEntityDescription(
key="startProgram.autoDetergentStatus",
name="Auto Dose Detergent",
icon="mdi:cup",
translation_key="auto_dose_detergent",
),
HonConfigSwitchEntityDescription(
key="startProgram.acquaplus", key="startProgram.acquaplus",
name="Acqua Plus", name="Acqua Plus",
entity_category=EntityCategory.CONFIG,
icon="mdi:water-plus", icon="mdi:water-plus",
translation_key="acqua_plus", translation_key="acqua_plus",
), ),
HonSwitchEntityDescription( HonConfigSwitchEntityDescription(
key="startProgram.extraRinse1", key="startProgram.extraRinse1",
name="Extra Rinse 1", name="Extra Rinse 1",
entity_category=EntityCategory.CONFIG,
icon="mdi:numeric-1-box-multiple-outline", icon="mdi:numeric-1-box-multiple-outline",
translation_key="extra_rinse_1", translation_key="extra_rinse_1",
), ),
HonSwitchEntityDescription( HonConfigSwitchEntityDescription(
key="startProgram.extraRinse2", key="startProgram.extraRinse2",
name="Extra Rinse 2", name="Extra Rinse 2",
entity_category=EntityCategory.CONFIG,
icon="mdi:numeric-2-box-multiple-outline", icon="mdi:numeric-2-box-multiple-outline",
translation_key="extra_rinse_2", translation_key="extra_rinse_2",
), ),
HonSwitchEntityDescription( HonConfigSwitchEntityDescription(
key="startProgram.extraRinse3", key="startProgram.extraRinse3",
name="Extra Rinse 3", name="Extra Rinse 3",
entity_category=EntityCategory.CONFIG,
icon="mdi:numeric-3-box-multiple-outline", icon="mdi:numeric-3-box-multiple-outline",
translation_key="extra_rinse_3", translation_key="extra_rinse_3",
), ),
HonSwitchEntityDescription( HonConfigSwitchEntityDescription(
key="startProgram.goodNight", key="startProgram.goodNight",
name="Good Night", name="Good Night",
icon="mdi:weather-night", icon="mdi:weather-night",
entity_category=EntityCategory.CONFIG,
translation_key="good_night", translation_key="good_night",
), ),
), ),
"TD": ( "TD": (
HonSwitchEntityDescription( HonControlSwitchEntityDescription(
key="active", key="active",
name="Tumble Dryer", name="Tumble Dryer",
icon="mdi:tumble-dryer", icon="mdi:tumble-dryer",
@ -119,7 +125,7 @@ SWITCHES: dict[str, tuple[HonSwitchEntityDescription, ...]] = {
turn_off_key="stopProgram", turn_off_key="stopProgram",
translation_key="tumble_dryer", translation_key="tumble_dryer",
), ),
HonSwitchEntityDescription( HonControlSwitchEntityDescription(
key="pause", key="pause",
name="Pause Tumble Dryer", name="Pause Tumble Dryer",
icon="mdi:pause", icon="mdi:pause",
@ -127,29 +133,26 @@ SWITCHES: dict[str, tuple[HonSwitchEntityDescription, ...]] = {
turn_off_key="resumeProgram", turn_off_key="resumeProgram",
translation_key="pause", translation_key="pause",
), ),
HonSwitchEntityDescription( HonConfigSwitchEntityDescription(
key="startProgram.sterilizationStatus", key="startProgram.sterilizationStatus",
name="Sterilization", name="Sterilization",
icon="mdi:clock-start", icon="mdi:clock-start",
entity_category=EntityCategory.CONFIG,
), ),
HonSwitchEntityDescription( HonConfigSwitchEntityDescription(
key="startProgram.antiCreaseTime", key="startProgram.antiCreaseTime",
name="Anti-Crease", name="Anti-Crease",
entity_category=EntityCategory.CONFIG,
icon="mdi:timer", icon="mdi:timer",
translation_key="anti_crease", translation_key="anti_crease",
), ),
HonSwitchEntityDescription( HonConfigSwitchEntityDescription(
key="startProgram.anticrease", key="startProgram.anticrease",
name="Anti-Crease", name="Anti-Crease",
entity_category=EntityCategory.CONFIG,
icon="mdi:timer", icon="mdi:timer",
translation_key="anti_crease", translation_key="anti_crease",
), ),
), ),
"OV": ( "OV": (
HonSwitchEntityDescription( HonControlSwitchEntityDescription(
key="active", key="active",
name="Oven", name="Oven",
icon="mdi:toaster-oven", icon="mdi:toaster-oven",
@ -157,16 +160,15 @@ SWITCHES: dict[str, tuple[HonSwitchEntityDescription, ...]] = {
turn_off_key="stopProgram", turn_off_key="stopProgram",
translation_key="oven", translation_key="oven",
), ),
HonSwitchEntityDescription( HonConfigSwitchEntityDescription(
key="startProgram.preheatStatus", key="startProgram.preheatStatus",
name="Preheat", name="Preheat",
icon="mdi:thermometer-chevron-up", icon="mdi:thermometer-chevron-up",
entity_category=EntityCategory.CONFIG,
translation_key="preheat", translation_key="preheat",
), ),
), ),
"WD": ( "WD": (
HonSwitchEntityDescription( HonControlSwitchEntityDescription(
key="active", key="active",
name="Washer Dryer", name="Washer Dryer",
icon="mdi:washing-machine", icon="mdi:washing-machine",
@ -174,7 +176,7 @@ SWITCHES: dict[str, tuple[HonSwitchEntityDescription, ...]] = {
turn_off_key="stopProgram", turn_off_key="stopProgram",
translation_key="washer_dryer", translation_key="washer_dryer",
), ),
HonSwitchEntityDescription( HonControlSwitchEntityDescription(
key="pause", key="pause",
name="Pause Washer Dryer", name="Pause Washer Dryer",
icon="mdi:pause", icon="mdi:pause",
@ -184,7 +186,7 @@ SWITCHES: dict[str, tuple[HonSwitchEntityDescription, ...]] = {
), ),
), ),
"DW": ( "DW": (
HonSwitchEntityDescription( HonControlSwitchEntityDescription(
key="active", key="active",
name="Dish Washer", name="Dish Washer",
icon="mdi:dishwasher", icon="mdi:dishwasher",
@ -192,117 +194,133 @@ SWITCHES: dict[str, tuple[HonSwitchEntityDescription, ...]] = {
turn_off_key="stopProgram", turn_off_key="stopProgram",
translation_key="dish_washer", translation_key="dish_washer",
), ),
HonSwitchEntityDescription( HonConfigSwitchEntityDescription(
key="startProgram.extraDry", key="startProgram.extraDry",
name="Extra Dry", name="Extra Dry",
icon="mdi:hair-dryer", icon="mdi:hair-dryer",
entity_category=EntityCategory.CONFIG,
translation_key="extra_dry", translation_key="extra_dry",
), ),
HonSwitchEntityDescription( HonConfigSwitchEntityDescription(
key="startProgram.halfLoad", key="startProgram.halfLoad",
name="Half Load", name="Half Load",
icon="mdi:fraction-one-half", icon="mdi:fraction-one-half",
entity_category=EntityCategory.CONFIG,
translation_key="half_load", translation_key="half_load",
), ),
HonSwitchEntityDescription( HonConfigSwitchEntityDescription(
key="startProgram.openDoor", key="startProgram.openDoor",
name="Open Door", name="Open Door",
icon="mdi:door-open", icon="mdi:door-open",
entity_category=EntityCategory.CONFIG,
translation_key="open_door", translation_key="open_door",
), ),
HonSwitchEntityDescription( HonConfigSwitchEntityDescription(
key="startProgram.threeInOne", key="startProgram.threeInOne",
name="Three in One", name="Three in One",
icon="mdi:numeric-3-box-outline", icon="mdi:numeric-3-box-outline",
entity_category=EntityCategory.CONFIG,
translation_key="three_in_one", translation_key="three_in_one",
), ),
HonSwitchEntityDescription( HonConfigSwitchEntityDescription(
key="startProgram.ecoExpress", key="startProgram.ecoExpress",
name="Eco Express", name="Eco Express",
icon="mdi:sprout", icon="mdi:sprout",
entity_category=EntityCategory.CONFIG,
translation_key="eco", translation_key="eco",
), ),
HonSwitchEntityDescription( HonConfigSwitchEntityDescription(
key="startProgram.addDish", key="startProgram.addDish",
name="Add Dish", name="Add Dish",
icon="mdi:silverware-fork-knife", icon="mdi:silverware-fork-knife",
entity_category=EntityCategory.CONFIG,
translation_key="add_dish", translation_key="add_dish",
), ),
HonSwitchEntityDescription(
key="buzzerDisabled",
name="Buzzer Disabled",
icon="mdi:volume-off",
translation_key="buzzer",
),
), ),
"AC": ( "AC": (
HonSwitchEntityDescription( HonSwitchEntityDescription(
key="settings.10degreeHeatingStatus", key="10degreeHeatingStatus",
name="10° Heating", name="10° Heating",
icon="mdi:heat-wave", icon="mdi:heat-wave",
entity_category=EntityCategory.CONFIG,
translation_key="10_degree_heating", translation_key="10_degree_heating",
), ),
HonSwitchEntityDescription( HonSwitchEntityDescription(
key="settings.echoStatus", key="echoStatus",
name="Echo", name="Echo",
icon="mdi:account-voice", icon="mdi:account-voice",
entity_category=EntityCategory.CONFIG,
), ),
HonSwitchEntityDescription( HonSwitchEntityDescription(
key="settings.ecoMode", key="ecoMode",
name="Eco Mode", name="Eco Mode",
entity_category=EntityCategory.CONFIG,
translation_key="eco_mode", translation_key="eco_mode",
), ),
HonSwitchEntityDescription( HonSwitchEntityDescription(
key="settings.healthMode", key="healthMode",
name="Health Mode", name="Health Mode",
icon="mdi:medication-outline", icon="mdi:medication-outline",
entity_category=EntityCategory.CONFIG,
), ),
HonSwitchEntityDescription( HonSwitchEntityDescription(
key="settings.muteStatus", key="muteStatus",
name="Mute", name="Mute",
icon="mdi:volume-off", icon="mdi:volume-off",
entity_category=EntityCategory.CONFIG,
translation_key="mute_mode", translation_key="mute_mode",
), ),
HonSwitchEntityDescription( HonSwitchEntityDescription(
key="settings.rapidMode", key="rapidMode",
name="Rapid Mode", name="Rapid Mode",
icon="mdi:run-fast", icon="mdi:run-fast",
entity_category=EntityCategory.CONFIG,
translation_key="rapid_mode", translation_key="rapid_mode",
), ),
HonSwitchEntityDescription( HonSwitchEntityDescription(
key="settings.screenDisplayStatus", key="screenDisplayStatus",
name="Screen Display", name="Screen Display",
icon="mdi:monitor-small", icon="mdi:monitor-small",
entity_category=EntityCategory.CONFIG,
), ),
HonSwitchEntityDescription( HonSwitchEntityDescription(
key="settings.selfCleaning56Status", key="selfCleaning56Status",
name="Self Cleaning 56", name="Self Cleaning 56",
icon="mdi:air-filter", icon="mdi:air-filter",
entity_category=EntityCategory.CONFIG,
translation_key="self_clean_56", translation_key="self_clean_56",
), ),
HonSwitchEntityDescription( HonSwitchEntityDescription(
key="settings.selfCleaningStatus", key="selfCleaningStatus",
name="Self Cleaning", name="Self Cleaning",
icon="mdi:air-filter", icon="mdi:air-filter",
entity_category=EntityCategory.CONFIG,
translation_key="self_clean", translation_key="self_clean",
), ),
HonSwitchEntityDescription( HonSwitchEntityDescription(
key="settings.silentSleepStatus", key="silentSleepStatus",
name="Silent Sleep", name="Silent Sleep",
icon="mdi:bed", icon="mdi:bed",
entity_category=EntityCategory.CONFIG,
translation_key="silent_mode", 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"]) SWITCHES["WD"] = unique_entities(SWITCHES["WD"], SWITCHES["WM"])
@ -310,95 +328,133 @@ SWITCHES["WD"] = unique_entities(SWITCHES["WD"], SWITCHES["TD"])
async def async_setup_entry(hass, entry: ConfigEntry, async_add_entities) -> None: async def async_setup_entry(hass, entry: ConfigEntry, async_add_entities) -> None:
hon: Hon = hass.data[DOMAIN][entry.unique_id] entities = []
coordinators = hass.data[DOMAIN]["coordinators"] for device in hass.data[DOMAIN][entry.unique_id].appliances:
appliances = [] for description in SWITCHES.get(device.appliance_type, []):
for device in hon.appliances: if isinstance(description, HonConfigSwitchEntityDescription):
if device.unique_id in coordinators: if description.key not in device.available_settings:
coordinator = hass.data[DOMAIN]["coordinators"][device.unique_id] continue
else: entity = HonConfigSwitchEntity(hass, entry, device, description)
coordinator = HonCoordinator(hass, device) elif isinstance(description, HonControlSwitchEntityDescription):
hass.data[DOMAIN]["coordinators"][device.unique_id] = coordinator if not (
await coordinator.async_config_entry_first_refresh()
if descriptions := SWITCHES.get(device.appliance_type):
for description in descriptions:
if (
description.entity_category == EntityCategory.CONFIG
and description.key not in device.available_settings
or not any(
device.get(description.key) is not None device.get(description.key) is not None
or description.turn_on_key in list(device.commands) or description.turn_on_key in list(device.commands)
or description.turn_off_key in list(device.commands) or description.turn_off_key in list(device.commands)
)
): ):
continue continue
appliances.extend( entity = HonControlSwitchEntity(hass, entry, device, description)
[HonSwitchEntity(hass, coordinator, 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): class HonSwitchEntity(HonEntity, SwitchEntity):
entity_description: HonSwitchEntityDescription entity_description: HonSwitchEntityDescription
def __init__( @property
self, def is_on(self) -> bool | None:
hass, """Return True if entity is on."""
coordinator, return self._device.get(self.entity_description.key, "0") == "1"
entry,
device: HonAppliance, async def async_turn_on(self, **kwargs: Any) -> None:
description: HonSwitchEntityDescription, setting = self._device.settings[f"settings.{self.entity_description.key}"]
) -> None: if type(setting) == HonParameter:
super().__init__(hass, entry, coordinator, device) return
self._coordinator = coordinator setting.value = setting.max if isinstance(setting, HonParameterRange) else "1"
self._device = device self.async_write_ha_state()
self.entity_description = description await self._device.commands["settings"].send()
self._attr_unique_id = f"{super().unique_id}{description.key}" 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 @property
def is_on(self) -> bool | None: def is_on(self) -> bool | None:
"""Return True if entity is on.""" """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) return self._device.get(self.entity_description.key, False)
async def async_turn_on(self, **kwargs: Any) -> None: async def async_turn_on(self, **kwargs: Any) -> None:
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: 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 @property
def available(self) -> bool: def available(self) -> bool:
"""Return True if entity is available.""" """Return True if entity is available."""
if self.entity_category == EntityCategory.CONFIG: return (
return super().available super().available
else: and self._device.get("remoteCtrValid", "1") == "1"
return super().available and self._device.get("remoteCtrValid") == "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_precious_cure": "Precious cure",
"hqd_quick_20": "Rychlý 20", "hqd_quick_20": "Rychlý 20",
"hqd_quick_30": "Rychlý 30", "hqd_quick_30": "Rychlý 30",
"hqd_quick_dry": "Rychlé sušení", "hqd_quick_dry": "Rychlé sušení 30",
"hqd_quilt": "Deky", "hqd_quilt": "Deky",
"hqd_refresh": "Osvěžení", "hqd_refresh": "Osvěžení",
"hqd_school_uniform": "Školní uniformy", "hqd_school_uniform": "Školní uniformy",
@ -307,6 +307,18 @@
"xxl_load": "XXL náplň", "xxl_load": "XXL náplň",
"zoom_59": "Zoom 59" "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": { "select": {
@ -397,6 +409,11 @@
"silent": "Noc", "silent": "Noc",
"silent_care": "Silent Care", "silent_care": "Silent Care",
"smart_ai": "Smart AI", "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": "speciální",
"special_pw_prz": "speciální", "special_pw_prz": "speciální",
"steam": "Parní 75 °C", "steam": "Parní 75 °C",
@ -453,19 +470,20 @@
"programs_ov": { "programs_ov": {
"state": { "state": {
"bakery": "Těstoviny a pečivo", "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": "Spodní ohřev",
"bottom_heating_fan": "Spodní ohřev + ventilátor", "bottom_heating_fan": "Spodní ohřev + ventilátor",
"bread": "Chléb", "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": "Statický + ventilátor",
"convection_fan_turnspit": "Konvekce + ventilátor + rožeň", "convection_fan_turnspit": "Konvekce + ventilátor + rožeň",
"conventional": "Statický", "conventional": "Statický",
"conventional_turnspit": "Konvekční + rožeň", "conventional_turnspit": "Konvekce + rožeň",
"defrost": "Rozmrazování", "defrost": "Rozmrazování",
"descaling": "Odstraňování vodního kamene", "descaling": "Odstraňování vodního kamene",
"fish": "Ryby", "fish": "Ryby",
"fish_steam": "Ryby připravované v páře", "fish_steam": "Ryby v páře",
"grill_cata": "Gril", "grill_cata": "Gril",
"grill_fan_cata": "Ventilátor grilu", "grill_fan_cata": "Ventilátor grilu",
"grill_fan_pyro": "Gril + ventilátor", "grill_fan_pyro": "Gril + ventilátor",
@ -475,13 +493,13 @@
"iot_h20_clean": "h2O clean", "iot_h20_clean": "h2O clean",
"leavening": "Kynutí", "leavening": "Kynutí",
"low_temp_cooking": "Příprava při nízkých teplotách", "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": "Příprava při nízkých teplotách ryby",
"low_temp_cooking_fish_steam": "Příprava ryb v páře při nízkých teplotách", "low_temp_cooking_fish_steam": "Příprava při nízkých teplotách ryby v páře",
"low_temp_cooking_meat": "Příprava masa při nízkých teplotách", "low_temp_cooking_meat": "Příprava při nízkých teplotách maso",
"low_temp_cooking_meat_steam": "Příprava masa v páře při nízkých teplotách", "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", "low_temp_cooking_steam": "Příprava v páře při nízkých teplotách",
"meat": "Maso", "meat": "Maso",
"meat_steam": "Maso připravované v páře", "meat_steam": "Maso v páře",
"multi_level": "Víceúrovňové", "multi_level": "Víceúrovňové",
"paella": "Paella", "paella": "Paella",
"pasta_and_bakery": "Těstoviny a pečivo", "pasta_and_bakery": "Těstoviny a pečivo",
@ -489,7 +507,7 @@
"pyrolysis": "Pyrolýza", "pyrolysis": "Pyrolýza",
"pyrolysis_plus": "Pyrolýza +", "pyrolysis_plus": "Pyrolýza +",
"red_meat": "Tmavé maso", "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", "regenerate": "Regenerace",
"soft_plus": "Soft +", "soft_plus": "Soft +",
"super_grill": "Super gril", "super_grill": "Super gril",
@ -499,9 +517,9 @@
"vegetables": "Zelenina", "vegetables": "Zelenina",
"vegetables_cata": "Zelenina", "vegetables_cata": "Zelenina",
"vegetables_pyro": "Zelenina", "vegetables_pyro": "Zelenina",
"water_discharge": "Odtok vody", "water_discharge": "Vypouštění vody",
"white_meat": "Bílé maso", "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" "name": "Program"
}, },
@ -558,7 +576,7 @@
"hqd_precious_cure": "Precious cure", "hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Rychlý 20", "hqd_quick_20": "Rychlý 20",
"hqd_quick_30": "Rychlý 30", "hqd_quick_30": "Rychlý 30",
"hqd_quick_dry": "Rychlé sušení", "hqd_quick_dry": "Rychlé sušení 30",
"hqd_quilt": "Deky", "hqd_quilt": "Deky",
"hqd_refresh": "Osvěžení", "hqd_refresh": "Osvěžení",
"hqd_school_uniform": "Školní uniformy", "hqd_school_uniform": "Školní uniformy",
@ -1013,6 +1031,40 @@
"iot_uv_and_fan": "UV + ventilátor", "iot_uv_and_fan": "UV + ventilátor",
"iot_uv_and_heat": "UV + ohřev" "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": { "switch": {
@ -1056,7 +1108,7 @@
"name": "Trouba" "name": "Trouba"
}, },
"prewash": { "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": { "pause": {
"name": "Pozastavit" "name": "Pozastavit"
@ -1105,6 +1157,24 @@
}, },
"good_night": { "good_night": {
"name": "Dobrou noc" "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": { "binary_sensor": {
@ -1175,13 +1245,37 @@
"name": "Zapnout" "name": "Zapnout"
}, },
"prewash": { "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": { "acqua_plus": {
"name": "Aquaplus" "name": "Aquaplus"
}, },
"auto_dose": { "auto_dose": {
"name": "Automatické dávkování" "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": { "number": {
@ -1214,11 +1308,116 @@
}, },
"steam_level": { "steam_level": {
"name": "Úroveň páry" "name": "Úroveň páry"
},
"freezer_temp_sel": {
"name": "Cílová teplota Mraznička"
},
"fridge_temp_sel": {
"name": "Cílová teplota Chladnička"
} }
}, },
"button": { "button": {
"induction_hob": { "induction_hob": {
"name": "Indukční varná deska" "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_precious_cure": "Precious Cure",
"hqd_quick_20": "Schnell 20", "hqd_quick_20": "Schnell 20",
"hqd_quick_30": "Schnell 30", "hqd_quick_30": "Schnell 30",
"hqd_quick_dry": "Schnell trocken", "hqd_quick_dry": "Schnell trocken 30",
"hqd_quilt": "Steppdecken", "hqd_quilt": "Steppdecken",
"hqd_refresh": "Auffrischen", "hqd_refresh": "Auffrischen",
"hqd_school_uniform": "Schuluniform", "hqd_school_uniform": "Schuluniform",
@ -307,6 +307,18 @@
"xxl_load": "XXL-Beladung", "xxl_load": "XXL-Beladung",
"zoom_59": "Zoom 59" "zoom_59": "Zoom 59"
} }
},
"room_temperature": {
"name": "Raumtemperatur"
},
"humidity": {
"name": "Luftfeuchtigkeit"
},
"freezer_temp": {
"name": "Gefrierschrank-Temperatur"
},
"fridge_temp": {
"name": "Temperatur des Kühlschranks"
} }
}, },
"select": { "select": {
@ -397,6 +409,11 @@
"silent": "Nacht", "silent": "Nacht",
"silent_care": "Silent Care", "silent_care": "Silent Care",
"smart_ai": "Smart AI", "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": "spezial",
"special_pw_prz": "spezial", "special_pw_prz": "spezial",
"steam": "Dampf 75 °C", "steam": "Dampf 75 °C",
@ -453,11 +470,12 @@
"programs_ov": { "programs_ov": {
"state": { "state": {
"bakery": "Teigwaren und Brot", "bakery": "Teigwaren und Brot",
"bakery_steam": "Mit Dampf gebackenes Brot", "bakery_steam": "Dampf im Backofen",
"bottom_heating": "Unterhitze", "bottom_heating": "Unterhitze",
"bottom_heating_fan": "Unterhitze + Umluft", "bottom_heating_fan": "Unterhitze + Umluft",
"bread": "Brot", "bread": "Brot",
"bread_steam": "Mit Dampf gebackenes Gebäck", "bread_steam": "Mit Dampf gebackenes Brot",
"combi": "Combi",
"convection_fan": "Umluft", "convection_fan": "Umluft",
"convection_fan_turnspit": "Heißluft + Drehspieß", "convection_fan_turnspit": "Heißluft + Drehspieß",
"conventional": "Ober-Unterhitze", "conventional": "Ober-Unterhitze",
@ -465,7 +483,7 @@
"defrost": "Auftauen", "defrost": "Auftauen",
"descaling": "Entkalkung", "descaling": "Entkalkung",
"fish": "Fisch", "fish": "Fisch",
"fish_steam": "Dampfgegarter Fisch", "fish_steam": "Gedünsteter Fisch",
"grill_cata": "Grill", "grill_cata": "Grill",
"grill_fan_cata": "Grill Umluft", "grill_fan_cata": "Grill Umluft",
"grill_fan_pyro": "Grill + Umluft", "grill_fan_pyro": "Grill + Umluft",
@ -476,12 +494,12 @@
"leavening": "Aufgehen", "leavening": "Aufgehen",
"low_temp_cooking": "Garen bei niedriger Temperatur", "low_temp_cooking": "Garen bei niedriger Temperatur",
"low_temp_cooking_fish": "Garen bei niedriger Temperatur - Fisch", "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": "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", "low_temp_cooking_steam": "Niedertemperatur-Dampfgaren",
"meat": "Fleisch", "meat": "Fleisch",
"meat_steam": "Dampfgegartes Fleisch", "meat_steam": "Fleisch Dampf",
"multi_level": "Multi-Level", "multi_level": "Multi-Level",
"paella": "Paella", "paella": "Paella",
"pasta_and_bakery": "Teigwaren und Brot", "pasta_and_bakery": "Teigwaren und Brot",
@ -489,8 +507,8 @@
"pyrolysis": "Pyrolyse", "pyrolysis": "Pyrolyse",
"pyrolysis_plus": "Pyrolyse +", "pyrolysis_plus": "Pyrolyse +",
"red_meat": "Rotes Fleisch", "red_meat": "Rotes Fleisch",
"red_meat_steam": "Dampfgegartes rotes Fleisch", "red_meat_steam": "Gedünstetes rotes Fleisch",
"regenerate": "Regeneration", "regenerate": "Regenerieren",
"soft_plus": "Soft+", "soft_plus": "Soft+",
"super_grill": "Super Grill", "super_grill": "Super Grill",
"tailor_bake": "Tailor bake", "tailor_bake": "Tailor bake",
@ -501,7 +519,7 @@
"vegetables_pyro": "Gemüse", "vegetables_pyro": "Gemüse",
"water_discharge": "Wasserabfluss", "water_discharge": "Wasserabfluss",
"white_meat": "Weißes Fleisch", "white_meat": "Weißes Fleisch",
"white_meat_steam": "Dampfgegartes weißes Fleisch" "white_meat_steam": "Gedämpftes weißes Fleisch"
}, },
"name": "Programm" "name": "Programm"
}, },
@ -558,7 +576,7 @@
"hqd_precious_cure": "Precious Cure", "hqd_precious_cure": "Precious Cure",
"hqd_quick_20": "Schnell 20", "hqd_quick_20": "Schnell 20",
"hqd_quick_30": "Schnell 30", "hqd_quick_30": "Schnell 30",
"hqd_quick_dry": "Schnell trocken", "hqd_quick_dry": "Schnell trocken 30",
"hqd_quilt": "Steppdecken", "hqd_quilt": "Steppdecken",
"hqd_refresh": "Auffrischen", "hqd_refresh": "Auffrischen",
"hqd_school_uniform": "Schuluniform", "hqd_school_uniform": "Schuluniform",
@ -1013,6 +1031,40 @@
"iot_uv_and_fan": "UV + Gebläse", "iot_uv_and_fan": "UV + Gebläse",
"iot_uv_and_heat": "UV + Heizen" "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": { "switch": {
@ -1105,6 +1157,24 @@
}, },
"good_night": { "good_night": {
"name": "Gute Nacht" "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": { "binary_sensor": {
@ -1182,6 +1252,30 @@
}, },
"auto_dose": { "auto_dose": {
"name": "Autodosierung" "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": { "number": {
@ -1214,11 +1308,116 @@
}, },
"steam_level": { "steam_level": {
"name": "Dampfstufe" "name": "Dampfstufe"
},
"freezer_temp_sel": {
"name": "Zieltemperatur Gefrierschrank"
},
"fridge_temp_sel": {
"name": "Zieltemperatur Kühlschrank"
} }
}, },
"button": { "button": {
"induction_hob": { "induction_hob": {
"name": "Induktionskochfeld" "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_precious_cure": "Precious cure",
"hqd_quick_20": "Γρήγορα 20", "hqd_quick_20": "Γρήγορα 20",
"hqd_quick_30": "Γρήγορα 30", "hqd_quick_30": "Γρήγορα 30",
"hqd_quick_dry": "Γρήγορο στέγνωμα", "hqd_quick_dry": "Γρήγορο στέγνωμα 30",
"hqd_quilt": "Παπλώματα", "hqd_quilt": "Παπλώματα",
"hqd_refresh": "Φρεσκάρισμα", "hqd_refresh": "Φρεσκάρισμα",
"hqd_school_uniform": "Σχολική στολή", "hqd_school_uniform": "Σχολική στολή",
@ -307,6 +307,18 @@
"xxl_load": "XXL Φορτιο", "xxl_load": "XXL Φορτιο",
"zoom_59": "Zoom 59" "zoom_59": "Zoom 59"
} }
},
"room_temperature": {
"name": "Θερμοκρασία δωματίου"
},
"humidity": {
"name": "Υγρασία"
},
"freezer_temp": {
"name": "Θερμοκρασία καταψύκτη"
},
"fridge_temp": {
"name": "Θερμοκρασία ψυγείου"
} }
}, },
"select": { "select": {
@ -397,6 +409,11 @@
"silent": "Νύχτα", "silent": "Νύχτα",
"silent_care": "Silent Care", "silent_care": "Silent Care",
"smart_ai": "Smart AI", "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_pw_prz": "σπεσιαλ",
"steam": "ατμος 75°C", "steam": "ατμος 75°C",
@ -453,11 +470,12 @@
"programs_ov": { "programs_ov": {
"state": { "state": {
"bakery": "Ζυμαρικά και αρτοποιήματα", "bakery": "Ζυμαρικά και αρτοποιήματα",
"bakery_steam": "Ψωμί ατμού", "bakery_steam": "Ατμός φούρνου",
"bottom_heating": "Κάτω στοιχείο", "bottom_heating": "Κάτω στοιχείο",
"bottom_heating_fan": "Κάτω στοιχείο + ανεμιστήρας", "bottom_heating_fan": "Κάτω στοιχείο + ανεμιστήρας",
"bread": "Ψωμί", "bread": "Ψωμί",
"bread_steam": "Αρτοσκευάσματα ατμού", "bread_steam": "Ψωμί ατμού",
"combi": "Combi",
"convection_fan": "Θερμοσ αερασ", "convection_fan": "Θερμοσ αερασ",
"convection_fan_turnspit": "Θερμός αέρας + Ανεμιστήρας + Σούβλα", "convection_fan_turnspit": "Θερμός αέρας + Ανεμιστήρας + Σούβλα",
"conventional": "Ανω - κατω θερμανση", "conventional": "Ανω - κατω θερμανση",
@ -465,7 +483,7 @@
"defrost": "Απόψυξη", "defrost": "Απόψυξη",
"descaling": "Αφαλάτωση", "descaling": "Αφαλάτωση",
"fish": "Ψάρια", "fish": "Ψάρια",
"fish_steam": "Ψάρι στον ατμό", "fish_steam": "Ψάρια στον ατμό",
"grill_cata": "Γκριλ", "grill_cata": "Γκριλ",
"grill_fan_cata": "Ανεμιστήρας γκριλ", "grill_fan_cata": "Ανεμιστήρας γκριλ",
"grill_fan_pyro": "Γκριλ + ανεμιστήρας", "grill_fan_pyro": "Γκριλ + ανεμιστήρας",
@ -476,9 +494,9 @@
"leavening": "Ζυμωση", "leavening": "Ζυμωση",
"low_temp_cooking": "Μαγείρεμα σε χαμηλή θερμοκρασία", "low_temp_cooking": "Μαγείρεμα σε χαμηλή θερμοκρασία",
"low_temp_cooking_fish": "Μαγείρεμα σε χαμηλή θερμοκρασία - Ψάρι", "low_temp_cooking_fish": "Μαγείρεμα σε χαμηλή θερμοκρασία - Ψάρι",
"low_temp_cooking_fish_steam": "Μαγείρεμα με ατμό σε χαμηλή θερμοκρασία - Ψάρι", "low_temp_cooking_fish_steam": "Μαγείρεμα σε χαμηλή θερμοκρασία - Ψάρια στον ατμό",
"low_temp_cooking_meat": "Μαγείρεμα σε χαμηλή θερμοκρασία - Κρέας", "low_temp_cooking_meat": "Μαγείρεμα σε χαμηλή θερμοκρασία - Κρέας",
"low_temp_cooking_meat_steam": "Μαγείρεμα με ατμό σε χαμηλή θερμοκρασία - Κρέας", "low_temp_cooking_meat_steam": "Μαγείρεμα σε χαμηλή θερμοκρασία - Κρέας στον ατμό",
"low_temp_cooking_steam": "Μαγείρεμα με ατμό σε χαμηλή θερμοκρασία", "low_temp_cooking_steam": "Μαγείρεμα με ατμό σε χαμηλή θερμοκρασία",
"meat": "Κρέας", "meat": "Κρέας",
"meat_steam": "Κρέας στον ατμό", "meat_steam": "Κρέας στον ατμό",
@ -499,7 +517,7 @@
"vegetables": "Λαχανικά", "vegetables": "Λαχανικά",
"vegetables_cata": "Λαχανικά", "vegetables_cata": "Λαχανικά",
"vegetables_pyro": "Λαχανικά", "vegetables_pyro": "Λαχανικά",
"water_discharge": "Αποστράγγιση νερού", "water_discharge": "Απόρριψη νερού",
"white_meat": "Λευκό κρέας", "white_meat": "Λευκό κρέας",
"white_meat_steam": "Λευκό κρέας στον ατμό" "white_meat_steam": "Λευκό κρέας στον ατμό"
}, },
@ -558,7 +576,7 @@
"hqd_precious_cure": "Precious cure", "hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Γρήγορα 20", "hqd_quick_20": "Γρήγορα 20",
"hqd_quick_30": "Γρήγορα 30", "hqd_quick_30": "Γρήγορα 30",
"hqd_quick_dry": "Γρήγορο στέγνωμα", "hqd_quick_dry": "Γρήγορο στέγνωμα 30",
"hqd_quilt": "Παπλώματα", "hqd_quilt": "Παπλώματα",
"hqd_refresh": "Φρεσκάρισμα", "hqd_refresh": "Φρεσκάρισμα",
"hqd_school_uniform": "Σχολική στολή", "hqd_school_uniform": "Σχολική στολή",
@ -1013,6 +1031,40 @@
"iot_uv_and_fan": "UV + Ανεμιστήρας", "iot_uv_and_fan": "UV + Ανεμιστήρας",
"iot_uv_and_heat": "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": { "switch": {
@ -1105,6 +1157,24 @@
}, },
"good_night": { "good_night": {
"name": "Καληνυχτα" "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": { "binary_sensor": {
@ -1154,7 +1224,7 @@
"name": "Τηγάνι" "name": "Τηγάνι"
}, },
"remote_control": { "remote_control": {
"name": "Τηλεχειριστήριο" "name": "Daljinsko upravljanje"
}, },
"rinse_aid": { "rinse_aid": {
"name": "Επίπεδο λαμπρυντικού" "name": "Επίπεδο λαμπρυντικού"
@ -1182,6 +1252,30 @@
}, },
"auto_dose": { "auto_dose": {
"name": "Αυτόματη Δοσολογία" "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": { "number": {
@ -1214,11 +1308,116 @@
}, },
"steam_level": { "steam_level": {
"name": "Επίπεδο ατμού" "name": "Επίπεδο ατμού"
},
"freezer_temp_sel": {
"name": "Στοχευμένη θερμοκρασία Καταψύκτης"
},
"fridge_temp_sel": {
"name": "Στοχευμένη θερμοκρασία Ψυγείο"
} }
}, },
"button": { "button": {
"induction_hob": { "induction_hob": {
"name": "Επαγωγική εστία" "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_bed_sheets": "Bed Sheets",
"hqd_bulky": "Bulky Items", "hqd_bulky": "Bulky Items",
"hqd_casual": "Casual", "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_cold_wind_timing": "Cool Breeze ",
"hqd_cotton": "Cotton", "hqd_cotton": "Cotton",
"hqd_curtain": "Curtains", "hqd_curtain": "Curtains",
@ -282,9 +282,9 @@
"hqd_night_dry": "Overnight drying", "hqd_night_dry": "Overnight drying",
"hqd_outdoor": "Outdoor", "hqd_outdoor": "Outdoor",
"hqd_precious_cure": "Precious Cure", "hqd_precious_cure": "Precious Cure",
"hqd_quick_20": "Quick 20", "hqd_quick_20": "Quick 20m",
"hqd_quick_30": "Quick 30", "hqd_quick_30": "Quick 30m",
"hqd_quick_dry": "Quick dry", "hqd_quick_dry": "Quick dry (30 min)",
"hqd_quilt": "Quilts", "hqd_quilt": "Quilts",
"hqd_refresh": "Refresh", "hqd_refresh": "Refresh",
"hqd_school_uniform": "School Uniform", "hqd_school_uniform": "School Uniform",
@ -322,7 +322,7 @@
"iot_dry_lingerie": "Lingerie", "iot_dry_lingerie": "Lingerie",
"iot_dry_mixed": "Mixed", "iot_dry_mixed": "Mixed",
"iot_dry_playsuits": "Playsuits", "iot_dry_playsuits": "Playsuits",
"iot_dry_rapid_30": "Rapid 30", "iot_dry_rapid_30": "Rapid 30m",
"iot_dry_rapid_59": "Rapid 59'", "iot_dry_rapid_59": "Rapid 59'",
"iot_dry_refresh": "Refresh", "iot_dry_refresh": "Refresh",
"iot_dry_regenerates_waterproof": "Regenerates Waterproof", "iot_dry_regenerates_waterproof": "Regenerates Waterproof",
@ -366,6 +366,18 @@
"xxl_load": "XXL Load", "xxl_load": "XXL Load",
"zoom_59": "Zoom 59" "zoom_59": "Zoom 59"
} }
},
"room_temperature": {
"name": "Room temperature"
},
"humidity": {
"name": "Humidity"
},
"freezer_temp": {
"name": "Freezer temperature"
},
"fridge_temp": {
"name": "Fridge temperature"
} }
}, },
"switch": { "switch": {
@ -458,6 +470,24 @@
}, },
"good_night": { "good_night": {
"name": "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": { "select": {
@ -481,9 +511,9 @@
"59_min": "Rapid 59'", "59_min": "Rapid 59'",
"auto_care": "Auto Care", "auto_care": "Auto Care",
"auto_care_soil": "Auto Care", "auto_care_soil": "Auto Care",
"auto_hygiene": "Auto Hygiene",
"auto_plus": "AutoPlus", "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": "Auto Sensor",
"auto_sensor_soil": "Auto Sensor", "auto_sensor_soil": "Auto Sensor",
"auto_universal": "Auto Universal 50 - 60°C", "auto_universal": "Auto Universal 50 - 60°C",
@ -527,7 +557,7 @@
"iot_eco_bldc": "Eco 45°C", "iot_eco_bldc": "Eco 45°C",
"iot_eco_synch": "Eco 45°C", "iot_eco_synch": "Eco 45°C",
"iot_extra_hygiene": "Extra Hygiene", "iot_extra_hygiene": "Extra Hygiene",
"iot_fairy_quick_cycle": "Fairy Short", "iot_fairy_quick_cycle": "Fairy Quick",
"iot_happy_hour": "Happy Hour", "iot_happy_hour": "Happy Hour",
"iot_jar_quick_cycle": "Jar Quick", "iot_jar_quick_cycle": "Jar Quick",
"iot_party": "Party", "iot_party": "Party",
@ -566,7 +596,10 @@
"silent_care": "Silent Care", "silent_care": "Silent Care",
"smart_ai": "Smart AI", "smart_ai": "Smart AI",
"smart_ai_pro": "Smart AI Pro", "smart_ai_pro": "Smart AI Pro",
"smart_ai_pro_soil": "Smart AI Pro",
"smart_ai_rapid": "Smart AI Rapid", "smart_ai_rapid": "Smart AI Rapid",
"smart_ai_rapid_soil": "Smart AI Rapid",
"smart_ai_soil": "Smart AI",
"special": "Special", "special": "Special",
"special_pw_prz": "Special", "special_pw_prz": "Special",
"steam": "Steam 75°C", "steam": "Steam 75°C",
@ -623,21 +656,21 @@
}, },
"programs_ov": { "programs_ov": {
"state": { "state": {
"bakery": "Pasta and Pastries", "bakery": "Pasta and Bakery",
"bakery_steam": "Steam-baked bread", "bakery_steam": "Steam oven",
"bottom_heating": "Bottom Heating", "bottom_heating": "Bottom Heating",
"bottom_heating_fan": "Bottom Heating + Fan", "bottom_heating_fan": "Bottom Heating + Fan",
"bread": "Bread", "bread": "Bread",
"bread_steam": "Steam-baked pastries", "bread_steam": "Steam baked bread",
"combi": "Combi", "combi": "Combi",
"convection_fan": "Convection + Fan", "convection_fan": "Convection + Fan",
"convection_fan_turnspit": "Convection + Fan + Turnspit", "convection_fan_turnspit": "Convection + Fan + Turnspit",
"conventional": "Conventional", "conventional": "Conventional",
"conventional_turnspit": "Convection + Turnspit", "conventional_turnspit": "Convection + Turnspit",
"defrost": "Defrost", "defrost": "Defrosting",
"descaling": "Descaling", "descaling": "Descaling",
"fish": "Fish", "fish": "Fish",
"fish_steam": "Steam-cooked fish", "fish_steam": "Steamed fish",
"grill_cata": "Grill", "grill_cata": "Grill",
"grill_fan_cata": "Grill fan", "grill_fan_cata": "Grill fan",
"grill_fan_pyro": "Grill + Fan", "grill_fan_pyro": "Grill + Fan",
@ -646,16 +679,15 @@
"iot_bread": "Bread", "iot_bread": "Bread",
"iot_h20_clean": "h2O clean", "iot_h20_clean": "h2O clean",
"leavening": "Leavening", "leavening": "Leavening",
"light_fan": "Light Fan",
"light_fan\n": "Light Fan", "light_fan\n": "Light Fan",
"low_temp_cooking": "Low Temperature Cooking", "low_temp_cooking": "Low Temperature Cooking",
"low_temp_cooking_fish": "Low Temperature Cooking - Fish", "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": "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", "low_temp_cooking_steam": "Low Temperature Steam Cooking",
"meat": "Meat", "meat": "Meat",
"meat_steam": "Steam-cooked meat", "meat_steam": "Steamed meat",
"multi_level": "Multi-Level", "multi_level": "Multi-Level",
"paella": "Paella", "paella": "Paella",
"pasta_and_bakery": "Pasta and Bakery", "pasta_and_bakery": "Pasta and Bakery",
@ -663,8 +695,8 @@
"pyrolysis": "Pyrolysis", "pyrolysis": "Pyrolysis",
"pyrolysis_plus": "Pyrolysis +", "pyrolysis_plus": "Pyrolysis +",
"red_meat": "Red Meat", "red_meat": "Red Meat",
"red_meat_steam": "Steam-cooked red meat", "red_meat_steam": "Steamed red meat",
"regenerate": "Regeneration", "regenerate": "Regenerate",
"soft_plus": "Soft+", "soft_plus": "Soft+",
"super_grill": "Super Grill", "super_grill": "Super Grill",
"tailor_bake": "Tailor bake", "tailor_bake": "Tailor bake",
@ -673,9 +705,9 @@
"vegetables": "Vegetables", "vegetables": "Vegetables",
"vegetables_cata": "Vegetables", "vegetables_cata": "Vegetables",
"vegetables_pyro": "Vegetables", "vegetables_pyro": "Vegetables",
"water_discharge": "Water Drain", "water_discharge": "Water Discharge",
"white_meat": "White Meat", "white_meat": "White Meat",
"white_meat_steam": "Steam-cooked white meat" "white_meat_steam": "Steamed white meat"
}, },
"name": "Program" "name": "Program"
}, },
@ -711,7 +743,7 @@
"hqd_bed_sheets": "Bed Sheets", "hqd_bed_sheets": "Bed Sheets",
"hqd_bulky": "Bulky Items", "hqd_bulky": "Bulky Items",
"hqd_casual": "Casual", "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_cold_wind_timing": "Cool Breeze ",
"hqd_cotton": "Cotton", "hqd_cotton": "Cotton",
"hqd_curtain": "Curtains", "hqd_curtain": "Curtains",
@ -730,9 +762,9 @@
"hqd_night_dry": "Overnight drying", "hqd_night_dry": "Overnight drying",
"hqd_outdoor": "Outdoor", "hqd_outdoor": "Outdoor",
"hqd_precious_cure": "Precious Cure", "hqd_precious_cure": "Precious Cure",
"hqd_quick_20": "Quick 20", "hqd_quick_20": "Quick 20m",
"hqd_quick_30": "Quick 30", "hqd_quick_30": "Quick 30m",
"hqd_quick_dry": "Quick dry", "hqd_quick_dry": "Quick dry (30 min)",
"hqd_quilt": "Quilts", "hqd_quilt": "Quilts",
"hqd_refresh": "Refresh", "hqd_refresh": "Refresh",
"hqd_school_uniform": "School Uniform", "hqd_school_uniform": "School Uniform",
@ -770,7 +802,7 @@
"iot_dry_lingerie": "Lingerie", "iot_dry_lingerie": "Lingerie",
"iot_dry_mixed": "Mixed", "iot_dry_mixed": "Mixed",
"iot_dry_playsuits": "Playsuits", "iot_dry_playsuits": "Playsuits",
"iot_dry_rapid_30": "Rapid 30", "iot_dry_rapid_30": "Rapid 30m",
"iot_dry_rapid_59": "Rapid 59'", "iot_dry_rapid_59": "Rapid 59'",
"iot_dry_refresh": "Refresh", "iot_dry_refresh": "Refresh",
"iot_dry_regenerates_waterproof": "Regenerates Waterproof", "iot_dry_regenerates_waterproof": "Regenerates Waterproof",
@ -829,7 +861,7 @@
"all_in_one_59": "All in One 59'", "all_in_one_59": "All in One 59'",
"all_in_one_59_steam": "Active Wash + Steam", "all_in_one_59_steam": "Active Wash + Steam",
"autocare": "Autocare", "autocare": "Autocare",
"autoclean": "Drum Cleaning", "autoclean": "Drum cleaning and descaling ",
"baby_60": "All Baby 60°C", "baby_60": "All Baby 60°C",
"care_14": "Rapid Care 14'", "care_14": "Rapid Care 14'",
"care_30": "Rapid Care 30'", "care_30": "Rapid Care 30'",
@ -1172,6 +1204,41 @@
"iot_uv_and_fan": "UV + Fan", "iot_uv_and_fan": "UV + Fan",
"iot_uv_and_heat": "UV + Heat" "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": { "binary_sensor": {
@ -1249,6 +1316,30 @@
}, },
"auto_dose": { "auto_dose": {
"name": "Autodose" "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": { "number": {
@ -1281,11 +1372,117 @@
}, },
"steam_level": { "steam_level": {
"name": "Steam Level" "name": "Steam Level"
},
"freezer_temp_sel": {
"name": "Target temperature Freezer"
},
"fridge_temp_sel": {
"name": "Target temperature Fridge"
} }
}, },
"button": { "button": {
"induction_hob": { "induction_hob": {
"name": "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_precious_cure": "Precious cure",
"hqd_quick_20": "Rápido 20", "hqd_quick_20": "Rápido 20",
"hqd_quick_30": "Rápido 30", "hqd_quick_30": "Rápido 30",
"hqd_quick_dry": "Secado rápido", "hqd_quick_dry": "Secado rápido 30",
"hqd_quilt": "Colchas", "hqd_quilt": "Colchas",
"hqd_refresh": "Refrescar", "hqd_refresh": "Refrescar",
"hqd_school_uniform": "Uniformes escolares", "hqd_school_uniform": "Uniformes escolares",
@ -307,6 +307,18 @@
"xxl_load": "Carga XXL", "xxl_load": "Carga XXL",
"zoom_59": "Zoom 59" "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": { "select": {
@ -397,6 +409,11 @@
"silent": "Noche", "silent": "Noche",
"silent_care": "Silent Care", "silent_care": "Silent Care",
"smart_ai": "Smart AI", "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": "Especial",
"special_pw_prz": "Especial", "special_pw_prz": "Especial",
"steam": "Vapor 75 °C", "steam": "Vapor 75 °C",
@ -453,15 +470,16 @@
"programs_ov": { "programs_ov": {
"state": { "state": {
"bakery": "Pasta y Panadería", "bakery": "Pasta y Panadería",
"bakery_steam": "Pan al vapor", "bakery_steam": "Oven steam",
"bottom_heating": "Calentamiento Inferior", "bottom_heating": "Calentamiento Inferior",
"bottom_heating_fan": "Calentamiento Inferior + Ventilador", "bottom_heating_fan": "Calentamiento Inferior + Ventilador",
"bread": "Pan", "bread": "Pan",
"bread_steam": "Bollería al vapor", "bread_steam": "Pan al vapor",
"combi": "Combi",
"convection_fan": "Convección + Ventilador", "convection_fan": "Convección + Ventilador",
"convection_fan_turnspit": "Convección + Ventilador + Rustepollos", "convection_fan_turnspit": "Asador giratorio convencional ventilada",
"conventional": "Convección", "conventional": "Convección",
"conventional_turnspit": "Convección + Rustepollos", "conventional_turnspit": "Asador giratorio convencional",
"defrost": "Descongelación", "defrost": "Descongelación",
"descaling": "Descalcificación", "descaling": "Descalcificación",
"fish": "Pescado", "fish": "Pescado",
@ -475,13 +493,13 @@
"iot_h20_clean": "h2O clean", "iot_h20_clean": "h2O clean",
"leavening": "Fermentación", "leavening": "Fermentación",
"low_temp_cooking": "Cocción a baja temperatura", "low_temp_cooking": "Cocción a baja temperatura",
"low_temp_cooking_fish": "Cocción a baja temperatura - Pescado", "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_fish_steam": "Cocción a baja temperatura Pescado",
"low_temp_cooking_meat": "Cocción a baja temperatura - Carne", "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_meat_steam": "Cocción a baja temperatura Carne al vapor",
"low_temp_cooking_steam": "Cocción al vapor a baja temperatura", "low_temp_cooking_steam": "Cocción a baja temperatura al vapor",
"meat": "Carne", "meat": "Carne",
"meat_steam": "Carne al vapor", "meat_steam": "Meat steam",
"multi_level": "Múltiples niveles", "multi_level": "Múltiples niveles",
"paella": "Paella", "paella": "Paella",
"pasta_and_bakery": "Pasta y Panadería", "pasta_and_bakery": "Pasta y Panadería",
@ -490,7 +508,7 @@
"pyrolysis_plus": "Pirólisis +", "pyrolysis_plus": "Pirólisis +",
"red_meat": "Carne roja", "red_meat": "Carne roja",
"red_meat_steam": "Carne roja al vapor", "red_meat_steam": "Carne roja al vapor",
"regenerate": "Regeneración", "regenerate": "Regenerar",
"soft_plus": "Soft+", "soft_plus": "Soft+",
"super_grill": "Super Grill", "super_grill": "Super Grill",
"tailor_bake": "Tailor bake", "tailor_bake": "Tailor bake",
@ -499,7 +517,7 @@
"vegetables": "Verduras", "vegetables": "Verduras",
"vegetables_cata": "Verduras", "vegetables_cata": "Verduras",
"vegetables_pyro": "Verdura", "vegetables_pyro": "Verdura",
"water_discharge": "Drenaje del agua", "water_discharge": "Descarga de agua",
"white_meat": "Carne blanca", "white_meat": "Carne blanca",
"white_meat_steam": "Carne blanca al vapor" "white_meat_steam": "Carne blanca al vapor"
}, },
@ -558,7 +576,7 @@
"hqd_precious_cure": "Precious cure", "hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Rápido 20", "hqd_quick_20": "Rápido 20",
"hqd_quick_30": "Rápido 30", "hqd_quick_30": "Rápido 30",
"hqd_quick_dry": "Secado rápido", "hqd_quick_dry": "Secado rápido 30",
"hqd_quilt": "Colchas", "hqd_quilt": "Colchas",
"hqd_refresh": "Refrescar", "hqd_refresh": "Refrescar",
"hqd_school_uniform": "Uniformes escolares", "hqd_school_uniform": "Uniformes escolares",
@ -1013,6 +1031,40 @@
"iot_uv_and_fan": "UV + Ventilador", "iot_uv_and_fan": "UV + Ventilador",
"iot_uv_and_heat": "UV + Calor" "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": { "switch": {
@ -1105,6 +1157,24 @@
}, },
"good_night": { "good_night": {
"name": "Buenas noches" "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": { "binary_sensor": {
@ -1154,7 +1224,7 @@
"name": "Sartén" "name": "Sartén"
}, },
"remote_control": { "remote_control": {
"name": "Control remoto" "name": "Τηλεχειριστήριο"
}, },
"rinse_aid": { "rinse_aid": {
"name": "Nivel del agente de enjuague" "name": "Nivel del agente de enjuague"
@ -1182,6 +1252,30 @@
}, },
"auto_dose": { "auto_dose": {
"name": "Dosificación automática" "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": { "number": {
@ -1214,11 +1308,116 @@
}, },
"steam_level": { "steam_level": {
"name": "Nivel de vapor" "name": "Nivel de vapor"
},
"freezer_temp_sel": {
"name": "Temperatura deseada Congelador"
},
"fridge_temp_sel": {
"name": "Temperatura deseada Frigorífico"
} }
}, },
"button": { "button": {
"induction_hob": { "induction_hob": {
"name": "Placa de inducción" "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_precious_cure": "Precious cure",
"hqd_quick_20": "Rapide 20", "hqd_quick_20": "Rapide 20",
"hqd_quick_30": "Rapide 30", "hqd_quick_30": "Rapide 30",
"hqd_quick_dry": "Séchage rapide", "hqd_quick_dry": "Séchage rapide 30",
"hqd_quilt": "Couvertures", "hqd_quilt": "Couvertures",
"hqd_refresh": "Rafraîchissement", "hqd_refresh": "Rafraîchissement",
"hqd_school_uniform": "Uniforme scolaire", "hqd_school_uniform": "Uniforme scolaire",
@ -307,6 +307,18 @@
"xxl_load": "Charge XXL", "xxl_load": "Charge XXL",
"zoom_59": "Zoom 59" "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": { "select": {
@ -397,6 +409,11 @@
"silent": "Nuit", "silent": "Nuit",
"silent_care": "Silent Care", "silent_care": "Silent Care",
"smart_ai": "Smart AI", "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": "spécial",
"special_pw_prz": "spécial", "special_pw_prz": "spécial",
"steam": "Vapeur 75 °C", "steam": "Vapeur 75 °C",
@ -453,19 +470,20 @@
"programs_ov": { "programs_ov": {
"state": { "state": {
"bakery": "Pâtes et pains", "bakery": "Pâtes et pains",
"bakery_steam": "Pain cuit à la vapeur", "bakery_steam": "Four à vapeur",
"bottom_heating": "Sole", "bottom_heating": "Sole",
"bottom_heating_fan": "Sole brassée", "bottom_heating_fan": "Sole brassée",
"bread": "Pain", "bread": "Pain",
"bread_steam": "Pâtisseries cuites à la vapeur", "bread_steam": "Pain àla vapeur",
"combi": "Combi",
"convection_fan": "Chaleur tournante", "convection_fan": "Chaleur tournante",
"convection_fan_turnspit": "Convection + Ventilateur + Tournebroche", "convection_fan_turnspit": "Tournebrocheà convection ventilée",
"conventional": "Convection naturelle", "conventional": "Convection naturelle",
"conventional_turnspit": "Convection + Tournebroche", "conventional_turnspit": "Tournebroche conventionnel",
"defrost": "Décongélation", "defrost": "Décongélation",
"descaling": "Détartrage", "descaling": "Détartrage",
"fish": "Poisson", "fish": "Poisson",
"fish_steam": "Poisson cuit à la vapeur", "fish_steam": "Poisson à la vapeur",
"grill_cata": "Gril", "grill_cata": "Gril",
"grill_fan_cata": "Turbogril", "grill_fan_cata": "Turbogril",
"grill_fan_pyro": "Turbogril", "grill_fan_pyro": "Turbogril",
@ -475,13 +493,13 @@
"iot_h20_clean": "h2O clean", "iot_h20_clean": "h2O clean",
"leavening": "Étuve", "leavening": "Étuve",
"low_temp_cooking": "Cuisson à basse température", "low_temp_cooking": "Cuisson à basse température",
"low_temp_cooking_fish": "Cuisson à basse température - Poisson", "low_temp_cooking_fish": "Cuisson à basse température Poisson",
"low_temp_cooking_fish_steam": "Cuisson à la vapeur à 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": "Cuisson à basse température Viande",
"low_temp_cooking_meat_steam": "Cuisson à la vapeur à basse température - Viande", "low_temp_cooking_meat_steam": "Cuisson à basse température Viande à la vapeur",
"low_temp_cooking_steam": "Cuisson à la vapeur à basse température", "low_temp_cooking_steam": "Cuisson à basse température à la vapeur",
"meat": "Viande", "meat": "Viande",
"meat_steam": "Viande cuite à la vapeur", "meat_steam": "Viande à la vapeur",
"multi_level": "Chaleur pulsée", "multi_level": "Chaleur pulsée",
"paella": "Paella", "paella": "Paella",
"pasta_and_bakery": "Pâtes et pains", "pasta_and_bakery": "Pâtes et pains",
@ -489,8 +507,8 @@
"pyrolysis": "Pyrolyse", "pyrolysis": "Pyrolyse",
"pyrolysis_plus": "Pyrolyse +", "pyrolysis_plus": "Pyrolyse +",
"red_meat": "Viande rouge", "red_meat": "Viande rouge",
"red_meat_steam": "Viande rouge cuite à la vapeur", "red_meat_steam": "Viande rouge à la vapeur",
"regenerate": "Régénération", "regenerate": "Régénérer",
"soft_plus": "Soft+", "soft_plus": "Soft+",
"super_grill": "Super Gril", "super_grill": "Super Gril",
"tailor_bake": "Tailor bake", "tailor_bake": "Tailor bake",
@ -499,9 +517,9 @@
"vegetables": "Légumes", "vegetables": "Légumes",
"vegetables_cata": "Légumes", "vegetables_cata": "Légumes",
"vegetables_pyro": "Légumes", "vegetables_pyro": "Légumes",
"water_discharge": "Vidange de leau", "water_discharge": "Décharge d'eau",
"white_meat": "Viande blanche", "white_meat": "Viande blanche",
"white_meat_steam": "Viande blanche cuite à la vapeur" "white_meat_steam": "Viande blanche à la vapeur"
}, },
"name": "Programme" "name": "Programme"
}, },
@ -558,7 +576,7 @@
"hqd_precious_cure": "Precious cure", "hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Rapide 20", "hqd_quick_20": "Rapide 20",
"hqd_quick_30": "Rapide 30", "hqd_quick_30": "Rapide 30",
"hqd_quick_dry": "Séchage rapide", "hqd_quick_dry": "Séchage rapide 30",
"hqd_quilt": "Couvertures", "hqd_quilt": "Couvertures",
"hqd_refresh": "Rafraîchissement", "hqd_refresh": "Rafraîchissement",
"hqd_school_uniform": "Uniforme scolaire", "hqd_school_uniform": "Uniforme scolaire",
@ -1013,6 +1031,40 @@
"iot_uv_and_fan": "UV + ventilateur", "iot_uv_and_fan": "UV + ventilateur",
"iot_uv_and_heat": "UV + Chaleur" "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": { "switch": {
@ -1105,6 +1157,24 @@
}, },
"good_night": { "good_night": {
"name": "Bonne nuit" "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": { "binary_sensor": {
@ -1182,6 +1252,30 @@
}, },
"auto_dose": { "auto_dose": {
"name": "Dose automatique" "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": { "number": {
@ -1214,11 +1308,116 @@
}, },
"steam_level": { "steam_level": {
"name": "Niveau de vapeur" "name": "Niveau de vapeur"
},
"freezer_temp_sel": {
"name": "Température cible Congélateur"
},
"fridge_temp_sel": {
"name": "Température cible Réfrigérateur"
} }
}, },
"button": { "button": {
"induction_hob": { "induction_hob": {
"name": "Table de cuisson à induction" "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", "hqd_working_suit": "Working suit",
"iot_dry_synthetic_dry": "סינתטי יבש" "iot_dry_synthetic_dry": "סינתטי יבש"
} }
},
"room_temperature": {
"name": "Room temperature"
},
"humidity": {
"name": "Humidity"
},
"freezer_temp": {
"name": "Freezer temperature"
},
"fridge_temp": {
"name": "Fridge temperature"
} }
}, },
"select": { "select": {
@ -199,7 +211,8 @@
"iot_fairy_quick_cycle": "Fairy Quick", "iot_fairy_quick_cycle": "Fairy Quick",
"iot_jar_quick_cycle": "Jar Quick", "iot_jar_quick_cycle": "Jar Quick",
"iot_yes_quick_cycle": "Yes Quick", "iot_yes_quick_cycle": "Yes Quick",
"smart_ai": "Smart AI" "smart_ai": "Smart AI",
"smart_ai_soil": "Smart AI"
}, },
"name": "Program" "name": "Program"
}, },
@ -477,6 +490,29 @@
"state": { "state": {
"iot_simple_start": "התחל עכשיו" "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": { "switch": {
@ -569,6 +605,24 @@
}, },
"good_night": { "good_night": {
"name": "לילה טוב" "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": { "binary_sensor": {
@ -646,6 +700,30 @@
}, },
"auto_dose": { "auto_dose": {
"name": "מינון אוטומטי" "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": { "number": {
@ -678,11 +756,68 @@
}, },
"steam_level": { "steam_level": {
"name": "מפלס קיטור" "name": "מפלס קיטור"
},
"freezer_temp_sel": {
"name": "Target temperature Freezer"
},
"fridge_temp_sel": {
"name": "Target temperature Fridge"
} }
}, },
"button": { "button": {
"induction_hob": { "induction_hob": {
"name": "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_precious_cure": "Precious Cure",
"hqd_quick_20": "Brzo 20", "hqd_quick_20": "Brzo 20",
"hqd_quick_30": "Brzo 30", "hqd_quick_30": "Brzo 30",
"hqd_quick_dry": "Brzo sušenje", "hqd_quick_dry": "Brzo sušenje 30",
"hqd_quilt": "Popluni", "hqd_quilt": "Popluni",
"hqd_refresh": "Protiv neugodnih mirisa", "hqd_refresh": "Protiv neugodnih mirisa",
"hqd_school_uniform": "Školska uniforma", "hqd_school_uniform": "Školska uniforma",
@ -307,6 +307,18 @@
"xxl_load": "XXL kapacitet", "xxl_load": "XXL kapacitet",
"zoom_59": "Zoom 59" "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": { "select": {
@ -397,6 +409,11 @@
"silent": "Noć", "silent": "Noć",
"silent_care": "Silent Care", "silent_care": "Silent Care",
"smart_ai": "Smart AI", "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": "Posebno",
"special_pw_prz": "Posebno", "special_pw_prz": "Posebno",
"steam": "Steam (Para) 75 °C", "steam": "Steam (Para) 75 °C",
@ -453,11 +470,12 @@
"programs_ov": { "programs_ov": {
"state": { "state": {
"bakery": "Tjestenina i tijesta", "bakery": "Tjestenina i tijesta",
"bakery_steam": "Kruh pečen na pari", "bakery_steam": "Para u pećnici",
"bottom_heating": "Donji grijač", "bottom_heating": "Donji grijač",
"bottom_heating_fan": "Donji grijač + Ventilator", "bottom_heating_fan": "Donji grijač + Ventilator",
"bread": "Kruh", "bread": "Kruh",
"bread_steam": "Peciva pečena na pari", "bread_steam": "Kruh pečen na pari",
"combi": "Combi",
"convection_fan": "Konvekcija + Ventilator", "convection_fan": "Konvekcija + Ventilator",
"convection_fan_turnspit": "Konvekcija + ventilator + ražanj", "convection_fan_turnspit": "Konvekcija + ventilator + ražanj",
"conventional": "Konvekcijska", "conventional": "Konvekcijska",
@ -465,7 +483,7 @@
"defrost": "Odmrzavanje", "defrost": "Odmrzavanje",
"descaling": "Uklanjanje kamenca", "descaling": "Uklanjanje kamenca",
"fish": "Riba", "fish": "Riba",
"fish_steam": "Riba kuhana na pari", "fish_steam": "Riba na pari",
"grill_cata": "Pečenje", "grill_cata": "Pečenje",
"grill_fan_cata": "Ventilator za pečenje", "grill_fan_cata": "Ventilator za pečenje",
"grill_fan_pyro": "Grijač + ventilator", "grill_fan_pyro": "Grijač + ventilator",
@ -476,12 +494,12 @@
"leavening": "Dizanje tijesta", "leavening": "Dizanje tijesta",
"low_temp_cooking": "Kuhanje na niskoj temperaturi", "low_temp_cooking": "Kuhanje na niskoj temperaturi",
"low_temp_cooking_fish": "Kuhanje na niskoj temperaturi - riba", "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": "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", "low_temp_cooking_steam": "Kuhanje na pari i na niskoj temperaturi",
"meat": "Meso", "meat": "Meso",
"meat_steam": "Meso kuhano na pari", "meat_steam": "Meso na pari",
"multi_level": "Više razina", "multi_level": "Više razina",
"paella": "Paella", "paella": "Paella",
"pasta_and_bakery": "Tjestenina i tijesta", "pasta_and_bakery": "Tjestenina i tijesta",
@ -489,7 +507,7 @@
"pyrolysis": "Piroliza", "pyrolysis": "Piroliza",
"pyrolysis_plus": "Piroliza +", "pyrolysis_plus": "Piroliza +",
"red_meat": "Crveno meso", "red_meat": "Crveno meso",
"red_meat_steam": "Crveno meso kuhano na pari", "red_meat_steam": "Kuhano crveno meso",
"regenerate": "Regeneracija", "regenerate": "Regeneracija",
"soft_plus": "Mekano+", "soft_plus": "Mekano+",
"super_grill": "Super roštilj", "super_grill": "Super roštilj",
@ -499,9 +517,9 @@
"vegetables": "Povrće", "vegetables": "Povrće",
"vegetables_cata": "Povrće", "vegetables_cata": "Povrće",
"vegetables_pyro": "Povrće", "vegetables_pyro": "Povrće",
"water_discharge": "Odvod vode", "water_discharge": "Ispuštanje vode",
"white_meat": "Bijelo meso", "white_meat": "Bijelo meso",
"white_meat_steam": "Bijelo meso kuhano na pari" "white_meat_steam": "Kuhano bijelo meso na pari"
}, },
"name": "Program" "name": "Program"
}, },
@ -558,7 +576,7 @@
"hqd_precious_cure": "Precious Cure", "hqd_precious_cure": "Precious Cure",
"hqd_quick_20": "Brzo 20", "hqd_quick_20": "Brzo 20",
"hqd_quick_30": "Brzo 30", "hqd_quick_30": "Brzo 30",
"hqd_quick_dry": "Brzo sušenje", "hqd_quick_dry": "Brzo sušenje 30",
"hqd_quilt": "Popluni", "hqd_quilt": "Popluni",
"hqd_refresh": "Protiv neugodnih mirisa", "hqd_refresh": "Protiv neugodnih mirisa",
"hqd_school_uniform": "Školska uniforma", "hqd_school_uniform": "Školska uniforma",
@ -1013,6 +1031,40 @@
"iot_uv_and_fan": "UV + ventilator", "iot_uv_and_fan": "UV + ventilator",
"iot_uv_and_heat": "UV + grijanje" "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": { "switch": {
@ -1105,6 +1157,24 @@
}, },
"good_night": { "good_night": {
"name": "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": { "binary_sensor": {
@ -1154,7 +1224,7 @@
"name": "Tava" "name": "Tava"
}, },
"remote_control": { "remote_control": {
"name": "Upravljanje na daljinu" "name": "Daljinski upravljač"
}, },
"rinse_aid": { "rinse_aid": {
"name": "Razina sredstva za ispiranje" "name": "Razina sredstva za ispiranje"
@ -1182,6 +1252,30 @@
}, },
"auto_dose": { "auto_dose": {
"name": "Automatsko doziranje" "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": { "number": {
@ -1214,11 +1308,116 @@
}, },
"steam_level": { "steam_level": {
"name": "Razina pare" "name": "Razina pare"
},
"freezer_temp_sel": {
"name": "Ciljana temperatura Zamrzivač"
},
"fridge_temp_sel": {
"name": "Ciljana temperatura Hladnjak"
} }
}, },
"button": { "button": {
"induction_hob": { "induction_hob": {
"name": "Indukcijska ploča za kuhanje" "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_bed_sheets": "Lenzuola",
"hqd_bulky": "Vestiti voluminosi", "hqd_bulky": "Vestiti voluminosi",
"hqd_casual": "Casual", "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_cold_wind_timing": "Brezza rinfrescante",
"hqd_cotton": "Cotone", "hqd_cotton": "Cotone",
"hqd_curtain": "Tende", "hqd_curtain": "Tende",
@ -270,14 +270,14 @@
"hqd_i_refresh_pro": "I-Refresh Pro", "hqd_i_refresh_pro": "I-Refresh Pro",
"hqd_jacket": "Giacche", "hqd_jacket": "Giacche",
"hqd_jeans": "Jeans", "hqd_jeans": "Jeans",
"hqd_luxury": "Vestiti preziosi", "hqd_luxury": "Capi Pregiati",
"hqd_mix": "Misti", "hqd_mix": "Misti",
"hqd_night_dry": "Asciugatura notturna", "hqd_night_dry": "Asciugatura notturna",
"hqd_outdoor": "Outdoor", "hqd_outdoor": "Outdoor",
"hqd_precious_cure": "Precious cure", "hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Rapido 20", "hqd_quick_20": "Rapido 20m",
"hqd_quick_30": "Rapido 30", "hqd_quick_30": "Rapido 30m",
"hqd_quick_dry": "Asciugatura veloce", "hqd_quick_dry": "Asciugatura veloce (30 min)",
"hqd_quilt": "Trapunte", "hqd_quilt": "Trapunte",
"hqd_refresh": "Refresh", "hqd_refresh": "Refresh",
"hqd_school_uniform": "Uniforme scolastica", "hqd_school_uniform": "Uniforme scolastica",
@ -291,7 +291,7 @@
"hqd_underwear": "Intimo", "hqd_underwear": "Intimo",
"hqd_warm_up": "Riscaldamento", "hqd_warm_up": "Riscaldamento",
"hqd_wool": "Lana", "hqd_wool": "Lana",
"hqd_working_suit": "Completo da lavoro", "hqd_working_suit": "Abbigliamento da lavoro",
"hygiene": "Igiene", "hygiene": "Igiene",
"iot_checkup": "Check-Up", "iot_checkup": "Check-Up",
"iot_dry_anti_mites": "Anti-Acari", "iot_dry_anti_mites": "Anti-Acari",
@ -315,7 +315,7 @@
"iot_dry_lingerie": "Lingerie", "iot_dry_lingerie": "Lingerie",
"iot_dry_mixed": "Misti", "iot_dry_mixed": "Misti",
"iot_dry_playsuits": "Tutine", "iot_dry_playsuits": "Tutine",
"iot_dry_rapid_30": "Rapido 30", "iot_dry_rapid_30": "Rapido 30m",
"iot_dry_rapid_59": "Rapido 59'.", "iot_dry_rapid_59": "Rapido 59'.",
"iot_dry_refresh": "Rinfresca", "iot_dry_refresh": "Rinfresca",
"iot_dry_regenerates_waterproof": "Rigenera Tessuti Impermeabili", "iot_dry_regenerates_waterproof": "Rigenera Tessuti Impermeabili",
@ -359,6 +359,18 @@
"xxl_load": "Carico XXL", "xxl_load": "Carico XXL",
"zoom_59": "Zoom 59" "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": { "select": {
@ -449,6 +461,11 @@
"silent": "Notte", "silent": "Notte",
"silent_care": "Silent Care", "silent_care": "Silent Care",
"smart_ai": "Smart AI", "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": "Speciale",
"special_pw_prz": "Speciale", "special_pw_prz": "Speciale",
"steam": "Vapore 75°C", "steam": "Vapore 75°C",
@ -505,19 +522,20 @@
"programs_ov": { "programs_ov": {
"state": { "state": {
"bakery": "Pasta e Pasticceria", "bakery": "Pasta e Pasticceria",
"bakery_steam": "Pane a vapore", "bakery_steam": "Vapore da forno",
"bottom_heating": "Resistenza Inferiore", "bottom_heating": "Resistenza Inferiore",
"bottom_heating_fan": "Resistenza Inferiore Ventilata", "bottom_heating_fan": "Resistenza Inferiore Ventilata",
"bread": "Pane", "bread": "Pane",
"bread_steam": "Pasticceria a vapore", "bread_steam": "Pane al vapore",
"combi": "Combi",
"convection_fan": "Cottura Ventilata", "convection_fan": "Cottura Ventilata",
"convection_fan_turnspit": "Girarrosto + statico ventilato", "convection_fan_turnspit": "Girarrosto a convenzione ventilata",
"conventional": "Statico", "conventional": "Statico",
"conventional_turnspit": "Girarrosto + statico", "conventional_turnspit": "Girarrosto a convenzione",
"defrost": "Decongelamento", "defrost": "Decongelamento",
"descaling": "Disincrostazione", "descaling": "Decalcificazione",
"fish": "Pesce", "fish": "Pesce",
"fish_steam": "Pesce a vapore", "fish_steam": "Pesce al vapore",
"grill_cata": "Grill", "grill_cata": "Grill",
"grill_fan_cata": "Grill fan", "grill_fan_cata": "Grill fan",
"grill_fan_pyro": "Grill Ventilato", "grill_fan_pyro": "Grill Ventilato",
@ -527,13 +545,13 @@
"iot_h20_clean": "h2O clean", "iot_h20_clean": "h2O clean",
"leavening": "Lievitazione", "leavening": "Lievitazione",
"low_temp_cooking": "Cottura a bassa temperatura", "low_temp_cooking": "Cottura a bassa temperatura",
"low_temp_cooking_fish": "Cottura a bassa temperatura del pesce", "low_temp_cooking_fish": "Cottura a bassa temperatura Pesce",
"low_temp_cooking_fish_steam": "Cottura a bassa temperatura del pesce a vapore", "low_temp_cooking_fish_steam": "Cottura a bassa temperatura Pesce al vapore",
"low_temp_cooking_meat": "Cottura a bassa temperatura della carne", "low_temp_cooking_meat": "Cottura a bassa temperatura Carne",
"low_temp_cooking_meat_steam": "Cottura a vapore a bassa temperatura di carne", "low_temp_cooking_meat_steam": "Cottura a bassa temperatura Carne al vapore",
"low_temp_cooking_steam": "Cottura a vapore a bassa temperatura", "low_temp_cooking_steam": "Cottura a bassa temperatura al vapore",
"meat": "Carne", "meat": "Carne",
"meat_steam": "Carne a vapore", "meat_steam": "Carne al vapore",
"multi_level": "Cottura Multilivello", "multi_level": "Cottura Multilivello",
"paella": "Paella", "paella": "Paella",
"pasta_and_bakery": "Pasta e Pasticceria", "pasta_and_bakery": "Pasta e Pasticceria",
@ -541,8 +559,8 @@
"pyrolysis": "Pirolisi", "pyrolysis": "Pirolisi",
"pyrolysis_plus": "Pirolisi +", "pyrolysis_plus": "Pirolisi +",
"red_meat": "Carne rossa", "red_meat": "Carne rossa",
"red_meat_steam": "Carne rossa a vapore", "red_meat_steam": "Carne rossa al vapore",
"regenerate": "Rigenerazione", "regenerate": "Rigenerare",
"soft_plus": "Soft+", "soft_plus": "Soft+",
"super_grill": "Supergriglia", "super_grill": "Supergriglia",
"tailor_bake": "Tailor bake", "tailor_bake": "Tailor bake",
@ -551,9 +569,9 @@
"vegetables": "Verdure", "vegetables": "Verdure",
"vegetables_cata": "Verdure", "vegetables_cata": "Verdure",
"vegetables_pyro": "Verdure", "vegetables_pyro": "Verdure",
"water_discharge": "Scarico d'acqua", "water_discharge": "Scarico dell'acqua",
"white_meat": "Carne bianca", "white_meat": "Carne Bianca",
"white_meat_steam": "Carne bianca a vapore" "white_meat_steam": "Carne bianca al vapore"
}, },
"name": "Programma" "name": "Programma"
}, },
@ -589,7 +607,7 @@
"hqd_bed_sheets": "Lenzuola", "hqd_bed_sheets": "Lenzuola",
"hqd_bulky": "Vestiti voluminosi", "hqd_bulky": "Vestiti voluminosi",
"hqd_casual": "Casual", "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_cold_wind_timing": "Brezza rinfrescante",
"hqd_cotton": "Cotone", "hqd_cotton": "Cotone",
"hqd_curtain": "Tende", "hqd_curtain": "Tende",
@ -603,14 +621,14 @@
"hqd_i_refresh_pro": "I-Refresh Pro", "hqd_i_refresh_pro": "I-Refresh Pro",
"hqd_jacket": "Giacche", "hqd_jacket": "Giacche",
"hqd_jeans": "Jeans", "hqd_jeans": "Jeans",
"hqd_luxury": "Vestiti preziosi", "hqd_luxury": "Capi Pregiati",
"hqd_mix": "Misti", "hqd_mix": "Misti",
"hqd_night_dry": "Asciugatura notturna", "hqd_night_dry": "Asciugatura notturna",
"hqd_outdoor": "Outdoor", "hqd_outdoor": "Outdoor",
"hqd_precious_cure": "Precious cure", "hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Rapido 20", "hqd_quick_20": "Rapido 20m",
"hqd_quick_30": "Rapido 30", "hqd_quick_30": "Rapido 30m",
"hqd_quick_dry": "Asciugatura veloce", "hqd_quick_dry": "Asciugatura veloce (30 min)",
"hqd_quilt": "Trapunte", "hqd_quilt": "Trapunte",
"hqd_refresh": "Refresh", "hqd_refresh": "Refresh",
"hqd_school_uniform": "Uniforme scolastica", "hqd_school_uniform": "Uniforme scolastica",
@ -624,7 +642,7 @@
"hqd_underwear": "Intimo", "hqd_underwear": "Intimo",
"hqd_warm_up": "Riscaldamento", "hqd_warm_up": "Riscaldamento",
"hqd_wool": "Lana", "hqd_wool": "Lana",
"hqd_working_suit": "Completo da lavoro", "hqd_working_suit": "Abbigliamento da lavoro",
"hygiene": "Igiene", "hygiene": "Igiene",
"iot_checkup": "Check-Up", "iot_checkup": "Check-Up",
"iot_dry_anti_mites": "Anti-Acari", "iot_dry_anti_mites": "Anti-Acari",
@ -648,7 +666,7 @@
"iot_dry_lingerie": "Lingerie", "iot_dry_lingerie": "Lingerie",
"iot_dry_mixed": "Misti", "iot_dry_mixed": "Misti",
"iot_dry_playsuits": "Tutine", "iot_dry_playsuits": "Tutine",
"iot_dry_rapid_30": "Rapido 30", "iot_dry_rapid_30": "Rapido 30m",
"iot_dry_rapid_59": "Rapido 59'.", "iot_dry_rapid_59": "Rapido 59'.",
"iot_dry_refresh": "Rinfresca", "iot_dry_refresh": "Rinfresca",
"iot_dry_regenerates_waterproof": "Rigenera Tessuti Impermeabili", "iot_dry_regenerates_waterproof": "Rigenera Tessuti Impermeabili",
@ -1065,6 +1083,40 @@
"iot_uv_and_fan": "UV + Ventola", "iot_uv_and_fan": "UV + Ventola",
"iot_uv_and_heat": "UV + Caldo" "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": { "switch": {
@ -1157,6 +1209,24 @@
}, },
"good_night": { "good_night": {
"name": "Buona notte" "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": { "binary_sensor": {
@ -1206,7 +1276,7 @@
"name": "Pentola" "name": "Pentola"
}, },
"remote_control": { "remote_control": {
"name": "Controllo remoto" "name": "远程控制"
}, },
"rinse_aid": { "rinse_aid": {
"name": "Livello Brillantante" "name": "Livello Brillantante"
@ -1234,6 +1304,30 @@
}, },
"auto_dose": { "auto_dose": {
"name": "Autodose" "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": { "number": {
@ -1266,11 +1360,116 @@
}, },
"steam_level": { "steam_level": {
"name": "Livello vapore" "name": "Livello vapore"
},
"freezer_temp_sel": {
"name": "Temperatura target Congelatore"
},
"fridge_temp_sel": {
"name": "Temperatura target Frigorifero"
} }
}, },
"button": { "button": {
"induction_hob": { "induction_hob": {
"name": "Piano cottura a induzione" "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_precious_cure": "Precious cure",
"hqd_quick_20": "Quick 20", "hqd_quick_20": "Quick 20",
"hqd_quick_30": "Quick 30", "hqd_quick_30": "Quick 30",
"hqd_quick_dry": "Quick dry", "hqd_quick_dry": "Quick dry 30",
"hqd_quilt": "Quilts", "hqd_quilt": "Quilts",
"hqd_refresh": "Opfrissen", "hqd_refresh": "Opfrissen",
"hqd_school_uniform": "Schooluniform", "hqd_school_uniform": "Schooluniform",
@ -307,6 +307,18 @@
"xxl_load": "XXL Lading", "xxl_load": "XXL Lading",
"zoom_59": "Zoom 59" "zoom_59": "Zoom 59"
} }
},
"room_temperature": {
"name": "Omgevingstemperatuur"
},
"humidity": {
"name": "Luchtvochtigheid"
},
"freezer_temp": {
"name": "Vriezertemperatuur"
},
"fridge_temp": {
"name": "Koelkasttemperatuur"
} }
}, },
"select": { "select": {
@ -397,6 +409,11 @@
"silent": "Nacht", "silent": "Nacht",
"silent_care": "Silent Care", "silent_care": "Silent Care",
"smart_ai": "Smart AI", "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": "speciaal",
"special_pw_prz": "speciaal", "special_pw_prz": "speciaal",
"steam": "Stoom 75°C", "steam": "Stoom 75°C",
@ -453,11 +470,12 @@
"programs_ov": { "programs_ov": {
"state": { "state": {
"bakery": "Pasta en bakkersproducten", "bakery": "Pasta en bakkersproducten",
"bakery_steam": "Stoomgebakken brood", "bakery_steam": "Oven stomen",
"bottom_heating": "Bodemverwarming", "bottom_heating": "Bodemverwarming",
"bottom_heating_fan": "Bodemverwarming + Ventilator", "bottom_heating_fan": "Bodemverwarming + Ventilator",
"bread": "Brood", "bread": "Brood",
"bread_steam": "Stoomgebakken pasteien", "bread_steam": "Stoomgebakken brood",
"combi": "Combi",
"convection_fan": "Met ventilator", "convection_fan": "Met ventilator",
"convection_fan_turnspit": "Convectie + ventilator + draaispit", "convection_fan_turnspit": "Convectie + ventilator + draaispit",
"conventional": "Conventioneel", "conventional": "Conventioneel",
@ -476,12 +494,12 @@
"leavening": "Gisting", "leavening": "Gisting",
"low_temp_cooking": "Bereiding op lage temperatuur", "low_temp_cooking": "Bereiding op lage temperatuur",
"low_temp_cooking_fish": "Bereiding op lage temperatuur Vis", "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": "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", "low_temp_cooking_steam": "Stomen bij lage temperatuur",
"meat": "Vlees", "meat": "Vlees",
"meat_steam": "Gestoomd vlees", "meat_steam": "Vlees stomen",
"multi_level": "Multi-level", "multi_level": "Multi-level",
"paella": "Paella", "paella": "Paella",
"pasta_and_bakery": "Pasta en bakkersproducten", "pasta_and_bakery": "Pasta en bakkersproducten",
@ -490,7 +508,7 @@
"pyrolysis_plus": "Pyrolyse +", "pyrolysis_plus": "Pyrolyse +",
"red_meat": "Rood vlees", "red_meat": "Rood vlees",
"red_meat_steam": "Gestoomd rood vlees", "red_meat_steam": "Gestoomd rood vlees",
"regenerate": "Regeneratie", "regenerate": "Regenereren",
"soft_plus": "Soft+", "soft_plus": "Soft+",
"super_grill": "Super grill", "super_grill": "Super grill",
"tailor_bake": "Tailor bake", "tailor_bake": "Tailor bake",
@ -499,7 +517,7 @@
"vegetables": "Groenten", "vegetables": "Groenten",
"vegetables_cata": "Groenten", "vegetables_cata": "Groenten",
"vegetables_pyro": "Groenten", "vegetables_pyro": "Groenten",
"water_discharge": "Waterafvoer", "water_discharge": "Afvoer van water",
"white_meat": "Wit vlees", "white_meat": "Wit vlees",
"white_meat_steam": "Gestoomd wit vlees" "white_meat_steam": "Gestoomd wit vlees"
}, },
@ -558,7 +576,7 @@
"hqd_precious_cure": "Precious cure", "hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Quick 20", "hqd_quick_20": "Quick 20",
"hqd_quick_30": "Quick 30", "hqd_quick_30": "Quick 30",
"hqd_quick_dry": "Quick dry", "hqd_quick_dry": "Quick dry 30",
"hqd_quilt": "Quilts", "hqd_quilt": "Quilts",
"hqd_refresh": "Opfrissen", "hqd_refresh": "Opfrissen",
"hqd_school_uniform": "Schooluniform", "hqd_school_uniform": "Schooluniform",
@ -1013,6 +1031,40 @@
"iot_uv_and_fan": "UV + Hetelucht", "iot_uv_and_fan": "UV + Hetelucht",
"iot_uv_and_heat": "UV + Warmte" "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": { "switch": {
@ -1105,6 +1157,24 @@
}, },
"good_night": { "good_night": {
"name": "Goede nacht" "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": { "binary_sensor": {
@ -1182,6 +1252,30 @@
}, },
"auto_dose": { "auto_dose": {
"name": "Automatisch doseren" "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": { "number": {
@ -1214,11 +1308,116 @@
}, },
"steam_level": { "steam_level": {
"name": "Stoomniveau" "name": "Stoomniveau"
},
"freezer_temp_sel": {
"name": "Doeltemperatuur Vriezer"
},
"fridge_temp_sel": {
"name": "Doeltemperatuur Koelkast"
} }
}, },
"button": { "button": {
"induction_hob": { "induction_hob": {
"name": "Inductiekookplaat" "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_precious_cure": "Precious cure",
"hqd_quick_20": "Szybkie 20", "hqd_quick_20": "Szybkie 20",
"hqd_quick_30": "Szybkie 30", "hqd_quick_30": "Szybkie 30",
"hqd_quick_dry": "Szybkoschnące", "hqd_quick_dry": "Szybkoschnące 30",
"hqd_quilt": "Kołdry", "hqd_quilt": "Kołdry",
"hqd_refresh": "Odświeżanie", "hqd_refresh": "Odświeżanie",
"hqd_school_uniform": "Mundurek szkolny", "hqd_school_uniform": "Mundurek szkolny",
@ -307,6 +307,18 @@
"xxl_load": "XXL Load", "xxl_load": "XXL Load",
"zoom_59": "Zoom 59" "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": { "select": {
@ -397,6 +409,11 @@
"silent": "Nocny", "silent": "Nocny",
"silent_care": "Silent Care", "silent_care": "Silent Care",
"smart_ai": "Smart AI", "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": "specjalne",
"special_pw_prz": "specjalne", "special_pw_prz": "specjalne",
"steam": "Para 75°C", "steam": "Para 75°C",
@ -453,11 +470,12 @@
"programs_ov": { "programs_ov": {
"state": { "state": {
"bakery": "Makaron i Piekarnia", "bakery": "Makaron i Piekarnia",
"bakery_steam": "Chleb pieczony na parze", "bakery_steam": "Para z piekarnika",
"bottom_heating": "Grzanie dolne", "bottom_heating": "Grzanie dolne",
"bottom_heating_fan": "Grzanie Dolne + Termoobieg", "bottom_heating_fan": "Grzanie Dolne + Termoobieg",
"bread": "Chleb", "bread": "Chleb",
"bread_steam": "Ciasteczka pieczone na parze", "bread_steam": "Chleb pieczony na parze",
"combi": "Kombi",
"convection_fan": "Termoobieg", "convection_fan": "Termoobieg",
"convection_fan_turnspit": "Termoobieg + Fan + Rożen", "convection_fan_turnspit": "Termoobieg + Fan + Rożen",
"conventional": "Konwencjonalny", "conventional": "Konwencjonalny",
@ -465,7 +483,7 @@
"defrost": "Rozmrażanie", "defrost": "Rozmrażanie",
"descaling": "Odkamienianie", "descaling": "Odkamienianie",
"fish": "Ryby", "fish": "Ryby",
"fish_steam": "Ryba gotowana na parze", "fish_steam": "Ryba na parze",
"grill_cata": "Grill", "grill_cata": "Grill",
"grill_fan_cata": "Grill + termoobieg", "grill_fan_cata": "Grill + termoobieg",
"grill_fan_pyro": "Grill + termoobieg", "grill_fan_pyro": "Grill + termoobieg",
@ -476,12 +494,12 @@
"leavening": "Zaczyn", "leavening": "Zaczyn",
"low_temp_cooking": "Pieczenie w niskiej temperaturze", "low_temp_cooking": "Pieczenie w niskiej temperaturze",
"low_temp_cooking_fish": "Pieczenie w niskiej temperaturze - ryby", "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": "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", "low_temp_cooking_steam": "Gotowanie na parze w niskiej temperaturze",
"meat": "Mięso", "meat": "Mięso",
"meat_steam": "Mięso gotowane na parze", "meat_steam": "Mięso na parze",
"multi_level": "Wielopoziomowo", "multi_level": "Wielopoziomowo",
"paella": "Paella", "paella": "Paella",
"pasta_and_bakery": "Makaron i Piekarnia", "pasta_and_bakery": "Makaron i Piekarnia",
@ -489,8 +507,8 @@
"pyrolysis": "Pyroliza", "pyrolysis": "Pyroliza",
"pyrolysis_plus": "Pyroliza +", "pyrolysis_plus": "Pyroliza +",
"red_meat": "Czerwone mięso", "red_meat": "Czerwone mięso",
"red_meat_steam": "Czerwone mięso gotowane na parze", "red_meat_steam": "Czerwone mięso na parze",
"regenerate": "Regeneracja", "regenerate": "Podgrzewanie",
"soft_plus": "Soft+", "soft_plus": "Soft+",
"super_grill": "Super Grill", "super_grill": "Super Grill",
"tailor_bake": "Tailor bake", "tailor_bake": "Tailor bake",
@ -499,7 +517,7 @@
"vegetables": "Warzywa", "vegetables": "Warzywa",
"vegetables_cata": "Warzywa", "vegetables_cata": "Warzywa",
"vegetables_pyro": "Warzywa", "vegetables_pyro": "Warzywa",
"water_discharge": "Odpływ wody", "water_discharge": "Odprowadzanie wody",
"white_meat": "Białe mięso", "white_meat": "Białe mięso",
"white_meat_steam": "Białe mięso gotowane na parze" "white_meat_steam": "Białe mięso gotowane na parze"
}, },
@ -558,7 +576,7 @@
"hqd_precious_cure": "Precious cure", "hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Szybkie 20", "hqd_quick_20": "Szybkie 20",
"hqd_quick_30": "Szybkie 30", "hqd_quick_30": "Szybkie 30",
"hqd_quick_dry": "Szybkoschnące", "hqd_quick_dry": "Szybkoschnące 30",
"hqd_quilt": "Kołdry", "hqd_quilt": "Kołdry",
"hqd_refresh": "Odświeżanie", "hqd_refresh": "Odświeżanie",
"hqd_school_uniform": "Mundurek szkolny", "hqd_school_uniform": "Mundurek szkolny",
@ -1013,6 +1031,40 @@
"iot_uv_and_fan": "UV + wentylator", "iot_uv_and_fan": "UV + wentylator",
"iot_uv_and_heat": "UV + podgrzewanie" "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": { "switch": {
@ -1105,6 +1157,24 @@
}, },
"good_night": { "good_night": {
"name": "Dobranoc" "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": { "binary_sensor": {
@ -1182,6 +1252,30 @@
}, },
"auto_dose": { "auto_dose": {
"name": "Automatyczne dozowanie" "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": { "number": {
@ -1214,11 +1308,116 @@
}, },
"steam_level": { "steam_level": {
"name": "Poziom pary" "name": "Poziom pary"
},
"freezer_temp_sel": {
"name": "Temperatura docelowa Zamrażarka"
},
"fridge_temp_sel": {
"name": "Temperatura docelowa Lodówka"
} }
}, },
"button": { "button": {
"induction_hob": { "induction_hob": {
"name": "Płyta indukcyjna" "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_precious_cure": "Precious cure",
"hqd_quick_20": "Rápido 20", "hqd_quick_20": "Rápido 20",
"hqd_quick_30": "Rápido 30", "hqd_quick_30": "Rápido 30",
"hqd_quick_dry": "Secagem rápida", "hqd_quick_dry": "Secagem rápida 30",
"hqd_quilt": "Colchas", "hqd_quilt": "Colchas",
"hqd_refresh": "Refrescar", "hqd_refresh": "Refrescar",
"hqd_school_uniform": "Farda da escola", "hqd_school_uniform": "Farda da escola",
@ -307,6 +307,18 @@
"xxl_load": "Carga XXL", "xxl_load": "Carga XXL",
"zoom_59": "Zoom 59" "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": { "select": {
@ -397,6 +409,11 @@
"silent": "Noite", "silent": "Noite",
"silent_care": "Silent Care", "silent_care": "Silent Care",
"smart_ai": "Smart AI", "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": "especial",
"special_pw_prz": "especial", "special_pw_prz": "especial",
"steam": "Vapor 75 °C", "steam": "Vapor 75 °C",
@ -453,19 +470,20 @@
"programs_ov": { "programs_ov": {
"state": { "state": {
"bakery": "Massas e bolos", "bakery": "Massas e bolos",
"bakery_steam": "Pão cozido a vapor", "bakery_steam": "Vapor do forno",
"bottom_heating": "Aquecimento inferior", "bottom_heating": "Aquecimento inferior",
"bottom_heating_fan": "Aquecimento Inferior + Ventilação", "bottom_heating_fan": "Aquecimento Inferior + Ventilação",
"bread": "Pã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": "Convecção + Ventilador",
"convection_fan_turnspit": "Convecção + Ventilador + Espeto giratório", "convection_fan_turnspit": "Espeto com convecção ventilada",
"conventional": "Estático", "conventional": "Estático",
"conventional_turnspit": "Convecção + Espeto giratório", "conventional_turnspit": "Espeto convencional",
"defrost": "Descongelar", "defrost": "Descongelar",
"descaling": "Descalcificação", "descaling": "Descalcificação",
"fish": "Peixe", "fish": "Peixe",
"fish_steam": "Peixe cozinhado a vapor", "fish_steam": "Peixe no vapor",
"grill_cata": "Grelhar", "grill_cata": "Grelhar",
"grill_fan_cata": "Grelhar com ventilação", "grill_fan_cata": "Grelhar com ventilação",
"grill_fan_pyro": "Grelhar + Ventilação", "grill_fan_pyro": "Grelhar + Ventilação",
@ -474,23 +492,23 @@
"iot_bread": "Pão", "iot_bread": "Pão",
"iot_h20_clean": "h2O clean", "iot_h20_clean": "h2O clean",
"leavening": "Levedação", "leavening": "Levedação",
"low_temp_cooking": "Cozinhar a baixa temperatura", "low_temp_cooking": "Cozimento em baixa temperatura",
"low_temp_cooking_fish": "Cozinhar carne a baixa temperatura - Peixe", "low_temp_cooking_fish": "Cozimento em baixa temperatura Peixe",
"low_temp_cooking_fish_steam": "Cozedura a vapor a baixa temperatura - Peixe", "low_temp_cooking_fish_steam": "Cozimento em baixa temperatura Peixe a vapor",
"low_temp_cooking_meat": "Cozinhar carne a baixa temperatura - Carne", "low_temp_cooking_meat": "Cozimento em baixa temperatura Carne",
"low_temp_cooking_meat_steam": "Cozedura a vapor a baixa temperatura - Carne", "low_temp_cooking_meat_steam": "Cozimento em baixa temperatura Carne no vapor",
"low_temp_cooking_steam": "Cozedura a vapor a baixa temperatura", "low_temp_cooking_steam": "Cozimento em baixa temperatura no vapor",
"meat": "Carne", "meat": "Carne",
"meat_steam": "Carne cozinhada a vapor", "meat_steam": "Vapor de carne",
"multi_level": "Multinível", "multi_level": "Multinível",
"paella": "Paella", "paella": "Paella",
"pasta_and_bakery": "Massas e bolos", "pasta_and_bakery": "Massas e bolos",
"pizza": "Pizza", "pizza": "Pizza",
"pyrolysis": "Pirólise", "pyrolysis": "Pirólise",
"pyrolysis_plus": "Pirólise +", "pyrolysis_plus": "Pirólise +",
"red_meat": "Carne vermelha", "red_meat": "Carne Vermelha",
"red_meat_steam": "Carne vermelha cozinhada a vapor", "red_meat_steam": "Carne Vermelha no vapor",
"regenerate": "Regeneração", "regenerate": "Regenerar",
"soft_plus": "Soft+", "soft_plus": "Soft+",
"super_grill": "Super Grelhador", "super_grill": "Super Grelhador",
"tailor_bake": "Tailor bake", "tailor_bake": "Tailor bake",
@ -499,9 +517,9 @@
"vegetables": "Vegetais", "vegetables": "Vegetais",
"vegetables_cata": "Legumes", "vegetables_cata": "Legumes",
"vegetables_pyro": "Legumes", "vegetables_pyro": "Legumes",
"water_discharge": "Drenagem de água", "water_discharge": "Descarga d'água",
"white_meat": "Carne branca", "white_meat": "Carne Branca",
"white_meat_steam": "Carne branca cozinhada a vapor" "white_meat_steam": "Carne Branca no vapor"
}, },
"name": "Programa" "name": "Programa"
}, },
@ -558,7 +576,7 @@
"hqd_precious_cure": "Precious cure", "hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Rápido 20", "hqd_quick_20": "Rápido 20",
"hqd_quick_30": "Rápido 30", "hqd_quick_30": "Rápido 30",
"hqd_quick_dry": "Secagem rápida", "hqd_quick_dry": "Secagem rápida 30",
"hqd_quilt": "Colchas", "hqd_quilt": "Colchas",
"hqd_refresh": "Refrescar", "hqd_refresh": "Refrescar",
"hqd_school_uniform": "Farda da escola", "hqd_school_uniform": "Farda da escola",
@ -1013,6 +1031,40 @@
"iot_uv_and_fan": "UV + Ventilação", "iot_uv_and_fan": "UV + Ventilação",
"iot_uv_and_heat": "UV + Calor" "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": { "switch": {
@ -1105,6 +1157,24 @@
}, },
"good_night": { "good_night": {
"name": "Boa Noite" "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": { "binary_sensor": {
@ -1182,6 +1252,30 @@
}, },
"auto_dose": { "auto_dose": {
"name": "Autodosagem" "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": { "number": {
@ -1214,11 +1308,116 @@
}, },
"steam_level": { "steam_level": {
"name": "Nível de vapor" "name": "Nível de vapor"
},
"freezer_temp_sel": {
"name": "Temperatura alvo Congelador"
},
"fridge_temp_sel": {
"name": "Temperatura alvo Frigorífico"
} }
}, },
"button": { "button": {
"induction_hob": { "induction_hob": {
"name": "Placa de indução" "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_precious_cure": "Precious cure",
"hqd_quick_20": "Rapid 20", "hqd_quick_20": "Rapid 20",
"hqd_quick_30": "Rapid 30", "hqd_quick_30": "Rapid 30",
"hqd_quick_dry": "Uscare rapidă", "hqd_quick_dry": "Uscare rapidă 30",
"hqd_quilt": "Pilote", "hqd_quilt": "Pilote",
"hqd_refresh": "Reîmprospătare", "hqd_refresh": "Reîmprospătare",
"hqd_school_uniform": "Uniformă școlară", "hqd_school_uniform": "Uniformă școlară",
@ -307,6 +307,18 @@
"xxl_load": "Încărcare XXL", "xxl_load": "Încărcare XXL",
"zoom_59": "Zoom 59" "zoom_59": "Zoom 59"
} }
},
"room_temperature": {
"name": "Temperatura camerei"
},
"humidity": {
"name": "Umiditate"
},
"freezer_temp": {
"name": "Temperatura congelatorului"
},
"fridge_temp": {
"name": "Temperatura frigiderului"
} }
}, },
"select": { "select": {
@ -397,6 +409,11 @@
"silent": "Noapte", "silent": "Noapte",
"silent_care": "Silent Care", "silent_care": "Silent Care",
"smart_ai": "Smart AI", "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": "special",
"special_pw_prz": "special", "special_pw_prz": "special",
"steam": "Abur 75 °C", "steam": "Abur 75 °C",
@ -452,12 +469,13 @@
}, },
"programs_ov": { "programs_ov": {
"state": { "state": {
"bakery": "Paste și patiserie", "bakery": "Paste și produse de patiserie",
"bakery_steam": "Pâine gătită la abur", "bakery_steam": "În cuptor la abur",
"bottom_heating": "Încălzire de jos", "bottom_heating": "Încălzire de jos",
"bottom_heating_fan": "Încălzire De Jos + Ventilație", "bottom_heating_fan": "Încălzire De Jos + Ventilație",
"bread": "Pâine", "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": "Convecție și ventilație",
"convection_fan_turnspit": "Convecție + Ventilator + Rotisor", "convection_fan_turnspit": "Convecție + Ventilator + Rotisor",
"conventional": "Convențional", "conventional": "Convențional",
@ -476,9 +494,9 @@
"leavening": "Dospire", "leavening": "Dospire",
"low_temp_cooking": "Gătire la temperatură scăzută", "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": "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": "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", "low_temp_cooking_steam": "Gătitul la abur la temperaturi scăzute",
"meat": "Carne", "meat": "Carne",
"meat_steam": "Carne gătită la abur", "meat_steam": "Carne gătită la abur",
@ -499,7 +517,7 @@
"vegetables": "Legume", "vegetables": "Legume",
"vegetables_cata": "Legume", "vegetables_cata": "Legume",
"vegetables_pyro": "Legume", "vegetables_pyro": "Legume",
"water_discharge": "Scurgerea apei", "water_discharge": "Evacuare apă",
"white_meat": "Carne albă", "white_meat": "Carne albă",
"white_meat_steam": "Carne albă gătită la abur" "white_meat_steam": "Carne albă gătită la abur"
}, },
@ -558,7 +576,7 @@
"hqd_precious_cure": "Precious cure", "hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Rapid 20", "hqd_quick_20": "Rapid 20",
"hqd_quick_30": "Rapid 30", "hqd_quick_30": "Rapid 30",
"hqd_quick_dry": "Uscare rapidă", "hqd_quick_dry": "Uscare rapidă 30",
"hqd_quilt": "Pilote", "hqd_quilt": "Pilote",
"hqd_refresh": "Reîmprospătare", "hqd_refresh": "Reîmprospătare",
"hqd_school_uniform": "Uniformă școlară", "hqd_school_uniform": "Uniformă școlară",
@ -1013,6 +1031,40 @@
"iot_uv_and_fan": "UV + ventilator", "iot_uv_and_fan": "UV + ventilator",
"iot_uv_and_heat": "UV + încălzire" "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": { "switch": {
@ -1105,6 +1157,24 @@
}, },
"good_night": { "good_night": {
"name": "Noapte bună" "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": { "binary_sensor": {
@ -1182,6 +1252,30 @@
}, },
"auto_dose": { "auto_dose": {
"name": "Autodozare" "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": { "number": {
@ -1214,11 +1308,116 @@
}, },
"steam_level": { "steam_level": {
"name": "Nivel abur" "name": "Nivel abur"
},
"freezer_temp_sel": {
"name": "Temperatură vizată Congelator"
},
"fridge_temp_sel": {
"name": "Temperatură vizată Frigider"
} }
}, },
"button": { "button": {
"induction_hob": { "induction_hob": {
"name": "Plita cu inducție" "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_precious_cure": "Precious cure",
"hqd_quick_20": "Быстрая 20", "hqd_quick_20": "Быстрая 20",
"hqd_quick_30": "Быстрая 30", "hqd_quick_30": "Быстрая 30",
"hqd_quick_dry": "Быстрая сушка", "hqd_quick_dry": "Быстрая сушка 30",
"hqd_quilt": "Стеганые одеяла", "hqd_quilt": "Стеганые одеяла",
"hqd_refresh": "Освежение", "hqd_refresh": "Освежение",
"hqd_school_uniform": "Школьная форма", "hqd_school_uniform": "Школьная форма",
@ -307,6 +307,18 @@
"xxl_load": "Объемные вещи", "xxl_load": "Объемные вещи",
"zoom_59": "Zoom 59 (Зум 59)" "zoom_59": "Zoom 59 (Зум 59)"
} }
},
"room_temperature": {
"name": "Комнатная температура"
},
"humidity": {
"name": "Влажность"
},
"freezer_temp": {
"name": "Температура в морозильном отделении"
},
"fridge_temp": {
"name": "Температура в холодильнике"
} }
}, },
"select": { "select": {
@ -397,6 +409,11 @@
"silent": "Ночь", "silent": "Ночь",
"silent_care": "Silent Care", "silent_care": "Silent Care",
"smart_ai": "Smart AI", "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_pw_prz": "специальные",
"steam": "пар 75°C", "steam": "пар 75°C",
@ -453,11 +470,12 @@
"programs_ov": { "programs_ov": {
"state": { "state": {
"bakery": "Паста и выпечка", "bakery": "Паста и выпечка",
"bakery_steam": "Хлеб, испеченный на пару", "bakery_steam": "Пар в духовом шкафу",
"bottom_heating": "Нижний элемент", "bottom_heating": "Нижний элемент",
"bottom_heating_fan": "Нижний элемент + вентилятор", "bottom_heating_fan": "Нижний элемент + вентилятор",
"bread": "Хлеб", "bread": "Хлеб",
"bread_steam": "Выпечка, приготовленная на пару", "bread_steam": "Хлеб, испеченный на пару",
"combi": "Combi",
"convection_fan": "Верхний и нижний нагрев с вентилятором", "convection_fan": "Верхний и нижний нагрев с вентилятором",
"convection_fan_turnspit": "Обыкновенная духовка + вентилятор + вертел", "convection_fan_turnspit": "Обыкновенная духовка + вентилятор + вертел",
"conventional": "Верхний и нижний нагрев", "conventional": "Верхний и нижний нагрев",
@ -465,7 +483,7 @@
"defrost": "Размораживание", "defrost": "Размораживание",
"descaling": "Удаление накипи", "descaling": "Удаление накипи",
"fish": "Рыба", "fish": "Рыба",
"fish_steam": "Рыба, приготовленная на пару", "fish_steam": "Рыба на пару",
"grill_cata": "Гриль", "grill_cata": "Гриль",
"grill_fan_cata": "Гриль с вентилятором", "grill_fan_cata": "Гриль с вентилятором",
"grill_fan_pyro": "Гриль + вентилятор", "grill_fan_pyro": "Гриль + вентилятор",
@ -476,12 +494,12 @@
"leavening": "Заквашивание", "leavening": "Заквашивание",
"low_temp_cooking": "Приготовление при низкой температуре", "low_temp_cooking": "Приготовление при низкой температуре",
"low_temp_cooking_fish": "Приготовление при низкой температуре - Рыба", "low_temp_cooking_fish": "Приготовление при низкой температуре - Рыба",
"low_temp_cooking_fish_steam": "Приготовление при низкой температуре на пару - Рыба", "low_temp_cooking_fish_steam": "Приготовление при низкой температуре - Рыба на пару",
"low_temp_cooking_meat": "Приготовление при низкой температуре - Мясо", "low_temp_cooking_meat": "Приготовление при низкой температуре - Мясо",
"low_temp_cooking_meat_steam": "Приготовление при низкой температуре на пару - Мясо", "low_temp_cooking_meat_steam": "Приготовление при низкой температуре - Мясо на пару",
"low_temp_cooking_steam": "Приготовление при низкой температуре на пару", "low_temp_cooking_steam": "Приготовление при низкой температуре на пару",
"meat": "Мясо", "meat": "Мясо",
"meat_steam": "Мясо, приготовленное на пару", "meat_steam": "Мясо на пару",
"multi_level": "Многоуровневое приготовление", "multi_level": "Многоуровневое приготовление",
"paella": "Paella", "paella": "Paella",
"pasta_and_bakery": "Паста и выпечка", "pasta_and_bakery": "Паста и выпечка",
@ -489,7 +507,7 @@
"pyrolysis": "Пиролиз", "pyrolysis": "Пиролиз",
"pyrolysis_plus": "Пиролиз +", "pyrolysis_plus": "Пиролиз +",
"red_meat": "Красное мясо", "red_meat": "Красное мясо",
"red_meat_steam": "Красное мясо, приготовленное на пару", "red_meat_steam": "Красное мясо на пару",
"regenerate": "Регенерация", "regenerate": "Регенерация",
"soft_plus": "Soft+", "soft_plus": "Soft+",
"super_grill": "Супер-гриль", "super_grill": "Супер-гриль",
@ -499,9 +517,9 @@
"vegetables": "Овощи", "vegetables": "Овощи",
"vegetables_cata": "Овощи", "vegetables_cata": "Овощи",
"vegetables_pyro": "Овощи", "vegetables_pyro": "Овощи",
"water_discharge": "Водоотвод", "water_discharge": "Слив воды",
"white_meat": "Белое мясо", "white_meat": "Белое мясо",
"white_meat_steam": "Белое мясо, приготовленное на пару" "white_meat_steam": "Белое мясо на пару"
}, },
"name": "Программа" "name": "Программа"
}, },
@ -558,7 +576,7 @@
"hqd_precious_cure": "Precious cure", "hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Быстрая 20", "hqd_quick_20": "Быстрая 20",
"hqd_quick_30": "Быстрая 30", "hqd_quick_30": "Быстрая 30",
"hqd_quick_dry": "Быстрая сушка", "hqd_quick_dry": "Быстрая сушка 30",
"hqd_quilt": "Стеганые одеяла", "hqd_quilt": "Стеганые одеяла",
"hqd_refresh": "Освежение", "hqd_refresh": "Освежение",
"hqd_school_uniform": "Школьная форма", "hqd_school_uniform": "Школьная форма",
@ -1013,6 +1031,40 @@
"iot_uv_and_fan": "УФ + Вентилятор", "iot_uv_and_fan": "УФ + Вентилятор",
"iot_uv_and_heat": "УФ + Нагрев" "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": { "switch": {
@ -1105,6 +1157,24 @@
}, },
"good_night": { "good_night": {
"name": "Спокойной ночи" "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": { "binary_sensor": {
@ -1182,6 +1252,30 @@
}, },
"auto_dose": { "auto_dose": {
"name": "Автодозирование" "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": { "number": {
@ -1214,11 +1308,116 @@
}, },
"steam_level": { "steam_level": {
"name": "Уровень пара" "name": "Уровень пара"
},
"freezer_temp_sel": {
"name": "Заданная температура Морозильник"
},
"fridge_temp_sel": {
"name": "Заданная температура Холодильник"
} }
}, },
"button": { "button": {
"induction_hob": { "induction_hob": {
"name": "Индукционная варочная панель" "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_precious_cure": "Precious cure",
"hqd_quick_20": "Rýchle 20", "hqd_quick_20": "Rýchle 20",
"hqd_quick_30": "Rýchle 30", "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_quilt": "Prikrývky",
"hqd_refresh": "Osvieženie", "hqd_refresh": "Osvieženie",
"hqd_school_uniform": "Školská uniforma", "hqd_school_uniform": "Školská uniforma",
@ -307,6 +307,18 @@
"xxl_load": "XXL náplň", "xxl_load": "XXL náplň",
"zoom_59": "Zoom 59" "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": { "select": {
@ -397,6 +409,11 @@
"silent": "Noc", "silent": "Noc",
"silent_care": "Silent Care", "silent_care": "Silent Care",
"smart_ai": "Smart AI", "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": "špeciál",
"special_pw_prz": "špeciál", "special_pw_prz": "špeciál",
"steam": "Para 75 °C", "steam": "Para 75 °C",
@ -453,11 +470,12 @@
"programs_ov": { "programs_ov": {
"state": { "state": {
"bakery": "Cestoviny a pečenie", "bakery": "Cestoviny a pečenie",
"bakery_steam": "Chlieb pečený v pare", "bakery_steam": "Parná rúra",
"bottom_heating": "Spodný ohrev", "bottom_heating": "Spodný ohrev",
"bottom_heating_fan": "Spodný ohrev + Ventilátor", "bottom_heating_fan": "Spodný ohrev + Ventilátor",
"bread": "Chlieb", "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": "Statický + ventilátor",
"convection_fan_turnspit": "Statické + ventilátor + otočný ražeň", "convection_fan_turnspit": "Statické + ventilátor + otočný ražeň",
"conventional": "Statický", "conventional": "Statický",
@ -465,7 +483,7 @@
"defrost": "Rozmraziť", "defrost": "Rozmraziť",
"descaling": "Odstránenie vodného kameňa", "descaling": "Odstránenie vodného kameňa",
"fish": "Ryby", "fish": "Ryby",
"fish_steam": "Ryby varené v pare", "fish_steam": "Ryby pripravené v pare",
"grill_cata": "Gril", "grill_cata": "Gril",
"grill_fan_cata": "Gril + ventilátor", "grill_fan_cata": "Gril + ventilátor",
"grill_fan_pyro": "Gril + ventilátor", "grill_fan_pyro": "Gril + ventilátor",
@ -476,12 +494,12 @@
"leavening": "Kysnutie", "leavening": "Kysnutie",
"low_temp_cooking": "Varenie pri nízkych teplotách", "low_temp_cooking": "Varenie pri nízkych teplotách",
"low_temp_cooking_fish": "Varenie pri nízkych teplotách Ryby", "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": "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", "low_temp_cooking_steam": "Varenie pri nízkych teplotách v pare",
"meat": "Mäso", "meat": "Mäso",
"meat_steam": "Mäso uvarené v pare", "meat_steam": "Mäso v pare",
"multi_level": "Viacúrovňové", "multi_level": "Viacúrovňové",
"paella": "Paella", "paella": "Paella",
"pasta_and_bakery": "Cestoviny a pečenie", "pasta_and_bakery": "Cestoviny a pečenie",
@ -489,8 +507,8 @@
"pyrolysis": "Pyrolýza", "pyrolysis": "Pyrolýza",
"pyrolysis_plus": "Pyrolýza +", "pyrolysis_plus": "Pyrolýza +",
"red_meat": "Červené mäso", "red_meat": "Červené mäso",
"red_meat_steam": "Červené mäso varené v pare", "red_meat_steam": "Červené mäso dusené v pare",
"regenerate": "Regenerácia", "regenerate": "Regenerovať",
"soft_plus": "Soft+", "soft_plus": "Soft+",
"super_grill": "Super Gril", "super_grill": "Super Gril",
"tailor_bake": "Tailor bake", "tailor_bake": "Tailor bake",
@ -499,9 +517,9 @@
"vegetables": "Zelenina", "vegetables": "Zelenina",
"vegetables_cata": "Zelenina", "vegetables_cata": "Zelenina",
"vegetables_pyro": "Zelenina", "vegetables_pyro": "Zelenina",
"water_discharge": "Odtok vody", "water_discharge": "Vypúšťanie vody",
"white_meat": "Biele mäso", "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" "name": "Program"
}, },
@ -558,7 +576,7 @@
"hqd_precious_cure": "Precious cure", "hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Rýchle 20", "hqd_quick_20": "Rýchle 20",
"hqd_quick_30": "Rýchle 30", "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_quilt": "Prikrývky",
"hqd_refresh": "Osvieženie", "hqd_refresh": "Osvieženie",
"hqd_school_uniform": "Školská uniforma", "hqd_school_uniform": "Školská uniforma",
@ -1013,6 +1031,40 @@
"iot_uv_and_fan": "UV + Ventilátor", "iot_uv_and_fan": "UV + Ventilátor",
"iot_uv_and_heat": "UV + Ohrev" "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": { "switch": {
@ -1105,6 +1157,24 @@
}, },
"good_night": { "good_night": {
"name": "Dobrú noc" "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": { "binary_sensor": {
@ -1154,7 +1224,7 @@
"name": "Panvica" "name": "Panvica"
}, },
"remote_control": { "remote_control": {
"name": "Diaľkové ovládanie" "name": "Daljinsko upravljanje"
}, },
"rinse_aid": { "rinse_aid": {
"name": "Úroveň prostriedku na oplachovanie" "name": "Úroveň prostriedku na oplachovanie"
@ -1182,6 +1252,30 @@
}, },
"auto_dose": { "auto_dose": {
"name": "Automatická dávka" "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": { "number": {
@ -1214,11 +1308,116 @@
}, },
"steam_level": { "steam_level": {
"name": "Úroveň nastavenia pary" "name": "Úroveň nastavenia pary"
},
"freezer_temp_sel": {
"name": "Cieľová teplota Mraznička"
},
"fridge_temp_sel": {
"name": "Cieľová teplota Chladnička"
} }
}, },
"button": { "button": {
"induction_hob": { "induction_hob": {
"name": "Indukčná varná doska" "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_precious_cure": "Precious cure",
"hqd_quick_20": "Hitro 20", "hqd_quick_20": "Hitro 20",
"hqd_quick_30": "Hitro 30", "hqd_quick_30": "Hitro 30",
"hqd_quick_dry": "Hitro sušenje", "hqd_quick_dry": "Hitro sušenje 30",
"hqd_quilt": "Posteljna pregrinjala", "hqd_quilt": "Posteljna pregrinjala",
"hqd_refresh": "Osvežitev", "hqd_refresh": "Osvežitev",
"hqd_school_uniform": "Šolska uniforma", "hqd_school_uniform": "Šolska uniforma",
@ -307,6 +307,18 @@
"xxl_load": "Zelo veliki kosi perila", "xxl_load": "Zelo veliki kosi perila",
"zoom_59": "Zoom 59" "zoom_59": "Zoom 59"
} }
},
"room_temperature": {
"name": "Sobna temperatura"
},
"humidity": {
"name": "Vlaga "
},
"freezer_temp": {
"name": "Temperatura zamrzovalnika"
},
"fridge_temp": {
"name": "Temperatura hladilnika"
} }
}, },
"select": { "select": {
@ -397,6 +409,11 @@
"silent": "Noč", "silent": "Noč",
"silent_care": "Silent Care", "silent_care": "Silent Care",
"smart_ai": "Smart AI", "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": "posebno",
"special_pw_prz": "Posebno", "special_pw_prz": "Posebno",
"steam": "Para 75 °C", "steam": "Para 75 °C",
@ -453,11 +470,12 @@
"programs_ov": { "programs_ov": {
"state": { "state": {
"bakery": "Testenine in pekovski izdelki", "bakery": "Testenine in pekovski izdelki",
"bakery_steam": "V sopari pečen kruh", "bakery_steam": "Parna pečica",
"bottom_heating": "Spodnji grelnik", "bottom_heating": "Spodnji grelnik",
"bottom_heating_fan": "Spodnji grelnik + Ventilator", "bottom_heating_fan": "Spodnji grelnik + Ventilator",
"bread": "Kruh", "bread": "Kruh",
"bread_steam": "V sopari pečeno pecivo", "bread_steam": "V sopari pečen kruh",
"combi": "Kombinirano",
"convection_fan": "Konvekcija + ventilator", "convection_fan": "Konvekcija + ventilator",
"convection_fan_turnspit": "Konvekcija + ventilator + raženj", "convection_fan_turnspit": "Konvekcija + ventilator + raženj",
"conventional": "Konvenkcijsko", "conventional": "Konvenkcijsko",
@ -474,14 +492,14 @@
"iot_bread": "Kruh", "iot_bread": "Kruh",
"iot_h20_clean": "h2O clean", "iot_h20_clean": "h2O clean",
"leavening": "Vzhajanje", "leavening": "Vzhajanje",
"low_temp_cooking": "Priprava pri nizki temperaturi", "low_temp_cooking": "Kuhanje pri nizki temperaturi",
"low_temp_cooking_fish": "Priprava pri nizki temperaturi ribe", "low_temp_cooking_fish": "Kuhanje pri nizki temperaturi ribe",
"low_temp_cooking_fish_steam": "Soparjenje pri nizki temperaturi ribe", "low_temp_cooking_fish_steam": "Kuhanje pri nizki temperaturi soparjene ribe",
"low_temp_cooking_meat": "Priprava pri nizki temperaturi meso", "low_temp_cooking_meat": "Kuhanje pri nizki temperaturi meso",
"low_temp_cooking_meat_steam": "Soparjenje pri nizki temperaturi meso", "low_temp_cooking_meat_steam": "Kuhanje pri nizki temperaturi soparjeno meso",
"low_temp_cooking_steam": "Soparjenje pri nizki temperaturi", "low_temp_cooking_steam": "Soparjenje pri nizki temperaturi",
"meat": "Meso", "meat": "Meso",
"meat_steam": "Soparjeno meso", "meat_steam": "Soparjenje mesa",
"multi_level": "Na več nivojih", "multi_level": "Na več nivojih",
"paella": "Paella", "paella": "Paella",
"pasta_and_bakery": "Testenine in pekovski izdelki", "pasta_and_bakery": "Testenine in pekovski izdelki",
@ -490,7 +508,7 @@
"pyrolysis_plus": "Piroliza +", "pyrolysis_plus": "Piroliza +",
"red_meat": "Rdeče meso", "red_meat": "Rdeče meso",
"red_meat_steam": "Soparjeno rdeče meso", "red_meat_steam": "Soparjeno rdeče meso",
"regenerate": "Obnavljanje", "regenerate": "Regeneracija",
"soft_plus": "Soft+", "soft_plus": "Soft+",
"super_grill": "Super Grill", "super_grill": "Super Grill",
"tailor_bake": "Tailor bake", "tailor_bake": "Tailor bake",
@ -499,7 +517,7 @@
"vegetables": "Zelenjava", "vegetables": "Zelenjava",
"vegetables_cata": "Zelenjava", "vegetables_cata": "Zelenjava",
"vegetables_pyro": "Zelenjava", "vegetables_pyro": "Zelenjava",
"water_discharge": "Odtok za vodo", "water_discharge": "Izpust vode",
"white_meat": "Belo meso", "white_meat": "Belo meso",
"white_meat_steam": "Soparjeno belo meso" "white_meat_steam": "Soparjeno belo meso"
}, },
@ -558,7 +576,7 @@
"hqd_precious_cure": "Precious cure", "hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Hitro 20", "hqd_quick_20": "Hitro 20",
"hqd_quick_30": "Hitro 30", "hqd_quick_30": "Hitro 30",
"hqd_quick_dry": "Hitro sušenje", "hqd_quick_dry": "Hitro sušenje 30",
"hqd_quilt": "Posteljna pregrinjala", "hqd_quilt": "Posteljna pregrinjala",
"hqd_refresh": "Osvežitev", "hqd_refresh": "Osvežitev",
"hqd_school_uniform": "Šolska uniforma", "hqd_school_uniform": "Šolska uniforma",
@ -1013,6 +1031,40 @@
"iot_uv_and_fan": "UV + ventilator", "iot_uv_and_fan": "UV + ventilator",
"iot_uv_and_heat": "UV + gretje" "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": { "switch": {
@ -1105,6 +1157,24 @@
}, },
"good_night": { "good_night": {
"name": "Lahko noč" "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": { "binary_sensor": {
@ -1154,7 +1224,7 @@
"name": "Posoda" "name": "Posoda"
}, },
"remote_control": { "remote_control": {
"name": "Daljinsko upravljanje" "name": "Diaľkové ovládanie"
}, },
"rinse_aid": { "rinse_aid": {
"name": "Nivo sredstva za sijaj" "name": "Nivo sredstva za sijaj"
@ -1182,6 +1252,30 @@
}, },
"auto_dose": { "auto_dose": {
"name": "Samodejno odmerjanje" "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": { "number": {
@ -1214,11 +1308,116 @@
}, },
"steam_level": { "steam_level": {
"name": "Količina pare" "name": "Količina pare"
},
"freezer_temp_sel": {
"name": "Ciljna temperatura Zamrzovalnik"
},
"fridge_temp_sel": {
"name": "Ciljna temperatura Hladilnik"
} }
}, },
"button": { "button": {
"induction_hob": { "induction_hob": {
"name": "Indukcijska kuhalna plošča" "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_precious_cure": "Precious cure",
"hqd_quick_20": "Brzo 20", "hqd_quick_20": "Brzo 20",
"hqd_quick_30": "Brzo 30", "hqd_quick_30": "Brzo 30",
"hqd_quick_dry": "Brzo sušenje", "hqd_quick_dry": "Brzo sušenje 30",
"hqd_quilt": "Jorgani", "hqd_quilt": "Jorgani",
"hqd_refresh": "Osvežavanje", "hqd_refresh": "Osvežavanje",
"hqd_school_uniform": "Školska uniforma", "hqd_school_uniform": "Školska uniforma",
@ -307,6 +307,18 @@
"xxl_load": "XXL veš", "xxl_load": "XXL veš",
"zoom_59": "Zoom 59" "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": { "select": {
@ -397,6 +409,11 @@
"silent": "Noć", "silent": "Noć",
"silent_care": "Silent Care", "silent_care": "Silent Care",
"smart_ai": "Smart AI", "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": "posebno",
"special_pw_prz": "posebno", "special_pw_prz": "posebno",
"steam": "Para 75°C", "steam": "Para 75°C",
@ -453,11 +470,12 @@
"programs_ov": { "programs_ov": {
"state": { "state": {
"bakery": "Testenine i pecivo", "bakery": "Testenine i pecivo",
"bakery_steam": "Hleb pečen na pari", "bakery_steam": "Priprema na pari u rerni",
"bottom_heating": "Donje grejanje", "bottom_heating": "Donje grejanje",
"bottom_heating_fan": "Donje grejanje + Ventilator", "bottom_heating_fan": "Donje grejanje + Ventilator",
"bread": "Hleb", "bread": "Hleb",
"bread_steam": "Peciva pečena na pari", "bread_steam": "Hleb pečen na pari",
"combi": "Kombinovani",
"convection_fan": "Konvekcija + ventilator", "convection_fan": "Konvekcija + ventilator",
"convection_fan_turnspit": "Konvekcija + ventilator + ražanj", "convection_fan_turnspit": "Konvekcija + ventilator + ražanj",
"conventional": "Konvekcija", "conventional": "Konvekcija",
@ -465,7 +483,7 @@
"defrost": "Odmrzavanje", "defrost": "Odmrzavanje",
"descaling": "Uklanjanje kamenca", "descaling": "Uklanjanje kamenca",
"fish": "Riba", "fish": "Riba",
"fish_steam": "Riba kuvana na pari", "fish_steam": "Riba na pari",
"grill_cata": "Roštilj", "grill_cata": "Roštilj",
"grill_fan_cata": "Roštilj sa ventilatorom", "grill_fan_cata": "Roštilj sa ventilatorom",
"grill_fan_pyro": "Gril + ventilator", "grill_fan_pyro": "Gril + ventilator",
@ -476,12 +494,12 @@
"leavening": "Narastanje", "leavening": "Narastanje",
"low_temp_cooking": "Kuvanje na niskoj temperaturi", "low_temp_cooking": "Kuvanje na niskoj temperaturi",
"low_temp_cooking_fish": "Kuvanje na niskoj temperaturi riba", "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": "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", "low_temp_cooking_steam": "Kuvanje na pari na niskoj temperaturi",
"meat": "Meso", "meat": "Meso",
"meat_steam": "Meso kuvano na pari", "meat_steam": "Priprema mesa na pari",
"multi_level": "Više nivoa", "multi_level": "Više nivoa",
"paella": "Paella", "paella": "Paella",
"pasta_and_bakery": "Testenine i pecivo", "pasta_and_bakery": "Testenine i pecivo",
@ -489,7 +507,7 @@
"pyrolysis": "Piroliza", "pyrolysis": "Piroliza",
"pyrolysis_plus": "Piroliza +", "pyrolysis_plus": "Piroliza +",
"red_meat": "Crveno meso", "red_meat": "Crveno meso",
"red_meat_steam": "Crveno meso kuvano na pari", "red_meat_steam": "Crveno meso na pari",
"regenerate": "Regeneracija", "regenerate": "Regeneracija",
"soft_plus": "Meko+", "soft_plus": "Meko+",
"super_grill": "Super gril", "super_grill": "Super gril",
@ -499,9 +517,9 @@
"vegetables": "Povrće", "vegetables": "Povrće",
"vegetables_cata": "Povrće", "vegetables_cata": "Povrće",
"vegetables_pyro": "Povrće", "vegetables_pyro": "Povrće",
"water_discharge": "Odvod vode", "water_discharge": "Ispuštanje vode",
"white_meat": "Belo meso", "white_meat": "Belo meso",
"white_meat_steam": "Belo meso kuvano na pari" "white_meat_steam": "Belo meso na pari"
}, },
"name": "Program" "name": "Program"
}, },
@ -558,7 +576,7 @@
"hqd_precious_cure": "Precious cure", "hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Brzo 20", "hqd_quick_20": "Brzo 20",
"hqd_quick_30": "Brzo 30", "hqd_quick_30": "Brzo 30",
"hqd_quick_dry": "Brzo sušenje", "hqd_quick_dry": "Brzo sušenje 30",
"hqd_quilt": "Jorgani", "hqd_quilt": "Jorgani",
"hqd_refresh": "Osvežavanje", "hqd_refresh": "Osvežavanje",
"hqd_school_uniform": "Školska uniforma", "hqd_school_uniform": "Školska uniforma",
@ -1013,6 +1031,40 @@
"iot_uv_and_fan": "UV + ventilator", "iot_uv_and_fan": "UV + ventilator",
"iot_uv_and_heat": "UV + toplota" "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": { "switch": {
@ -1105,6 +1157,24 @@
}, },
"good_night": { "good_night": {
"name": "Laku noć" "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": { "binary_sensor": {
@ -1154,7 +1224,7 @@
"name": "Tiganj" "name": "Tiganj"
}, },
"remote_control": { "remote_control": {
"name": "Daljinsko upravljanje" "name": "Upravljanje na daljinu"
}, },
"rinse_aid": { "rinse_aid": {
"name": "Nivo sredstva za ispiranje" "name": "Nivo sredstva za ispiranje"
@ -1182,6 +1252,30 @@
}, },
"auto_dose": { "auto_dose": {
"name": "Automatsko doziranje" "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": { "number": {
@ -1214,11 +1308,116 @@
}, },
"steam_level": { "steam_level": {
"name": "Nivo pare" "name": "Nivo pare"
},
"freezer_temp_sel": {
"name": "Željena temperatura Zamrzivač"
},
"fridge_temp_sel": {
"name": "Željena temperatura Frižider"
} }
}, },
"button": { "button": {
"induction_hob": { "induction_hob": {
"name": "Indukciona ploča" "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_precious_cure": "Precious cure",
"hqd_quick_20": "Hızlı 20", "hqd_quick_20": "Hızlı 20",
"hqd_quick_30": "Hızlı 30", "hqd_quick_30": "Hızlı 30",
"hqd_quick_dry": "Hızlı kurutma", "hqd_quick_dry": "Hızlı kurutma 30",
"hqd_quilt": "Yorganlar", "hqd_quilt": "Yorganlar",
"hqd_refresh": "Yenileme", "hqd_refresh": "Yenileme",
"hqd_school_uniform": "Okul üniforması", "hqd_school_uniform": "Okul üniforması",
@ -307,6 +307,18 @@
"xxl_load": "XXL Çamaşır", "xxl_load": "XXL Çamaşır",
"zoom_59": "Yakınlaştır 59" "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": { "select": {
@ -397,6 +409,11 @@
"silent": "Gece", "silent": "Gece",
"silent_care": "Silent Care", "silent_care": "Silent Care",
"smart_ai": "Smart AI", "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": "özel",
"special_pw_prz": "özel", "special_pw_prz": "özel",
"steam": "Buhar 75°C", "steam": "Buhar 75°C",
@ -453,11 +470,12 @@
"programs_ov": { "programs_ov": {
"state": { "state": {
"bakery": "Makarna ve Ekmek", "bakery": "Makarna ve Ekmek",
"bakery_steam": "Buharda pişmiş ekmek", "bakery_steam": "Fırın buharı",
"bottom_heating": "Alt ısıtıcı", "bottom_heating": "Alt ısıtıcı",
"bottom_heating_fan": "Alt ısıtıcı + Fan", "bottom_heating_fan": "Alt ısıtıcı + Fan",
"bread": "Ekmek", "bread": "Ekmek",
"bread_steam": "Buharda pişmiş hamur işleri", "bread_steam": "Buharda pişmiş ekmek",
"combi": "Kombi",
"convection_fan": "Fan desteklı", "convection_fan": "Fan desteklı",
"convection_fan_turnspit": "Konveksiyon + Fan + Şiş Çevirme", "convection_fan_turnspit": "Konveksiyon + Fan + Şiş Çevirme",
"conventional": "Statık", "conventional": "Statık",
@ -465,7 +483,7 @@
"defrost": "Buz çözme", "defrost": "Buz çözme",
"descaling": "Kireç çözme", "descaling": "Kireç çözme",
"fish": "Balık", "fish": "Balık",
"fish_steam": "Buharda pişmiş balık", "fish_steam": "Balık buğulama",
"grill_cata": "Izgara", "grill_cata": "Izgara",
"grill_fan_cata": "Izgara fan", "grill_fan_cata": "Izgara fan",
"grill_fan_pyro": "Izgara + Fan", "grill_fan_pyro": "Izgara + Fan",
@ -476,12 +494,12 @@
"leavening": "Mayalama", "leavening": "Mayalama",
"low_temp_cooking": "Düşük Sıcaklıkta Pişirme", "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": "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": "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", "low_temp_cooking_steam": "Düşük Sıcaklıkta Buharda Pişirme",
"meat": "Et", "meat": "Et",
"meat_steam": "Buharda pişmiş et", "meat_steam": "Et buharı",
"multi_level": "Çok Seviyeli", "multi_level": "Çok Seviyeli",
"paella": "Paella", "paella": "Paella",
"pasta_and_bakery": "Makarna ve Ekmek", "pasta_and_bakery": "Makarna ve Ekmek",
@ -489,8 +507,8 @@
"pyrolysis": "Piroliz", "pyrolysis": "Piroliz",
"pyrolysis_plus": "Piroliz +", "pyrolysis_plus": "Piroliz +",
"red_meat": "Kırmızı Et", "red_meat": "Kırmızı Et",
"red_meat_steam": "Buharda pişmiş kırmızı et", "red_meat_steam": "Buharda kırmızı et",
"regenerate": "Yenileme", "regenerate": "Yeniden oluştur",
"soft_plus": "Yumuşak+", "soft_plus": "Yumuşak+",
"super_grill": "Süper Izgara", "super_grill": "Süper Izgara",
"tailor_bake": "Tailor bake", "tailor_bake": "Tailor bake",
@ -499,9 +517,9 @@
"vegetables": "Sebzeler", "vegetables": "Sebzeler",
"vegetables_cata": "Sebzeler", "vegetables_cata": "Sebzeler",
"vegetables_pyro": "Sebzeler", "vegetables_pyro": "Sebzeler",
"water_discharge": "Su Drenajı", "water_discharge": "Su Tahliyesi",
"white_meat": "Beyaz Et", "white_meat": "Beyaz Et",
"white_meat_steam": "Buharda pişmiş beyaz et" "white_meat_steam": "Buharda beyaz et"
}, },
"name": "Program" "name": "Program"
}, },
@ -558,7 +576,7 @@
"hqd_precious_cure": "Precious cure", "hqd_precious_cure": "Precious cure",
"hqd_quick_20": "Hızlı 20", "hqd_quick_20": "Hızlı 20",
"hqd_quick_30": "Hızlı 30", "hqd_quick_30": "Hızlı 30",
"hqd_quick_dry": "Hızlı kurutma", "hqd_quick_dry": "Hızlı kurutma 30",
"hqd_quilt": "Yorganlar", "hqd_quilt": "Yorganlar",
"hqd_refresh": "Yenileme", "hqd_refresh": "Yenileme",
"hqd_school_uniform": "Okul üniforması", "hqd_school_uniform": "Okul üniforması",
@ -1013,6 +1031,40 @@
"iot_uv_and_fan": "UV + Fan", "iot_uv_and_fan": "UV + Fan",
"iot_uv_and_heat": "UV + Isıtma" "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": { "switch": {
@ -1105,6 +1157,24 @@
}, },
"good_night": { "good_night": {
"name": "İyi Geceler" "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": { "binary_sensor": {
@ -1182,6 +1252,30 @@
}, },
"auto_dose": { "auto_dose": {
"name": "Otomatik doz" "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": { "number": {
@ -1214,11 +1308,116 @@
}, },
"steam_level": { "steam_level": {
"name": "Buhar Seviyesi" "name": "Buhar Seviyesi"
},
"freezer_temp_sel": {
"name": "Hedef sıcaklık Dondurucu"
},
"fridge_temp_sel": {
"name": "Hedef sıcaklık Buzdolabı"
} }
}, },
"button": { "button": {
"induction_hob": { "induction_hob": {
"name": "İndüksiyonlu Ocak" "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", "xxl_load": "XXL Load",
"zoom_59": "缩放 59" "zoom_59": "缩放 59"
} }
},
"room_temperature": {
"name": "室温"
},
"humidity": {
"name": "湿度"
},
"freezer_temp": {
"name": "冷藏室温度"
},
"fridge_temp": {
"name": "冰箱温度"
} }
}, },
"select": { "select": {
@ -397,6 +409,11 @@
"silent": "夜间", "silent": "夜间",
"silent_care": "Silent Care", "silent_care": "Silent Care",
"smart_ai": "Smart AI", "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_pw_prz": "特殊",
"steam": "蒸汽洗75°C", "steam": "蒸汽洗75°C",
@ -453,11 +470,12 @@
"programs_ov": { "programs_ov": {
"state": { "state": {
"bakery": "意大利面和烘焙食品", "bakery": "意大利面和烘焙食品",
"bakery_steam": "蒸烤的面包", "bakery_steam": "烤炉蒸汽",
"bottom_heating": "底部加热 ", "bottom_heating": "底部加热 ",
"bottom_heating_fan": "底部加热 + 风扇", "bottom_heating_fan": "底部加热 + 风扇",
"bread": "面包", "bread": "面包",
"bread_steam": "蒸烤的甜点", "bread_steam": "蒸烤的面包",
"combi": "Combi",
"convection_fan": "对流 + 风扇", "convection_fan": "对流 + 风扇",
"convection_fan_turnspit": "对流 + 风扇 + 烤叉", "convection_fan_turnspit": "对流 + 风扇 + 烤叉",
"conventional": "对流", "conventional": "对流",
@ -465,7 +483,7 @@
"defrost": "解冻", "defrost": "解冻",
"descaling": "除垢", "descaling": "除垢",
"fish": "鱼", "fish": "鱼",
"fish_steam": "蒸煮的鱼", "fish_steam": "蒸鱼",
"grill_cata": "烤架", "grill_cata": "烤架",
"grill_fan_cata": "烤架风扇", "grill_fan_cata": "烤架风扇",
"grill_fan_pyro": "烤架 + 风扇", "grill_fan_pyro": "烤架 + 风扇",
@ -476,12 +494,12 @@
"leavening": "发酵", "leavening": "发酵",
"low_temp_cooking": "低温烹饪", "low_temp_cooking": "低温烹饪",
"low_temp_cooking_fish": "低温烹饪 - 鱼类", "low_temp_cooking_fish": "低温烹饪 - 鱼类",
"low_temp_cooking_fish_steam": "低温蒸汽烹饪 - 鱼", "low_temp_cooking_fish_steam": "低温烹饪 - 鱼",
"low_temp_cooking_meat": "低温烹饪 - 肉类", "low_temp_cooking_meat": "低温烹饪 - 肉类",
"low_temp_cooking_meat_steam": "低温蒸汽烹饪 - 肉", "low_temp_cooking_meat_steam": "低温烹饪 - 肉",
"low_temp_cooking_steam": "低温蒸汽烹饪", "low_temp_cooking_steam": "低温蒸汽烹饪",
"meat": "肉", "meat": "肉",
"meat_steam": "蒸煮的肉", "meat_steam": "肉类蒸汽",
"multi_level": "多层", "multi_level": "多层",
"paella": "Paella", "paella": "Paella",
"pasta_and_bakery": "意大利面和烘焙食品", "pasta_and_bakery": "意大利面和烘焙食品",
@ -489,8 +507,8 @@
"pyrolysis": "热解", "pyrolysis": "热解",
"pyrolysis_plus": "热解 +", "pyrolysis_plus": "热解 +",
"red_meat": "红肉", "red_meat": "红肉",
"red_meat_steam": "蒸煮的红肉", "red_meat_steam": "蒸红肉",
"regenerate": "再", "regenerate": "再加热",
"soft_plus": "软+", "soft_plus": "软+",
"super_grill": "超级烤架", "super_grill": "超级烤架",
"tailor_bake": "Tailor bake", "tailor_bake": "Tailor bake",
@ -501,7 +519,7 @@
"vegetables_pyro": "蔬菜", "vegetables_pyro": "蔬菜",
"water_discharge": "排水", "water_discharge": "排水",
"white_meat": "白肉", "white_meat": "白肉",
"white_meat_steam": "蒸煮的白肉" "white_meat_steam": "蒸白肉"
}, },
"name": "程序" "name": "程序"
}, },
@ -1013,6 +1031,40 @@
"iot_uv_and_fan": "UV + 风扇", "iot_uv_and_fan": "UV + 风扇",
"iot_uv_and_heat": "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": { "switch": {
@ -1105,6 +1157,24 @@
}, },
"good_night": { "good_night": {
"name": "晚安" "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": { "binary_sensor": {
@ -1154,7 +1224,7 @@
"name": "烤盘" "name": "烤盘"
}, },
"remote_control": { "remote_control": {
"name": "远程控制" "name": "Control remoto"
}, },
"rinse_aid": { "rinse_aid": {
"name": "漂洗助剂液位" "name": "漂洗助剂液位"
@ -1182,6 +1252,30 @@
}, },
"auto_dose": { "auto_dose": {
"name": "自动定量" "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": { "number": {
@ -1214,11 +1308,116 @@
}, },
"steam_level": { "steam_level": {
"name": "蒸汽档位" "name": "蒸汽档位"
},
"freezer_temp_sel": {
"name": "目标温度 冷藏箱"
},
"fridge_temp_sel": {
"name": "目标温度 冰箱"
} }
}, },
"button": { "button": {
"induction_hob": { "induction_hob": {
"name": "电磁炉" "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": "蒸白肉"
}
}
}
} }
} }
}, },

49
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) - [Hob](https://github.com/Andre0512/hon#hob)
- [Dish Washer](https://github.com/Andre0512/hon#dish-washer) - [Dish Washer](https://github.com/Andre0512/hon#dish-washer)
- [Air conditioner](https://github.com/Andre0512/hon#air-conditioner) [BETA] - [Air conditioner](https://github.com/Andre0512/hon#air-conditioner) [BETA]
- [Fridge](https://github.com/Andre0512/hon#fridge) [BETA]
## Configuration ## Configuration
@ -20,17 +21,6 @@ Support for home appliances of Haier's mobile app hOn.
**Method 2**: Settings > Devices & Services > Add Integration > **Haier 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._ _If the integration is not in the list, you need to clear the browser cache._
## Supported Models
Support was confirmed for these models. If a supported model is missing, please [add it with this form](https://forms.gle/bTSD8qFotdZFytbf8).
- Haier WD90-B14TEAM5
- Haier HD80-A3959
- Haier HWO60SM2F3XH
- Hoover H-WASH 500
- Candy CIS633SCTTWIFI
- Haier XIB 3B2SFS-80
- Haier XIB 6B2D3FB
- Hoover HSOT3161WG
## Supported Languages ## Supported Languages
Translation of internal names like programs are available for all languages which are official supported by the hOn app: Translation of internal names like programs are available for all languages which are official supported by the hOn app:
* 🇨🇳 Chinese * 🇨🇳 Chinese
@ -53,6 +43,43 @@ Translation of internal names like programs are available for all languages whic
* 🇪🇸 Spanish * 🇪🇸 Spanish
* 🇹🇷 Turkish * 🇹🇷 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 ## Contribute
Want to help us to support more appliances? Or add more sensors? Or help with translating? Or beautify some icons or captions? 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! 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, "dry_levels": const.TUMBLE_DRYER_DRY_LEVEL,
"eco_pilot": const.AC_HUMAN_SENSE, "eco_pilot": const.AC_HUMAN_SENSE,
"fan_mode": const.AC_FAN_MODE, "fan_mode": const.AC_FAN_MODE,
"ref_zones": const.REF_ZONES,
} }
PROGRAMS = { PROGRAMS = {
@ -36,12 +37,43 @@ PROGRAMS = {
"programs_ov": "PROGRAMS.OV", "programs_ov": "PROGRAMS.OV",
"programs_td": "PROGRAMS.TD", "programs_td": "PROGRAMS.TD",
"programs_wm": "PROGRAMS.WM_WD", "programs_wm": "PROGRAMS.WM_WD",
"programs_ref": "PROGRAMS.REF",
}, },
"sensor": { "sensor": {
"programs_td": "PROGRAMS.TD", "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 = { NAMES = {
"switch": { "switch": {
"anti_crease": "HDRY_CMD&CTRL.PROGRAM_CYCLE_DETAIL.ANTICREASE_TITLE", "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_2": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.EXTRARINSE2",
"extra_rinse_3": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.EXTRARINSE3", "extra_rinse_3": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.EXTRARINSE3",
"acqua_plus": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.ACQUAPLUS", "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", "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": { "binary_sensor": {
"door_lock": "WASHING_CMD&CTRL.CHECK_UP_RESULTS.DOOR_LOCK", "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", "good_night": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.GOODNIGHT",
"anti_crease": "HDRY_CMD&CTRL.PROGRAM_CYCLE_DETAIL.ANTICREASE_TITLE", "anti_crease": "HDRY_CMD&CTRL.PROGRAM_CYCLE_DETAIL.ANTICREASE_TITLE",
"acqua_plus": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.ACQUAPLUS", "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", "spin_speed": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_MAIN_OPTIONS.SPINSPEED",
"still_hot": "IH.COILS_STATUS.STILL_HOT", "still_hot": "IH.COILS_STATUS.STILL_HOT",
"pan_status": "IH.COILS_STATUS.PAN", "pan_status": "IH.COILS_STATUS.PAN",
@ -95,9 +137,19 @@ NAMES = {
"child_lock": "AP.FOOTER_MENU_MORE.SECURITY_LOCK_TITLE", "child_lock": "AP.FOOTER_MENU_MORE.SECURITY_LOCK_TITLE",
"on": "GLOBALS.GENERAL.ON", "on": "GLOBALS.GENERAL.ON",
"prewash": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.PREWASH", "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": { "button": {
"induction_hob": "GLOBALS.APPLIANCES_NAME.IH", "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": { "select": {
"dry_levels": "WASHING_CMD&CTRL.DRAWER_CYCLE_DRYING.TAB_LEVEL", "dry_levels": "WASHING_CMD&CTRL.DRAWER_CYCLE_DRYING.TAB_LEVEL",
@ -110,6 +162,8 @@ NAMES = {
"programs_td": "WC.SET_PROGRAM.PROGRAM", "programs_td": "WC.SET_PROGRAM.PROGRAM",
"programs_wm": "WC.SET_PROGRAM.PROGRAM", "programs_wm": "WC.SET_PROGRAM.PROGRAM",
"eco_pilot": "AC.PROGRAM_DETAIL.ECO_PILOT", "eco_pilot": "AC.PROGRAM_DETAIL.ECO_PILOT",
"remaining_time": "ENROLLMENT_COMMON.GENERAL.REMAINING_TIME",
"ref_zones": "IH.COMMON.COIL",
}, },
"sensor": { "sensor": {
"dry_levels": "WASHING_CMD&CTRL.DRAWER_CYCLE_DRYING.TAB_LEVEL", "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", "det_liquid": "HUBS.WIDGET.STAINS_WIDGET.STAINS.SUGGESTED_DET_LIQUID",
"errors": "ROBOT_CMD&CTRL.PHASE_ERROR.TITLE", "errors": "ROBOT_CMD&CTRL.PHASE_ERROR.TITLE",
"programs": "OV.TABS.CURRENT_PROGRAM", "programs": "OV.TABS.CURRENT_PROGRAM",
"room_temperature": "REF.SMART_DRINK_ASSISTANT.AMBIENT",
"humidity": "AP.TITLES.HUMIDITY",
"cycles_total": [ "cycles_total": [
"WASHING_CMD&CTRL.GENERAL.CYCLES", "WASHING_CMD&CTRL.GENERAL.CYCLES",
"WC.VIRTUAL_WINE_STATS_COUNTRY.TOTAL", "WC.VIRTUAL_WINE_STATS_COUNTRY.TOTAL",
@ -154,6 +210,8 @@ NAMES = {
"WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_RESULT.WATER_EFFICIENCY", "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_RESULT.WATER_EFFICIENCY",
"CUBE90_GLOBAL.GENERAL.CURRENT", "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": { "number": {
"power_management": "HINTS.COOKING_WITH_INDUCTION.POWER_MANAGEMENT", "power_management": "HINTS.COOKING_WITH_INDUCTION.POWER_MANAGEMENT",
@ -166,6 +224,14 @@ NAMES = {
"wash_time": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL.WASHING_TIME", "wash_time": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL.WASHING_TIME",
"dry_time": "WASHING_CMD&CTRL.DRAWER_CYCLE_DRYING.TAB_TIME", "dry_time": "WASHING_CMD&CTRL.DRAWER_CYCLE_DRYING.TAB_TIME",
"steam_level": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_MAIN_OPTIONS.STEAM_LEVEL", "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(): for name, key in data.items():
select = old.setdefault("entity", {}).setdefault(entity, {}) select = old.setdefault("entity", {}).setdefault(entity, {})
select.setdefault(name, {})["name"] = load_key(key, original, fallback) 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) translate_login(old, original, fallback)
save_json(base_path / f"{language}.json", old) save_json(base_path / f"{language}.json", old)

View File

@ -4,15 +4,21 @@ import re
import sys import sys
from pathlib import Path from pathlib import Path
if __name__ == "__main__": if __name__ == "__main__":
sys.path.insert(0, str(Path(__file__).parent.parent)) sys.path.insert(0, str(Path(__file__).parent.parent))
from custom_components.hon.binary_sensor import BINARY_SENSORS from custom_components.hon.binary_sensor import BINARY_SENSORS
from custom_components.hon.button import BUTTONS 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.number import NUMBERS
from custom_components.hon.select import SELECTS from custom_components.hon.select import SELECTS
from custom_components.hon.sensor import SENSORS 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 = { APPLIANCES = {
"AC": "Air conditioner", "AC": "Air conditioner",
@ -41,21 +47,26 @@ entities = {
"select": SELECTS, "select": SELECTS,
"sensor": SENSORS, "sensor": SENSORS,
"switch": SWITCHES, "switch": SWITCHES,
"climate": CLIMATES,
} }
result = {} result = {}
for entity_type, appliances in entities.items(): for entity_type, appliances in entities.items():
for appliance, data in appliances.items(): for appliance, data in appliances.items():
for entity in data: for entity in data:
if ( if isinstance(entity, HonControlSwitchEntityDescription):
isinstance(entity, HonSwitchEntityDescription)
and entity.entity_category != "config"
):
key = f"{entity.turn_on_key}` / `{entity.turn_off_key}" key = f"{entity.turn_on_key}` / `{entity.turn_off_key}"
else: else:
key = entity.key key = entity.key
attributes = (key, entity.name, entity.icon, entity_type) 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( result.setdefault(appliance, {}).setdefault(
entity.entity_category or category, [] entity.entity_category or category, []
).append(attributes) ).append(attributes)