Compare commits
	
		
			30 Commits
		
	
	
		
			v0.7.0-bet
			...
			v0.8.0-bet
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| d963086dbf | |||
| 29238d3d08 | |||
| a4ec3290ba | |||
| d39deba973 | |||
| fae4c4c879 | |||
| 617ea0f99a | |||
| 81676771c7 | |||
| 604cf1b3c6 | |||
| 9a65eaba77 | |||
| e777fe1ec9 | |||
| 845adc75c9 | |||
| 17d4d14ead | |||
| 593d3912af | |||
| aefe2cf88d | |||
| 146e710881 | |||
| 0afbfe997d | |||
| 6828f3e9a8 | |||
| a56d3e5f88 | |||
| 240dc85ff3 | |||
| 44794c35ca | |||
| a5c7b99569 | |||
| 6935f5f07f | |||
| 74f5887bb2 | |||
| 155b1ff91a | |||
| 7b80acb6b9 | |||
| 0e9bd97c7b | |||
| dae8b48075 | |||
| 7e40afae68 | |||
| c0fda4cd1b | |||
| 2802bcad25 | 
							
								
								
									
										269
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										269
									
								
								README.md
									
									
									
									
									
								
							| @ -1,17 +1,20 @@ | |||||||
| # Haier hOn | # Haier hOn | ||||||
| [](https://hacs.xyz) | [](https://hacs.xyz) | ||||||
| [](https://github.com/Andre0512/hon/releases/latest) | [](https://github.com/Andre0512/hon/releases/latest) | ||||||
|  | [](https://github.com/Andre0512/pyhOn) | ||||||
| [](https://github.com/Andre0512/hon/blob/main/LICENSE) | [](https://github.com/Andre0512/hon/blob/main/LICENSE) | ||||||
| [](https://tooomm.github.io/github-release-stats/?username=Andre0512&repository=hon)   | [](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] | ||||||
|  | - [Fridge](https://github.com/Andre0512/hon#fridge) [BETA] | ||||||
|  |  | ||||||
| ## Installation | ## Installation | ||||||
| **Method 1:** [](https://my.home-assistant.io/redirect/hacs_repository/?owner=Andre0512&repository=hon&category=integration) | **Method 1:** [](https://my.home-assistant.io/redirect/hacs_repository/?owner=Andre0512&repository=hon&category=integration) | ||||||
| @ -29,26 +32,72 @@ _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 Languages | ||||||
|  | Translation of internal names like programs are available for all languages which are official supported by the hOn app: | ||||||
|  | * 🇨🇳 Chinese | ||||||
|  | * 🇭🇷 Croatian | ||||||
|  | * 🇨🇿 Czech | ||||||
|  | * 🇳🇱 Dutch | ||||||
|  | * 🇬🇧 English | ||||||
|  | * 🇫🇷 French | ||||||
|  | * 🇩🇪 German | ||||||
|  | * 🇬🇷 Greek | ||||||
|  | * 🇮🇱 Hebrew | ||||||
|  | * 🇮🇹 Italian | ||||||
|  | * 🇵🇱 Polish | ||||||
|  | * 🇵🇹 Portuguese | ||||||
|  | * 🇷🇴 Romanian | ||||||
|  | * 🇷🇺 Russian | ||||||
|  | * 🇷🇸 Serbian | ||||||
|  | * 🇸🇰 Slovak | ||||||
|  | * 🇸🇮 Slovenian | ||||||
|  | * 🇪🇸 Spanish | ||||||
|  | * 🇹🇷 Turkish | ||||||
|  |  | ||||||
|  | ## Examples | ||||||
|  | ### Washing Machine | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## Supported Models | ||||||
|  | Support has been confirmed for these models, but many more will work. Please add already supported devices [with this form to complete the list](https://forms.gle/bTSD8qFotdZFytbf8). | ||||||
|  | - Haier AD105S2SM3FA | ||||||
|  | - Haier AS25PBAHRA | ||||||
|  | - Haier AS25TADHRA-2 | ||||||
|  | - Haier AS35TADHRA-2 | ||||||
|  | - Haier EG9012B19SU1JD | ||||||
|  | - Haier HD80-A3959 | ||||||
|  | - Haier HW90-B14TEAM5 | ||||||
|  | - Haier HW100-B14959U1 | ||||||
|  | - Haier HWD100-B14979 | ||||||
|  | - Haier HWO60SM2F3XH | ||||||
|  | - Haier XIB 3B2SFS-80 | ||||||
|  | - Haier XIB 6B2D3FB | ||||||
|  | - Candy CIS633SCTTWIFI | ||||||
|  | - Candy CSOE C10DE-80 | ||||||
|  | - Candy ROE H9A3TCEX-S | ||||||
|  | - Candy RPW41066BWMR/1-S | ||||||
|  | - Hoover H-WASH 500 | ||||||
|  | - Hoover H-DRY 500 | ||||||
|  | - Hoover H7W4 48MBC-S | ||||||
|  | - Hoover H9A3TCBEXS-S | ||||||
|  | - Hoover HFB 6B2S3FX | ||||||
|  | - Hoover HLE C10DCE-80 | ||||||
|  | - Hoover HSOT3161WG | ||||||
|  | - Hoover HWPD 69AMBC/1-S | ||||||
|  | - Hoover HWPS4954DAMR-11 | ||||||
|  | - Hoover NDE H10A2TCE-80 | ||||||
|  | - Hoover NDE H9A2TSBEXS-S | ||||||
|  | - Hoover NDPHY10A2TCBEXSS | ||||||
|  |  | ||||||
| ## Contribute | ## 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 | ||||||
| @ -93,67 +142,51 @@ For every device exists a hidden button which can be used to log all info of you | |||||||
| - If you need to implement some more logic, create a pull request to the underlying library. There we collect special requirements in the `appliances` directory. | - 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 | ||||||
|  |  | ||||||
| ## Tested Devices | ## Special Thanks | ||||||
| - Haier WD90-B14TEAM5 | - 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. | ||||||
| - Haier HD80-A3959 | - 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. | ||||||
| - Haier HWO60SM2F3XH | - to everyone who contributed, created an issue, gave this repo a star, and used this integration. | ||||||
| - Hoover H-WASH 500 | - to the patience of my girlfriend as I work on this integration. | ||||||
| - Candy CIS633SCTTWIFI |  | ||||||
| - Haier XIB 3B2SFS-80 |  | ||||||
| - Haier XIB 6B2D3FB |  | ||||||
|  |  | ||||||
| ## Supported Languages |  | ||||||
| Translation of internal names like programs are available for all languages which are official supported by the hOn app: |  | ||||||
| * 🇨🇳 Chinese |  | ||||||
| * 🇭🇷 Croatian |  | ||||||
| * 🇨🇿 Czech |  | ||||||
| * 🇳🇱 Dutch |  | ||||||
| * 🇬🇧 English |  | ||||||
| * 🇫🇷 French |  | ||||||
| * 🇩🇪 German |  | ||||||
| * 🇬🇷 Greek |  | ||||||
| * 🇮🇱 Hebrew |  | ||||||
| * 🇮🇹 Italian |  | ||||||
| * 🇵🇱 Polish |  | ||||||
| * 🇵🇹 Portuguese |  | ||||||
| * 🇷🇴 Romanian |  | ||||||
| * 🇷🇺 Russian |  | ||||||
| * 🇷🇸 Serbian |  | ||||||
| * 🇸🇰 Slovak |  | ||||||
| * 🇸🇮 Slovenian |  | ||||||
| * 🇪🇸 Spanish |  | ||||||
| * 🇹🇷 Turkish |  | ||||||
|  |  | ||||||
|  |  | ||||||
| ## About this Repo |  | ||||||
| The existing integrations missed some features from the app I liked to have in HomeAssistant. |  | ||||||
| I tried to create a pull request, but in the structures of these existing repos, I find it hard to fit in my needs, so I basically rewrote everything.  |  | ||||||
| I moved the api related stuff into the package [pyhOn](https://github.com/Andre0512/pyhOn). |  | ||||||
|  |  | ||||||
| ## Appliance Features | ## Appliance Features | ||||||
|  |  | ||||||
| ### Air conditioner | ### Air conditioner | ||||||
| #### Configs | #### Controls | ||||||
| | Name | Icon | Entity | Key | | | Name | Icon | Entity | Key | | ||||||
| | --- | --- | --- | --- | | | --- | --- | --- | --- | | ||||||
| | 10° Heating |  | `switch` | `startProgram.10degreeHeatingStatus` | | | 10° Heating | `heat-wave` | `switch` | `settings.10degreeHeatingStatus` | | ||||||
| | Echo |  | `switch` | `startProgram.echoStatus` | | | Air Conditioner | `air-conditioner` | `climate` | `settings` | | ||||||
| | Eco Mode |  | `switch` | `startProgram.ecoMode` | | | Echo | `account-voice` | `switch` | `settings.echoStatus` | | ||||||
| | Eco Pilot |  | `select` | `startProgram.humanSensingStatus` | | | Eco Mode |  | `switch` | `settings.ecoMode` | | ||||||
| | Health Mode |  | `switch` | `startProgram.healthMode` | | | Eco Pilot | `run` | `select` | `settings.humanSensingStatus` | | ||||||
| | Mute |  | `switch` | `startProgram.muteStatus` | | | Health Mode | `medication-outline` | `switch` | `settings.healthMode` | | ||||||
|  | | Mute | `volume-off` | `switch` | `settings.muteStatus` | | ||||||
|  | | Rapid Mode | `run-fast` | `switch` | `settings.rapidMode` | | ||||||
|  | | Screen Display | `monitor-small` | `switch` | `settings.screenDisplayStatus` | | ||||||
|  | | Self Cleaning | `air-filter` | `switch` | `settings.selfCleaningStatus` | | ||||||
|  | | Self Cleaning 56 | `air-filter` | `switch` | `settings.selfCleaning56Status` | | ||||||
|  | | Silent Sleep | `bed` | `switch` | `settings.silentSleepStatus` | | ||||||
|  | | Target Temperature | `thermometer` | `number` | `settings.tempSel` | | ||||||
|  | #### Sensors | ||||||
|  | | Name | Icon | Entity | Key | | ||||||
|  | | --- | --- | --- | --- | | ||||||
|  | | Air Temperature Outdoor | `thermometer` | `sensor` | `tempAirOutdoor` | | ||||||
|  | | Ch2O Cleaning |  | `binary_sensor` | `ch2oCleaningStatus` | | ||||||
|  | | Coiler Temperature Indoor | `thermometer` | `sensor` | `tempCoilerIndoor` | | ||||||
|  | | Coiler Temperature Outside | `thermometer` | `sensor` | `tempCoilerOutdoor` | | ||||||
|  | | Defrost Temperature Outdoor | `thermometer` | `sensor` | `tempDefrostOutdoor` | | ||||||
|  | | Filter Replacement |  | `binary_sensor` | `filterChangeStatusLocal` | | ||||||
|  | | In Air Temperature Outdoor | `thermometer` | `sensor` | `tempInAirOutdoor` | | ||||||
|  | | Indoor Temperature | `thermometer` | `sensor` | `tempIndoor` | | ||||||
|  | | Outdoor Temperature | `thermometer` | `sensor` | `tempOutdoor` | | ||||||
| | Program |  | `select` | `startProgram.program` | | | Program |  | `select` | `startProgram.program` | | ||||||
| | Rapid Mode |  | `switch` | `startProgram.rapidMode` | | | Selected Temperature | `thermometer` | `sensor` | `tempSel` | | ||||||
| | Screen Display |  | `switch` | `startProgram.screenDisplayStatus` | |  | ||||||
| | Self Cleaning |  | `switch` | `startProgram.selfCleaningStatus` | |  | ||||||
| | Self Cleaning 56 |  | `switch` | `startProgram.selfCleaning56Status` | |  | ||||||
| | Silent Sleep |  | `switch` | `startProgram.silentSleepStatus` | |  | ||||||
| | Target Temperature | `thermometer` | `number` | `startProgram.tempSel` | |  | ||||||
|  |  | ||||||
| ### Dish washer | ### Dish washer | ||||||
| #### Controls | #### Controls | ||||||
| | Name | Icon | Entity | Key | | | Name | Icon | Entity | Key | | ||||||
| | --- | --- | --- | --- | | | --- | --- | --- | --- | | ||||||
|  | | Buzzer Disabled | `volume-off` | `switch` | `settings.buzzerDisabled` | | ||||||
| | Dish Washer | `dishwasher` | `switch` | `startProgram` / `stopProgram` | | | Dish Washer | `dishwasher` | `switch` | `startProgram` / `stopProgram` | | ||||||
| #### Configs | #### Configs | ||||||
| | Name | Icon | Entity | Key | | | Name | Icon | Entity | Key | | ||||||
| @ -167,6 +200,8 @@ I moved the api related stuff into the package [pyhOn](https://github.com/Andre0 | |||||||
| | Half Load | `fraction-one-half` | `switch` | `startProgram.halfLoad` | | | 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` | | ||||||
| @ -207,7 +242,6 @@ I moved the api related stuff into the package [pyhOn](https://github.com/Andre0 | |||||||
| | Pan Status | `pot-mix` | `binary_sensor` | `panStatus` | | | Pan Status | `pot-mix` | `binary_sensor` | `panStatus` | | ||||||
| | Power | `lightning-bolt` | `sensor` | `power` | | | Power | `lightning-bolt` | `sensor` | `power` | | ||||||
| | Remaining Time | `timer` | `sensor` | `remainingTimeMM` | | | Remaining Time | `timer` | `sensor` | `remainingTimeMM` | | ||||||
| | Remote Control | `remote` | `binary_sensor` | `attributes.parameters.remoteCtrValid` | |  | ||||||
| | Temperature | `thermometer` | `sensor` | `temp` | | | Temperature | `thermometer` | `sensor` | `temp` | | ||||||
|  |  | ||||||
| ### Oven | ### Oven | ||||||
| @ -229,11 +263,37 @@ I moved the api related stuff into the package [pyhOn](https://github.com/Andre0 | |||||||
| | Connection | `wifi` | `binary_sensor` | `attributes.lastConnEvent.category` | | | Connection | `wifi` | `binary_sensor` | `attributes.lastConnEvent.category` | | ||||||
| | On | `power-cycle` | `binary_sensor` | `attributes.parameters.onOffStatus` | | | On | `power-cycle` | `binary_sensor` | `attributes.parameters.onOffStatus` | | ||||||
| | Remaining Time | `timer` | `sensor` | `remainingTimeMM` | | | Remaining Time | `timer` | `sensor` | `remainingTimeMM` | | ||||||
| | Remote Control | `remote` | `binary_sensor` | `attributes.parameters.remoteCtrValid` | |  | ||||||
| | Start Time | `clock-start` | `sensor` | `delayTime` | | | Start Time | `clock-start` | `sensor` | `delayTime` | | ||||||
| | 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` | `settings.intelligenceMode` | | ||||||
|  | | Freezer Temperature | `thermometer` | `number` | `settings.tempSelZ2` | | ||||||
|  | | Fridge Temperature | `thermometer` | `number` | `settings.tempSelZ1` | | ||||||
|  | | Super Cool | `snowflake` | `switch` | `settings.quickModeZ2` | | ||||||
|  | | Super Freeze | `snowflake-variant` | `switch` | `settings.quickModeZ1` | | ||||||
|  | #### Configs | ||||||
|  | | Name | Icon | Entity | Key | | ||||||
|  | | --- | --- | --- | --- | | ||||||
|  | | Program |  | `select` | `startProgram.program` | | ||||||
|  | #### Sensors | ||||||
|  | | Name | Icon | Entity | Key | | ||||||
|  | | --- | --- | --- | --- | | ||||||
|  | | Auto-Set Mode | `thermometer-auto` | `binary_sensor` | `intelligenceMode` | | ||||||
|  | | Door Status Freezer | `fridge-top` | `binary_sensor` | `doorStatusZ1` | | ||||||
|  | | Door Status Fridge | `fridge-bottom` | `binary_sensor` | `door2StatusZ1` | | ||||||
|  | | Holiday Mode | `palm-tree` | `binary_sensor` | `holidayMode` | | ||||||
|  | | Room Humidity | `water-percent` | `sensor` | `humidityEnv` | | ||||||
|  | | Room Temperature | `home-thermometer-outline` | `sensor` | `tempEnv` | | ||||||
|  | | Super Cool | `snowflake` | `binary_sensor` | `quickModeZ2` | | ||||||
|  | | Super Freeze | `snowflake-variant` | `binary_sensor` | `quickModeZ1` | | ||||||
|  | | Temperature Freezer | `snowflake-thermometer` | `sensor` | `tempZ2` | | ||||||
|  | | Temperature Fridge | `thermometer` | `sensor` | `tempZ1` | | ||||||
|  |  | ||||||
| ### Tumble dryer | ### Tumble dryer | ||||||
| #### Controls | #### Controls | ||||||
| | Name | Icon | Entity | Key | | | Name | Icon | Entity | Key | | ||||||
| @ -251,57 +311,98 @@ I moved the api related stuff into the package [pyhOn](https://github.com/Andre0 | |||||||
| | Dry level | `hair-dryer` | `select` | `startProgram.dryLevel` | | | Dry level | `hair-dryer` | `select` | `startProgram.dryLevel` | | ||||||
| | Energy Label | `lightning-bolt-circle` | `sensor` | `startProgram.energyLabel` | | | Energy Label | `lightning-bolt-circle` | `sensor` | `startProgram.energyLabel` | | ||||||
| | Program |  | `select` | `startProgram.program` | | | Program |  | `select` | `startProgram.program` | | ||||||
|  | | Steam Type | `weather-dust` | `sensor` | `steamType` | | ||||||
|  | | Steam level | `smoke` | `sensor` | `startProgram.steamLevel` | | ||||||
| | Sterilization | `clock-start` | `switch` | `startProgram.sterilizationStatus` | | | Sterilization | `clock-start` | `switch` | `startProgram.sterilizationStatus` | | ||||||
| | Suggested Load | `weight-kilogram` | `sensor` | `startProgram.suggestedLoadD` | | | Suggested Load | `weight-kilogram` | `sensor` | `startProgram.suggestedLoadD` | | ||||||
| | Temperature level | `thermometer` | `number` | `startProgram.tempLevel` | | | Temperature level | `thermometer` | `number` | `startProgram.tempLevel` | | ||||||
| #### Sensors | #### Sensors | ||||||
| | Name | Icon | Entity | Key | | | Name | Icon | Entity | Key | | ||||||
| | --- | --- | --- | --- | | | --- | --- | --- | --- | | ||||||
|  | | Anti-Crease |  | `binary_sensor` | `anticrease` | | ||||||
| | Connection |  | `binary_sensor` | `attributes.lastConnEvent.category` | | | Connection |  | `binary_sensor` | `attributes.lastConnEvent.category` | | ||||||
| | Door |  | `binary_sensor` | `doorStatus` | | | Door |  | `binary_sensor` | `doorStatus` | | ||||||
| | Dry level | `hair-dryer` | `sensor` | `dryLevel` | | | Dry level | `hair-dryer` | `sensor` | `dryLevel` | | ||||||
| | Error | `math-log` | `sensor` | `errors` | | | Error | `math-log` | `sensor` | `errors` | | ||||||
| | Machine Status | `information` | `sensor` | `machMode` | | | Machine Status | `information` | `sensor` | `machMode` | | ||||||
| | Program | `tumble-dryer` | `sensor` | `prCode` | | | Program | `tumble-dryer` | `sensor` | `programName` | | ||||||
| | Program Phase | `washing-machine` | `sensor` | `prPhase` | | | Program Phase | `washing-machine` | `sensor` | `prPhase` | | ||||||
| | Remaining Time | `timer` | `sensor` | `remainingTimeMM` | | | Remaining Time | `timer` | `sensor` | `remainingTimeMM` | | ||||||
| | Start Time | `clock-start` | `sensor` | `delayTime` | | | Start Time | `clock-start` | `sensor` | `delayTime` | | ||||||
|  | | Steam level | `smoke` | `sensor` | `steamLevel` | | ||||||
| | Temperature level | `thermometer` | `sensor` | `tempLevel` | | | Temperature level | `thermometer` | `sensor` | `tempLevel` | | ||||||
|  |  | ||||||
| ### Washer dryer | ### Washer dryer | ||||||
| #### Controls | #### Controls | ||||||
| | Name | Icon | Entity | Key | | | Name | Icon | Entity | Key | | ||||||
| | --- | --- | --- | --- | | | --- | --- | --- | --- | | ||||||
| | Pause Washing Machine | `pause` | `switch` | `pauseProgram` / `resumeProgram` | | | Pause Washer Dryer | `pause` | `switch` | `pauseProgram` / `resumeProgram` | | ||||||
| | Washing Machine | `washing-machine` | `switch` | `startProgram` / `stopProgram` | | | Washer Dryer | `washing-machine` | `switch` | `startProgram` / `stopProgram` | | ||||||
| #### Configs | #### Configs | ||||||
| | Name | Icon | Entity | Key | | | Name | Icon | Entity | Key | | ||||||
| | --- | --- | --- | --- | | | --- | --- | --- | --- | | ||||||
|  | | Acqua Plus | `water-plus` | `switch` | `startProgram.acquaplus` | | ||||||
|  | | Anti-Crease | `timer` | `switch` | `startProgram.antiCreaseTime` | | ||||||
|  | | Anti-Crease | `timer` | `switch` | `startProgram.anticrease` | | ||||||
|  | | Auto Dose Detergent | `cup` | `switch` | `startProgram.autoDetergentStatus` | | ||||||
|  | | Auto Dose Softener | `teddy-bear` | `switch` | `startProgram.autoSoftenerStatus` | | ||||||
|  | | Delay Status | `timer-check` | `switch` | `startProgram.delayStatus` | | ||||||
| | Delay Time | `timer-plus` | `number` | `startProgram.delayTime` | | | Delay Time | `timer-plus` | `number` | `startProgram.delayTime` | | ||||||
|  | | Dry Time |  | `number` | `startProgram.dryTime` | | ||||||
|  | | Dry Time | `timer` | `select` | `startProgram.dryTimeMM` | | ||||||
|  | | Dry level | `hair-dryer` | `select` | `startProgram.dryLevel` | | ||||||
|  | | Energy Label | `lightning-bolt-circle` | `sensor` | `startProgram.energyLabel` | | ||||||
|  | | Extra Rinse 1 | `numeric-1-box-multiple-outline` | `switch` | `startProgram.extraRinse1` | | ||||||
|  | | Extra Rinse 2 | `numeric-2-box-multiple-outline` | `switch` | `startProgram.extraRinse2` | | ||||||
|  | | Extra Rinse 3 | `numeric-3-box-multiple-outline` | `switch` | `startProgram.extraRinse3` | | ||||||
|  | | Good Night | `weather-night` | `switch` | `startProgram.goodNight` | | ||||||
|  | | Keep Fresh | `refresh-circle` | `switch` | `startProgram.permanentPressStatus` | | ||||||
|  | | Liquid Detergent Dose | `cup-water` | `sensor` | `startProgram.liquidDetergentDose` | | ||||||
|  | | Main Wash Time | `clock-start` | `number` | `startProgram.mainWashTime` | | ||||||
|  | | Powder Detergent Dose | `cup` | `sensor` | `startProgram.powderDetergentDose` | | ||||||
| | Program |  | `select` | `startProgram.program` | | | Program |  | `select` | `startProgram.program` | | ||||||
|  | | Remaining Time | `timer` | `sensor` | `startProgram.remainingTime` | | ||||||
|  | | Rinse Iterations | `rotate-right` | `number` | `startProgram.rinseIterations` | | ||||||
|  | | Soak Prewash Selection | `tshirt-crew` | `switch` | `startProgram.haier_SoakPrewashSelection` | | ||||||
|  | | Spin speed | `numeric` | `select` | `startProgram.spinSpeed` | | ||||||
|  | | Steam Level | `weather-dust` | `number` | `startProgram.steamLevel` | | ||||||
|  | | Steam Type | `weather-dust` | `sensor` | `steamType` | | ||||||
|  | | Steam level | `smoke` | `sensor` | `startProgram.steamLevel` | | ||||||
|  | | Sterilization | `clock-start` | `switch` | `startProgram.sterilizationStatus` | | ||||||
|  | | Suggested Load | `weight-kilogram` | `sensor` | `startProgram.suggestedLoadW` | | ||||||
|  | | Suggested Load | `weight-kilogram` | `sensor` | `startProgram.suggestedLoadD` | | ||||||
| | Suggested weight | `weight-kilogram` | `sensor` | `startProgram.weight` | | | Suggested weight | `weight-kilogram` | `sensor` | `startProgram.weight` | | ||||||
|  | | Temperature | `thermometer` | `select` | `startProgram.temp` | | ||||||
|  | | Temperature level | `thermometer` | `number` | `startProgram.tempLevel` | | ||||||
|  | | Water hard | `water` | `number` | `startProgram.waterHard` | | ||||||
|  | | lang |  | `number` | `startProgram.lang` | | ||||||
| #### Sensors | #### Sensors | ||||||
| | Name | Icon | Entity | Key | | | Name | Icon | Entity | Key | | ||||||
| | --- | --- | --- | --- | | | --- | --- | --- | --- | | ||||||
| | Acqua Plus |  | `binary_sensor` | `acquaplus` | | | Acqua Plus |  | `binary_sensor` | `acquaplus` | | ||||||
| | Anti-Crease |  | `binary_sensor` | `anticrease` | | | Anti-Crease |  | `binary_sensor` | `anticrease` | | ||||||
| | Current Electricity Used | `lightning-bolt` | `sensor` | `currentElectricityUsed` | | | Current Electricity Used | `lightning-bolt` | `sensor` | `currentElectricityUsed` | | ||||||
| | Current Program | `tumble-dryer` | `sensor` | `prCode` | |  | ||||||
| | Current Temperature | `thermometer` | `sensor` | `temp` | | | Current Temperature | `thermometer` | `sensor` | `temp` | | ||||||
| | Current Water Used | `water` | `sensor` | `currentWaterUsed` | | | Current Water Used | `water` | `sensor` | `currentWaterUsed` | | ||||||
| | Dirt level | `liquid-spot` | `sensor` | `dirtyLevel` | | | Dirt level | `liquid-spot` | `sensor` | `dirtyLevel` | | ||||||
|  | | Door |  | `binary_sensor` | `doorStatus` | | ||||||
|  | | Door Lock |  | `binary_sensor` | `doorLockStatus` | | ||||||
| | Dry level | `hair-dryer` | `sensor` | `dryLevel` | | | Dry level | `hair-dryer` | `sensor` | `dryLevel` | | ||||||
|  | | Error | `math-log` | `sensor` | `errors` | | ||||||
| | Extra Rinse 1 |  | `binary_sensor` | `extraRinse1` | | | Extra Rinse 1 |  | `binary_sensor` | `extraRinse1` | | ||||||
| | Extra Rinse 2 |  | `binary_sensor` | `extraRinse2` | | | Extra Rinse 2 |  | `binary_sensor` | `extraRinse2` | | ||||||
| | Extra Rinse 3 |  | `binary_sensor` | `extraRinse3` | | | Extra Rinse 3 |  | `binary_sensor` | `extraRinse3` | | ||||||
| | Good Night Mode |  | `binary_sensor` | `goodNight` | | | Good Night Mode |  | `binary_sensor` | `goodNight` | | ||||||
| | Machine Status | `information` | `sensor` | `machMode` | | | Machine Status | `information` | `sensor` | `machMode` | | ||||||
| | Pre Wash |  | `binary_sensor` | `startProgram.prewash` | | | Pre Wash |  | `binary_sensor` | `startProgram.prewash` | | ||||||
|  | | Program | `tumble-dryer` | `sensor` | `programName` | | ||||||
| | Program Phase | `washing-machine` | `sensor` | `prPhase` | | | Program Phase | `washing-machine` | `sensor` | `prPhase` | | ||||||
| | Remaining Time | `timer` | `sensor` | `remainingTimeMM` | | | Remaining Time | `timer` | `sensor` | `remainingTimeMM` | | ||||||
| | Remote Control | `remote` | `binary_sensor` | `attributes.lastConnEvent.category` | | | Remote Control | `remote` | `binary_sensor` | `attributes.lastConnEvent.category` | | ||||||
| | Spin Speed | `fast-forward-outline` | `sensor` | `spinSpeed` | | | Spin Speed | `speedometer` | `sensor` | `spinSpeed` | | ||||||
|  | | Start Time | `clock-start` | `sensor` | `delayTime` | | ||||||
| | Steam level | `smoke` | `sensor` | `steamLevel` | | | Steam level | `smoke` | `sensor` | `steamLevel` | | ||||||
|  | | Temperature level | `thermometer` | `sensor` | `tempLevel` | | ||||||
| | Total Power |  | `sensor` | `totalElectricityUsed` | | | Total Power |  | `sensor` | `totalElectricityUsed` | | ||||||
| | Total Wash Cycle | `counter` | `sensor` | `totalWashCycle` | | | Total Wash Cycle | `counter` | `sensor` | `totalWashCycle` | | ||||||
| | Total Water |  | `sensor` | `totalWaterUsed` | | | Total Water |  | `sensor` | `totalWaterUsed` | | ||||||
| @ -315,28 +416,48 @@ I moved the api related stuff into the package [pyhOn](https://github.com/Andre0 | |||||||
| #### Configs | #### Configs | ||||||
| | Name | Icon | Entity | Key | | | Name | Icon | Entity | Key | | ||||||
| | --- | --- | --- | --- | | | --- | --- | --- | --- | | ||||||
|  | | Acqua Plus | `water-plus` | `switch` | `startProgram.acquaplus` | | ||||||
|  | | 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` | | ||||||
| | Keep Fresh | `refresh-circle` | `switch` | `startProgram.autoSoftenerStatus` | | | Extra Rinse 1 | `numeric-1-box-multiple-outline` | `switch` | `startProgram.extraRinse1` | | ||||||
|  | | Extra Rinse 2 | `numeric-2-box-multiple-outline` | `switch` | `startProgram.extraRinse2` | | ||||||
|  | | Extra Rinse 3 | `numeric-3-box-multiple-outline` | `switch` | `startProgram.extraRinse3` | | ||||||
|  | | Good Night | `weather-night` | `switch` | `startProgram.goodNight` | | ||||||
|  | | Keep Fresh | `refresh-circle` | `switch` | `startProgram.permanentPressStatus` | | ||||||
| | Liquid Detergent Dose | `cup-water` | `sensor` | `startProgram.liquidDetergentDose` | | | 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` | | ||||||
| | Program |  | `select` | `startProgram.program` | | | Program |  | `select` | `startProgram.program` | | ||||||
|  | | Remaining Time | `timer` | `sensor` | `startProgram.remainingTime` | | ||||||
| | Rinse Iterations | `rotate-right` | `number` | `startProgram.rinseIterations` | | | Rinse Iterations | `rotate-right` | `number` | `startProgram.rinseIterations` | | ||||||
| | Soak Prewash Selection | `tshirt-crew` | `switch` | `startProgram.haier_SoakPrewashSelection` | | | Soak Prewash Selection | `tshirt-crew` | `switch` | `startProgram.haier_SoakPrewashSelection` | | ||||||
| | Spin speed | `numeric` | `select` | `startProgram.spinSpeed` | | | Spin speed | `numeric` | `select` | `startProgram.spinSpeed` | | ||||||
|  | | Steam Level | `weather-dust` | `number` | `startProgram.steamLevel` | | ||||||
|  | | Suggested Load | `weight-kilogram` | `sensor` | `startProgram.suggestedLoadW` | | ||||||
| | Suggested weight | `weight-kilogram` | `sensor` | `startProgram.weight` | | | Suggested weight | `weight-kilogram` | `sensor` | `startProgram.weight` | | ||||||
| | Temperature | `thermometer` | `select` | `startProgram.temp` | | | Temperature | `thermometer` | `select` | `startProgram.temp` | | ||||||
|  | | Water hard | `water` | `number` | `startProgram.waterHard` | | ||||||
|  | | lang |  | `number` | `startProgram.lang` | | ||||||
| #### Sensors | #### Sensors | ||||||
| | Name | Icon | Entity | Key | | | Name | Icon | Entity | Key | | ||||||
| | --- | --- | --- | --- | | | --- | --- | --- | --- | | ||||||
|  | | Acqua Plus |  | `binary_sensor` | `acquaplus` | | ||||||
| | Current Electricity Used | `lightning-bolt` | `sensor` | `currentElectricityUsed` | | | Current Electricity Used | `lightning-bolt` | `sensor` | `currentElectricityUsed` | | ||||||
|  | | Current Temperature | `thermometer` | `sensor` | `temp` | | ||||||
| | Current Water Used | `water` | `sensor` | `currentWaterUsed` | | | Current Water Used | `water` | `sensor` | `currentWaterUsed` | | ||||||
|  | | Dirt level | `liquid-spot` | `sensor` | `dirtyLevel` | | ||||||
| | Door |  | `binary_sensor` | `doorStatus` | | | Door |  | `binary_sensor` | `doorStatus` | | ||||||
| | Door Lock |  | `binary_sensor` | `doorLockStatus` | | | Door Lock |  | `binary_sensor` | `doorLockStatus` | | ||||||
| | Error | `math-log` | `sensor` | `errors` | | | Error | `math-log` | `sensor` | `errors` | | ||||||
|  | | Extra Rinse 1 |  | `binary_sensor` | `extraRinse1` | | ||||||
|  | | Extra Rinse 2 |  | `binary_sensor` | `extraRinse2` | | ||||||
|  | | Extra Rinse 3 |  | `binary_sensor` | `extraRinse3` | | ||||||
|  | | Good Night Mode |  | `binary_sensor` | `goodNight` | | ||||||
| | Machine Status | `information` | `sensor` | `machMode` | | | Machine Status | `information` | `sensor` | `machMode` | | ||||||
|  | | Pre Wash |  | `binary_sensor` | `startProgram.prewash` | | ||||||
| | Program Phase | `washing-machine` | `sensor` | `prPhase` | | | Program Phase | `washing-machine` | `sensor` | `prPhase` | | ||||||
| | Remaining Time | `timer` | `sensor` | `remainingTimeMM` | | | Remaining Time | `timer` | `sensor` | `remainingTimeMM` | | ||||||
| | Remote Control | `remote` | `binary_sensor` | `attributes.lastConnEvent.category` | | | Remote Control | `remote` | `binary_sensor` | `attributes.lastConnEvent.category` | | ||||||
|  | |||||||
							
								
								
									
										
											BIN
										
									
								
								assets/washing_machine.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/washing_machine.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 202 KiB | 
| @ -11,7 +11,7 @@ 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 | from .hon import HonCoordinator, HonEntity, unique_entities | ||||||
|  |  | ||||||
| _LOGGER = logging.getLogger(__name__) | _LOGGER = logging.getLogger(__name__) | ||||||
|  |  | ||||||
| @ -52,32 +52,6 @@ BINARY_SENSORS: dict[str, tuple[HonBinarySensorEntityDescription, ...]] = { | |||||||
|             on_value="1", |             on_value="1", | ||||||
|             translation_key="door_open", |             translation_key="door_open", | ||||||
|         ), |         ), | ||||||
|     ), |  | ||||||
|     "TD": ( |  | ||||||
|         HonBinarySensorEntityDescription( |  | ||||||
|             key="attributes.lastConnEvent.category", |  | ||||||
|             name="Connection", |  | ||||||
|             device_class=BinarySensorDeviceClass.CONNECTIVITY, |  | ||||||
|             on_value="CONNECTED", |  | ||||||
|             translation_key="connection", |  | ||||||
|         ), |  | ||||||
|         HonBinarySensorEntityDescription( |  | ||||||
|             key="doorStatus", |  | ||||||
|             name="Door", |  | ||||||
|             device_class=BinarySensorDeviceClass.DOOR, |  | ||||||
|             on_value="1", |  | ||||||
|             translation_key="door_open", |  | ||||||
|         ), |  | ||||||
|     ), |  | ||||||
|     "WD": ( |  | ||||||
|         HonBinarySensorEntityDescription( |  | ||||||
|             key="attributes.lastConnEvent.category", |  | ||||||
|             name="Remote Control", |  | ||||||
|             device_class=BinarySensorDeviceClass.CONNECTIVITY, |  | ||||||
|             on_value="CONNECTED", |  | ||||||
|             icon="mdi:remote", |  | ||||||
|             translation_key="remote_control", |  | ||||||
|         ), |  | ||||||
|         HonBinarySensorEntityDescription( |         HonBinarySensorEntityDescription( | ||||||
|             key="startProgram.prewash", name="Pre Wash", translation_key="prewash" |             key="startProgram.prewash", name="Pre Wash", translation_key="prewash" | ||||||
|         ), |         ), | ||||||
| @ -94,7 +68,23 @@ BINARY_SENSORS: dict[str, tuple[HonBinarySensorEntityDescription, ...]] = { | |||||||
|             key="goodNight", name="Good Night Mode", translation_key="good_night" |             key="goodNight", name="Good Night Mode", translation_key="good_night" | ||||||
|         ), |         ), | ||||||
|         HonBinarySensorEntityDescription( |         HonBinarySensorEntityDescription( | ||||||
|             key="acquaplus", name="Acqua Plus", translation_key="aqua_plus" |             key="acquaplus", name="Acqua Plus", translation_key="acqua_plus" | ||||||
|  |         ), | ||||||
|  |     ), | ||||||
|  |     "TD": ( | ||||||
|  |         HonBinarySensorEntityDescription( | ||||||
|  |             key="attributes.lastConnEvent.category", | ||||||
|  |             name="Connection", | ||||||
|  |             device_class=BinarySensorDeviceClass.CONNECTIVITY, | ||||||
|  |             on_value="CONNECTED", | ||||||
|  |             translation_key="connection", | ||||||
|  |         ), | ||||||
|  |         HonBinarySensorEntityDescription( | ||||||
|  |             key="doorStatus", | ||||||
|  |             name="Door", | ||||||
|  |             device_class=BinarySensorDeviceClass.DOOR, | ||||||
|  |             on_value="1", | ||||||
|  |             translation_key="door_open", | ||||||
|         ), |         ), | ||||||
|         HonBinarySensorEntityDescription( |         HonBinarySensorEntityDescription( | ||||||
|             key="anticrease", name="Anti-Crease", translation_key="anti_crease" |             key="anticrease", name="Anti-Crease", translation_key="anti_crease" | ||||||
| @ -109,14 +99,6 @@ BINARY_SENSORS: dict[str, tuple[HonBinarySensorEntityDescription, ...]] = { | |||||||
|             icon="mdi:wifi", |             icon="mdi:wifi", | ||||||
|             translation_key="connection", |             translation_key="connection", | ||||||
|         ), |         ), | ||||||
|         HonBinarySensorEntityDescription( |  | ||||||
|             key="attributes.parameters.remoteCtrValid", |  | ||||||
|             name="Remote Control", |  | ||||||
|             device_class=BinarySensorDeviceClass.CONNECTIVITY, |  | ||||||
|             on_value="1", |  | ||||||
|             icon="mdi:remote", |  | ||||||
|             translation_key="remote_control", |  | ||||||
|         ), |  | ||||||
|         HonBinarySensorEntityDescription( |         HonBinarySensorEntityDescription( | ||||||
|             key="attributes.parameters.onOffStatus", |             key="attributes.parameters.onOffStatus", | ||||||
|             name="On", |             name="On", | ||||||
| @ -135,14 +117,6 @@ BINARY_SENSORS: dict[str, tuple[HonBinarySensorEntityDescription, ...]] = { | |||||||
|             icon="mdi:wifi", |             icon="mdi:wifi", | ||||||
|             translation_key="connection", |             translation_key="connection", | ||||||
|         ), |         ), | ||||||
|         HonBinarySensorEntityDescription( |  | ||||||
|             key="attributes.parameters.remoteCtrValid", |  | ||||||
|             name="Remote Control", |  | ||||||
|             device_class=BinarySensorDeviceClass.CONNECTIVITY, |  | ||||||
|             on_value="1", |  | ||||||
|             icon="mdi:remote", |  | ||||||
|             translation_key="remote_control", |  | ||||||
|         ), |  | ||||||
|         HonBinarySensorEntityDescription( |         HonBinarySensorEntityDescription( | ||||||
|             key="attributes.parameters.onOffStatus", |             key="attributes.parameters.onOffStatus", | ||||||
|             name="On", |             name="On", | ||||||
| @ -205,9 +179,76 @@ 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", | ||||||
|  |         ), | ||||||
|  |     ), | ||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 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] |     hon: Hon = hass.data[DOMAIN][entry.unique_id] | ||||||
|     coordinators = hass.data[DOMAIN]["coordinators"] |     coordinators = hass.data[DOMAIN]["coordinators"] | ||||||
| @ -223,16 +264,9 @@ async def async_setup_entry(hass, entry: ConfigEntry, async_add_entities) -> Non | |||||||
|         if descriptions := BINARY_SENSORS.get(device.appliance_type): |         if descriptions := BINARY_SENSORS.get(device.appliance_type): | ||||||
|             for description in descriptions: |             for description in descriptions: | ||||||
|                 if not device.get(description.key): |                 if not device.get(description.key): | ||||||
|                     _LOGGER.warning( |  | ||||||
|                         "[%s] Can't setup %s", device.appliance_type, description.key |  | ||||||
|                     ) |  | ||||||
|                     continue |                     continue | ||||||
|                 appliances.extend( |                 appliances.append( | ||||||
|                     [ |                     HonBinarySensorEntity(hass, coordinator, entry, device, description) | ||||||
|                         HonBinarySensorEntity( |  | ||||||
|                             hass, coordinator, entry, device, description |  | ||||||
|                         ) |  | ||||||
|                     ] |  | ||||||
|                 ) |                 ) | ||||||
|  |  | ||||||
|     async_add_entities(appliances) |     async_add_entities(appliances) | ||||||
| @ -244,8 +278,6 @@ class HonBinarySensorEntity(HonEntity, BinarySensorEntity): | |||||||
|     def __init__(self, hass, coordinator, entry, device, description) -> None: |     def __init__(self, hass, coordinator, entry, device, description) -> None: | ||||||
|         super().__init__(hass, entry, coordinator, device) |         super().__init__(hass, entry, coordinator, device) | ||||||
|  |  | ||||||
|         self._coordinator = coordinator |  | ||||||
|  |  | ||||||
|         self.entity_description = description |         self.entity_description = description | ||||||
|         self._attr_unique_id = f"{super().unique_id}{description.key}" |         self._attr_unique_id = f"{super().unique_id}{description.key}" | ||||||
|  |  | ||||||
|  | |||||||
| @ -1,14 +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 homeassistant.const import EntityCategory | ||||||
| from pyhon import Hon | from pyhon import Hon | ||||||
| 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 HonCoordinator, HonEntity | ||||||
|  |  | ||||||
| @ -56,27 +56,37 @@ class HonButtonEntity(HonEntity, ButtonEntity): | |||||||
|     ) -> None: |     ) -> None: | ||||||
|         super().__init__(hass, entry, coordinator, device) |         super().__init__(hass, entry, coordinator, device) | ||||||
|  |  | ||||||
|         self._coordinator = coordinator |  | ||||||
|         self._device = device |  | ||||||
|         self.entity_description = description |         self.entity_description = description | ||||||
|         self._attr_unique_id = f"{super().unique_id}{description.key}" |         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() | ||||||
|  |  | ||||||
|  |     @property | ||||||
|  |     def available(self) -> bool: | ||||||
|  |         """Return True if entity is available.""" | ||||||
|  |         return ( | ||||||
|  |             super().available | ||||||
|  |             and self._device.get("remoteCtrValid", "1") == "1" | ||||||
|  |             and self._device.get("attributes.lastConnEvent.category") != "DISCONNECTED" | ||||||
|  |         ) | ||||||
|  |  | ||||||
|  |  | ||||||
| class HonFeatureRequestButton(HonEntity, ButtonEntity): | class HonFeatureRequestButton(HonEntity, ButtonEntity): | ||||||
|     def __init__(self, hass, coordinator, entry, device: HonAppliance) -> None: |     def __init__(self, hass, coordinator, entry, device: HonAppliance) -> None: | ||||||
|         super().__init__(hass, entry, coordinator, device) |         super().__init__(hass, entry, coordinator, 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 ")) | ||||||
|  | |||||||
| @ -1,5 +1,8 @@ | |||||||
| import logging | import logging | ||||||
|  |  | ||||||
|  | from pyhon import Hon | ||||||
|  | from pyhon.appliance import HonAppliance | ||||||
|  |  | ||||||
| from homeassistant.components.climate import ( | from homeassistant.components.climate import ( | ||||||
|     ClimateEntity, |     ClimateEntity, | ||||||
|     ClimateEntityDescription, |     ClimateEntityDescription, | ||||||
| @ -20,16 +23,20 @@ from homeassistant.const import ( | |||||||
|     TEMP_CELSIUS, |     TEMP_CELSIUS, | ||||||
| ) | ) | ||||||
| from homeassistant.core import callback | from homeassistant.core import callback | ||||||
| from pyhon import Hon | from .const import HON_HVAC_MODE, HON_FAN, HON_HVAC_PROGRAM, DOMAIN | ||||||
| from pyhon.appliance import HonAppliance | from .hon import HonEntity, HonCoordinator | ||||||
|  |  | ||||||
| from custom_components.hon.const import HON_HVAC_MODE, HON_FAN, HON_HVAC_PROGRAM, DOMAIN |  | ||||||
| from custom_components.hon.hon import HonEntity, HonCoordinator |  | ||||||
|  |  | ||||||
| _LOGGER = logging.getLogger(__name__) | _LOGGER = logging.getLogger(__name__) | ||||||
|  |  | ||||||
| CLIMATES = { | CLIMATES = { | ||||||
|     "AC": (ClimateEntityDescription(key="startProgram"),), |     "AC": ( | ||||||
|  |         ClimateEntityDescription( | ||||||
|  |             key="settings", | ||||||
|  |             name="Air Conditioner", | ||||||
|  |             icon="mdi:air-conditioner", | ||||||
|  |             translation_key="air_conditioner", | ||||||
|  |         ), | ||||||
|  |     ), | ||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
| @ -47,10 +54,10 @@ async def async_setup_entry(hass, entry: ConfigEntry, async_add_entities) -> Non | |||||||
|  |  | ||||||
|         if descriptions := CLIMATES.get(device.appliance_type): |         if descriptions := CLIMATES.get(device.appliance_type): | ||||||
|             for description in descriptions: |             for description in descriptions: | ||||||
|                 if not device.settings.get(description.key): |                 if description.key not in list(device.commands): | ||||||
|                     continue |                     continue | ||||||
|                 appliances.extend( |                 appliances.append( | ||||||
|                     [HonClimateEntity(hass, coordinator, entry, device, description)] |                     HonClimateEntity(hass, coordinator, entry, device, description) | ||||||
|                 ) |                 ) | ||||||
|     async_add_entities(appliances) |     async_add_entities(appliances) | ||||||
|  |  | ||||||
| @ -60,22 +67,19 @@ class HonClimateEntity(HonEntity, ClimateEntity): | |||||||
|         self, hass, coordinator, entry, device: HonAppliance, description |         self, hass, coordinator, entry, device: HonAppliance, description | ||||||
|     ) -> None: |     ) -> None: | ||||||
|         super().__init__(hass, entry, coordinator, device) |         super().__init__(hass, entry, coordinator, device) | ||||||
|         self._coordinator = coordinator |  | ||||||
|         self._device = coordinator.device |  | ||||||
|         self.entity_description = description |         self.entity_description = description | ||||||
|         self._hass = hass |  | ||||||
|         self._attr_unique_id = f"{super().unique_id}climate" |         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 = PRECISION_WHOLE | ||||||
|         self._attr_max_temp = device.settings["tempSel"].max |         self._attr_max_temp = device.settings["settings.tempSel"].max | ||||||
|         self._attr_min_temp = device.settings["tempSel"].min |         self._attr_min_temp = device.settings["settings.tempSel"].min | ||||||
|  |  | ||||||
|         self._attr_hvac_modes = [HVACMode.OFF] + [ |         self._attr_hvac_modes = [HVACMode.OFF] + [ | ||||||
|             HON_HVAC_MODE[mode] for mode in device.settings["machMode"].values |             HON_HVAC_MODE[mode] for mode in device.settings["settings.machMode"].values | ||||||
|         ] |         ] | ||||||
|         self._attr_fan_modes = [FAN_OFF] + [ |         self._attr_fan_modes = [FAN_OFF] + [ | ||||||
|             HON_FAN[mode] for mode in device.settings["windSpeed"].values |             HON_FAN[mode] for mode in device.settings["settings.windSpeed"].values | ||||||
|         ] |         ] | ||||||
|         self._attr_swing_modes = [ |         self._attr_swing_modes = [ | ||||||
|             SWING_OFF, |             SWING_OFF, | ||||||
| @ -89,22 +93,30 @@ class HonClimateEntity(HonEntity, ClimateEntity): | |||||||
|             | ClimateEntityFeature.SWING_MODE |             | ClimateEntityFeature.SWING_MODE | ||||||
|         ) |         ) | ||||||
|  |  | ||||||
|  |         self._handle_coordinator_update(update=False) | ||||||
|  |  | ||||||
|     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: | ||||||
|             self._device.commands["stopProgram"].send() |             await self._device.commands["stopProgram"].send() | ||||||
|         else: |         else: | ||||||
|             self._device.settings["program"].value = HON_HVAC_PROGRAM[hvac_mode] |             self._device.settings["startProgram.program"].value = HON_HVAC_PROGRAM[ | ||||||
|             self._device.commands["startProgram"].send() |                 hvac_mode | ||||||
|  |             ] | ||||||
|  |             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) | ||||||
|         self._device.settings["windSpeed"].value = list(HON_FAN.keys())[mode_number] |         self._device.settings["settings.windSpeed"].value = list(HON_FAN.keys())[ | ||||||
|         self._device.commands["startProgram"].send() |             mode_number | ||||||
|  |         ] | ||||||
|  |         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["windDirectionHorizontal"] |         horizontal = self._device.settings["settings.windDirectionHorizontal"] | ||||||
|         vertical = self._device.settings["windDirectionVertical"] |         vertical = self._device.settings["settings.windDirectionVertical"] | ||||||
|         if swing_mode in [SWING_BOTH, SWING_HORIZONTAL]: |         if swing_mode in [SWING_BOTH, SWING_HORIZONTAL]: | ||||||
|             horizontal.value = "7" |             horizontal.value = "7" | ||||||
|         if swing_mode in [SWING_BOTH, SWING_VERTICAL]: |         if swing_mode in [SWING_BOTH, SWING_VERTICAL]: | ||||||
| @ -114,30 +126,30 @@ class HonClimateEntity(HonEntity, ClimateEntity): | |||||||
|         if swing_mode in [SWING_OFF, SWING_VERTICAL] and horizontal.value == "7": |         if swing_mode in [SWING_OFF, SWING_VERTICAL] and horizontal.value == "7": | ||||||
|             horizontal.value = "0" |             horizontal.value = "0" | ||||||
|         self._attr_swing_mode = swing_mode |         self._attr_swing_mode = swing_mode | ||||||
|         self._device.commands["startProgram"].send() |         await self._device.commands["settings"].send() | ||||||
|  |         self.async_write_ha_state() | ||||||
|  |  | ||||||
|     async def async_set_temperature(self, **kwargs): |     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["selTemp"].value = temperature |         self._device.settings["settings.tempSel"].value = str(int(temperature)) | ||||||
|         self._device.commands["startProgram"].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["tempSel"].max |  | ||||||
|         self._attr_min_temp = self._device.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")] |             self._attr_hvac_mode = HON_HVAC_MODE[self._device.get("machMode") or "0"] | ||||||
|  |  | ||||||
|         self._attr_fan_mode = HON_FAN[self._device.settings["windSpeed"].value] |         self._attr_fan_mode = HON_FAN[self._device.get("windSpeed")] | ||||||
|  |  | ||||||
|         horizontal = self._device.settings["windDirectionHorizontal"] |         horizontal = self._device.get("windDirectionHorizontal") | ||||||
|         vertical = self._device.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": | ||||||
| @ -146,3 +158,5 @@ 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() | ||||||
|  | |||||||
| @ -4,7 +4,6 @@ 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 | ||||||
|  |  | ||||||
| from .const import DOMAIN | from .const import DOMAIN | ||||||
|  |  | ||||||
| _LOGGER = logging.getLogger(__name__) | _LOGGER = logging.getLogger(__name__) | ||||||
|  | |||||||
| @ -1,6 +1,10 @@ | |||||||
| from homeassistant.components.climate import HVACMode | from homeassistant.components.climate import ( | ||||||
|  |     HVACMode, | ||||||
| from custom_components.hon import climate |     FAN_LOW, | ||||||
|  |     FAN_MEDIUM, | ||||||
|  |     FAN_HIGH, | ||||||
|  |     FAN_AUTO, | ||||||
|  | ) | ||||||
|  |  | ||||||
| DOMAIN = "hon" | DOMAIN = "hon" | ||||||
|  |  | ||||||
| @ -17,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, | ||||||
| @ -33,9 +37,280 @@ HON_HVAC_PROGRAM = { | |||||||
| } | } | ||||||
|  |  | ||||||
| HON_FAN = { | HON_FAN = { | ||||||
|     "1": climate.FAN_HIGH, |     "1": FAN_HIGH, | ||||||
|     "2": climate.FAN_MEDIUM, |     "2": FAN_MEDIUM, | ||||||
|     "3": climate.FAN_LOW, |     "3": FAN_LOW, | ||||||
|     "4": climate.FAN_AUTO, |     "4": FAN_AUTO, | ||||||
|     "5": climate.FAN_AUTO, |     "5": FAN_AUTO, | ||||||
| } | } | ||||||
|  |  | ||||||
|  | # These languages are official supported by hOn | ||||||
|  | LANGUAGES = [ | ||||||
|  |     "cs",  # Czech | ||||||
|  |     "de",  # German | ||||||
|  |     "el",  # Greek | ||||||
|  |     "en",  # English | ||||||
|  |     "es",  # Spanish | ||||||
|  |     "fr",  # French | ||||||
|  |     "he",  # Hebrew | ||||||
|  |     "hr",  # Croatian | ||||||
|  |     "it",  # Italian | ||||||
|  |     "nl",  # Dutch | ||||||
|  |     "pl",  # Polish | ||||||
|  |     "pt",  # Portuguese | ||||||
|  |     "ro",  # Romanian | ||||||
|  |     "ru",  # Russian | ||||||
|  |     "sk",  # Slovak | ||||||
|  |     "sl",  # Slovenian | ||||||
|  |     "sr",  # Serbian | ||||||
|  |     "tr",  # Turkish | ||||||
|  |     "zh",  # Chinese | ||||||
|  | ] | ||||||
|  |  | ||||||
|  | WASHING_PR_PHASE = { | ||||||
|  |     "0": "WASHING_CMD&CTRL.PHASE_READY.TITLE", | ||||||
|  |     "1": "WASHING_CMD&CTRL.PHASE_WASHING.TITLE", | ||||||
|  |     "2": "WASHING_CMD&CTRL.PHASE_WASHING.TITLE", | ||||||
|  |     "3": "WASHING_CMD&CTRL.PHASE_SPIN.TITLE", | ||||||
|  |     "4": "WASHING_CMD&CTRL.PHASE_RINSE.TITLE", | ||||||
|  |     "5": "WASHING_CMD&CTRL.PHASE_RINSE.TITLE", | ||||||
|  |     "6": "WASHING_CMD&CTRL.PHASE_RINSE.TITLE", | ||||||
|  |     "7": "WASHING_CMD&CTRL.PHASE_DRYING.TITLE", | ||||||
|  |     "9": "WASHING_CMD&CTRL.PHASE_STEAM.TITLE", | ||||||
|  |     "10": "WASHING_CMD&CTRL.PHASE_READY.TITLE", | ||||||
|  |     "11": "WASHING_CMD&CTRL.PHASE_SPIN.TITLE", | ||||||
|  |     "12": "WASHING_CMD&CTRL.PHASE_WEIGHTING.TITLE", | ||||||
|  |     "13": "WASHING_CMD&CTRL.PHASE_WEIGHTING.TITLE", | ||||||
|  |     "14": "WASHING_CMD&CTRL.PHASE_WASHING.TITLE", | ||||||
|  |     "15": "WASHING_CMD&CTRL.PHASE_WASHING.TITLE", | ||||||
|  |     "16": "WASHING_CMD&CTRL.PHASE_WASHING.TITLE", | ||||||
|  |     "17": "WASHING_CMD&CTRL.PHASE_RINSE.TITLE", | ||||||
|  |     "18": "WASHING_CMD&CTRL.PHASE_RINSE.TITLE", | ||||||
|  |     "19": "WASHING_CMD&CTRL.PHASE_SCHEDULED.TITLE", | ||||||
|  |     "20": "WASHING_CMD&CTRL.PHASE_TUMBLING.TITLE", | ||||||
|  |     "24": "WASHING_CMD&CTRL.PHASE_REFRESH.TITLE", | ||||||
|  |     "25": "WASHING_CMD&CTRL.PHASE_WASHING.TITLE", | ||||||
|  |     "26": "WASHING_CMD&CTRL.PHASE_HEATING.TITLE", | ||||||
|  |     "27": "WASHING_CMD&CTRL.PHASE_WASHING.TITLE", | ||||||
|  | } | ||||||
|  | MACH_MODE = { | ||||||
|  |     "0": "WASHING_CMD&CTRL.PHASE_READY.TITLE",  # NO_STATE | ||||||
|  |     "1": "WASHING_CMD&CTRL.PHASE_READY.TITLE",  # SELECTION_MODE | ||||||
|  |     "2": "WASHING_CMD&CTRL.PHASE_RUNNING.TITLE",  # EXECUTION_MODE | ||||||
|  |     "3": "WASHING_CMD&CTRL.PHASE_PAUSE.TITLE",  # PAUSE_MODE | ||||||
|  |     "4": "WASHING_CMD&CTRL.PHASE_SCHEDULED.TITLE",  # DELAY_START_SELECTION_MODE | ||||||
|  |     "5": "WASHING_CMD&CTRL.PHASE_SCHEDULED.TITLE",  # DELAY_START_EXECUTION_MODE | ||||||
|  |     "6": "WASHING_CMD&CTRL.PHASE_ERROR.TITLE",  # ERROR_MODE | ||||||
|  |     "7": "WASHING_CMD&CTRL.PHASE_READY.TITLE",  # END_MODE | ||||||
|  |     "8": "Test",  # TEST_MODE | ||||||
|  |     "9": "GLOBALS.APPLIANCE_STATUS.ENDING_PROGRAM",  # STOP_MODE | ||||||
|  | } | ||||||
|  | TUMBLE_DRYER_PR_PHASE = { | ||||||
|  |     "0": "WASHING_CMD&CTRL.PHASE_READY.TITLE", | ||||||
|  |     "1": "TD_CMD&CTRL.STATUS_PHASE.PHASE_HEAT_STROKE", | ||||||
|  |     "2": "WASHING_CMD&CTRL.PHASE_DRYING.TITLE", | ||||||
|  |     "3": "TD_CMD&CTRL.STATUS_PHASE.PHASE_COOLDOWN", | ||||||
|  |     "11": "WASHING_CMD&CTRL.PHASE_READY.TITLE", | ||||||
|  |     "13": "TD_CMD&CTRL.STATUS_PHASE.PHASE_COOLDOWN", | ||||||
|  |     "14": "TD_CMD&CTRL.STATUS_PHASE.PHASE_HEAT_STROKE", | ||||||
|  |     "15": "TD_CMD&CTRL.STATUS_PHASE.PHASE_HEAT_STROKE", | ||||||
|  |     "16": "TD_CMD&CTRL.STATUS_PHASE.PHASE_COOLDOWN", | ||||||
|  |     "17": "unknown", | ||||||
|  |     "18": "WASHING_CMD&CTRL.PHASE_TUMBLING.DASHBOARD_TITLE", | ||||||
|  |     "19": "WASHING_CMD&CTRL.PHASE_DRYING.TITLE", | ||||||
|  |     "20": "WASHING_CMD&CTRL.PHASE_DRYING.TITLE", | ||||||
|  | } | ||||||
|  | DIRTY_LEVEL = { | ||||||
|  |     "1": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OPTIONS_VALUES_DESCRIPTION.LITTLE", | ||||||
|  |     "2": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OPTIONS_VALUES_DESCRIPTION.NORMAL", | ||||||
|  |     "3": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OPTIONS_VALUES_DESCRIPTION.VERY", | ||||||
|  | } | ||||||
|  |  | ||||||
|  | STEAM_LEVEL = { | ||||||
|  |     "0": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OPTIONS_VALUES_DESCRIPTION.NO_STEAM", | ||||||
|  |     "1": "WASHING_CMD&CTRL.GUIDED_WASHING_SYMBOLS_FABRICS.COTTON_TITLE", | ||||||
|  |     "2": "WASHING_CMD&CTRL.GUIDED_WASHING_SYMBOLS_FABRICS.DELICATE_TITLE", | ||||||
|  |     "3": "WASHING_CMD&CTRL.GUIDED_WASHING_SYMBOLS_FABRICS.SYNTHETIC_TITLE", | ||||||
|  | } | ||||||
|  |  | ||||||
|  | DISHWASHER_PR_PHASE = { | ||||||
|  |     "0": "WASHING_CMD&CTRL.PHASE_READY.TITLE", | ||||||
|  |     "1": "WASHING_CMD&CTRL.PHASE_PREWASH.TITLE", | ||||||
|  |     "2": "WASHING_CMD&CTRL.PHASE_WASHING.TITLE", | ||||||
|  |     "3": "WASHING_CMD&CTRL.PHASE_RINSE.TITLE", | ||||||
|  |     "4": "WASHING_CMD&CTRL.PHASE_DRYING.TITLE", | ||||||
|  |     "5": "WASHING_CMD&CTRL.PHASE_READY.TITLE", | ||||||
|  |     "6": "WASHING_CMD&CTRL.PHASE_HOT_RINSE.TITLE", | ||||||
|  | } | ||||||
|  |  | ||||||
|  | TUMBLE_DRYER_DRY_LEVEL = { | ||||||
|  |     "0": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_MAIN_OPTIONS.NO_DRY", | ||||||
|  |     "1": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OPTIONS_VALUES_DESCRIPTION.IRON_DRY", | ||||||
|  |     "2": "WASHING_CMD&CTRL.GUIDED_WASHING_SYMBOLS_DRYING.NO_DRY_IRON_TITLE", | ||||||
|  |     "3": "WASHING_CMD&CTRL.GUIDED_WASHING_SYMBOLS_DRYING.CUPBOARD_DRY_TITLE", | ||||||
|  |     "4": "WASHING_CMD&CTRL.GUIDED_WASHING_SYMBOLS_DRYING.EXTRA_DRY_TITLE", | ||||||
|  |     "11": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_MAIN_OPTIONS.NO_DRY", | ||||||
|  |     "12": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OPTIONS_VALUES_DESCRIPTION.IRON_DRY", | ||||||
|  |     "13": "WASHING_CMD&CTRL.GUIDED_WASHING_SYMBOLS_DRYING.CUPBOARD_DRY_TITLE", | ||||||
|  |     "14": "WASHING_CMD&CTRL.GUIDED_WASHING_SYMBOLS_DRYING.READY_TO_WEAR_TITLE", | ||||||
|  |     "15": "WASHING_CMD&CTRL.GUIDED_WASHING_SYMBOLS_DRYING.EXTRA_DRY_TITLE", | ||||||
|  | } | ||||||
|  |  | ||||||
|  | AC_MACH_MODE = { | ||||||
|  |     "0": "PROGRAMS.AC.IOT_AUTO", | ||||||
|  |     "1": "PROGRAMS.AC.IOT_COOL", | ||||||
|  |     "2": "PROGRAMS.AC.IOT_COOL", | ||||||
|  |     "3": "PROGRAMS.AC.IOT_DRY", | ||||||
|  |     "4": "PROGRAMS.AC.IOT_HEAT", | ||||||
|  |     "5": "PROGRAMS.AC.IOT_FAN", | ||||||
|  |     "6": "PROGRAMS.AC.IOT_FAN", | ||||||
|  | } | ||||||
|  |  | ||||||
|  | AC_FAN_MODE = { | ||||||
|  |     "1": "AC.PROGRAM_CARD.WIND_SPEED_HIGH", | ||||||
|  |     "2": "AC.PROGRAM_CARD.WIND_SPEED_MID", | ||||||
|  |     "3": "AC.PROGRAM_CARD.WIND_SPEED_LOW", | ||||||
|  |     "4": "AC.PROGRAM_CARD.WIND_SPEED_AUTO", | ||||||
|  |     "5": "AC.PROGRAM_CARD.WIND_SPEED_AUTO", | ||||||
|  | } | ||||||
|  |  | ||||||
|  | AC_HUMAN_SENSE = { | ||||||
|  |     "0": "AC.PROGRAM_DETAIL.TOUCH_OFF", | ||||||
|  |     "1": "AC.PROGRAM_DETAIL.AVOID_TOUCH", | ||||||
|  |     "2": "AC.PROGRAM_DETAIL.FOLLOW_TOUCH", | ||||||
|  | } | ||||||
|  |  | ||||||
|  | PROGRAMS_TD = [ | ||||||
|  |     "active_dry", | ||||||
|  |     "allergy_care", | ||||||
|  |     "all_in_one", | ||||||
|  |     "antiallergy", | ||||||
|  |     "anti_odours", | ||||||
|  |     "auto_care", | ||||||
|  |     "baby", | ||||||
|  |     "bed_quilt", | ||||||
|  |     "care_30", | ||||||
|  |     "care_45", | ||||||
|  |     "care_59", | ||||||
|  |     "coloured", | ||||||
|  |     "daily_45_min", | ||||||
|  |     "daily_perfect_59_min", | ||||||
|  |     "darks_and_coloured", | ||||||
|  |     "delicates", | ||||||
|  |     "duvet", | ||||||
|  |     "eco", | ||||||
|  |     "ecospeed_cottons", | ||||||
|  |     "ecospeed_delicates", | ||||||
|  |     "ecospeed_mixed", | ||||||
|  |     "extra_hygiene", | ||||||
|  |     "fitness", | ||||||
|  |     "fresh_care", | ||||||
|  |     "genius", | ||||||
|  |     "hqd_baby_care", | ||||||
|  |     "hqd_bath_towel", | ||||||
|  |     "hqd_bed_sheets", | ||||||
|  |     "hqd_bulky", | ||||||
|  |     "hqd_casual", | ||||||
|  |     "hqd_cold_wind_30", | ||||||
|  |     "hqd_cold_wind_timing", | ||||||
|  |     "hqd_cotton", | ||||||
|  |     "hqd_curtain", | ||||||
|  |     "hqd_delicate", | ||||||
|  |     "hqd_diaper", | ||||||
|  |     "hqd_duvet", | ||||||
|  |     "hqd_feather", | ||||||
|  |     "hqd_hot_wind_timing", | ||||||
|  |     "hqd_hygienic", | ||||||
|  |     "hqd_i_refresh", | ||||||
|  |     "hqd_i_refresh_pro", | ||||||
|  |     "hqd_jacket", | ||||||
|  |     "hqd_jeans", | ||||||
|  |     "hqd_luxury", | ||||||
|  |     "hqd_mix", | ||||||
|  |     "hqd_night_dry", | ||||||
|  |     "hqd_outdoor", | ||||||
|  |     "hqd_precious_cure", | ||||||
|  |     "hqd_quick_20", | ||||||
|  |     "hqd_quick_30", | ||||||
|  |     "hqd_quick_dry", | ||||||
|  |     "hqd_quilt", | ||||||
|  |     "hqd_refresh", | ||||||
|  |     "hqd_school_uniform", | ||||||
|  |     "hqd_shirt", | ||||||
|  |     "hqd_shoes", | ||||||
|  |     "hqd_silk", | ||||||
|  |     "hqd_sports", | ||||||
|  |     "hqd_synthetics", | ||||||
|  |     "hqd_timer", | ||||||
|  |     "hqd_towel", | ||||||
|  |     "hqd_underwear", | ||||||
|  |     "hqd_warm_up", | ||||||
|  |     "hqd_wool", | ||||||
|  |     "hqd_working_suit", | ||||||
|  |     "hygiene", | ||||||
|  |     "iot_checkup", | ||||||
|  |     "iot_dry_anti_mites", | ||||||
|  |     "iot_dry_baby", | ||||||
|  |     "iot_dry_backpacks", | ||||||
|  |     "iot_dry_bathrobe", | ||||||
|  |     "iot_dry_bed_linen", | ||||||
|  |     "iot_dry_bed_quilt", | ||||||
|  |     "iot_dry_cotton", | ||||||
|  |     "iot_dry_cuddly_toys", | ||||||
|  |     "iot_dry_curtains", | ||||||
|  |     "iot_dry_dehumidifier", | ||||||
|  |     "iot_dry_delicates", | ||||||
|  |     "iot_dry_delicate_tablecloths", | ||||||
|  |     "iot_dry_denim_jeans", | ||||||
|  |     "iot_dry_down_jacket", | ||||||
|  |     "iot_dry_duvet", | ||||||
|  |     "iot_dry_easy_iron_cotton", | ||||||
|  |     "iot_dry_easy_iron_synthetics", | ||||||
|  |     "iot_dry_gym_fit", | ||||||
|  |     "iot_dry_lingerie", | ||||||
|  |     "iot_dry_mixed", | ||||||
|  |     "iot_dry_playsuits", | ||||||
|  |     "iot_dry_rapid_30", | ||||||
|  |     "iot_dry_rapid_59", | ||||||
|  |     "iot_dry_refresh", | ||||||
|  |     "iot_dry_regenerates_waterproof", | ||||||
|  |     "iot_dry_relax_creases", | ||||||
|  |     "iot_dry_shirts", | ||||||
|  |     "iot_dry_small_load", | ||||||
|  |     "iot_dry_swimsuits_and_bikinis", | ||||||
|  |     "iot_dry_synthetics", | ||||||
|  |     "iot_dry_synthetic_dry", | ||||||
|  |     "iot_dry_tablecloths", | ||||||
|  |     "iot_dry_technical_fabrics", | ||||||
|  |     "iot_dry_warm_embrace", | ||||||
|  |     "iot_dry_wool", | ||||||
|  |     "jeans", | ||||||
|  |     "mix_and_dry", | ||||||
|  |     "pets", | ||||||
|  |     "pre_iron", | ||||||
|  |     "rapid_30", | ||||||
|  |     "rapid_45", | ||||||
|  |     "rapid_59", | ||||||
|  |     "refresh", | ||||||
|  |     "relax_creases", | ||||||
|  |     "saving_30_min", | ||||||
|  |     "shirts", | ||||||
|  |     "shoes", | ||||||
|  |     "small_load", | ||||||
|  |     "soft_care", | ||||||
|  |     "sport_plus", | ||||||
|  |     "super_easy_iron_misti", | ||||||
|  |     "super_easy_iron_xxl", | ||||||
|  |     "super_fast_cottons", | ||||||
|  |     "super_fast_delicates", | ||||||
|  |     "synthetics", | ||||||
|  |     "total_care", | ||||||
|  |     "trainers", | ||||||
|  |     "ultra_care", | ||||||
|  |     "waterproof_revitalize", | ||||||
|  |     "whites", | ||||||
|  |     "wool", | ||||||
|  |     "woolmark", | ||||||
|  |     "xxl_load", | ||||||
|  |     "zoom_59", | ||||||
|  | ] | ||||||
|  | |||||||
| @ -6,7 +6,6 @@ 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 .const import DOMAIN | from .const import DOMAIN | ||||||
|  |  | ||||||
| _LOGGER = logging.getLogger(__name__) | _LOGGER = logging.getLogger(__name__) | ||||||
| @ -20,6 +19,7 @@ class HonEntity(CoordinatorEntity): | |||||||
|  |  | ||||||
|         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 | ||||||
|  |  | ||||||
|         self._attr_unique_id = self._device.unique_id |         self._attr_unique_id = self._device.unique_id | ||||||
| @ -50,3 +50,12 @@ class HonCoordinator(DataUpdateCoordinator): | |||||||
|  |  | ||||||
|     async def _async_update_data(self): |     async def _async_update_data(self): | ||||||
|         await self._device.update() |         await self._device.update() | ||||||
|  |  | ||||||
|  |  | ||||||
|  | def unique_entities(base_entities, new_entities): | ||||||
|  |     result = list(base_entities) | ||||||
|  |     existing_entities = [entity.key for entity in base_entities] | ||||||
|  |     for entity in new_entities: | ||||||
|  |         if entity.key not in existing_entities: | ||||||
|  |             result.append(entity) | ||||||
|  |     return tuple(result) | ||||||
|  | |||||||
| @ -6,6 +6,6 @@ | |||||||
|   "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.9.1"], |  "requirements": ["pyhOn==0.10.9"], | ||||||
|   "version": "0.7.0-beta.7" |   "version": "0.8.0-beta.4" | ||||||
| } | } | ||||||
|  | |||||||
| @ -1,10 +1,5 @@ | |||||||
| from __future__ import annotations | from __future__ import annotations | ||||||
|  |  | ||||||
| from pyhon import Hon |  | ||||||
| from pyhon.parameter.base import HonParameter |  | ||||||
| from pyhon.parameter.fixed import HonParameterFixed |  | ||||||
| from pyhon.parameter.range import HonParameterRange |  | ||||||
|  |  | ||||||
| from homeassistant.components.number import ( | from homeassistant.components.number import ( | ||||||
|     NumberEntity, |     NumberEntity, | ||||||
|     NumberEntityDescription, |     NumberEntityDescription, | ||||||
| @ -13,9 +8,13 @@ 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 | ||||||
|  | from pyhon import Hon | ||||||
|  | from pyhon.parameter.base import HonParameter | ||||||
|  | from pyhon.parameter.fixed import HonParameterFixed | ||||||
|  | from pyhon.parameter.range import HonParameterRange | ||||||
|  |  | ||||||
| from .const import DOMAIN | from .const import DOMAIN | ||||||
| from .hon import HonEntity, HonCoordinator | from .hon import HonEntity, HonCoordinator, unique_entities | ||||||
|  |  | ||||||
| NUMBERS: dict[str, tuple[NumberEntityDescription, ...]] = { | NUMBERS: dict[str, tuple[NumberEntityDescription, ...]] = { | ||||||
|     "WM": ( |     "WM": ( | ||||||
| @ -42,6 +41,25 @@ NUMBERS: dict[str, tuple[NumberEntityDescription, ...]] = { | |||||||
|             native_unit_of_measurement=UnitOfTime.MINUTES, |             native_unit_of_measurement=UnitOfTime.MINUTES, | ||||||
|             translation_key="wash_time", |             translation_key="wash_time", | ||||||
|         ), |         ), | ||||||
|  |         NumberEntityDescription( | ||||||
|  |             key="startProgram.steamLevel", | ||||||
|  |             name="Steam Level", | ||||||
|  |             icon="mdi:weather-dust", | ||||||
|  |             entity_category=EntityCategory.CONFIG, | ||||||
|  |             translation_key="steam_level", | ||||||
|  |         ), | ||||||
|  |         NumberEntityDescription( | ||||||
|  |             key="startProgram.waterHard", | ||||||
|  |             name="Water hard", | ||||||
|  |             icon="mdi:water", | ||||||
|  |             entity_category=EntityCategory.CONFIG, | ||||||
|  |             translation_key="water_hard", | ||||||
|  |         ), | ||||||
|  |         NumberEntityDescription( | ||||||
|  |             key="startProgram.lang", | ||||||
|  |             name="lang", | ||||||
|  |             entity_category=EntityCategory.CONFIG, | ||||||
|  |         ), | ||||||
|     ), |     ), | ||||||
|     "TD": ( |     "TD": ( | ||||||
|         NumberEntityDescription( |         NumberEntityDescription( | ||||||
| @ -66,16 +84,6 @@ NUMBERS: dict[str, tuple[NumberEntityDescription, ...]] = { | |||||||
|             translation_key="dry_time", |             translation_key="dry_time", | ||||||
|         ), |         ), | ||||||
|     ), |     ), | ||||||
|     "WD": ( |  | ||||||
|         NumberEntityDescription( |  | ||||||
|             key="startProgram.delayTime", |  | ||||||
|             name="Delay Time", |  | ||||||
|             icon="mdi:timer-plus", |  | ||||||
|             entity_category=EntityCategory.CONFIG, |  | ||||||
|             native_unit_of_measurement=UnitOfTime.MINUTES, |  | ||||||
|             translation_key="delay_time", |  | ||||||
|         ), |  | ||||||
|     ), |  | ||||||
|     "OV": ( |     "OV": ( | ||||||
|         NumberEntityDescription( |         NumberEntityDescription( | ||||||
|             key="startProgram.delayTime", |             key="startProgram.delayTime", | ||||||
| @ -137,16 +145,33 @@ NUMBERS: dict[str, tuple[NumberEntityDescription, ...]] = { | |||||||
|     ), |     ), | ||||||
|     "AC": ( |     "AC": ( | ||||||
|         NumberEntityDescription( |         NumberEntityDescription( | ||||||
|             key="startProgram.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": ( | ||||||
|  |         NumberEntityDescription( | ||||||
|  |             key="settings.tempSelZ1", | ||||||
|  |             name="Fridge Temperature", | ||||||
|  |             icon="mdi:thermometer", | ||||||
|  |             native_unit_of_measurement=UnitOfTemperature.CELSIUS, | ||||||
|  |             translation_key="fridge_temp_sel", | ||||||
|  |         ), | ||||||
|  |         NumberEntityDescription( | ||||||
|  |             key="settings.tempSelZ2", | ||||||
|  |             name="Freezer Temperature", | ||||||
|  |             icon="mdi:thermometer", | ||||||
|  |             native_unit_of_measurement=UnitOfTemperature.CELSIUS, | ||||||
|  |             translation_key="freezer_temp_sel", | ||||||
|  |         ), | ||||||
|  |     ), | ||||||
| } | } | ||||||
|  |  | ||||||
|  | NUMBERS["WD"] = unique_entities(NUMBERS["WM"], NUMBERS["TD"]) | ||||||
|  |  | ||||||
|  |  | ||||||
| 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] |     hon: Hon = hass.data[DOMAIN][entry.unique_id] | ||||||
| @ -162,7 +187,7 @@ async def async_setup_entry(hass, entry: ConfigEntry, async_add_entities) -> Non | |||||||
|  |  | ||||||
|         if descriptions := NUMBERS.get(device.appliance_type): |         if descriptions := NUMBERS.get(device.appliance_type): | ||||||
|             for description in descriptions: |             for description in descriptions: | ||||||
|                 if not device.settings.get(description.key): |                 if description.key not in device.available_settings: | ||||||
|                     continue |                     continue | ||||||
|                 appliances.extend( |                 appliances.extend( | ||||||
|                     [HonNumberEntity(hass, coordinator, entry, device, description)] |                     [HonNumberEntity(hass, coordinator, entry, device, description)] | ||||||
| @ -175,8 +200,6 @@ class HonNumberEntity(HonEntity, NumberEntity): | |||||||
|     def __init__(self, hass, coordinator, entry, device, description) -> None: |     def __init__(self, hass, coordinator, entry, device, description) -> None: | ||||||
|         super().__init__(hass, entry, coordinator, device) |         super().__init__(hass, entry, coordinator, device) | ||||||
|  |  | ||||||
|         self._coordinator = coordinator |  | ||||||
|         self._device = device |  | ||||||
|         self._data = device.settings[description.key] |         self._data = device.settings[description.key] | ||||||
|         self.entity_description = description |         self.entity_description = description | ||||||
|         self._attr_unique_id = f"{super().unique_id}{description.key}" |         self._attr_unique_id = f"{super().unique_id}{description.key}" | ||||||
| @ -196,8 +219,8 @@ class HonNumberEntity(HonEntity, NumberEntity): | |||||||
|             isinstance(setting, HonParameter) or isinstance(setting, HonParameterFixed) |             isinstance(setting, HonParameter) or isinstance(setting, HonParameterFixed) | ||||||
|         ): |         ): | ||||||
|             setting.value = value |             setting.value = value | ||||||
|         if self._device.appliance_type in ["AC"]: |         if "settings." in self.entity_description.key: | ||||||
|             self._device.commands["startProgram"].send() |             await self._device.commands["settings"].send() | ||||||
|         await self.coordinator.async_refresh() |         await self.coordinator.async_refresh() | ||||||
|  |  | ||||||
|     @callback |     @callback | ||||||
| @ -209,3 +232,16 @@ 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.""" | ||||||
|  |         if self.entity_category == EntityCategory.CONFIG: | ||||||
|  |             return super().available | ||||||
|  |         else: | ||||||
|  |             return ( | ||||||
|  |                 super().available | ||||||
|  |                 and self._device.get("remoteCtrValid", "1") == "1" | ||||||
|  |                 and self._device.get("attributes.lastConnEvent.category") | ||||||
|  |                 != "DISCONNECTED" | ||||||
|  |             ) | ||||||
|  | |||||||
| @ -11,9 +11,8 @@ 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 | ||||||
|  |  | ||||||
| from .const import DOMAIN | from .const import DOMAIN | ||||||
| from .hon import HonEntity, HonCoordinator | from .hon import HonEntity, HonCoordinator, unique_entities | ||||||
|  |  | ||||||
| _LOGGER = logging.getLogger(__name__) | _LOGGER = logging.getLogger(__name__) | ||||||
|  |  | ||||||
| @ -65,14 +64,6 @@ SELECTS = { | |||||||
|             translation_key="dry_levels", |             translation_key="dry_levels", | ||||||
|         ), |         ), | ||||||
|     ), |     ), | ||||||
|     "WD": ( |  | ||||||
|         SelectEntityDescription( |  | ||||||
|             key="startProgram.program", |  | ||||||
|             name="Program", |  | ||||||
|             entity_category=EntityCategory.CONFIG, |  | ||||||
|             translation_key="programs_wm", |  | ||||||
|         ), |  | ||||||
|     ), |  | ||||||
|     "OV": ( |     "OV": ( | ||||||
|         SelectEntityDescription( |         SelectEntityDescription( | ||||||
|             key="startProgram.program", |             key="startProgram.program", | ||||||
| @ -96,23 +87,48 @@ SELECTS = { | |||||||
|             entity_category=EntityCategory.CONFIG, |             entity_category=EntityCategory.CONFIG, | ||||||
|             translation_key="programs_dw", |             translation_key="programs_dw", | ||||||
|         ), |         ), | ||||||
|  |         SelectEntityDescription( | ||||||
|  |             key="startProgram.temp", | ||||||
|  |             name="Temperature", | ||||||
|  |             entity_category=EntityCategory.CONFIG, | ||||||
|  |             icon="mdi:thermometer", | ||||||
|  |             unit_of_measurement=UnitOfTemperature.CELSIUS, | ||||||
|  |             translation_key="temperature", | ||||||
|  |         ), | ||||||
|  |         SelectEntityDescription( | ||||||
|  |             key="startProgram.remainingTime", | ||||||
|  |             name="Remaining Time", | ||||||
|  |             entity_category=EntityCategory.CONFIG, | ||||||
|  |             icon="mdi:timer", | ||||||
|  |             unit_of_measurement=UnitOfTime.MINUTES, | ||||||
|  |             translation_key="remaining_time", | ||||||
|  |         ), | ||||||
|     ), |     ), | ||||||
|     "AC": ( |     "AC": ( | ||||||
|         SelectEntityDescription( |         SelectEntityDescription( | ||||||
|             key="startProgram.program", |             key="startProgram.program", | ||||||
|             name="Program", |             name="Program", | ||||||
|             entity_category=EntityCategory.CONFIG, |  | ||||||
|             translation_key="programs_ac", |             translation_key="programs_ac", | ||||||
|         ), |         ), | ||||||
|         SelectEntityDescription( |         SelectEntityDescription( | ||||||
|             key="startProgram.humanSensingStatus", |             key="settings.humanSensingStatus", | ||||||
|             name="Eco Pilot", |             name="Eco Pilot", | ||||||
|             entity_category=EntityCategory.CONFIG, |             icon="mdi:run", | ||||||
|             translation_key="eco_pilot", |             translation_key="eco_pilot", | ||||||
|         ), |         ), | ||||||
|     ), |     ), | ||||||
|  |     "REF": ( | ||||||
|  |         SelectEntityDescription( | ||||||
|  |             key="startProgram.program", | ||||||
|  |             name="Program", | ||||||
|  |             entity_category=EntityCategory.CONFIG, | ||||||
|  |             translation_key="programs_ref", | ||||||
|  |         ), | ||||||
|  |     ), | ||||||
| } | } | ||||||
|  |  | ||||||
|  | SELECTS["WD"] = unique_entities(SELECTS["WM"], SELECTS["TD"]) | ||||||
|  |  | ||||||
|  |  | ||||||
| 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] |     hon: Hon = hass.data[DOMAIN][entry.unique_id] | ||||||
| @ -128,7 +144,7 @@ async def async_setup_entry(hass, entry: ConfigEntry, async_add_entities) -> Non | |||||||
|  |  | ||||||
|         if descriptions := SELECTS.get(device.appliance_type): |         if descriptions := SELECTS.get(device.appliance_type): | ||||||
|             for description in descriptions: |             for description in descriptions: | ||||||
|                 if not device.settings.get(description.key): |                 if description.key not in device.available_settings: | ||||||
|                     continue |                     continue | ||||||
|                 appliances.extend( |                 appliances.extend( | ||||||
|                     [HonSelectEntity(hass, coordinator, entry, device, description)] |                     [HonSelectEntity(hass, coordinator, entry, device, description)] | ||||||
| @ -142,15 +158,15 @@ class HonSelectEntity(HonEntity, SelectEntity): | |||||||
|     ) -> None: |     ) -> None: | ||||||
|         super().__init__(hass, entry, coordinator, device) |         super().__init__(hass, entry, coordinator, device) | ||||||
|  |  | ||||||
|         self._coordinator = coordinator |  | ||||||
|         self._device = device |  | ||||||
|         self.entity_description = description |         self.entity_description = description | ||||||
|         self._attr_unique_id = f"{super().unique_id}{description.key}" |         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: | ||||||
| @ -161,8 +177,10 @@ 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"]: |         if "settings." in self.entity_description.key: | ||||||
|             self._device.commands["startProgram"].send() |             await self._device.commands["settings"].send() | ||||||
|  |         elif self._device.appliance_type in ["AC"]: | ||||||
|  |             await self._device.commands["startProgram"].send() | ||||||
|         await self.coordinator.async_refresh() |         await self.coordinator.async_refresh() | ||||||
|  |  | ||||||
|     @callback |     @callback | ||||||
| @ -177,3 +195,16 @@ 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.""" | ||||||
|  |         if self.entity_category == EntityCategory.CONFIG: | ||||||
|  |             return super().available | ||||||
|  |         else: | ||||||
|  |             return ( | ||||||
|  |                 super().available | ||||||
|  |                 and self._device.get("remoteCtrValid", "1") == "1" | ||||||
|  |                 and self._device.get("attributes.lastConnEvent.category") | ||||||
|  |                 != "DISCONNECTED" | ||||||
|  |             ) | ||||||
|  | |||||||
| @ -9,6 +9,7 @@ from homeassistant.components.sensor import ( | |||||||
|     SensorEntityDescription, |     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,20 +22,22 @@ 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 .const import DOMAIN | from .const import DOMAIN | ||||||
| from .hon import HonCoordinator, HonEntity | from .hon import HonCoordinator, HonEntity, unique_entities | ||||||
|  |  | ||||||
| _LOGGER = logging.getLogger(__name__) | _LOGGER = logging.getLogger(__name__) | ||||||
|  |  | ||||||
|  |  | ||||||
| SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = { | SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = { | ||||||
|     "WM": ( |     "WM": ( | ||||||
|         SensorEntityDescription( |         SensorEntityDescription( | ||||||
|             key="prPhase", |             key="prPhase", | ||||||
|             name="Program Phase", |             name="Program Phase", | ||||||
|             icon="mdi:washing-machine", |             icon="mdi:washing-machine", | ||||||
|  |             device_class=SensorDeviceClass.ENUM, | ||||||
|             translation_key="program_phases_wm", |             translation_key="program_phases_wm", | ||||||
|  |             options=list(const.WASHING_PR_PHASE), | ||||||
|         ), |         ), | ||||||
|         SensorEntityDescription( |         SensorEntityDescription( | ||||||
|             key="totalElectricityUsed", |             key="totalElectricityUsed", | ||||||
| @ -88,7 +91,9 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = { | |||||||
|             key="machMode", |             key="machMode", | ||||||
|             name="Machine Status", |             name="Machine Status", | ||||||
|             icon="mdi:information", |             icon="mdi:information", | ||||||
|  |             device_class=SensorDeviceClass.ENUM, | ||||||
|             translation_key="washing_modes", |             translation_key="washing_modes", | ||||||
|  |             options=list(const.MACH_MODE), | ||||||
|         ), |         ), | ||||||
|         SensorEntityDescription( |         SensorEntityDescription( | ||||||
|             key="errors", name="Error", icon="mdi:math-log", translation_key="errors" |             key="errors", name="Error", icon="mdi:math-log", translation_key="errors" | ||||||
| @ -106,7 +111,7 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = { | |||||||
|             name="Spin Speed", |             name="Spin Speed", | ||||||
|             icon="mdi:speedometer", |             icon="mdi:speedometer", | ||||||
|             state_class=SensorStateClass.MEASUREMENT, |             state_class=SensorStateClass.MEASUREMENT, | ||||||
|             native_unit_of_measurement=UnitOfTime.MINUTES, |             native_unit_of_measurement=REVOLUTIONS_PER_MINUTE, | ||||||
|             translation_key="spin_speed", |             translation_key="spin_speed", | ||||||
|         ), |         ), | ||||||
|         SensorEntityDescription( |         SensorEntityDescription( | ||||||
| @ -131,13 +136,47 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = { | |||||||
|             entity_category=EntityCategory.CONFIG, |             entity_category=EntityCategory.CONFIG, | ||||||
|             translation_key="det_dust", |             translation_key="det_dust", | ||||||
|         ), |         ), | ||||||
|  |         SensorEntityDescription( | ||||||
|  |             key="startProgram.remainingTime", | ||||||
|  |             name="Remaining Time", | ||||||
|  |             icon="mdi:timer", | ||||||
|  |             state_class=SensorStateClass.MEASUREMENT, | ||||||
|  |             native_unit_of_measurement=UnitOfTime.MINUTES, | ||||||
|  |             entity_category=EntityCategory.CONFIG, | ||||||
|  |             translation_key="remaining_time", | ||||||
|  |         ), | ||||||
|  |         SensorEntityDescription( | ||||||
|  |             key="dirtyLevel", | ||||||
|  |             name="Dirt level", | ||||||
|  |             icon="mdi:liquid-spot", | ||||||
|  |             translation_key="dirt_level", | ||||||
|  |         ), | ||||||
|  |         SensorEntityDescription( | ||||||
|  |             key="startProgram.suggestedLoadW", | ||||||
|  |             name="Suggested Load", | ||||||
|  |             icon="mdi:weight-kilogram", | ||||||
|  |             entity_category=EntityCategory.CONFIG, | ||||||
|  |             state_class=SensorStateClass.MEASUREMENT, | ||||||
|  |             native_unit_of_measurement=UnitOfMass.KILOGRAMS, | ||||||
|  |             translation_key="suggested_load", | ||||||
|  |         ), | ||||||
|  |         SensorEntityDescription( | ||||||
|  |             key="temp", | ||||||
|  |             name="Current Temperature", | ||||||
|  |             icon="mdi:thermometer", | ||||||
|  |             state_class=SensorStateClass.MEASUREMENT, | ||||||
|  |             native_unit_of_measurement=UnitOfTemperature.CELSIUS, | ||||||
|  |             translation_key="temperature", | ||||||
|  |         ), | ||||||
|     ), |     ), | ||||||
|     "TD": ( |     "TD": ( | ||||||
|         SensorEntityDescription( |         SensorEntityDescription( | ||||||
|             key="machMode", |             key="machMode", | ||||||
|             name="Machine Status", |             name="Machine Status", | ||||||
|             icon="mdi:information", |             icon="mdi:information", | ||||||
|  |             device_class=SensorDeviceClass.ENUM, | ||||||
|             translation_key="washing_modes", |             translation_key="washing_modes", | ||||||
|  |             options=list(const.MACH_MODE), | ||||||
|         ), |         ), | ||||||
|         SensorEntityDescription( |         SensorEntityDescription( | ||||||
|             key="errors", name="Error", icon="mdi:math-log", translation_key="errors" |             key="errors", name="Error", icon="mdi:math-log", translation_key="errors" | ||||||
| @ -159,22 +198,28 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = { | |||||||
|             translation_key="delay_time", |             translation_key="delay_time", | ||||||
|         ), |         ), | ||||||
|         SensorEntityDescription( |         SensorEntityDescription( | ||||||
|             key="prCode", |             key="programName", | ||||||
|             name="Program", |             name="Program", | ||||||
|             icon="mdi:tumble-dryer", |             icon="mdi:tumble-dryer", | ||||||
|             translation_key="tumbledryerprogram", |             device_class=SensorDeviceClass.ENUM, | ||||||
|  |             translation_key="programs_td", | ||||||
|  |             options=const.PROGRAMS_TD, | ||||||
|         ), |         ), | ||||||
|         SensorEntityDescription( |         SensorEntityDescription( | ||||||
|             key="prPhase", |             key="prPhase", | ||||||
|             name="Program Phase", |             name="Program Phase", | ||||||
|             icon="mdi:washing-machine", |             icon="mdi:washing-machine", | ||||||
|  |             device_class=SensorDeviceClass.ENUM, | ||||||
|             translation_key="program_phases_td", |             translation_key="program_phases_td", | ||||||
|  |             options=list(const.TUMBLE_DRYER_PR_PHASE), | ||||||
|         ), |         ), | ||||||
|         SensorEntityDescription( |         SensorEntityDescription( | ||||||
|             key="dryLevel", |             key="dryLevel", | ||||||
|             name="Dry level", |             name="Dry level", | ||||||
|             icon="mdi:hair-dryer", |             icon="mdi:hair-dryer", | ||||||
|  |             device_class=SensorDeviceClass.ENUM, | ||||||
|             translation_key="dry_levels", |             translation_key="dry_levels", | ||||||
|  |             options=list(const.TUMBLE_DRYER_DRY_LEVEL), | ||||||
|         ), |         ), | ||||||
|         SensorEntityDescription( |         SensorEntityDescription( | ||||||
|             key="tempLevel", |             key="tempLevel", | ||||||
| @ -199,101 +244,12 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = { | |||||||
|             entity_category=EntityCategory.CONFIG, |             entity_category=EntityCategory.CONFIG, | ||||||
|             translation_key="energy_label", |             translation_key="energy_label", | ||||||
|         ), |         ), | ||||||
|     ), |  | ||||||
|     "WD": ( |  | ||||||
|         SensorEntityDescription( |         SensorEntityDescription( | ||||||
|             key="totalElectricityUsed", |             key="startProgram.steamLevel", | ||||||
|             name="Total Power", |             name="Steam level", | ||||||
|             device_class=SensorDeviceClass.ENERGY, |             icon="mdi:smoke", | ||||||
|             state_class=SensorStateClass.TOTAL_INCREASING, |  | ||||||
|             native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR, |  | ||||||
|             translation_key="energy_total", |  | ||||||
|         ), |  | ||||||
|         SensorEntityDescription( |  | ||||||
|             key="totalWaterUsed", |  | ||||||
|             name="Total Water", |  | ||||||
|             device_class=SensorDeviceClass.WATER, |  | ||||||
|             state_class=SensorStateClass.TOTAL_INCREASING, |  | ||||||
|             native_unit_of_measurement=UnitOfVolume.LITERS, |  | ||||||
|             translation_key="water_total", |  | ||||||
|         ), |  | ||||||
|         SensorEntityDescription( |  | ||||||
|             key="totalWashCycle", |  | ||||||
|             name="Total Wash Cycle", |  | ||||||
|             state_class=SensorStateClass.TOTAL_INCREASING, |  | ||||||
|             icon="mdi:counter", |  | ||||||
|             translation_key="cycles_total", |  | ||||||
|         ), |  | ||||||
|         SensorEntityDescription( |  | ||||||
|             key="currentElectricityUsed", |  | ||||||
|             name="Current Electricity Used", |  | ||||||
|             state_class=SensorStateClass.MEASUREMENT, |  | ||||||
|             device_class=SensorDeviceClass.POWER, |  | ||||||
|             native_unit_of_measurement=UnitOfPower.KILO_WATT, |  | ||||||
|             icon="mdi:lightning-bolt", |  | ||||||
|             translation_key="energy_current", |  | ||||||
|         ), |  | ||||||
|         SensorEntityDescription( |  | ||||||
|             key="currentWaterUsed", |  | ||||||
|             name="Current Water Used", |  | ||||||
|             state_class=SensorStateClass.MEASUREMENT, |  | ||||||
|             icon="mdi:water", |  | ||||||
|             translation_key="water_current", |  | ||||||
|         ), |  | ||||||
|         SensorEntityDescription( |  | ||||||
|             key="startProgram.weight", |  | ||||||
|             name="Suggested weight", |  | ||||||
|             state_class=SensorStateClass.MEASUREMENT, |  | ||||||
|             entity_category=EntityCategory.CONFIG, |             entity_category=EntityCategory.CONFIG, | ||||||
|             native_unit_of_measurement=UnitOfMass.KILOGRAMS, |             translation_key="steam_level", | ||||||
|             icon="mdi:weight-kilogram", |  | ||||||
|             translation_key="suggested_load", |  | ||||||
|         ), |  | ||||||
|         SensorEntityDescription( |  | ||||||
|             key="machMode", |  | ||||||
|             name="Machine Status", |  | ||||||
|             icon="mdi:information", |  | ||||||
|             translation_key="washing_modes", |  | ||||||
|         ), |  | ||||||
|         SensorEntityDescription( |  | ||||||
|             key="spinSpeed", |  | ||||||
|             name="Spin Speed", |  | ||||||
|             icon="mdi:fast-forward-outline", |  | ||||||
|             state_class=SensorStateClass.MEASUREMENT, |  | ||||||
|             native_unit_of_measurement=REVOLUTIONS_PER_MINUTE, |  | ||||||
|             translation_key="spin_speed", |  | ||||||
|         ), |  | ||||||
|         SensorEntityDescription( |  | ||||||
|             key="remainingTimeMM", |  | ||||||
|             name="Remaining Time", |  | ||||||
|             icon="mdi:timer", |  | ||||||
|             state_class=SensorStateClass.MEASUREMENT, |  | ||||||
|             native_unit_of_measurement=UnitOfTime.MINUTES, |  | ||||||
|             translation_key="remaining_time", |  | ||||||
|         ), |  | ||||||
|         SensorEntityDescription( |  | ||||||
|             key="prCode", |  | ||||||
|             name="Current Program", |  | ||||||
|             icon="mdi:tumble-dryer", |  | ||||||
|             translation_key="programs", |  | ||||||
|         ), |  | ||||||
|         SensorEntityDescription( |  | ||||||
|             key="prPhase", |  | ||||||
|             name="Program Phase", |  | ||||||
|             icon="mdi:washing-machine", |  | ||||||
|             translation_key="program_phases_wm", |  | ||||||
|         ), |  | ||||||
|         SensorEntityDescription( |  | ||||||
|             key="dryLevel", |  | ||||||
|             name="Dry level", |  | ||||||
|             icon="mdi:hair-dryer", |  | ||||||
|             translation_key="dry_levels", |  | ||||||
|         ), |  | ||||||
|         SensorEntityDescription( |  | ||||||
|             key="dirtyLevel", |  | ||||||
|             name="Dirt level", |  | ||||||
|             icon="mdi:liquid-spot", |  | ||||||
|             translation_key="dirt_level", |  | ||||||
|         ), |         ), | ||||||
|         SensorEntityDescription( |         SensorEntityDescription( | ||||||
|             key="steamLevel", |             key="steamLevel", | ||||||
| @ -302,12 +258,10 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = { | |||||||
|             translation_key="steam_level", |             translation_key="steam_level", | ||||||
|         ), |         ), | ||||||
|         SensorEntityDescription( |         SensorEntityDescription( | ||||||
|             key="temp", |             key="steamType", | ||||||
|             name="Current Temperature", |             name="Steam Type", | ||||||
|             icon="mdi:thermometer", |             icon="mdi:weather-dust", | ||||||
|             state_class=SensorStateClass.MEASUREMENT, |             entity_category=EntityCategory.CONFIG, | ||||||
|             native_unit_of_measurement=UnitOfTemperature.CELSIUS, |  | ||||||
|             translation_key="temperature", |  | ||||||
|         ), |         ), | ||||||
|     ), |     ), | ||||||
|     "OV": ( |     "OV": ( | ||||||
| @ -421,7 +375,9 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = { | |||||||
|             key="machMode", |             key="machMode", | ||||||
|             name="Machine Status", |             name="Machine Status", | ||||||
|             icon="mdi:information", |             icon="mdi:information", | ||||||
|  |             device_class=SensorDeviceClass.ENUM, | ||||||
|             translation_key="washing_modes", |             translation_key="washing_modes", | ||||||
|  |             options=list(const.MACH_MODE), | ||||||
|         ), |         ), | ||||||
|         SensorEntityDescription( |         SensorEntityDescription( | ||||||
|             key="errors", name="Error", icon="mdi:math-log", translation_key="errors" |             key="errors", name="Error", icon="mdi:math-log", translation_key="errors" | ||||||
| @ -438,10 +394,117 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = { | |||||||
|             key="prPhase", |             key="prPhase", | ||||||
|             name="Program Phase", |             name="Program Phase", | ||||||
|             icon="mdi:washing-machine", |             icon="mdi:washing-machine", | ||||||
|  |             device_class=SensorDeviceClass.ENUM, | ||||||
|             translation_key="program_phases_dw", |             translation_key="program_phases_dw", | ||||||
|  |             options=list(const.DISHWASHER_PR_PHASE), | ||||||
|  |         ), | ||||||
|  |     ), | ||||||
|  |     "AC": ( | ||||||
|  |         SensorEntityDescription( | ||||||
|  |             key="tempAirOutdoor", | ||||||
|  |             name="Air Temperature Outdoor", | ||||||
|  |             icon="mdi:thermometer", | ||||||
|  |             state_class=SensorStateClass.MEASUREMENT, | ||||||
|  |             device_class=SensorDeviceClass.TEMPERATURE, | ||||||
|  |             native_unit_of_measurement=UnitOfTemperature.CELSIUS, | ||||||
|  |         ), | ||||||
|  |         SensorEntityDescription( | ||||||
|  |             key="tempCoilerIndoor", | ||||||
|  |             name="Coiler Temperature Indoor", | ||||||
|  |             icon="mdi:thermometer", | ||||||
|  |             state_class=SensorStateClass.MEASUREMENT, | ||||||
|  |             device_class=SensorDeviceClass.TEMPERATURE, | ||||||
|  |             native_unit_of_measurement=UnitOfTemperature.CELSIUS, | ||||||
|  |         ), | ||||||
|  |         SensorEntityDescription( | ||||||
|  |             key="tempCoilerOutdoor", | ||||||
|  |             name="Coiler Temperature Outside", | ||||||
|  |             icon="mdi:thermometer", | ||||||
|  |             state_class=SensorStateClass.MEASUREMENT, | ||||||
|  |             device_class=SensorDeviceClass.TEMPERATURE, | ||||||
|  |             native_unit_of_measurement=UnitOfTemperature.CELSIUS, | ||||||
|  |         ), | ||||||
|  |         SensorEntityDescription( | ||||||
|  |             key="tempDefrostOutdoor", | ||||||
|  |             name="Defrost Temperature Outdoor", | ||||||
|  |             icon="mdi:thermometer", | ||||||
|  |             state_class=SensorStateClass.MEASUREMENT, | ||||||
|  |             device_class=SensorDeviceClass.TEMPERATURE, | ||||||
|  |             native_unit_of_measurement=UnitOfTemperature.CELSIUS, | ||||||
|  |         ), | ||||||
|  |         SensorEntityDescription( | ||||||
|  |             key="tempInAirOutdoor", | ||||||
|  |             name="In Air Temperature Outdoor", | ||||||
|  |             icon="mdi:thermometer", | ||||||
|  |             state_class=SensorStateClass.MEASUREMENT, | ||||||
|  |             device_class=SensorDeviceClass.TEMPERATURE, | ||||||
|  |             native_unit_of_measurement=UnitOfTemperature.CELSIUS, | ||||||
|  |         ), | ||||||
|  |         SensorEntityDescription( | ||||||
|  |             key="tempIndoor", | ||||||
|  |             name="Indoor Temperature", | ||||||
|  |             icon="mdi:thermometer", | ||||||
|  |             state_class=SensorStateClass.MEASUREMENT, | ||||||
|  |             device_class=SensorDeviceClass.TEMPERATURE, | ||||||
|  |             native_unit_of_measurement=UnitOfTemperature.CELSIUS, | ||||||
|  |         ), | ||||||
|  |         SensorEntityDescription( | ||||||
|  |             key="tempOutdoor", | ||||||
|  |             name="Outdoor Temperature", | ||||||
|  |             icon="mdi:thermometer", | ||||||
|  |             state_class=SensorStateClass.MEASUREMENT, | ||||||
|  |             device_class=SensorDeviceClass.TEMPERATURE, | ||||||
|  |             native_unit_of_measurement=UnitOfTemperature.CELSIUS, | ||||||
|  |         ), | ||||||
|  |         SensorEntityDescription( | ||||||
|  |             key="tempSel", | ||||||
|  |             name="Selected Temperature", | ||||||
|  |             icon="mdi:thermometer", | ||||||
|  |             state_class=SensorStateClass.MEASUREMENT, | ||||||
|  |             device_class=SensorDeviceClass.TEMPERATURE, | ||||||
|  |             native_unit_of_measurement=UnitOfTemperature.CELSIUS, | ||||||
|  |         ), | ||||||
|  |     ), | ||||||
|  |     "REF": ( | ||||||
|  |         SensorEntityDescription( | ||||||
|  |             key="humidityEnv", | ||||||
|  |             name="Room Humidity", | ||||||
|  |             icon="mdi:water-percent", | ||||||
|  |             device_class=SensorDeviceClass.HUMIDITY, | ||||||
|  |             native_unit_of_measurement=PERCENTAGE, | ||||||
|  |             state_class=SensorStateClass.MEASUREMENT, | ||||||
|  |             translation_key="humidity", | ||||||
|  |         ), | ||||||
|  |         SensorEntityDescription( | ||||||
|  |             key="tempEnv", | ||||||
|  |             name="Room Temperature", | ||||||
|  |             icon="mdi:home-thermometer-outline", | ||||||
|  |             state_class=SensorStateClass.MEASUREMENT, | ||||||
|  |             device_class=SensorDeviceClass.TEMPERATURE, | ||||||
|  |             native_unit_of_measurement=UnitOfTemperature.CELSIUS, | ||||||
|  |             translation_key="room_temperature", | ||||||
|  |         ), | ||||||
|  |         SensorEntityDescription( | ||||||
|  |             key="tempZ1", | ||||||
|  |             name="Temperature Fridge", | ||||||
|  |             icon="mdi:thermometer", | ||||||
|  |             state_class=SensorStateClass.MEASUREMENT, | ||||||
|  |             device_class=SensorDeviceClass.TEMPERATURE, | ||||||
|  |             native_unit_of_measurement=UnitOfTemperature.CELSIUS, | ||||||
|  |             translation_key="fridge_temp", | ||||||
|  |         ), | ||||||
|  |         SensorEntityDescription( | ||||||
|  |             key="tempZ2", | ||||||
|  |             name="Temperature Freezer", | ||||||
|  |             icon="mdi:snowflake-thermometer", | ||||||
|  |             state_class=SensorStateClass.MEASUREMENT, | ||||||
|  |             device_class=SensorDeviceClass.TEMPERATURE, | ||||||
|  |             native_unit_of_measurement=UnitOfTemperature.CELSIUS, | ||||||
|  |             translation_key="freezer_temp", | ||||||
|         ), |         ), | ||||||
|     ), |     ), | ||||||
| } | } | ||||||
|  | SENSORS["WD"] = unique_entities(SENSORS["WM"], SENSORS["TD"]) | ||||||
|  |  | ||||||
|  |  | ||||||
| async def async_setup_entry(hass, entry: ConfigEntry, async_add_entities) -> None: | async def async_setup_entry(hass, entry: ConfigEntry, async_add_entities) -> None: | ||||||
| @ -461,9 +524,6 @@ async def async_setup_entry(hass, entry: ConfigEntry, async_add_entities) -> Non | |||||||
|                 if not device.get(description.key) and not device.settings.get( |                 if not device.get(description.key) and not device.settings.get( | ||||||
|                     description.key |                     description.key | ||||||
|                 ): |                 ): | ||||||
|                     _LOGGER.warning( |  | ||||||
|                         "[%s] Can't setup %s", device.appliance_type, description.key |  | ||||||
|                     ) |  | ||||||
|                     continue |                     continue | ||||||
|                 appliances.extend( |                 appliances.extend( | ||||||
|                     [HonSensorEntity(hass, coordinator, entry, device, description)] |                     [HonSensorEntity(hass, coordinator, entry, device, description)] | ||||||
| @ -476,8 +536,6 @@ class HonSensorEntity(HonEntity, SensorEntity): | |||||||
|     def __init__(self, hass, coordinator, entry, device, description) -> None: |     def __init__(self, hass, coordinator, entry, device, description) -> None: | ||||||
|         super().__init__(hass, entry, coordinator, device) |         super().__init__(hass, entry, coordinator, device) | ||||||
|  |  | ||||||
|         self._coordinator = coordinator |  | ||||||
|  |  | ||||||
|         self.entity_description = description |         self.entity_description = description | ||||||
|         self._attr_unique_id = f"{super().unique_id}{description.key}" |         self._attr_unique_id = f"{super().unique_id}{description.key}" | ||||||
|  |  | ||||||
|  | |||||||
| @ -2,15 +2,16 @@ import logging | |||||||
| from dataclasses import dataclass | from dataclasses import dataclass | ||||||
| from typing import Any | from typing import Any | ||||||
|  |  | ||||||
| from homeassistant.components.switch import SwitchEntityDescription, SwitchEntity |  | ||||||
| from homeassistant.config_entries import ConfigEntry |  | ||||||
| from homeassistant.const import EntityCategory |  | ||||||
| from pyhon import Hon | from pyhon import Hon | ||||||
| from pyhon.appliance import HonAppliance | from pyhon.appliance import HonAppliance | ||||||
| from pyhon.parameter.range import HonParameterRange | from pyhon.parameter.range import HonParameterRange | ||||||
|  |  | ||||||
|  | from homeassistant.components.switch import SwitchEntityDescription, SwitchEntity | ||||||
|  | from homeassistant.config_entries import ConfigEntry | ||||||
|  | from homeassistant.const import EntityCategory | ||||||
|  | from homeassistant.core import callback | ||||||
| from .const import DOMAIN | from .const import DOMAIN | ||||||
| from .hon import HonCoordinator, HonEntity | from .hon import HonCoordinator, HonEntity, unique_entities | ||||||
|  |  | ||||||
| _LOGGER = logging.getLogger(__name__) | _LOGGER = logging.getLogger(__name__) | ||||||
|  |  | ||||||
| @ -19,6 +20,7 @@ _LOGGER = logging.getLogger(__name__) | |||||||
| class HonSwitchEntityDescriptionMixin: | class HonSwitchEntityDescriptionMixin: | ||||||
|     turn_on_key: str = "" |     turn_on_key: str = "" | ||||||
|     turn_off_key: str = "" |     turn_off_key: str = "" | ||||||
|  |     status_key: str = "" | ||||||
|  |  | ||||||
|  |  | ||||||
| @dataclass | @dataclass | ||||||
| @ -61,12 +63,61 @@ SWITCHES: dict[str, tuple[HonSwitchEntityDescription, ...]] = { | |||||||
|             translation_key="prewash", |             translation_key="prewash", | ||||||
|         ), |         ), | ||||||
|         HonSwitchEntityDescription( |         HonSwitchEntityDescription( | ||||||
|             key="startProgram.autoSoftenerStatus", |             key="startProgram.permanentPressStatus", | ||||||
|             name="Keep Fresh", |             name="Keep Fresh", | ||||||
|             entity_category=EntityCategory.CONFIG, |             entity_category=EntityCategory.CONFIG, | ||||||
|             icon="mdi:refresh-circle", |             icon="mdi:refresh-circle", | ||||||
|             translation_key="keep_fresh", |             translation_key="keep_fresh", | ||||||
|         ), |         ), | ||||||
|  |         HonSwitchEntityDescription( | ||||||
|  |             key="startProgram.autoSoftenerStatus", | ||||||
|  |             name="Auto Dose Softener", | ||||||
|  |             entity_category=EntityCategory.CONFIG, | ||||||
|  |             icon="mdi:teddy-bear", | ||||||
|  |             translation_key="auto_dose_softener", | ||||||
|  |         ), | ||||||
|  |         HonSwitchEntityDescription( | ||||||
|  |             key="startProgram.autoDetergentStatus", | ||||||
|  |             name="Auto Dose Detergent", | ||||||
|  |             entity_category=EntityCategory.CONFIG, | ||||||
|  |             icon="mdi:cup", | ||||||
|  |             translation_key="auto_dose_detergent", | ||||||
|  |         ), | ||||||
|  |         HonSwitchEntityDescription( | ||||||
|  |             key="startProgram.acquaplus", | ||||||
|  |             name="Acqua Plus", | ||||||
|  |             entity_category=EntityCategory.CONFIG, | ||||||
|  |             icon="mdi:water-plus", | ||||||
|  |             translation_key="acqua_plus", | ||||||
|  |         ), | ||||||
|  |         HonSwitchEntityDescription( | ||||||
|  |             key="startProgram.extraRinse1", | ||||||
|  |             name="Extra Rinse 1", | ||||||
|  |             entity_category=EntityCategory.CONFIG, | ||||||
|  |             icon="mdi:numeric-1-box-multiple-outline", | ||||||
|  |             translation_key="extra_rinse_1", | ||||||
|  |         ), | ||||||
|  |         HonSwitchEntityDescription( | ||||||
|  |             key="startProgram.extraRinse2", | ||||||
|  |             name="Extra Rinse 2", | ||||||
|  |             entity_category=EntityCategory.CONFIG, | ||||||
|  |             icon="mdi:numeric-2-box-multiple-outline", | ||||||
|  |             translation_key="extra_rinse_2", | ||||||
|  |         ), | ||||||
|  |         HonSwitchEntityDescription( | ||||||
|  |             key="startProgram.extraRinse3", | ||||||
|  |             name="Extra Rinse 3", | ||||||
|  |             entity_category=EntityCategory.CONFIG, | ||||||
|  |             icon="mdi:numeric-3-box-multiple-outline", | ||||||
|  |             translation_key="extra_rinse_3", | ||||||
|  |         ), | ||||||
|  |         HonSwitchEntityDescription( | ||||||
|  |             key="startProgram.goodNight", | ||||||
|  |             name="Good Night", | ||||||
|  |             icon="mdi:weather-night", | ||||||
|  |             entity_category=EntityCategory.CONFIG, | ||||||
|  |             translation_key="good_night", | ||||||
|  |         ), | ||||||
|     ), |     ), | ||||||
|     "TD": ( |     "TD": ( | ||||||
|         HonSwitchEntityDescription( |         HonSwitchEntityDescription( | ||||||
| @ -126,7 +177,7 @@ SWITCHES: dict[str, tuple[HonSwitchEntityDescription, ...]] = { | |||||||
|     "WD": ( |     "WD": ( | ||||||
|         HonSwitchEntityDescription( |         HonSwitchEntityDescription( | ||||||
|             key="active", |             key="active", | ||||||
|             name="Washing Machine", |             name="Washer Dryer", | ||||||
|             icon="mdi:washing-machine", |             icon="mdi:washing-machine", | ||||||
|             turn_on_key="startProgram", |             turn_on_key="startProgram", | ||||||
|             turn_off_key="stopProgram", |             turn_off_key="stopProgram", | ||||||
| @ -134,7 +185,7 @@ SWITCHES: dict[str, tuple[HonSwitchEntityDescription, ...]] = { | |||||||
|         ), |         ), | ||||||
|         HonSwitchEntityDescription( |         HonSwitchEntityDescription( | ||||||
|             key="pause", |             key="pause", | ||||||
|             name="Pause Washing Machine", |             name="Pause Washer Dryer", | ||||||
|             icon="mdi:pause", |             icon="mdi:pause", | ||||||
|             turn_on_key="pauseProgram", |             turn_on_key="pauseProgram", | ||||||
|             turn_off_key="resumeProgram", |             turn_off_key="resumeProgram", | ||||||
| @ -192,68 +243,104 @@ SWITCHES: dict[str, tuple[HonSwitchEntityDescription, ...]] = { | |||||||
|             entity_category=EntityCategory.CONFIG, |             entity_category=EntityCategory.CONFIG, | ||||||
|             translation_key="add_dish", |             translation_key="add_dish", | ||||||
|         ), |         ), | ||||||
|  |         HonSwitchEntityDescription( | ||||||
|  |             key="settings.buzzerDisabled", | ||||||
|  |             name="Buzzer Disabled", | ||||||
|  |             icon="mdi:volume-off", | ||||||
|  |             translation_key="buzzer", | ||||||
|  |         ), | ||||||
|     ), |     ), | ||||||
|     "AC": ( |     "AC": ( | ||||||
|         HonSwitchEntityDescription( |         HonSwitchEntityDescription( | ||||||
|             key="startProgram.10degreeHeatingStatus", |             key="settings.10degreeHeatingStatus", | ||||||
|  |             status_key="10degreeHeatingStatus", | ||||||
|             name="10° Heating", |             name="10° Heating", | ||||||
|             entity_category=EntityCategory.CONFIG, |             icon="mdi:heat-wave", | ||||||
|             translation_key="10_degree_heating", |             translation_key="10_degree_heating", | ||||||
|         ), |         ), | ||||||
|         HonSwitchEntityDescription( |         HonSwitchEntityDescription( | ||||||
|             key="startProgram.echoStatus", |             key="settings.echoStatus", | ||||||
|  |             status_key="echoStatus", | ||||||
|             name="Echo", |             name="Echo", | ||||||
|             entity_category=EntityCategory.CONFIG, |             icon="mdi:account-voice", | ||||||
|         ), |         ), | ||||||
|         HonSwitchEntityDescription( |         HonSwitchEntityDescription( | ||||||
|             key="startProgram.ecoMode", |             key="settings.ecoMode", | ||||||
|             name="Eco Mode", |             name="Eco Mode", | ||||||
|             entity_category=EntityCategory.CONFIG, |  | ||||||
|             translation_key="eco_mode", |             translation_key="eco_mode", | ||||||
|         ), |         ), | ||||||
|         HonSwitchEntityDescription( |         HonSwitchEntityDescription( | ||||||
|             key="startProgram.healthMode", |             key="settings.healthMode", | ||||||
|  |             status_key="healthMode", | ||||||
|             name="Health Mode", |             name="Health Mode", | ||||||
|             entity_category=EntityCategory.CONFIG, |             icon="mdi:medication-outline", | ||||||
|         ), |         ), | ||||||
|         HonSwitchEntityDescription( |         HonSwitchEntityDescription( | ||||||
|             key="startProgram.muteStatus", |             key="settings.muteStatus", | ||||||
|  |             status_key="muteStatus", | ||||||
|             name="Mute", |             name="Mute", | ||||||
|             entity_category=EntityCategory.CONFIG, |             icon="mdi:volume-off", | ||||||
|             translation_key="mute_mode", |             translation_key="mute_mode", | ||||||
|         ), |         ), | ||||||
|         HonSwitchEntityDescription( |         HonSwitchEntityDescription( | ||||||
|             key="startProgram.rapidMode", |             key="settings.rapidMode", | ||||||
|  |             status_key="rapidMode", | ||||||
|             name="Rapid Mode", |             name="Rapid Mode", | ||||||
|             entity_category=EntityCategory.CONFIG, |             icon="mdi:run-fast", | ||||||
|             translation_key="rapid_mode", |             translation_key="rapid_mode", | ||||||
|         ), |         ), | ||||||
|         HonSwitchEntityDescription( |         HonSwitchEntityDescription( | ||||||
|             key="startProgram.screenDisplayStatus", |             key="settings.screenDisplayStatus", | ||||||
|  |             status_key="screenDisplayStatus", | ||||||
|             name="Screen Display", |             name="Screen Display", | ||||||
|             entity_category=EntityCategory.CONFIG, |             icon="mdi:monitor-small", | ||||||
|         ), |         ), | ||||||
|         HonSwitchEntityDescription( |         HonSwitchEntityDescription( | ||||||
|             key="startProgram.selfCleaning56Status", |             key="settings.selfCleaning56Status", | ||||||
|             name="Self Cleaning 56", |             name="Self Cleaning 56", | ||||||
|             entity_category=EntityCategory.CONFIG, |             icon="mdi:air-filter", | ||||||
|             translation_key="self_clean_56", |             translation_key="self_clean_56", | ||||||
|         ), |         ), | ||||||
|         HonSwitchEntityDescription( |         HonSwitchEntityDescription( | ||||||
|             key="startProgram.selfCleaningStatus", |             key="settings.selfCleaningStatus", | ||||||
|  |             status_key="selfCleaningStatus", | ||||||
|             name="Self Cleaning", |             name="Self Cleaning", | ||||||
|             entity_category=EntityCategory.CONFIG, |             icon="mdi:air-filter", | ||||||
|             translation_key="self_clean", |             translation_key="self_clean", | ||||||
|         ), |         ), | ||||||
|         HonSwitchEntityDescription( |         HonSwitchEntityDescription( | ||||||
|             key="startProgram.silentSleepStatus", |             key="settings.silentSleepStatus", | ||||||
|  |             status_key="silentSleepStatus", | ||||||
|             name="Silent Sleep", |             name="Silent Sleep", | ||||||
|             entity_category=EntityCategory.CONFIG, |             icon="mdi:bed", | ||||||
|             translation_key="silent_mode", |             translation_key="silent_mode", | ||||||
|         ), |         ), | ||||||
|     ), |     ), | ||||||
|  |     "REF": ( | ||||||
|  |         HonSwitchEntityDescription( | ||||||
|  |             key="settings.intelligenceMode", | ||||||
|  |             name="Auto-Set Mode", | ||||||
|  |             icon="mdi:thermometer-auto", | ||||||
|  |             translation_key="auto_set", | ||||||
|  |         ), | ||||||
|  |         HonSwitchEntityDescription( | ||||||
|  |             key="settings.quickModeZ1", | ||||||
|  |             name="Super Freeze", | ||||||
|  |             icon="mdi:snowflake-variant", | ||||||
|  |             translation_key="super_freeze", | ||||||
|  |         ), | ||||||
|  |         HonSwitchEntityDescription( | ||||||
|  |             key="settings.quickModeZ2", | ||||||
|  |             name="Super Cool", | ||||||
|  |             icon="mdi:snowflake", | ||||||
|  |             translation_key="super_cool", | ||||||
|  |         ), | ||||||
|  |     ), | ||||||
| } | } | ||||||
|  |  | ||||||
|  | SWITCHES["WD"] = unique_entities(SWITCHES["WD"], SWITCHES["WM"]) | ||||||
|  | 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] |     hon: Hon = hass.data[DOMAIN][entry.unique_id] | ||||||
| @ -269,17 +356,21 @@ async def async_setup_entry(hass, entry: ConfigEntry, async_add_entities) -> Non | |||||||
|  |  | ||||||
|         if descriptions := SWITCHES.get(device.appliance_type): |         if descriptions := SWITCHES.get(device.appliance_type): | ||||||
|             for description in descriptions: |             for description in descriptions: | ||||||
|                 if ( |                 if description.entity_category == EntityCategory.CONFIG: | ||||||
|                     device.get(description.key) is not None |                     if description.key not in device.available_settings: | ||||||
|                     or device.commands.get(description.key) is not None |                         continue | ||||||
|  |                 else: | ||||||
|  |                     if not any( | ||||||
|  |                         [ | ||||||
|  |                             device.get(description.key) is not None, | ||||||
|  |                             description.turn_on_key in list(device.commands), | ||||||
|  |                             description.turn_off_key in list(device.commands), | ||||||
|  |                         ] | ||||||
|                     ): |                     ): | ||||||
|  |                         continue | ||||||
|                 appliances.extend( |                 appliances.extend( | ||||||
|                     [HonSwitchEntity(hass, coordinator, entry, device, description)] |                     [HonSwitchEntity(hass, coordinator, entry, device, description)] | ||||||
|                 ) |                 ) | ||||||
|                 else: |  | ||||||
|                     _LOGGER.warning( |  | ||||||
|                         "[%s] Can't setup %s", device.appliance_type, description.key |  | ||||||
|                     ) |  | ||||||
|  |  | ||||||
|     async_add_entities(appliances) |     async_add_entities(appliances) | ||||||
|  |  | ||||||
| @ -296,8 +387,7 @@ class HonSwitchEntity(HonEntity, SwitchEntity): | |||||||
|         description: HonSwitchEntityDescription, |         description: HonSwitchEntityDescription, | ||||||
|     ) -> None: |     ) -> None: | ||||||
|         super().__init__(hass, entry, coordinator, device) |         super().__init__(hass, entry, coordinator, device) | ||||||
|         self._coordinator = coordinator |  | ||||||
|         self._device = device |  | ||||||
|         self.entity_description = description |         self.entity_description = description | ||||||
|         self._attr_unique_id = f"{super().unique_id}{description.key}" |         self._attr_unique_id = f"{super().unique_id}{description.key}" | ||||||
|  |  | ||||||
| @ -311,30 +401,59 @@ class HonSwitchEntity(HonEntity, SwitchEntity): | |||||||
|                 or hasattr(setting, "min") |                 or hasattr(setting, "min") | ||||||
|                 and setting.value != setting.min |                 and setting.value != setting.min | ||||||
|             ) |             ) | ||||||
|  |         elif self.entity_description.status_key: | ||||||
|  |             return self._device.get(self.entity_description.status_key, "0") == "1" | ||||||
|         return self._device.get(self.entity_description.key, False) |         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: |         if ( | ||||||
|  |             self.entity_category == EntityCategory.CONFIG | ||||||
|  |             or "settings." in self.entity_description.key | ||||||
|  |         ): | ||||||
|             setting = self._device.settings[self.entity_description.key] |             setting = self._device.settings[self.entity_description.key] | ||||||
|             setting.value = ( |             setting.value = ( | ||||||
|                 setting.max if isinstance(setting, HonParameterRange) else "1" |                 setting.max if isinstance(setting, HonParameterRange) else "1" | ||||||
|             ) |             ) | ||||||
|             self.async_write_ha_state() |             self.async_write_ha_state() | ||||||
|             if self._device.appliance_type in ["AC"]: |             if "settings." in self.entity_description.key: | ||||||
|                 self._device.commands["startProgram"].send() |                 await self._device.commands["settings"].send() | ||||||
|             await self.coordinator.async_refresh() |             await self.coordinator.async_refresh() | ||||||
|         else: |         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: |         if ( | ||||||
|  |             self.entity_category == EntityCategory.CONFIG | ||||||
|  |             or "settings." in self.entity_description.key | ||||||
|  |         ): | ||||||
|             setting = self._device.settings[self.entity_description.key] |             setting = self._device.settings[self.entity_description.key] | ||||||
|             setting.value = ( |             setting.value = ( | ||||||
|                 setting.min if isinstance(setting, HonParameterRange) else "0" |                 setting.min if isinstance(setting, HonParameterRange) else "0" | ||||||
|             ) |             ) | ||||||
|             self.async_write_ha_state() |             self.async_write_ha_state() | ||||||
|             if self._device.appliance_type in ["AC"]: |             if "settings." in self.entity_description.key: | ||||||
|                 self._device.commands["startProgram"].send() |                 await self._device.commands["settings"].send() | ||||||
|             await self.coordinator.async_refresh() |             await self.coordinator.async_refresh() | ||||||
|         else: |         else: | ||||||
|             await self._device.commands[self.entity_description.turn_off_key].send() |             await self._device.commands[self.entity_description.turn_off_key].send() | ||||||
|  |  | ||||||
|  |     @property | ||||||
|  |     def available(self) -> bool: | ||||||
|  |         """Return True if entity is available.""" | ||||||
|  |         if self.entity_category == EntityCategory.CONFIG: | ||||||
|  |             return super().available | ||||||
|  |         else: | ||||||
|  |             return ( | ||||||
|  |                 super().available | ||||||
|  |                 and self._device.get("remoteCtrValid", "1") == "1" | ||||||
|  |                 and self._device.get("attributes.lastConnEvent.category") | ||||||
|  |                 != "DISCONNECTED" | ||||||
|  |             ) | ||||||
|  |  | ||||||
|  |     @callback | ||||||
|  |     def _handle_coordinator_update(self): | ||||||
|  |         if not self.entity_description.status_key: | ||||||
|  |             return | ||||||
|  |         value = self._device.get(self.entity_description.status_key, "0") | ||||||
|  |         self._attr_state = value == "1" | ||||||
|  |         self.async_write_ha_state() | ||||||
|  | |||||||
| @ -9,7 +9,10 @@ | |||||||
|                     "4": "Naplánováno", |                     "4": "Naplánováno", | ||||||
|                     "5": "Naplánováno", |                     "5": "Naplánováno", | ||||||
|                     "6": "Chyba", |                     "6": "Chyba", | ||||||
|                     "7": "Připraveno" |                     "7": "Připraveno", | ||||||
|  |                     "2": "Program běží", | ||||||
|  |                     "8": "Test", | ||||||
|  |                     "9": "Zastavování cyklu…" | ||||||
|                 } |                 } | ||||||
|             }, |             }, | ||||||
|             "program_phases_wm": { |             "program_phases_wm": { | ||||||
| @ -53,7 +56,9 @@ | |||||||
|                     "16": "Vychladnutí", |                     "16": "Vychladnutí", | ||||||
|                     "18": "Keep Fresh", |                     "18": "Keep Fresh", | ||||||
|                     "19": "Sušení", |                     "19": "Sušení", | ||||||
|                     "20": "Sušení" |                     "20": "Sušení", | ||||||
|  |                     "11": "Připraveno", | ||||||
|  |                     "17": "unknown" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Fáze" |                 "name": "Fáze" | ||||||
|             }, |             }, | ||||||
| @ -79,7 +84,8 @@ | |||||||
|                     "12": "Žehlení", |                     "12": "Žehlení", | ||||||
|                     "13": "Do skříně", |                     "13": "Do skříně", | ||||||
|                     "14": "Připraveno k oblečení", |                     "14": "Připraveno k oblečení", | ||||||
|                     "15": "Extra suché" |                     "15": "Extra suché", | ||||||
|  |                     "11": "Bez sušení" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Úroveň sušení" |                 "name": "Úroveň sušení" | ||||||
|             }, |             }, | ||||||
| @ -165,6 +171,154 @@ | |||||||
|                     "5": "Ventilátor", |                     "5": "Ventilátor", | ||||||
|                     "6": "Ventilátor" |                     "6": "Ventilátor" | ||||||
|                 } |                 } | ||||||
|  |             }, | ||||||
|  |             "programs_td": { | ||||||
|  |                 "state": { | ||||||
|  |                     "active_dry": "Aktivní sušení", | ||||||
|  |                     "allergy_care": "Antialergický", | ||||||
|  |                     "all_in_one": "All in One", | ||||||
|  |                     "antiallergy": "Antialergický", | ||||||
|  |                     "anti_odours": "Proti zápachu", | ||||||
|  |                     "auto_care": "Automatická péče", | ||||||
|  |                     "baby": "Dětské", | ||||||
|  |                     "bed_quilt": "Ložní přikrývka", | ||||||
|  |                     "care_30": "Péče 30", | ||||||
|  |                     "care_45": "Péče 45", | ||||||
|  |                     "care_59": "Péče 59", | ||||||
|  |                     "coloured": "Barevné", | ||||||
|  |                     "daily_45_min": "DENNI 45'", | ||||||
|  |                     "daily_perfect_59_min": "DENNI PERFEKTNI 59'", | ||||||
|  |                     "darks_and_coloured": "Tmavé a barevné", | ||||||
|  |                     "delicates": "Jemné", | ||||||
|  |                     "duvet": "Přikrývky", | ||||||
|  |                     "eco": "Eco bavlna", | ||||||
|  |                     "ecospeed_cottons": "Ecospeed bavlna", | ||||||
|  |                     "ecospeed_delicates": "Eco rychly - jemne", | ||||||
|  |                     "ecospeed_mixed": "Ecospeed směsné", | ||||||
|  |                     "extra_hygiene": "HYGIENA EXTRA", | ||||||
|  |                     "fitness": "Cvičení", | ||||||
|  |                     "fresh_care": "Svěží péče", | ||||||
|  |                     "genius": "Genius", | ||||||
|  |                     "hqd_baby_care": "Baby Care", | ||||||
|  |                     "hqd_bath_towel": "Ručníky", | ||||||
|  |                     "hqd_bed_sheets": "Povlečení", | ||||||
|  |                     "hqd_bulky": "Objemné kusy", | ||||||
|  |                     "hqd_casual": "Casual", | ||||||
|  |                     "hqd_cold_wind_30": "Chladný vánek 30 minut", | ||||||
|  |                     "hqd_cold_wind_timing": "Chladný vánek ", | ||||||
|  |                     "hqd_cotton": "Bavlna", | ||||||
|  |                     "hqd_curtain": "Záclony", | ||||||
|  |                     "hqd_delicate": "Jemné", | ||||||
|  |                     "hqd_diaper": "Pleny", | ||||||
|  |                     "hqd_duvet": "Přikrývky", | ||||||
|  |                     "hqd_feather": "Prošívané bundy", | ||||||
|  |                     "hqd_hot_wind_timing": "Horký vzduch", | ||||||
|  |                     "hqd_hygienic": "Dezinfekce", | ||||||
|  |                     "hqd_i_refresh": "I-Refresh", | ||||||
|  |                     "hqd_i_refresh_pro": "I-Refresh Pro", | ||||||
|  |                     "hqd_jacket": "Bundy", | ||||||
|  |                     "hqd_jeans": "Džíny", | ||||||
|  |                     "hqd_luxury": "Luxusní", | ||||||
|  |                     "hqd_mix": "Směsné", | ||||||
|  |                     "hqd_night_dry": "Sušení přes noc", | ||||||
|  |                     "hqd_outdoor": "Outdoor", | ||||||
|  |                     "hqd_precious_cure": "Precious cure", | ||||||
|  |                     "hqd_quick_20": "Rychlý 20", | ||||||
|  |                     "hqd_quick_30": "Rychlý 30", | ||||||
|  |                     "hqd_quick_dry": "Rychlé sušení", | ||||||
|  |                     "hqd_quilt": "Deky", | ||||||
|  |                     "hqd_refresh": "Osvěžení", | ||||||
|  |                     "hqd_school_uniform": "Školní uniformy", | ||||||
|  |                     "hqd_shirt": "Košile", | ||||||
|  |                     "hqd_shoes": "Obuv", | ||||||
|  |                     "hqd_silk": "Hedvábí", | ||||||
|  |                     "hqd_sports": "Sportovní", | ||||||
|  |                     "hqd_synthetics": "Syntetika", | ||||||
|  |                     "hqd_timer": "Načasováno", | ||||||
|  |                     "hqd_towel": "Ručníky", | ||||||
|  |                     "hqd_underwear": "Spodní prádlo", | ||||||
|  |                     "hqd_warm_up": "Ohřátí", | ||||||
|  |                     "hqd_wool": "Vlna", | ||||||
|  |                     "hqd_working_suit": "Pracovní oděvy", | ||||||
|  |                     "hygiene": "Hygiena", | ||||||
|  |                     "iot_checkup": "Kontrola", | ||||||
|  |                     "iot_dry_anti_mites": "Proti roztočům", | ||||||
|  |                     "iot_dry_baby": "Dětské", | ||||||
|  |                     "iot_dry_backpacks": "Batohy", | ||||||
|  |                     "iot_dry_bathrobe": "Župany", | ||||||
|  |                     "iot_dry_bed_linen": "Ložní prádlo", | ||||||
|  |                     "iot_dry_bed_quilt": "Ložní přikrývka", | ||||||
|  |                     "iot_dry_cotton": "Bavlna", | ||||||
|  |                     "iot_dry_cuddly_toys": "Plyšové hračky", | ||||||
|  |                     "iot_dry_curtains": "Závěsy", | ||||||
|  |                     "iot_dry_dehumidifier": "Odstraňovač vlhkosti", | ||||||
|  |                     "iot_dry_delicates": "Jemné prádlo", | ||||||
|  |                     "iot_dry_delicate_tablecloths": "Jemné ubrusy", | ||||||
|  |                     "iot_dry_denim_jeans": "Džínovina - džíny", | ||||||
|  |                     "iot_dry_down_jacket": "Jacket", | ||||||
|  |                     "iot_dry_duvet": "Přikrývky", | ||||||
|  |                     "iot_dry_easy_iron_cotton": "Super snadné žehlení", | ||||||
|  |                     "iot_dry_easy_iron_synthetics": "Velmi snadné žehlení - syntetika", | ||||||
|  |                     "iot_dry_gym_fit": "Sportovní oblečení", | ||||||
|  |                     "iot_dry_lingerie": "Spodní prádlo", | ||||||
|  |                     "iot_dry_mixed": "Smíšené", | ||||||
|  |                     "iot_dry_playsuits": "Tepláky", | ||||||
|  |                     "iot_dry_rapid_30": "Rapid 30", | ||||||
|  |                     "iot_dry_rapid_59": "Rychlý 59'.", | ||||||
|  |                     "iot_dry_refresh": "Osvěžení", | ||||||
|  |                     "iot_dry_regenerates_waterproof": "Oživení nepromokavých tkanin", | ||||||
|  |                     "iot_dry_relax_creases": "Uvolnění záhybů", | ||||||
|  |                     "iot_dry_shirts": "Košile", | ||||||
|  |                     "iot_dry_small_load": "Malá náplň", | ||||||
|  |                     "iot_dry_swimsuits_and_bikinis": "Plavky", | ||||||
|  |                     "iot_dry_synthetics": "Syntetika", | ||||||
|  |                     "iot_dry_synthetic_dry": "Syntetika - suché", | ||||||
|  |                     "iot_dry_tablecloths": "Ubrusy", | ||||||
|  |                     "iot_dry_technical_fabrics": "Technické tkaniny", | ||||||
|  |                     "iot_dry_warm_embrace": "Dětská zavinovačka", | ||||||
|  |                     "iot_dry_wool": "Woolmark", | ||||||
|  |                     "jeans": "Džíny", | ||||||
|  |                     "mix_and_dry": "Mix a suché", | ||||||
|  |                     "pets": "Zvířata", | ||||||
|  |                     "pre_iron": "Před žehlením", | ||||||
|  |                     "rapid_30": "Rapid 30", | ||||||
|  |                     "rapid_45": "Rychlý 45 min", | ||||||
|  |                     "rapid_59": "Perfektně rychlý 59 min", | ||||||
|  |                     "refresh": "Osvěžení", | ||||||
|  |                     "relax_creases": "Uvolnění záhybů", | ||||||
|  |                     "saving_30_min": "USPORNY 30'", | ||||||
|  |                     "shirts": "Košile", | ||||||
|  |                     "shoes": "Obuv", | ||||||
|  |                     "small_load": "Malá náplň", | ||||||
|  |                     "soft_care": "Měkká péče", | ||||||
|  |                     "sport_plus": "Sport", | ||||||
|  |                     "super_easy_iron_misti": "Velmi snadné žehlení – smíšené", | ||||||
|  |                     "super_easy_iron_xxl": "Velmi snadné žehlení – XXL", | ||||||
|  |                     "super_fast_cottons": "Super rychlý bavlna", | ||||||
|  |                     "super_fast_delicates": "Super rychlý jemné", | ||||||
|  |                     "synthetics": "Syntetika", | ||||||
|  |                     "total_care": "Total Care", | ||||||
|  |                     "trainers": "Sportovní obuv", | ||||||
|  |                     "ultra_care": "Ultra Care", | ||||||
|  |                     "waterproof_revitalize": "Obnovení voděodolnosti", | ||||||
|  |                     "whites": "Bílé prádlo", | ||||||
|  |                     "wool": "Sušení vlny", | ||||||
|  |                     "woolmark": "Woolmark", | ||||||
|  |                     "xxl_load": "XXL náplň", | ||||||
|  |                     "zoom_59": "Zoom 59" | ||||||
|  |                 } | ||||||
|  |             }, | ||||||
|  |             "room_temperature": { | ||||||
|  |                 "name": "Pokojová teplota" | ||||||
|  |             }, | ||||||
|  |             "humidity": { | ||||||
|  |                 "name": "Vlhkost" | ||||||
|  |             }, | ||||||
|  |             "freezer_temp": { | ||||||
|  |                 "name": "Teplota mrazničky" | ||||||
|  |             }, | ||||||
|  |             "fridge_temp": { | ||||||
|  |                 "name": "Teplota chladničky" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "select": { |         "select": { | ||||||
| @ -820,7 +974,8 @@ | |||||||
|                     "12": "Žehlení", |                     "12": "Žehlení", | ||||||
|                     "13": "Do skříně", |                     "13": "Do skříně", | ||||||
|                     "14": "Připraveno k oblečení", |                     "14": "Připraveno k oblečení", | ||||||
|                     "15": "Extra suché" |                     "15": "Extra suché", | ||||||
|  |                     "11": "Bez sušení" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Úroveň sušení" |                 "name": "Úroveň sušení" | ||||||
|             }, |             }, | ||||||
| @ -870,6 +1025,31 @@ | |||||||
|                     "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" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "switch": { |         "switch": { | ||||||
| @ -877,7 +1057,7 @@ | |||||||
|                 "name": "Proti pomačkání" |                 "name": "Proti pomačkání" | ||||||
|             }, |             }, | ||||||
|             "add_dish": { |             "add_dish": { | ||||||
|                 "name": "" |                 "name": "Přidat nádobí" | ||||||
|             }, |             }, | ||||||
|             "eco_express": { |             "eco_express": { | ||||||
|                 "name": "Eco" |                 "name": "Eco" | ||||||
| @ -944,6 +1124,39 @@ | |||||||
|             }, |             }, | ||||||
|             "mute_mode": { |             "mute_mode": { | ||||||
|                 "name": "Tichý režim" |                 "name": "Tichý režim" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_1": { | ||||||
|  |                 "name": "+1 máchání" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_2": { | ||||||
|  |                 "name": "+2 máchání" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_3": { | ||||||
|  |                 "name": "+3 máchání" | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Aquaplus" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "Automatické dávkování" | ||||||
|  |             }, | ||||||
|  |             "good_night": { | ||||||
|  |                 "name": "Dobrou noc" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_softener": { | ||||||
|  |                 "name": "Automatické dávkování Avivážní prostředek" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_detergent": { | ||||||
|  |                 "name": "Automatické dávkování Prací prostředek" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "Automatické nastavení" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "binary_sensor": { |         "binary_sensor": { | ||||||
| @ -1015,6 +1228,36 @@ | |||||||
|             }, |             }, | ||||||
|             "prewash": { |             "prewash": { | ||||||
|                 "name": "Předpírka\r\r\r\r\r\r\n" |                 "name": "Předpírka\r\r\r\r\r\r\n" | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Aquaplus" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "Automatické dávkování" | ||||||
|  |             }, | ||||||
|  |             "buzzer": { | ||||||
|  |                 "name": "Zvuková signalizace konce cyklu" | ||||||
|  |             }, | ||||||
|  |             "holiday_mode": { | ||||||
|  |                 "name": "Režim Holiday" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "Automatické nastavení" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|  |             }, | ||||||
|  |             "freezer_door": { | ||||||
|  |                 "name": "Otevřená dvířka Mraznička" | ||||||
|  |             }, | ||||||
|  |             "fridge_door": { | ||||||
|  |                 "name": "Otevřená dvířka Chladnička" | ||||||
|  |             }, | ||||||
|  |             "filter_replacement": { | ||||||
|  |                 "name": "Výměna filtru" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "number": { |         "number": { | ||||||
| @ -1044,12 +1287,26 @@ | |||||||
|             }, |             }, | ||||||
|             "dry_time": { |             "dry_time": { | ||||||
|                 "name": "Doba sušení" |                 "name": "Doba sušení" | ||||||
|  |             }, | ||||||
|  |             "steam_level": { | ||||||
|  |                 "name": "Úroveň páry" | ||||||
|  |             }, | ||||||
|  |             "freezer_temp_sel": { | ||||||
|  |                 "name": "Cílová teplota Mraznička" | ||||||
|  |             }, | ||||||
|  |             "fridge_temp_sel": { | ||||||
|  |                 "name": "Cílová teplota Chladnička" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "button": { |         "button": { | ||||||
|             "induction_hob": { |             "induction_hob": { | ||||||
|                 "name": "Indukční varná deska" |                 "name": "Indukční varná deska" | ||||||
|             } |             } | ||||||
|  |         }, | ||||||
|  |         "climate": { | ||||||
|  |             "air_conditioner": { | ||||||
|  |                 "name": "Klimatizační jednotka" | ||||||
|  |             } | ||||||
|         } |         } | ||||||
|     }, |     }, | ||||||
|     "config": { |     "config": { | ||||||
|  | |||||||
| @ -9,7 +9,10 @@ | |||||||
|                     "4": "Geplant", |                     "4": "Geplant", | ||||||
|                     "5": "Geplant", |                     "5": "Geplant", | ||||||
|                     "6": "Fehler", |                     "6": "Fehler", | ||||||
|                     "7": "Bereit" |                     "7": "Bereit", | ||||||
|  |                     "2": "Programm läuft", | ||||||
|  |                     "8": "Test", | ||||||
|  |                     "9": "Programm wird angehalten..." | ||||||
|                 } |                 } | ||||||
|             }, |             }, | ||||||
|             "program_phases_wm": { |             "program_phases_wm": { | ||||||
| @ -53,7 +56,9 @@ | |||||||
|                     "16": "Abkühlen", |                     "16": "Abkühlen", | ||||||
|                     "18": "Auffrischen", |                     "18": "Auffrischen", | ||||||
|                     "19": "Trocknen", |                     "19": "Trocknen", | ||||||
|                     "20": "Trocknen" |                     "20": "Trocknen", | ||||||
|  |                     "11": "Bereit", | ||||||
|  |                     "17": "unknown" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Phase" |                 "name": "Phase" | ||||||
|             }, |             }, | ||||||
| @ -79,7 +84,8 @@ | |||||||
|                     "12": "Bügeln", |                     "12": "Bügeln", | ||||||
|                     "13": "Wäsche fertig", |                     "13": "Wäsche fertig", | ||||||
|                     "14": "Bereit zum Anziehen", |                     "14": "Bereit zum Anziehen", | ||||||
|                     "15": "Extra trocken" |                     "15": "Extra trocken", | ||||||
|  |                     "11": "Keine Trocknung" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Trocknungsstufe" |                 "name": "Trocknungsstufe" | ||||||
|             }, |             }, | ||||||
| @ -165,6 +171,154 @@ | |||||||
|                     "5": "Ventilator", |                     "5": "Ventilator", | ||||||
|                     "6": "Ventilator" |                     "6": "Ventilator" | ||||||
|                 } |                 } | ||||||
|  |             }, | ||||||
|  |             "programs_td": { | ||||||
|  |                 "state": { | ||||||
|  |                     "active_dry": "Active Dry", | ||||||
|  |                     "allergy_care": "Anti-Allergie-Programm", | ||||||
|  |                     "all_in_one": "All in One", | ||||||
|  |                     "antiallergy": "Anti-Allergie-Programm", | ||||||
|  |                     "anti_odours": "Anti-Geruch", | ||||||
|  |                     "auto_care": "Auto Care", | ||||||
|  |                     "baby": "Baby", | ||||||
|  |                     "bed_quilt": "Bettdecken", | ||||||
|  |                     "care_30": "Pflege 30", | ||||||
|  |                     "care_45": "Pflege 45", | ||||||
|  |                     "care_59": "Pflege 59", | ||||||
|  |                     "coloured": "Buntwäsche", | ||||||
|  |                     "daily_45_min": "DAILY 45'", | ||||||
|  |                     "daily_perfect_59_min": "DAILY PERFECT 59'", | ||||||
|  |                     "darks_and_coloured": "Dunkles & Buntwäsche", | ||||||
|  |                     "delicates": "Feinwäsche", | ||||||
|  |                     "duvet": "Oberbetten", | ||||||
|  |                     "eco": "Eco-Baumwolle", | ||||||
|  |                     "ecospeed_cottons": "Ecospeed Baumwolle", | ||||||
|  |                     "ecospeed_delicates": "Ecospeed Feinwaesche", | ||||||
|  |                     "ecospeed_mixed": "Ecospeed Mischwäsche", | ||||||
|  |                     "extra_hygiene": "Extra Hygiene", | ||||||
|  |                     "fitness": "Fitness", | ||||||
|  |                     "fresh_care": "Fresh Care", | ||||||
|  |                     "genius": "Genius", | ||||||
|  |                     "hqd_baby_care": "Baby Care", | ||||||
|  |                     "hqd_bath_towel": "Handtücher", | ||||||
|  |                     "hqd_bed_sheets": "Bettwäsche", | ||||||
|  |                     "hqd_bulky": "Schwere Textilien", | ||||||
|  |                     "hqd_casual": "Casual", | ||||||
|  |                     "hqd_cold_wind_30": "Kühle Brise 30 Minuten", | ||||||
|  |                     "hqd_cold_wind_timing": "Kühle Brise ", | ||||||
|  |                     "hqd_cotton": "Baumwolle", | ||||||
|  |                     "hqd_curtain": "Vorhänge", | ||||||
|  |                     "hqd_delicate": "Feinwäsche", | ||||||
|  |                     "hqd_diaper": "Windeln", | ||||||
|  |                     "hqd_duvet": "Bettdecke", | ||||||
|  |                     "hqd_feather": "Daunenjacken", | ||||||
|  |                     "hqd_hot_wind_timing": "Heiße Luft", | ||||||
|  |                     "hqd_hygienic": "Desinfektion", | ||||||
|  |                     "hqd_i_refresh": "I-Refresh", | ||||||
|  |                     "hqd_i_refresh_pro": "I-Refresh Pro", | ||||||
|  |                     "hqd_jacket": "Jacken", | ||||||
|  |                     "hqd_jeans": "Jeans", | ||||||
|  |                     "hqd_luxury": "Luxury", | ||||||
|  |                     "hqd_mix": "Gemischt", | ||||||
|  |                     "hqd_night_dry": "Trocknung über Nacht", | ||||||
|  |                     "hqd_outdoor": "Outdoor", | ||||||
|  |                     "hqd_precious_cure": "Precious Cure", | ||||||
|  |                     "hqd_quick_20": "Schnell 20", | ||||||
|  |                     "hqd_quick_30": "Schnell 30", | ||||||
|  |                     "hqd_quick_dry": "Schnell trocken", | ||||||
|  |                     "hqd_quilt": "Steppdecken", | ||||||
|  |                     "hqd_refresh": "Auffrischen", | ||||||
|  |                     "hqd_school_uniform": "Schuluniform", | ||||||
|  |                     "hqd_shirt": "Hemden", | ||||||
|  |                     "hqd_shoes": "Schuhe", | ||||||
|  |                     "hqd_silk": "Seide", | ||||||
|  |                     "hqd_sports": "Sport", | ||||||
|  |                     "hqd_synthetics": "Synthetik", | ||||||
|  |                     "hqd_timer": "Zeitgesteuert", | ||||||
|  |                     "hqd_towel": "Handtücher", | ||||||
|  |                     "hqd_underwear": "Unterwäsche", | ||||||
|  |                     "hqd_warm_up": "Erwärmen", | ||||||
|  |                     "hqd_wool": "Wolle", | ||||||
|  |                     "hqd_working_suit": "Arbeitskleidung", | ||||||
|  |                     "hygiene": "Hygiene", | ||||||
|  |                     "iot_checkup": "Check-up", | ||||||
|  |                     "iot_dry_anti_mites": "Anti-Milben-Programm", | ||||||
|  |                     "iot_dry_baby": "Baby", | ||||||
|  |                     "iot_dry_backpacks": "Rucksäcke", | ||||||
|  |                     "iot_dry_bathrobe": "Bademäntel", | ||||||
|  |                     "iot_dry_bed_linen": "Bettwäsche", | ||||||
|  |                     "iot_dry_bed_quilt": "Bettdecken", | ||||||
|  |                     "iot_dry_cotton": "Baumwolle", | ||||||
|  |                     "iot_dry_cuddly_toys": "Stofftiere", | ||||||
|  |                     "iot_dry_curtains": "Vorhänge", | ||||||
|  |                     "iot_dry_dehumidifier": "Entfeuchter", | ||||||
|  |                     "iot_dry_delicates": "Feinwäsche", | ||||||
|  |                     "iot_dry_delicate_tablecloths": "Empfindliche Tischdecken", | ||||||
|  |                     "iot_dry_denim_jeans": "Denim - Jeans", | ||||||
|  |                     "iot_dry_down_jacket": "Jacket", | ||||||
|  |                     "iot_dry_duvet": "Oberbetten", | ||||||
|  |                     "iot_dry_easy_iron_cotton": "Superleichtes Bügeln", | ||||||
|  |                     "iot_dry_easy_iron_synthetics": "Super Leichtbügeln Synthetik", | ||||||
|  |                     "iot_dry_gym_fit": "Gymnastik & Fitness – Sportkleidung", | ||||||
|  |                     "iot_dry_lingerie": "Unterwäsche", | ||||||
|  |                     "iot_dry_mixed": "Gemischt", | ||||||
|  |                     "iot_dry_playsuits": "Jumpsuits", | ||||||
|  |                     "iot_dry_rapid_30": "Rapid 30", | ||||||
|  |                     "iot_dry_rapid_59": "Rapid 59'.", | ||||||
|  |                     "iot_dry_refresh": "Auffrischen", | ||||||
|  |                     "iot_dry_regenerates_waterproof": "Auffrischung – wasserdichte Kleidung", | ||||||
|  |                     "iot_dry_relax_creases": "Falten glätten", | ||||||
|  |                     "iot_dry_shirts": "Hemden", | ||||||
|  |                     "iot_dry_small_load": "Kleine Beladung", | ||||||
|  |                     "iot_dry_swimsuits_and_bikinis": "Badeanzüge", | ||||||
|  |                     "iot_dry_synthetics": "Synthetische", | ||||||
|  |                     "iot_dry_synthetic_dry": "Synthetik trocken", | ||||||
|  |                     "iot_dry_tablecloths": "Tischdecken", | ||||||
|  |                     "iot_dry_technical_fabrics": "Technisches Gewebe", | ||||||
|  |                     "iot_dry_warm_embrace": "Superschon", | ||||||
|  |                     "iot_dry_wool": "Wolle", | ||||||
|  |                     "jeans": "Jeans", | ||||||
|  |                     "mix_and_dry": "Mix&Dry", | ||||||
|  |                     "pets": "Haustiere", | ||||||
|  |                     "pre_iron": "Vorbügeln", | ||||||
|  |                     "rapid_30": "Rapid 30", | ||||||
|  |                     "rapid_45": "Schnell 45 Min", | ||||||
|  |                     "rapid_59": "Perfekt Schnellwaschgang 59 Min.", | ||||||
|  |                     "refresh": "Auffrischen", | ||||||
|  |                     "relax_creases": "Falten glätten", | ||||||
|  |                     "saving_30_min": "ECO 30'", | ||||||
|  |                     "shirts": "Hemden", | ||||||
|  |                     "shoes": "Schuhe", | ||||||
|  |                     "small_load": "Kleine Beladung", | ||||||
|  |                     "soft_care": "Sanfte Pflege", | ||||||
|  |                     "sport_plus": "Sports", | ||||||
|  |                     "super_easy_iron_misti": "Super Leichtbügeln Gemischt", | ||||||
|  |                     "super_easy_iron_xxl": "Super Leichtbügeln XXL", | ||||||
|  |                     "super_fast_cottons": "Superschnell Baumwolle", | ||||||
|  |                     "super_fast_delicates": "Superschnell Feinwäsche", | ||||||
|  |                     "synthetics": "Synthetische", | ||||||
|  |                     "total_care": "Total Care", | ||||||
|  |                     "trainers": "Turnschuhe", | ||||||
|  |                     "ultra_care": "Ultra Care", | ||||||
|  |                     "waterproof_revitalize": "Auffrischen wasserdichter Stoffe", | ||||||
|  |                     "whites": "Weißen", | ||||||
|  |                     "wool": "Wolle Trocknen", | ||||||
|  |                     "woolmark": "Wolle", | ||||||
|  |                     "xxl_load": "XXL-Beladung", | ||||||
|  |                     "zoom_59": "Zoom 59" | ||||||
|  |                 } | ||||||
|  |             }, | ||||||
|  |             "room_temperature": { | ||||||
|  |                 "name": "Raumtemperatur" | ||||||
|  |             }, | ||||||
|  |             "humidity": { | ||||||
|  |                 "name": "Luftfeuchtigkeit" | ||||||
|  |             }, | ||||||
|  |             "freezer_temp": { | ||||||
|  |                 "name": "Gefrierschrank-Temperatur" | ||||||
|  |             }, | ||||||
|  |             "fridge_temp": { | ||||||
|  |                 "name": "Temperatur des Kühlschranks" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "select": { |         "select": { | ||||||
| @ -820,7 +974,8 @@ | |||||||
|                     "12": "Bügeln", |                     "12": "Bügeln", | ||||||
|                     "13": "Wäsche fertig", |                     "13": "Wäsche fertig", | ||||||
|                     "14": "Bereit zum Anziehen", |                     "14": "Bereit zum Anziehen", | ||||||
|                     "15": "Extra trocken" |                     "15": "Extra trocken", | ||||||
|  |                     "11": "Keine Trocknung" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Trocknungsstufe" |                 "name": "Trocknungsstufe" | ||||||
|             }, |             }, | ||||||
| @ -870,6 +1025,31 @@ | |||||||
|                     "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" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "switch": { |         "switch": { | ||||||
| @ -877,7 +1057,7 @@ | |||||||
|                 "name": "Knitterschutz" |                 "name": "Knitterschutz" | ||||||
|             }, |             }, | ||||||
|             "add_dish": { |             "add_dish": { | ||||||
|                 "name": "" |                 "name": "Geschirr hinzufügen" | ||||||
|             }, |             }, | ||||||
|             "eco_express": { |             "eco_express": { | ||||||
|                 "name": "Eco" |                 "name": "Eco" | ||||||
| @ -944,6 +1124,39 @@ | |||||||
|             }, |             }, | ||||||
|             "mute_mode": { |             "mute_mode": { | ||||||
|                 "name": "Stummer Modus" |                 "name": "Stummer Modus" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_1": { | ||||||
|  |                 "name": "+1 Spülgang" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_2": { | ||||||
|  |                 "name": "+2 Spülgänge" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_3": { | ||||||
|  |                 "name": "+3 Spülgänge" | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Acquaplus" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "Autodosierung" | ||||||
|  |             }, | ||||||
|  |             "good_night": { | ||||||
|  |                 "name": "Gute Nacht" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_softener": { | ||||||
|  |                 "name": "Autodosierung Weichspüler" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_detergent": { | ||||||
|  |                 "name": "Autodosierung Spülmittel" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "Auto-Set" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "binary_sensor": { |         "binary_sensor": { | ||||||
| @ -1015,6 +1228,36 @@ | |||||||
|             }, |             }, | ||||||
|             "prewash": { |             "prewash": { | ||||||
|                 "name": "Vorspülen" |                 "name": "Vorspülen" | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Acquaplus" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "Autodosierung" | ||||||
|  |             }, | ||||||
|  |             "buzzer": { | ||||||
|  |                 "name": "Signalton zum Programmende" | ||||||
|  |             }, | ||||||
|  |             "holiday_mode": { | ||||||
|  |                 "name": "Holiday-Modus" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "Auto-Set" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|  |             }, | ||||||
|  |             "freezer_door": { | ||||||
|  |                 "name": "Tür offen Gefrierschrank" | ||||||
|  |             }, | ||||||
|  |             "fridge_door": { | ||||||
|  |                 "name": "Tür offen Kühlschrank" | ||||||
|  |             }, | ||||||
|  |             "filter_replacement": { | ||||||
|  |                 "name": "Filteraustausch" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "number": { |         "number": { | ||||||
| @ -1044,12 +1287,26 @@ | |||||||
|             }, |             }, | ||||||
|             "dry_time": { |             "dry_time": { | ||||||
|                 "name": "Trocknungsdauer" |                 "name": "Trocknungsdauer" | ||||||
|  |             }, | ||||||
|  |             "steam_level": { | ||||||
|  |                 "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" | ||||||
|             } |             } | ||||||
|  |         }, | ||||||
|  |         "climate": { | ||||||
|  |             "air_conditioner": { | ||||||
|  |                 "name": "Klimaanlage" | ||||||
|  |             } | ||||||
|         } |         } | ||||||
|     }, |     }, | ||||||
|     "config": { |     "config": { | ||||||
|  | |||||||
| @ -9,7 +9,10 @@ | |||||||
|                     "4": "Προγραμματισμένος", |                     "4": "Προγραμματισμένος", | ||||||
|                     "5": "Προγραμματισμένος", |                     "5": "Προγραμματισμένος", | ||||||
|                     "6": "Λάθος", |                     "6": "Λάθος", | ||||||
|                     "7": "Ετοιμος" |                     "7": "Ετοιμος", | ||||||
|  |                     "2": "Το πρόγραμμα εκτελείται", | ||||||
|  |                     "8": "Test", | ||||||
|  |                     "9": "Διακοπή κύκλου..." | ||||||
|                 } |                 } | ||||||
|             }, |             }, | ||||||
|             "program_phases_wm": { |             "program_phases_wm": { | ||||||
| @ -53,7 +56,9 @@ | |||||||
|                     "16": "Περίοδος αναμονής", |                     "16": "Περίοδος αναμονής", | ||||||
|                     "18": "Κρατήστε τη φρεσκάδα", |                     "18": "Κρατήστε τη φρεσκάδα", | ||||||
|                     "19": "Στέγνωμα", |                     "19": "Στέγνωμα", | ||||||
|                     "20": "Στέγνωμα" |                     "20": "Στέγνωμα", | ||||||
|  |                     "11": "Ετοιμος", | ||||||
|  |                     "17": "unknown" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Φάση" |                 "name": "Φάση" | ||||||
|             }, |             }, | ||||||
| @ -79,7 +84,8 @@ | |||||||
|                     "12": "Σιδέρωμα", |                     "12": "Σιδέρωμα", | ||||||
|                     "13": "Στέγνωμα για Αποθήκευση ", |                     "13": "Στέγνωμα για Αποθήκευση ", | ||||||
|                     "14": "Ετοιμο να φορεθεί", |                     "14": "Ετοιμο να φορεθεί", | ||||||
|                     "15": "Επιπλέον στέγνωμα" |                     "15": "Επιπλέον στέγνωμα", | ||||||
|  |                     "11": "Χωρίς στέγνωμα" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Επίπεδο στεγνώματος" |                 "name": "Επίπεδο στεγνώματος" | ||||||
|             }, |             }, | ||||||
| @ -165,6 +171,154 @@ | |||||||
|                     "5": "Ανεμιστήρας", |                     "5": "Ανεμιστήρας", | ||||||
|                     "6": "Ανεμιστήρας" |                     "6": "Ανεμιστήρας" | ||||||
|                 } |                 } | ||||||
|  |             }, | ||||||
|  |             "programs_td": { | ||||||
|  |                 "state": { | ||||||
|  |                     "active_dry": "Ενεργό στέγνωμα", | ||||||
|  |                     "allergy_care": "Αντιαλλεργικο", | ||||||
|  |                     "all_in_one": "Ολα σε ενα", | ||||||
|  |                     "antiallergy": "Αντιαλλεργικο", | ||||||
|  |                     "anti_odours": "Εναντια στιws", | ||||||
|  |                     "auto_care": "Αυτόματη φροντίδα", | ||||||
|  |                     "baby": "Μωρουδιακά", | ||||||
|  |                     "bed_quilt": "Καλυμματα κρεβατιου", | ||||||
|  |                     "care_30": "Φροντίδα 30", | ||||||
|  |                     "care_45": "Φροντίδα 45", | ||||||
|  |                     "care_59": "Φροντίδα 59", | ||||||
|  |                     "coloured": "χρωματιστα", | ||||||
|  |                     "daily_45_min": "ΚΑΘΗΜΕΡΙΝΟ 45'", | ||||||
|  |                     "daily_perfect_59_min": "ΚΑΘΗΜΕΡΙΝΟ ΙΔΑΝΙΚΟ 59'", | ||||||
|  |                     "darks_and_coloured": "Μαυρα & Χρωματιστα", | ||||||
|  |                     "delicates": "Ευαίσθητα", | ||||||
|  |                     "duvet": "Παπλώματα", | ||||||
|  |                     "eco": "Βαμβακερά οικολογικά", | ||||||
|  |                     "ecospeed_cottons": "Ecospeed βαμβακερα", | ||||||
|  |                     "ecospeed_delicates": "Ecospeed ευαισθητα", | ||||||
|  |                     "ecospeed_mixed": "Ecospeed αναμεικτα", | ||||||
|  |                     "extra_hygiene": "ΕΠΙΠΛΕΟΝ ΥΓΙΕΙΝΗ", | ||||||
|  |                     "fitness": "Καταλληλότητα", | ||||||
|  |                     "fresh_care": "Φρέσκια φροντίδα", | ||||||
|  |                     "genius": "Genius", | ||||||
|  |                     "hqd_baby_care": "Baby Care", | ||||||
|  |                     "hqd_bath_towel": "Πετσέτες", | ||||||
|  |                     "hqd_bed_sheets": "Σεντόνια κρεβατιού", | ||||||
|  |                     "hqd_bulky": "Ογκώδη αντικείμενα", | ||||||
|  |                     "hqd_casual": "Καθημερινά ρούχα", | ||||||
|  |                     "hqd_cold_wind_30": "Δροσερό αεράκι 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": "I-Refresh", | ||||||
|  |                     "hqd_i_refresh_pro": "I-Refresh Pro", | ||||||
|  |                     "hqd_jacket": "Ζακέτες", | ||||||
|  |                     "hqd_jeans": "Τζιν παντελονια", | ||||||
|  |                     "hqd_luxury": "Luxury", | ||||||
|  |                     "hqd_mix": "Μικτά", | ||||||
|  |                     "hqd_night_dry": "Ολονύκτιο στέγνωμα", | ||||||
|  |                     "hqd_outdoor": "Outdoor", | ||||||
|  |                     "hqd_precious_cure": "Precious cure", | ||||||
|  |                     "hqd_quick_20": "Γρήγορα 20", | ||||||
|  |                     "hqd_quick_30": "Γρήγορα 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": "Ενδύματα εργασίας", | ||||||
|  |                     "hygiene": "Υγιεινή", | ||||||
|  |                     "iot_checkup": "Έλεγχος", | ||||||
|  |                     "iot_dry_anti_mites": "Ενάντια στα ακάρεα", | ||||||
|  |                     "iot_dry_baby": "Μωρουδιακά", | ||||||
|  |                     "iot_dry_backpacks": "Σακίδια πλάτης", | ||||||
|  |                     "iot_dry_bathrobe": "Μπουρνούζι", | ||||||
|  |                     "iot_dry_bed_linen": "Κλινοσκεπάσματα", | ||||||
|  |                     "iot_dry_bed_quilt": "Καλυμματα κρεβατιου", | ||||||
|  |                     "iot_dry_cotton": "Βαμβακερό", | ||||||
|  |                     "iot_dry_cuddly_toys": "Λούτρινα Αρκουδάκια", | ||||||
|  |                     "iot_dry_curtains": "Κουρτίνες", | ||||||
|  |                     "iot_dry_dehumidifier": "Αφαίρεση υγρασίας", | ||||||
|  |                     "iot_dry_delicates": "Ευαισθητα", | ||||||
|  |                     "iot_dry_delicate_tablecloths": "Ευαίσθητα τραπεζομάντηλα", | ||||||
|  |                     "iot_dry_denim_jeans": "Ντένιμ - τζιν", | ||||||
|  |                     "iot_dry_down_jacket": "Jacket", | ||||||
|  |                     "iot_dry_duvet": "Παπλώματα", | ||||||
|  |                     "iot_dry_easy_iron_cotton": "Super Easy Iron", | ||||||
|  |                     "iot_dry_easy_iron_synthetics": "Εξαιρετικά εύκολο σιδέρωμα - Συνθετικά", | ||||||
|  |                     "iot_dry_gym_fit": "Γυμναστήριο", | ||||||
|  |                     "iot_dry_lingerie": "Εσώρουχα", | ||||||
|  |                     "iot_dry_mixed": "Μικτά", | ||||||
|  |                     "iot_dry_playsuits": "Στολές", | ||||||
|  |                     "iot_dry_rapid_30": "Rapid 30", | ||||||
|  |                     "iot_dry_rapid_59": "Γρήγορο 59'.", | ||||||
|  |                     "iot_dry_refresh": "Refresh", | ||||||
|  |                     "iot_dry_regenerates_waterproof": "Ανανέωση αδιάβροχων", | ||||||
|  |                     "iot_dry_relax_creases": "ΧΑΛΑΡΩΣΗ", | ||||||
|  |                     "iot_dry_shirts": "Πουκάμισα", | ||||||
|  |                     "iot_dry_small_load": "ΜΙΚΡΟ ΦΟΡΤΙΟ", | ||||||
|  |                     "iot_dry_swimsuits_and_bikinis": "Μαγιό", | ||||||
|  |                     "iot_dry_synthetics": "Συνθετικα", | ||||||
|  |                     "iot_dry_synthetic_dry": "Συνθετικά στέγνωμα", | ||||||
|  |                     "iot_dry_tablecloths": "Τραπεζομάντηλα", | ||||||
|  |                     "iot_dry_technical_fabrics": "Τεχνικά υφάσματα", | ||||||
|  |                     "iot_dry_warm_embrace": "Ζεστή Αγκαλιά", | ||||||
|  |                     "iot_dry_wool": "Μαλλινα", | ||||||
|  |                     "jeans": "τζιν", | ||||||
|  |                     "mix_and_dry": "Μικτά & Στέγνωμα", | ||||||
|  |                     "pets": "Κατοικίδια", | ||||||
|  |                     "pre_iron": "Προ-σιδερωμα", | ||||||
|  |                     "rapid_30": "Rapid 30", | ||||||
|  |                     "rapid_45": "Rapid 45 min", | ||||||
|  |                     "rapid_59": "Τέλειο Γρήγορο 59 λεπτά", | ||||||
|  |                     "refresh": "Φρεσκάρισμα", | ||||||
|  |                     "relax_creases": "ΧΑΛΑΡΩΣΗ", | ||||||
|  |                     "saving_30_min": "ΕΞΟΙΚΟΝΟΜΗΣΗ 30'", | ||||||
|  |                     "shirts": "Πουκάμισα", | ||||||
|  |                     "shoes": "Παπούτσια", | ||||||
|  |                     "small_load": "ΜΙΚΡΟ ΦΟΡΤΙΟ", | ||||||
|  |                     "soft_care": "Απαλή φροντίδα", | ||||||
|  |                     "sport_plus": "ΣΠΟΡ", | ||||||
|  |                     "super_easy_iron_misti": "Εξαιρετικά εύκολο σιδέρωμα για ανάμεικτα", | ||||||
|  |                     "super_easy_iron_xxl": "Εξαιρετικά εύκολο σιδέρωμα για XXL", | ||||||
|  |                     "super_fast_cottons": "Εξαιρετικα ΓΡΗΓΟΡΟ βαμβακερα", | ||||||
|  |                     "super_fast_delicates": "Εξαιρετικα ΓΡΗΓΟΡΟ ευαισθητα", | ||||||
|  |                     "synthetics": "Συνθετικα", | ||||||
|  |                     "total_care": "Ολικη Φροντιδα", | ||||||
|  |                     "trainers": "Αθλητικά παπούτσια", | ||||||
|  |                     "ultra_care": "Ultra Care", | ||||||
|  |                     "waterproof_revitalize": "Αναζωογονηση αδιαβροχων", | ||||||
|  |                     "whites": "Λευκά", | ||||||
|  |                     "wool": "Στέγνωμα Μάλλινων", | ||||||
|  |                     "woolmark": "Μαλλινα", | ||||||
|  |                     "xxl_load": "XXL Φορτιο", | ||||||
|  |                     "zoom_59": "Zoom 59" | ||||||
|  |                 } | ||||||
|  |             }, | ||||||
|  |             "room_temperature": { | ||||||
|  |                 "name": "Θερμοκρασία δωματίου" | ||||||
|  |             }, | ||||||
|  |             "humidity": { | ||||||
|  |                 "name": "Υγρασία" | ||||||
|  |             }, | ||||||
|  |             "freezer_temp": { | ||||||
|  |                 "name": "Θερμοκρασία καταψύκτη" | ||||||
|  |             }, | ||||||
|  |             "fridge_temp": { | ||||||
|  |                 "name": "Θερμοκρασία ψυγείου" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "select": { |         "select": { | ||||||
| @ -820,7 +974,8 @@ | |||||||
|                     "12": "Σιδέρωμα", |                     "12": "Σιδέρωμα", | ||||||
|                     "13": "Στέγνωμα για Αποθήκευση ", |                     "13": "Στέγνωμα για Αποθήκευση ", | ||||||
|                     "14": "Ετοιμο να φορεθεί", |                     "14": "Ετοιμο να φορεθεί", | ||||||
|                     "15": "Επιπλέον στέγνωμα" |                     "15": "Επιπλέον στέγνωμα", | ||||||
|  |                     "11": "Χωρίς στέγνωμα" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Επίπεδο στεγνώματος" |                 "name": "Επίπεδο στεγνώματος" | ||||||
|             }, |             }, | ||||||
| @ -870,6 +1025,31 @@ | |||||||
|                     "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": "Χρόνος που απομένει" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "switch": { |         "switch": { | ||||||
| @ -877,7 +1057,7 @@ | |||||||
|                 "name": "Λιγότερες ζάρες" |                 "name": "Λιγότερες ζάρες" | ||||||
|             }, |             }, | ||||||
|             "add_dish": { |             "add_dish": { | ||||||
|                 "name": "" |                 "name": "Προσθήκη πιάτων" | ||||||
|             }, |             }, | ||||||
|             "eco_express": { |             "eco_express": { | ||||||
|                 "name": "Οικολογικό" |                 "name": "Οικολογικό" | ||||||
| @ -944,6 +1124,39 @@ | |||||||
|             }, |             }, | ||||||
|             "mute_mode": { |             "mute_mode": { | ||||||
|                 "name": "Σίγαση λειτουργίας" |                 "name": "Σίγαση λειτουργίας" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_1": { | ||||||
|  |                 "name": "+1 Ξέβγαλμα" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_2": { | ||||||
|  |                 "name": "+2 Ξεβγάλματα" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_3": { | ||||||
|  |                 "name": "+3 Ξεβγάλματα" | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Acquaplus (προσθήκη νερού)" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "Αυτόματη Δοσολογία" | ||||||
|  |             }, | ||||||
|  |             "good_night": { | ||||||
|  |                 "name": "Καληνυχτα" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_softener": { | ||||||
|  |                 "name": "Αυτόματη Δοσολογία Μαλακτικό" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_detergent": { | ||||||
|  |                 "name": "Αυτόματη Δοσολογία Απορρυπαντικό" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "Αυτόματη ρύθμιση" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "binary_sensor": { |         "binary_sensor": { | ||||||
| @ -1015,6 +1228,36 @@ | |||||||
|             }, |             }, | ||||||
|             "prewash": { |             "prewash": { | ||||||
|                 "name": "προπλυση" |                 "name": "προπλυση" | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Acquaplus (προσθήκη νερού)" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "Αυτόματη Δοσολογία" | ||||||
|  |             }, | ||||||
|  |             "buzzer": { | ||||||
|  |                 "name": "Κουδούνισμα τέλους κύκλου" | ||||||
|  |             }, | ||||||
|  |             "holiday_mode": { | ||||||
|  |                 "name": "Λειτουργια Holiday" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "Αυτόματη ρύθμιση" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|  |             }, | ||||||
|  |             "freezer_door": { | ||||||
|  |                 "name": "Πόρτα ανοιχτή Καταψύκτης" | ||||||
|  |             }, | ||||||
|  |             "fridge_door": { | ||||||
|  |                 "name": "Πόρτα ανοιχτή Ψυγείο" | ||||||
|  |             }, | ||||||
|  |             "filter_replacement": { | ||||||
|  |                 "name": "Αντικατάσταση φίλτρου" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "number": { |         "number": { | ||||||
| @ -1044,12 +1287,26 @@ | |||||||
|             }, |             }, | ||||||
|             "dry_time": { |             "dry_time": { | ||||||
|                 "name": "Χρόνος στεγνώματος" |                 "name": "Χρόνος στεγνώματος" | ||||||
|  |             }, | ||||||
|  |             "steam_level": { | ||||||
|  |                 "name": "Επίπεδο ατμού" | ||||||
|  |             }, | ||||||
|  |             "freezer_temp_sel": { | ||||||
|  |                 "name": "Στοχευμένη θερμοκρασία Καταψύκτης" | ||||||
|  |             }, | ||||||
|  |             "fridge_temp_sel": { | ||||||
|  |                 "name": "Στοχευμένη θερμοκρασία Ψυγείο" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "button": { |         "button": { | ||||||
|             "induction_hob": { |             "induction_hob": { | ||||||
|                 "name": "Επαγωγική εστία" |                 "name": "Επαγωγική εστία" | ||||||
|             } |             } | ||||||
|  |         }, | ||||||
|  |         "climate": { | ||||||
|  |             "air_conditioner": { | ||||||
|  |                 "name": "Κλιματιστικό" | ||||||
|  |             } | ||||||
|         } |         } | ||||||
|     }, |     }, | ||||||
|     "config": { |     "config": { | ||||||
|  | |||||||
| @ -77,7 +77,10 @@ | |||||||
|                     "4": "Scheduled", |                     "4": "Scheduled", | ||||||
|                     "5": "Scheduled", |                     "5": "Scheduled", | ||||||
|                     "6": "Error", |                     "6": "Error", | ||||||
|                     "7": "Ready" |                     "7": "Ready", | ||||||
|  |                     "2": "Program running", | ||||||
|  |                     "8": "Test", | ||||||
|  |                     "9": "Stopping cycle…" | ||||||
|                 } |                 } | ||||||
|             }, |             }, | ||||||
|             "program_phases_wm": { |             "program_phases_wm": { | ||||||
| @ -121,7 +124,9 @@ | |||||||
|                     "16": "Cooldown", |                     "16": "Cooldown", | ||||||
|                     "18": "Keep Fresh", |                     "18": "Keep Fresh", | ||||||
|                     "19": "Drying", |                     "19": "Drying", | ||||||
|                     "20": "Drying" |                     "20": "Drying", | ||||||
|  |                     "11": "Ready", | ||||||
|  |                     "17": "unknown" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Phase" |                 "name": "Phase" | ||||||
|             }, |             }, | ||||||
| @ -147,7 +152,8 @@ | |||||||
|                     "12": "Iron dry", |                     "12": "Iron dry", | ||||||
|                     "13": "Cupboard Dry", |                     "13": "Cupboard Dry", | ||||||
|                     "14": "Ready to wear", |                     "14": "Ready to wear", | ||||||
|                     "15": "Extra dry" |                     "15": "Extra dry", | ||||||
|  |                     "11": "No drying" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Drying level" |                 "name": "Drying level" | ||||||
|             }, |             }, | ||||||
| @ -224,6 +230,154 @@ | |||||||
|                     "5": "Fan", |                     "5": "Fan", | ||||||
|                     "6": "Fan" |                     "6": "Fan" | ||||||
|                 } |                 } | ||||||
|  |             }, | ||||||
|  |             "programs_td": { | ||||||
|  |                 "state": { | ||||||
|  |                     "active_dry": "Active Dry", | ||||||
|  |                     "allergy_care": "Anti-allergy", | ||||||
|  |                     "all_in_one": "All in One", | ||||||
|  |                     "antiallergy": "Anti-allergy", | ||||||
|  |                     "anti_odours": "Anti-odours", | ||||||
|  |                     "auto_care": "Auto Care", | ||||||
|  |                     "baby": "Baby", | ||||||
|  |                     "bed_quilt": "Bed Quilt", | ||||||
|  |                     "care_30": "Care 30", | ||||||
|  |                     "care_45": "Care 45", | ||||||
|  |                     "care_59": "Care 59", | ||||||
|  |                     "coloured": "Colored", | ||||||
|  |                     "daily_45_min": "Daily 45'", | ||||||
|  |                     "daily_perfect_59_min": "Daily Perfect 59'", | ||||||
|  |                     "darks_and_coloured": "Darks & Colored", | ||||||
|  |                     "delicates": "Delicates", | ||||||
|  |                     "duvet": "Duvet", | ||||||
|  |                     "eco": "Eco Cotton", | ||||||
|  |                     "ecospeed_cottons": "Ecospeed Cottons", | ||||||
|  |                     "ecospeed_delicates": "Ecospeed Delicates", | ||||||
|  |                     "ecospeed_mixed": "Ecospeed Mixed", | ||||||
|  |                     "extra_hygiene": "Extra Hygiene", | ||||||
|  |                     "fitness": "Fitness", | ||||||
|  |                     "fresh_care": "Fresh Care", | ||||||
|  |                     "genius": "Genius", | ||||||
|  |                     "hqd_baby_care": "Baby Care", | ||||||
|  |                     "hqd_bath_towel": "Towels", | ||||||
|  |                     "hqd_bed_sheets": "Bed Sheets", | ||||||
|  |                     "hqd_bulky": "Bulky Items", | ||||||
|  |                     "hqd_casual": "Casual", | ||||||
|  |                     "hqd_cold_wind_30": "Cool Breeze 30 minutes", | ||||||
|  |                     "hqd_cold_wind_timing": "Cool Breeze ", | ||||||
|  |                     "hqd_cotton": "Cotton", | ||||||
|  |                     "hqd_curtain": "Curtains", | ||||||
|  |                     "hqd_delicate": "Delicates", | ||||||
|  |                     "hqd_diaper": "Diapers", | ||||||
|  |                     "hqd_duvet": "Duvet", | ||||||
|  |                     "hqd_feather": "Down Jackets", | ||||||
|  |                     "hqd_hot_wind_timing": "Hot Air", | ||||||
|  |                     "hqd_hygienic": "Hygienising", | ||||||
|  |                     "hqd_i_refresh": "I-Refresh", | ||||||
|  |                     "hqd_i_refresh_pro": "I-Refresh Pro", | ||||||
|  |                     "hqd_jacket": "Jackets", | ||||||
|  |                     "hqd_jeans": "Jeans", | ||||||
|  |                     "hqd_luxury": "Luxury", | ||||||
|  |                     "hqd_mix": "Mixed", | ||||||
|  |                     "hqd_night_dry": "Overnight drying", | ||||||
|  |                     "hqd_outdoor": "Outdoor", | ||||||
|  |                     "hqd_precious_cure": "Precious Cure", | ||||||
|  |                     "hqd_quick_20": "Quick 20", | ||||||
|  |                     "hqd_quick_30": "Quick 30", | ||||||
|  |                     "hqd_quick_dry": "Quick dry", | ||||||
|  |                     "hqd_quilt": "Quilts", | ||||||
|  |                     "hqd_refresh": "Refresh", | ||||||
|  |                     "hqd_school_uniform": "School Uniform", | ||||||
|  |                     "hqd_shirt": "Shirts", | ||||||
|  |                     "hqd_shoes": "Shoes", | ||||||
|  |                     "hqd_silk": "Silk", | ||||||
|  |                     "hqd_sports": "Sports", | ||||||
|  |                     "hqd_synthetics": "Synthetics", | ||||||
|  |                     "hqd_timer": "Timed", | ||||||
|  |                     "hqd_towel": "Towels", | ||||||
|  |                     "hqd_underwear": "Underwear", | ||||||
|  |                     "hqd_warm_up": "Warm up", | ||||||
|  |                     "hqd_wool": "Wool", | ||||||
|  |                     "hqd_working_suit": "Workwear", | ||||||
|  |                     "hygiene": "Hygiene", | ||||||
|  |                     "iot_checkup": "Check-Up", | ||||||
|  |                     "iot_dry_anti_mites": "Anti-mites", | ||||||
|  |                     "iot_dry_baby": "Baby", | ||||||
|  |                     "iot_dry_backpacks": "Backpacks", | ||||||
|  |                     "iot_dry_bathrobe": "Bathrobe", | ||||||
|  |                     "iot_dry_bed_linen": "Bed Linen", | ||||||
|  |                     "iot_dry_bed_quilt": "Bed Quilt", | ||||||
|  |                     "iot_dry_cotton": "Cotton", | ||||||
|  |                     "iot_dry_cuddly_toys": "Cuddly Toys", | ||||||
|  |                     "iot_dry_curtains": "Curtains", | ||||||
|  |                     "iot_dry_dehumidifier": "Humidity Remover", | ||||||
|  |                     "iot_dry_delicates": "Delicates", | ||||||
|  |                     "iot_dry_delicate_tablecloths": "Delicate Tablecloths", | ||||||
|  |                     "iot_dry_denim_jeans": "Denim - Jeans", | ||||||
|  |                     "iot_dry_down_jacket": "Jacket", | ||||||
|  |                     "iot_dry_duvet": "Duvet", | ||||||
|  |                     "iot_dry_easy_iron_cotton": "Super Easy Iron", | ||||||
|  |                     "iot_dry_easy_iron_synthetics": "Super Easy Iron Synthetics", | ||||||
|  |                     "iot_dry_gym_fit": "Gym fit - Fitness", | ||||||
|  |                     "iot_dry_lingerie": "Lingerie", | ||||||
|  |                     "iot_dry_mixed": "Mixed", | ||||||
|  |                     "iot_dry_playsuits": "Playsuits", | ||||||
|  |                     "iot_dry_rapid_30": "Rapid 30", | ||||||
|  |                     "iot_dry_rapid_59": "Rapid 59'", | ||||||
|  |                     "iot_dry_refresh": "Refresh", | ||||||
|  |                     "iot_dry_regenerates_waterproof": "Regenerates Waterproof", | ||||||
|  |                     "iot_dry_relax_creases": "Relax Creases", | ||||||
|  |                     "iot_dry_shirts": "Shirts", | ||||||
|  |                     "iot_dry_small_load": "Small Load", | ||||||
|  |                     "iot_dry_swimsuits_and_bikinis": "Swimsuits and Bikinis", | ||||||
|  |                     "iot_dry_synthetics": "Synthetics", | ||||||
|  |                     "iot_dry_synthetic_dry": "Synthetic Dry", | ||||||
|  |                     "iot_dry_tablecloths": "Tablecloths", | ||||||
|  |                     "iot_dry_technical_fabrics": "Technical Fabrics", | ||||||
|  |                     "iot_dry_warm_embrace": "Warm Embrace", | ||||||
|  |                     "iot_dry_wool": "Wool", | ||||||
|  |                     "jeans": "Jeans", | ||||||
|  |                     "mix_and_dry": "Mix&Dry", | ||||||
|  |                     "pets": "Pets", | ||||||
|  |                     "pre_iron": "Pre-Iron", | ||||||
|  |                     "rapid_30": "Rapid 30", | ||||||
|  |                     "rapid_45": "Rapid 45 min", | ||||||
|  |                     "rapid_59": "Perfect Rapid 59 Min", | ||||||
|  |                     "refresh": "Refresh", | ||||||
|  |                     "relax_creases": "Relax Creases", | ||||||
|  |                     "saving_30_min": "Saving 30'", | ||||||
|  |                     "shirts": "Shirts", | ||||||
|  |                     "shoes": "Shoes", | ||||||
|  |                     "small_load": "Small Load", | ||||||
|  |                     "soft_care": "Soft Care", | ||||||
|  |                     "sport_plus": "Sport Plus", | ||||||
|  |                     "super_easy_iron_misti": "Super Easy Iron Mixed", | ||||||
|  |                     "super_easy_iron_xxl": "Super Easy Iron XXL", | ||||||
|  |                     "super_fast_cottons": "Super Fast Cottons", | ||||||
|  |                     "super_fast_delicates": "Super Fast Delicates", | ||||||
|  |                     "synthetics": "Syntethics", | ||||||
|  |                     "total_care": "Total Care", | ||||||
|  |                     "trainers": "Trainers", | ||||||
|  |                     "ultra_care": "Ultra Care", | ||||||
|  |                     "waterproof_revitalize": "Waterproof Revitalize", | ||||||
|  |                     "whites": "Whites", | ||||||
|  |                     "wool": "Dry Wool", | ||||||
|  |                     "woolmark": "Wool", | ||||||
|  |                     "xxl_load": "XXL Load", | ||||||
|  |                     "zoom_59": "Zoom 59" | ||||||
|  |                 } | ||||||
|  |             }, | ||||||
|  |             "room_temperature": { | ||||||
|  |                 "name": "Room temperature" | ||||||
|  |             }, | ||||||
|  |             "humidity": { | ||||||
|  |                 "name": "Humidity" | ||||||
|  |             }, | ||||||
|  |             "freezer_temp": { | ||||||
|  |                 "name": "Freezer temperature" | ||||||
|  |             }, | ||||||
|  |             "fridge_temp": { | ||||||
|  |                 "name": "Fridge temperature" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "switch": { |         "switch": { | ||||||
| @ -231,7 +385,7 @@ | |||||||
|                 "name": "Anticrease" |                 "name": "Anticrease" | ||||||
|             }, |             }, | ||||||
|             "add_dish": { |             "add_dish": { | ||||||
|                 "name": "" |                 "name": "Add dishes" | ||||||
|             }, |             }, | ||||||
|             "eco_express": { |             "eco_express": { | ||||||
|                 "name": "Eco" |                 "name": "Eco" | ||||||
| @ -298,6 +452,39 @@ | |||||||
|             }, |             }, | ||||||
|             "mute_mode": { |             "mute_mode": { | ||||||
|                 "name": "Mute mode" |                 "name": "Mute mode" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_1": { | ||||||
|  |                 "name": "+1 Rinse" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_2": { | ||||||
|  |                 "name": "+2 Rinses" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_3": { | ||||||
|  |                 "name": "+3 Rinses" | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Acquaplus" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "Autodose" | ||||||
|  |             }, | ||||||
|  |             "good_night": { | ||||||
|  |                 "name": "Good Night" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_softener": { | ||||||
|  |                 "name": "Autodose Softener" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_detergent": { | ||||||
|  |                 "name": "Autodose Detergent" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "Auto-Set" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "select": { |         "select": { | ||||||
| @ -311,7 +498,8 @@ | |||||||
|                     "12": "Iron dry", |                     "12": "Iron dry", | ||||||
|                     "13": "Cupboard Dry", |                     "13": "Cupboard Dry", | ||||||
|                     "14": "Ready to wear", |                     "14": "Ready to wear", | ||||||
|                     "15": "Extra dry" |                     "15": "Extra dry", | ||||||
|  |                     "11": "No drying" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Drying level" |                 "name": "Drying level" | ||||||
|             }, |             }, | ||||||
| @ -1011,6 +1199,32 @@ | |||||||
|                     "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" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "binary_sensor": { |         "binary_sensor": { | ||||||
| @ -1082,6 +1296,36 @@ | |||||||
|             }, |             }, | ||||||
|             "prewash": { |             "prewash": { | ||||||
|                 "name": "Pre-wash " |                 "name": "Pre-wash " | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Acquaplus" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "Autodose" | ||||||
|  |             }, | ||||||
|  |             "buzzer": { | ||||||
|  |                 "name": "Cycle end chime" | ||||||
|  |             }, | ||||||
|  |             "holiday_mode": { | ||||||
|  |                 "name": "Holiday Mode" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "Auto-Set" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|  |             }, | ||||||
|  |             "freezer_door": { | ||||||
|  |                 "name": "Door open Freezer" | ||||||
|  |             }, | ||||||
|  |             "fridge_door": { | ||||||
|  |                 "name": "Door open Fridge" | ||||||
|  |             }, | ||||||
|  |             "filter_replacement": { | ||||||
|  |                 "name": "Filter replacement" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "number": { |         "number": { | ||||||
| @ -1111,12 +1355,26 @@ | |||||||
|             }, |             }, | ||||||
|             "dry_time": { |             "dry_time": { | ||||||
|                 "name": "Drying time" |                 "name": "Drying time" | ||||||
|  |             }, | ||||||
|  |             "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" | ||||||
|             } |             } | ||||||
|  |         }, | ||||||
|  |         "climate": { | ||||||
|  |             "air_conditioner": { | ||||||
|  |                 "name": "Air conditioner" | ||||||
|  |             } | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
| @ -9,7 +9,10 @@ | |||||||
|                     "4": "Programado", |                     "4": "Programado", | ||||||
|                     "5": "Programado", |                     "5": "Programado", | ||||||
|                     "6": "Error", |                     "6": "Error", | ||||||
|                     "7": "Listo" |                     "7": "Listo", | ||||||
|  |                     "2": "Programa en marcha", | ||||||
|  |                     "8": "Test", | ||||||
|  |                     "9": "Parada del ciclo..." | ||||||
|                 } |                 } | ||||||
|             }, |             }, | ||||||
|             "program_phases_wm": { |             "program_phases_wm": { | ||||||
| @ -53,7 +56,9 @@ | |||||||
|                     "16": "Enfriar", |                     "16": "Enfriar", | ||||||
|                     "18": "Ropa fresca", |                     "18": "Ropa fresca", | ||||||
|                     "19": "Secado", |                     "19": "Secado", | ||||||
|                     "20": "Secado" |                     "20": "Secado", | ||||||
|  |                     "11": "Listo", | ||||||
|  |                     "17": "unknown" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Fase" |                 "name": "Fase" | ||||||
|             }, |             }, | ||||||
| @ -79,7 +84,8 @@ | |||||||
|                     "12": "Planchar", |                     "12": "Planchar", | ||||||
|                     "13": "Listo para guardar", |                     "13": "Listo para guardar", | ||||||
|                     "14": "Listo para llevar", |                     "14": "Listo para llevar", | ||||||
|                     "15": "Extraseco" |                     "15": "Extraseco", | ||||||
|  |                     "11": "Sin secado" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Nivel de secado" |                 "name": "Nivel de secado" | ||||||
|             }, |             }, | ||||||
| @ -165,6 +171,154 @@ | |||||||
|                     "5": "Ventilador", |                     "5": "Ventilador", | ||||||
|                     "6": "Ventilador" |                     "6": "Ventilador" | ||||||
|                 } |                 } | ||||||
|  |             }, | ||||||
|  |             "programs_td": { | ||||||
|  |                 "state": { | ||||||
|  |                     "active_dry": "Secado activo", | ||||||
|  |                     "allergy_care": "Antialergénico", | ||||||
|  |                     "all_in_one": "All in One", | ||||||
|  |                     "antiallergy": "Antialergénico", | ||||||
|  |                     "anti_odours": "Anti-olor", | ||||||
|  |                     "auto_care": "Autocuidado", | ||||||
|  |                     "baby": "Baby", | ||||||
|  |                     "bed_quilt": "Edredón", | ||||||
|  |                     "care_30": "Cuidado 30", | ||||||
|  |                     "care_45": "Cuidado 45", | ||||||
|  |                     "care_59": "Cuidado 59", | ||||||
|  |                     "coloured": "Color", | ||||||
|  |                     "daily_45_min": "DIARIO 45'", | ||||||
|  |                     "daily_perfect_59_min": "DIARIO PERFECTO 59'", | ||||||
|  |                     "darks_and_coloured": "Oscuro & Color", | ||||||
|  |                     "delicates": "Delicados", | ||||||
|  |                     "duvet": "Edredón", | ||||||
|  |                     "eco": "Algodón Eco", | ||||||
|  |                     "ecospeed_cottons": "Ecospeed Algodón", | ||||||
|  |                     "ecospeed_delicates": "Ecospeed Delicados", | ||||||
|  |                     "ecospeed_mixed": "Ecospeed Mixtos", | ||||||
|  |                     "extra_hygiene": "Higiene Extra", | ||||||
|  |                     "fitness": "Deporte", | ||||||
|  |                     "fresh_care": "Cuidado y frescor", | ||||||
|  |                     "genius": "Genius", | ||||||
|  |                     "hqd_baby_care": "Baby Care", | ||||||
|  |                     "hqd_bath_towel": "Toallas", | ||||||
|  |                     "hqd_bed_sheets": "Sábanas", | ||||||
|  |                     "hqd_bulky": "Objetos voluminosos", | ||||||
|  |                     "hqd_casual": "Casual", | ||||||
|  |                     "hqd_cold_wind_30": "Brisa fresca 30 minutos", | ||||||
|  |                     "hqd_cold_wind_timing": "Brisa fresca ", | ||||||
|  |                     "hqd_cotton": "Algodón", | ||||||
|  |                     "hqd_curtain": "Cortinas", | ||||||
|  |                     "hqd_delicate": "Ropa delicada", | ||||||
|  |                     "hqd_diaper": "Pañales", | ||||||
|  |                     "hqd_duvet": "Edredones", | ||||||
|  |                     "hqd_feather": "Plumíferos", | ||||||
|  |                     "hqd_hot_wind_timing": "Aire caliente", | ||||||
|  |                     "hqd_hygienic": "Higienizar", | ||||||
|  |                     "hqd_i_refresh": "I-Refresh", | ||||||
|  |                     "hqd_i_refresh_pro": "I-Refresh Pro", | ||||||
|  |                     "hqd_jacket": "Chaquetas", | ||||||
|  |                     "hqd_jeans": "Vaqueros", | ||||||
|  |                     "hqd_luxury": "Lujo", | ||||||
|  |                     "hqd_mix": "Ropa mixta", | ||||||
|  |                     "hqd_night_dry": "Secado nocturno", | ||||||
|  |                     "hqd_outdoor": "Outdoor", | ||||||
|  |                     "hqd_precious_cure": "Precious cure", | ||||||
|  |                     "hqd_quick_20": "Rápido 20", | ||||||
|  |                     "hqd_quick_30": "Rápido 30", | ||||||
|  |                     "hqd_quick_dry": "Secado rápido", | ||||||
|  |                     "hqd_quilt": "Colchas", | ||||||
|  |                     "hqd_refresh": "Refrescar", | ||||||
|  |                     "hqd_school_uniform": "Uniformes escolares", | ||||||
|  |                     "hqd_shirt": "Camisas", | ||||||
|  |                     "hqd_shoes": "Zapatos", | ||||||
|  |                     "hqd_silk": "Seda", | ||||||
|  |                     "hqd_sports": "Deporte", | ||||||
|  |                     "hqd_synthetics": "Sintéticos", | ||||||
|  |                     "hqd_timer": "Temporizado", | ||||||
|  |                     "hqd_towel": "Toallas", | ||||||
|  |                     "hqd_underwear": "Ropa interior", | ||||||
|  |                     "hqd_warm_up": "Calentar", | ||||||
|  |                     "hqd_wool": "Lana", | ||||||
|  |                     "hqd_working_suit": "Ropa de trabajo", | ||||||
|  |                     "hygiene": "Higiene", | ||||||
|  |                     "iot_checkup": "Revisión", | ||||||
|  |                     "iot_dry_anti_mites": "Antiácaros", | ||||||
|  |                     "iot_dry_baby": "Baby", | ||||||
|  |                     "iot_dry_backpacks": "Mochilas", | ||||||
|  |                     "iot_dry_bathrobe": "Ropa de Baño", | ||||||
|  |                     "iot_dry_bed_linen": "Ropa de Cama", | ||||||
|  |                     "iot_dry_bed_quilt": "Edredón", | ||||||
|  |                     "iot_dry_cotton": "Algodón", | ||||||
|  |                     "iot_dry_cuddly_toys": "Peluches", | ||||||
|  |                     "iot_dry_curtains": "Cortinas", | ||||||
|  |                     "iot_dry_dehumidifier": "Eliminador de humedad", | ||||||
|  |                     "iot_dry_delicates": "Delicados", | ||||||
|  |                     "iot_dry_delicate_tablecloths": "Mantelería Delicada", | ||||||
|  |                     "iot_dry_denim_jeans": "Denim - Vaqueros", | ||||||
|  |                     "iot_dry_down_jacket": "Jacket", | ||||||
|  |                     "iot_dry_duvet": "Edredón", | ||||||
|  |                     "iot_dry_easy_iron_cotton": "Planchado Súper Fácil", | ||||||
|  |                     "iot_dry_easy_iron_synthetics": "Planchado muy fácil - Sintéticos", | ||||||
|  |                     "iot_dry_gym_fit": "Ropa de Deporte - Fitness", | ||||||
|  |                     "iot_dry_lingerie": "Lencería", | ||||||
|  |                     "iot_dry_mixed": "Ropa mixta", | ||||||
|  |                     "iot_dry_playsuits": "Prendas de una pieza - Mono", | ||||||
|  |                     "iot_dry_rapid_30": "Rápido 30’", | ||||||
|  |                     "iot_dry_rapid_59": "Rápido 59’", | ||||||
|  |                     "iot_dry_refresh": "Refresh", | ||||||
|  |                     "iot_dry_regenerates_waterproof": "Regeneración Tejidos Impermeables", | ||||||
|  |                     "iot_dry_relax_creases": "Reducción Arrugas", | ||||||
|  |                     "iot_dry_shirts": "Camisas", | ||||||
|  |                     "iot_dry_small_load": "Carga reducida", | ||||||
|  |                     "iot_dry_swimsuits_and_bikinis": "Trajes de baño", | ||||||
|  |                     "iot_dry_synthetics": "Sintéticos", | ||||||
|  |                     "iot_dry_synthetic_dry": "Secado de prendas sintéticas", | ||||||
|  |                     "iot_dry_tablecloths": "Mantelería", | ||||||
|  |                     "iot_dry_technical_fabrics": "Tejidos Técnicos", | ||||||
|  |                     "iot_dry_warm_embrace": "Abrazo cálido", | ||||||
|  |                     "iot_dry_wool": "Woolmark", | ||||||
|  |                     "jeans": "Vaqueros", | ||||||
|  |                     "mix_and_dry": "Mix&Dry", | ||||||
|  |                     "pets": "Mascotas", | ||||||
|  |                     "pre_iron": "Pre-Planchado", | ||||||
|  |                     "rapid_30": "Rápido 30 min", | ||||||
|  |                     "rapid_45": "Rápido 45 min", | ||||||
|  |                     "rapid_59": "Perfecto Rápido 59 Min", | ||||||
|  |                     "refresh": "Refresh", | ||||||
|  |                     "relax_creases": "Reducción Arrugas", | ||||||
|  |                     "saving_30_min": "ECO 30'", | ||||||
|  |                     "shirts": "Camisas", | ||||||
|  |                     "shoes": "Zapatos", | ||||||
|  |                     "small_load": "Carga reducida", | ||||||
|  |                     "soft_care": "Cuidado suave", | ||||||
|  |                     "sport_plus": "Deporte", | ||||||
|  |                     "super_easy_iron_misti": "Planchado muy fácil ropa mixta", | ||||||
|  |                     "super_easy_iron_xxl": "Planchado muy fácil XXL", | ||||||
|  |                     "super_fast_cottons": "Algodón Súper Rápido", | ||||||
|  |                     "super_fast_delicates": "Delicados Súper Rápidos", | ||||||
|  |                     "synthetics": "Sintéticos", | ||||||
|  |                     "total_care": "Total Care", | ||||||
|  |                     "trainers": "Calzado Deportivo", | ||||||
|  |                     "ultra_care": "Ultra Care", | ||||||
|  |                     "waterproof_revitalize": "Revitalizante Waterproof", | ||||||
|  |                     "whites": "Blanco", | ||||||
|  |                     "wool": "Secado Lana", | ||||||
|  |                     "woolmark": "Woolmark", | ||||||
|  |                     "xxl_load": "Carga XXL", | ||||||
|  |                     "zoom_59": "Zoom 59" | ||||||
|  |                 } | ||||||
|  |             }, | ||||||
|  |             "room_temperature": { | ||||||
|  |                 "name": "Temperatura ambiente" | ||||||
|  |             }, | ||||||
|  |             "humidity": { | ||||||
|  |                 "name": "Humedad" | ||||||
|  |             }, | ||||||
|  |             "freezer_temp": { | ||||||
|  |                 "name": "Temperatura del congelador" | ||||||
|  |             }, | ||||||
|  |             "fridge_temp": { | ||||||
|  |                 "name": "Temperatura del frigorífico" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "select": { |         "select": { | ||||||
| @ -820,7 +974,8 @@ | |||||||
|                     "12": "Planchar", |                     "12": "Planchar", | ||||||
|                     "13": "Listo para guardar", |                     "13": "Listo para guardar", | ||||||
|                     "14": "Listo para llevar", |                     "14": "Listo para llevar", | ||||||
|                     "15": "Extraseco" |                     "15": "Extraseco", | ||||||
|  |                     "11": "Sin secado" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Nivel de secado" |                 "name": "Nivel de secado" | ||||||
|             }, |             }, | ||||||
| @ -870,6 +1025,31 @@ | |||||||
|                     "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" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "switch": { |         "switch": { | ||||||
| @ -877,7 +1057,7 @@ | |||||||
|                 "name": "Antiarrugas" |                 "name": "Antiarrugas" | ||||||
|             }, |             }, | ||||||
|             "add_dish": { |             "add_dish": { | ||||||
|                 "name": "" |                 "name": "Añade platos" | ||||||
|             }, |             }, | ||||||
|             "eco_express": { |             "eco_express": { | ||||||
|                 "name": "Eco" |                 "name": "Eco" | ||||||
| @ -944,6 +1124,39 @@ | |||||||
|             }, |             }, | ||||||
|             "mute_mode": { |             "mute_mode": { | ||||||
|                 "name": "Modo silencio" |                 "name": "Modo silencio" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_1": { | ||||||
|  |                 "name": "+1 Aclarado" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_2": { | ||||||
|  |                 "name": "+2 Aclarados" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_3": { | ||||||
|  |                 "name": "+3 Aclarados" | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Acquaplus" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "Dosificación automática" | ||||||
|  |             }, | ||||||
|  |             "good_night": { | ||||||
|  |                 "name": "Buenas noches" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_softener": { | ||||||
|  |                 "name": "Dosificación automática Suavizante" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_detergent": { | ||||||
|  |                 "name": "Dosificación automática Detergente" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "Auto-Set" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "binary_sensor": { |         "binary_sensor": { | ||||||
| @ -1015,6 +1228,36 @@ | |||||||
|             }, |             }, | ||||||
|             "prewash": { |             "prewash": { | ||||||
|                 "name": "Pre-lavado" |                 "name": "Pre-lavado" | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Acquaplus" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "Dosificación automática" | ||||||
|  |             }, | ||||||
|  |             "buzzer": { | ||||||
|  |                 "name": "Campana de fin de ciclo" | ||||||
|  |             }, | ||||||
|  |             "holiday_mode": { | ||||||
|  |                 "name": "Modo Holiday" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "Auto-Set" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|  |             }, | ||||||
|  |             "freezer_door": { | ||||||
|  |                 "name": "Puerta abierta Congelador" | ||||||
|  |             }, | ||||||
|  |             "fridge_door": { | ||||||
|  |                 "name": "Puerta abierta Frigorífico" | ||||||
|  |             }, | ||||||
|  |             "filter_replacement": { | ||||||
|  |                 "name": "Sustitución del filtro" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "number": { |         "number": { | ||||||
| @ -1044,12 +1287,26 @@ | |||||||
|             }, |             }, | ||||||
|             "dry_time": { |             "dry_time": { | ||||||
|                 "name": "Tiempo de secado" |                 "name": "Tiempo de secado" | ||||||
|  |             }, | ||||||
|  |             "steam_level": { | ||||||
|  |                 "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" | ||||||
|             } |             } | ||||||
|  |         }, | ||||||
|  |         "climate": { | ||||||
|  |             "air_conditioner": { | ||||||
|  |                 "name": "Aire acondicionado" | ||||||
|  |             } | ||||||
|         } |         } | ||||||
|     }, |     }, | ||||||
|     "config": { |     "config": { | ||||||
|  | |||||||
| @ -9,7 +9,10 @@ | |||||||
|                     "4": "Planifié", |                     "4": "Planifié", | ||||||
|                     "5": "Planifié", |                     "5": "Planifié", | ||||||
|                     "6": "Erreur", |                     "6": "Erreur", | ||||||
|                     "7": "Prêt" |                     "7": "Prêt", | ||||||
|  |                     "2": "Programme en cours", | ||||||
|  |                     "8": "Test", | ||||||
|  |                     "9": "Arrêt du cycle en cours…" | ||||||
|                 } |                 } | ||||||
|             }, |             }, | ||||||
|             "program_phases_wm": { |             "program_phases_wm": { | ||||||
| @ -53,7 +56,9 @@ | |||||||
|                     "16": "Refroidissement", |                     "16": "Refroidissement", | ||||||
|                     "18": "Keep Fresh", |                     "18": "Keep Fresh", | ||||||
|                     "19": "Séchage", |                     "19": "Séchage", | ||||||
|                     "20": "Séchage" |                     "20": "Séchage", | ||||||
|  |                     "11": "Prêt", | ||||||
|  |                     "17": "unknown" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Phase" |                 "name": "Phase" | ||||||
|             }, |             }, | ||||||
| @ -79,7 +84,8 @@ | |||||||
|                     "12": "Fer", |                     "12": "Fer", | ||||||
|                     "13": "Prêt à ranger", |                     "13": "Prêt à ranger", | ||||||
|                     "14": "Prêt à porter", |                     "14": "Prêt à porter", | ||||||
|                     "15": "Extra sec" |                     "15": "Extra sec", | ||||||
|  |                     "11": "Pas de séchage" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Niveau de séchage" |                 "name": "Niveau de séchage" | ||||||
|             }, |             }, | ||||||
| @ -165,6 +171,154 @@ | |||||||
|                     "5": "Ventilateur", |                     "5": "Ventilateur", | ||||||
|                     "6": "Ventilateur" |                     "6": "Ventilateur" | ||||||
|                 } |                 } | ||||||
|  |             }, | ||||||
|  |             "programs_td": { | ||||||
|  |                 "state": { | ||||||
|  |                     "active_dry": "Séchage actif", | ||||||
|  |                     "allergy_care": "Anti-allergies", | ||||||
|  |                     "all_in_one": "Tout en 1", | ||||||
|  |                     "antiallergy": "Anti-allergies", | ||||||
|  |                     "anti_odours": "Anti-odeurs", | ||||||
|  |                     "auto_care": "Soin automatique", | ||||||
|  |                     "baby": "Baby", | ||||||
|  |                     "bed_quilt": "Couette", | ||||||
|  |                     "care_30": "Soin 30", | ||||||
|  |                     "care_45": "Soin 45", | ||||||
|  |                     "care_59": "Soin 59", | ||||||
|  |                     "coloured": "Couleurs", | ||||||
|  |                     "daily_45_min": "QUOTIDIEN 45'", | ||||||
|  |                     "daily_perfect_59_min": "QUOTIDIEN PARFAIT 59'", | ||||||
|  |                     "darks_and_coloured": "Couleurs dont foncées", | ||||||
|  |                     "delicates": "Délicat", | ||||||
|  |                     "duvet": "Couette", | ||||||
|  |                     "eco": "Coton Éco", | ||||||
|  |                     "ecospeed_cottons": "Ecospeed coton", | ||||||
|  |                     "ecospeed_delicates": "Delicats ecospeed", | ||||||
|  |                     "ecospeed_mixed": "Ecospeed mixte", | ||||||
|  |                     "extra_hygiene": "Extra Hygiene", | ||||||
|  |                     "fitness": "Fitness", | ||||||
|  |                     "fresh_care": "Soin frais", | ||||||
|  |                     "genius": "Genius", | ||||||
|  |                     "hqd_baby_care": "Baby Care", | ||||||
|  |                     "hqd_bath_towel": "Serviettes", | ||||||
|  |                     "hqd_bed_sheets": "Draps", | ||||||
|  |                     "hqd_bulky": "Articles volumineux", | ||||||
|  |                     "hqd_casual": "Journalier", | ||||||
|  |                     "hqd_cold_wind_30": "Brise rafraîchissante 30 minutes", | ||||||
|  |                     "hqd_cold_wind_timing": "Brise rafraîchissante ", | ||||||
|  |                     "hqd_cotton": "Coton", | ||||||
|  |                     "hqd_curtain": "Rideaux", | ||||||
|  |                     "hqd_delicate": "Délicats", | ||||||
|  |                     "hqd_diaper": "Couches", | ||||||
|  |                     "hqd_duvet": "Couette", | ||||||
|  |                     "hqd_feather": "Vestes en duvet", | ||||||
|  |                     "hqd_hot_wind_timing": "Air chaud", | ||||||
|  |                     "hqd_hygienic": "Hygiénisation", | ||||||
|  |                     "hqd_i_refresh": "I-Refresh", | ||||||
|  |                     "hqd_i_refresh_pro": "I-Refresh Pro", | ||||||
|  |                     "hqd_jacket": "Vestes", | ||||||
|  |                     "hqd_jeans": "Jeans", | ||||||
|  |                     "hqd_luxury": "Luxury", | ||||||
|  |                     "hqd_mix": "Tissus mélangés", | ||||||
|  |                     "hqd_night_dry": "Séchage toute la nuit", | ||||||
|  |                     "hqd_outdoor": "Outdoor", | ||||||
|  |                     "hqd_precious_cure": "Precious cure", | ||||||
|  |                     "hqd_quick_20": "Rapide 20’", | ||||||
|  |                     "hqd_quick_30": "Rapide 30’", | ||||||
|  |                     "hqd_quick_dry": "Séchage rapide", | ||||||
|  |                     "hqd_quilt": "Couvertures", | ||||||
|  |                     "hqd_refresh": "Rafraîchissement", | ||||||
|  |                     "hqd_school_uniform": "Uniforme scolaire", | ||||||
|  |                     "hqd_shirt": "Chemises", | ||||||
|  |                     "hqd_shoes": "Chaussures", | ||||||
|  |                     "hqd_silk": "Soie", | ||||||
|  |                     "hqd_sports": "Sport", | ||||||
|  |                     "hqd_synthetics": "Synthétiques", | ||||||
|  |                     "hqd_timer": "Temporisé", | ||||||
|  |                     "hqd_towel": "Serviettes", | ||||||
|  |                     "hqd_underwear": "Sous-vêtements", | ||||||
|  |                     "hqd_warm_up": "Réveil", | ||||||
|  |                     "hqd_wool": "Laine", | ||||||
|  |                     "hqd_working_suit": "Vêtements de travail", | ||||||
|  |                     "hygiene": "Hygiène", | ||||||
|  |                     "iot_checkup": "Vérification", | ||||||
|  |                     "iot_dry_anti_mites": "Anti-acariens", | ||||||
|  |                     "iot_dry_baby": "Baby", | ||||||
|  |                     "iot_dry_backpacks": "Sac à dos", | ||||||
|  |                     "iot_dry_bathrobe": "Peignoir", | ||||||
|  |                     "iot_dry_bed_linen": "Linge de lit", | ||||||
|  |                     "iot_dry_bed_quilt": "Couette", | ||||||
|  |                     "iot_dry_cotton": "Coton", | ||||||
|  |                     "iot_dry_cuddly_toys": "Jouets en peluche", | ||||||
|  |                     "iot_dry_curtains": "Rideaux", | ||||||
|  |                     "iot_dry_dehumidifier": "Élimination de l\\'humidité", | ||||||
|  |                     "iot_dry_delicates": "Délicats", | ||||||
|  |                     "iot_dry_delicate_tablecloths": "Nappes délicates", | ||||||
|  |                     "iot_dry_denim_jeans": "Denim - jeans", | ||||||
|  |                     "iot_dry_down_jacket": "Jacket", | ||||||
|  |                     "iot_dry_duvet": "Couette", | ||||||
|  |                     "iot_dry_easy_iron_cotton": "Repassage super facile", | ||||||
|  |                     "iot_dry_easy_iron_synthetics": "Repassage super facile des synthétiques", | ||||||
|  |                     "iot_dry_gym_fit": "Sport", | ||||||
|  |                     "iot_dry_lingerie": "Lingerie", | ||||||
|  |                     "iot_dry_mixed": "Tissus mélangés", | ||||||
|  |                     "iot_dry_playsuits": "Combinaisons", | ||||||
|  |                     "iot_dry_rapid_30": "Rapid 30", | ||||||
|  |                     "iot_dry_rapid_59": "Rapide 59'.", | ||||||
|  |                     "iot_dry_refresh": "Coup d\\'éclat", | ||||||
|  |                     "iot_dry_regenerates_waterproof": "Imperméabilisant", | ||||||
|  |                     "iot_dry_relax_creases": "Anti-plis", | ||||||
|  |                     "iot_dry_shirts": "Chemises", | ||||||
|  |                     "iot_dry_small_load": "Faible charge", | ||||||
|  |                     "iot_dry_swimsuits_and_bikinis": "Maillots de bain", | ||||||
|  |                     "iot_dry_synthetics": "Synthétiques", | ||||||
|  |                     "iot_dry_synthetic_dry": "Séchage des synthétiques", | ||||||
|  |                     "iot_dry_tablecloths": "Nappes", | ||||||
|  |                     "iot_dry_technical_fabrics": "Textiles techniques", | ||||||
|  |                     "iot_dry_warm_embrace": "Chauffage délicat", | ||||||
|  |                     "iot_dry_wool": "Woolmark", | ||||||
|  |                     "jeans": "Jeans", | ||||||
|  |                     "mix_and_dry": "Mix&Dry", | ||||||
|  |                     "pets": "Animaux de compagnie", | ||||||
|  |                     "pre_iron": "Pré-repassage", | ||||||
|  |                     "rapid_30": "Rapid 30", | ||||||
|  |                     "rapid_45": "Rapide 45 min", | ||||||
|  |                     "rapid_59": "Lavage Parfait 59 Min", | ||||||
|  |                     "refresh": "Coup d'éclat", | ||||||
|  |                     "relax_creases": "Anti-plis", | ||||||
|  |                     "saving_30_min": "ECO 30'", | ||||||
|  |                     "shirts": "Chemises", | ||||||
|  |                     "shoes": "Chaussures", | ||||||
|  |                     "small_load": "Faible charge", | ||||||
|  |                     "soft_care": "Soin Doux", | ||||||
|  |                     "sport_plus": "Sports", | ||||||
|  |                     "super_easy_iron_misti": "Repassage super facile des mixtes", | ||||||
|  |                     "super_easy_iron_xxl": "Repassage super facile XXL", | ||||||
|  |                     "super_fast_cottons": "Super rapide coton", | ||||||
|  |                     "super_fast_delicates": "Super rapide délicat", | ||||||
|  |                     "synthetics": "Synthétiques", | ||||||
|  |                     "total_care": "Total Care", | ||||||
|  |                     "trainers": "Baskets", | ||||||
|  |                     "ultra_care": "Ultra Care", | ||||||
|  |                     "waterproof_revitalize": "Entretien imperméable", | ||||||
|  |                     "whites": "Blancs", | ||||||
|  |                     "wool": "Séchage Laine", | ||||||
|  |                     "woolmark": "Woolmark", | ||||||
|  |                     "xxl_load": "Charge XXL", | ||||||
|  |                     "zoom_59": "Zoom 59" | ||||||
|  |                 } | ||||||
|  |             }, | ||||||
|  |             "room_temperature": { | ||||||
|  |                 "name": "Température ambiante" | ||||||
|  |             }, | ||||||
|  |             "humidity": { | ||||||
|  |                 "name": "Humidité" | ||||||
|  |             }, | ||||||
|  |             "freezer_temp": { | ||||||
|  |                 "name": "Température du congélateur" | ||||||
|  |             }, | ||||||
|  |             "fridge_temp": { | ||||||
|  |                 "name": "Température du réfrigérateur" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "select": { |         "select": { | ||||||
| @ -820,7 +974,8 @@ | |||||||
|                     "12": "Fer", |                     "12": "Fer", | ||||||
|                     "13": "Prêt à ranger", |                     "13": "Prêt à ranger", | ||||||
|                     "14": "Prêt à porter", |                     "14": "Prêt à porter", | ||||||
|                     "15": "Extra sec" |                     "15": "Extra sec", | ||||||
|  |                     "11": "Pas de séchage" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Niveau de séchage" |                 "name": "Niveau de séchage" | ||||||
|             }, |             }, | ||||||
| @ -870,6 +1025,31 @@ | |||||||
|                     "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" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "switch": { |         "switch": { | ||||||
| @ -877,7 +1057,7 @@ | |||||||
|                 "name": "Anti-pli" |                 "name": "Anti-pli" | ||||||
|             }, |             }, | ||||||
|             "add_dish": { |             "add_dish": { | ||||||
|                 "name": "" |                 "name": "Ajoutez de la vaisselle" | ||||||
|             }, |             }, | ||||||
|             "eco_express": { |             "eco_express": { | ||||||
|                 "name": "Éco" |                 "name": "Éco" | ||||||
| @ -944,6 +1124,39 @@ | |||||||
|             }, |             }, | ||||||
|             "mute_mode": { |             "mute_mode": { | ||||||
|                 "name": "Mode muet" |                 "name": "Mode muet" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_1": { | ||||||
|  |                 "name": "+1 rinçage" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_2": { | ||||||
|  |                 "name": "+2 rinçages" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_3": { | ||||||
|  |                 "name": "+3 rinçages" | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Acquaplus" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "Dose automatique" | ||||||
|  |             }, | ||||||
|  |             "good_night": { | ||||||
|  |                 "name": "Bonne nuit" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_softener": { | ||||||
|  |                 "name": "Dose automatique Adoucissant" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_detergent": { | ||||||
|  |                 "name": "Dose automatique Lessive" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "Réglage automatique" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "binary_sensor": { |         "binary_sensor": { | ||||||
| @ -1015,6 +1228,36 @@ | |||||||
|             }, |             }, | ||||||
|             "prewash": { |             "prewash": { | ||||||
|                 "name": "Prélavage" |                 "name": "Prélavage" | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Acquaplus" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "Dose automatique" | ||||||
|  |             }, | ||||||
|  |             "buzzer": { | ||||||
|  |                 "name": "Sonnerie de fin de cycle" | ||||||
|  |             }, | ||||||
|  |             "holiday_mode": { | ||||||
|  |                 "name": "Mode Holiday" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "Réglage automatique" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|  |             }, | ||||||
|  |             "freezer_door": { | ||||||
|  |                 "name": "Porte ouverte Congélateur" | ||||||
|  |             }, | ||||||
|  |             "fridge_door": { | ||||||
|  |                 "name": "Porte ouverte Réfrigérateur" | ||||||
|  |             }, | ||||||
|  |             "filter_replacement": { | ||||||
|  |                 "name": "Remplacement du filtre" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "number": { |         "number": { | ||||||
| @ -1044,12 +1287,26 @@ | |||||||
|             }, |             }, | ||||||
|             "dry_time": { |             "dry_time": { | ||||||
|                 "name": "Temps de séchage" |                 "name": "Temps de séchage" | ||||||
|  |             }, | ||||||
|  |             "steam_level": { | ||||||
|  |                 "name": "Niveau de vapeur" | ||||||
|  |             }, | ||||||
|  |             "freezer_temp_sel": { | ||||||
|  |                 "name": "Température cible Congélateur" | ||||||
|  |             }, | ||||||
|  |             "fridge_temp_sel": { | ||||||
|  |                 "name": "Température cible Réfrigérateur" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "button": { |         "button": { | ||||||
|             "induction_hob": { |             "induction_hob": { | ||||||
|                 "name": "Table de cuisson à induction" |                 "name": "Table de cuisson à induction" | ||||||
|             } |             } | ||||||
|  |         }, | ||||||
|  |         "climate": { | ||||||
|  |             "air_conditioner": { | ||||||
|  |                 "name": "Climatiseur" | ||||||
|  |             } | ||||||
|         } |         } | ||||||
|     }, |     }, | ||||||
|     "config": { |     "config": { | ||||||
|  | |||||||
| @ -9,7 +9,10 @@ | |||||||
|                     "4": "מתוזמן", |                     "4": "מתוזמן", | ||||||
|                     "5": "מתוזמן", |                     "5": "מתוזמן", | ||||||
|                     "6": "שְׁגִיאָה", |                     "6": "שְׁגִיאָה", | ||||||
|                     "7": "מוּכָן" |                     "7": "מוּכָן", | ||||||
|  |                     "2": "התוכנית פועלת", | ||||||
|  |                     "8": "Test", | ||||||
|  |                     "9": "Stopping cycle…" | ||||||
|                 } |                 } | ||||||
|             }, |             }, | ||||||
|             "program_phases_wm": { |             "program_phases_wm": { | ||||||
| @ -53,7 +56,9 @@ | |||||||
|                     "16": "Cooldown", |                     "16": "Cooldown", | ||||||
|                     "18": "Keep Fresh", |                     "18": "Keep Fresh", | ||||||
|                     "19": "יִבּוּשׁ", |                     "19": "יִבּוּשׁ", | ||||||
|                     "20": "יִבּוּשׁ" |                     "20": "יִבּוּשׁ", | ||||||
|  |                     "11": "מוּכָן", | ||||||
|  |                     "17": "unknown" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "שלב" |                 "name": "שלב" | ||||||
|             }, |             }, | ||||||
| @ -79,7 +84,8 @@ | |||||||
|                     "12": "בַּרזֶל", |                     "12": "בַּרזֶל", | ||||||
|                     "13": "ארון יבש", |                     "13": "ארון יבש", | ||||||
|                     "14": "Ready to wear", |                     "14": "Ready to wear", | ||||||
|                     "15": "יבש במיוחד" |                     "15": "יבש במיוחד", | ||||||
|  |                     "11": "ללא ייבוש" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "רמת ייבוש" |                 "name": "רמת ייבוש" | ||||||
|             }, |             }, | ||||||
| @ -165,6 +171,35 @@ | |||||||
|                     "5": "Fan", |                     "5": "Fan", | ||||||
|                     "6": "Fan" |                     "6": "Fan" | ||||||
|                 } |                 } | ||||||
|  |             }, | ||||||
|  |             "programs_td": { | ||||||
|  |                 "state": { | ||||||
|  |                     "genius": "Genius", | ||||||
|  |                     "hqd_bath_towel": "Bath towel", | ||||||
|  |                     "hqd_bulky": "Bulky", | ||||||
|  |                     "hqd_cold_wind_30": "Cold wind 30 minutes", | ||||||
|  |                     "hqd_cold_wind_timing": "Cold wind", | ||||||
|  |                     "hqd_hot_wind_timing": "Hot wind", | ||||||
|  |                     "hqd_luxury": "Luxury", | ||||||
|  |                     "hqd_night_dry": "Night dry", | ||||||
|  |                     "hqd_refresh": "Refresh", | ||||||
|  |                     "hqd_timer": "תוזמן", | ||||||
|  |                     "hqd_warm_up": "Warm up", | ||||||
|  |                     "hqd_working_suit": "Working suit", | ||||||
|  |                     "iot_dry_synthetic_dry": "סינתטי יבש" | ||||||
|  |                 } | ||||||
|  |             }, | ||||||
|  |             "room_temperature": { | ||||||
|  |                 "name": "Room temperature" | ||||||
|  |             }, | ||||||
|  |             "humidity": { | ||||||
|  |                 "name": "Humidity" | ||||||
|  |             }, | ||||||
|  |             "freezer_temp": { | ||||||
|  |                 "name": "Freezer temperature" | ||||||
|  |             }, | ||||||
|  |             "fridge_temp": { | ||||||
|  |                 "name": "Fridge temperature" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "select": { |         "select": { | ||||||
| @ -419,7 +454,8 @@ | |||||||
|                     "12": "בַּרזֶל", |                     "12": "בַּרזֶל", | ||||||
|                     "13": "ארון יבש", |                     "13": "ארון יבש", | ||||||
|                     "14": "Ready to wear", |                     "14": "Ready to wear", | ||||||
|                     "15": "יבש במיוחד" |                     "15": "יבש במיוחד", | ||||||
|  |                     "11": "ללא ייבוש" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "רמת ייבוש" |                 "name": "רמת ייבוש" | ||||||
|             }, |             }, | ||||||
| @ -453,6 +489,20 @@ | |||||||
|                 "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": "זמן שנותר" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "switch": { |         "switch": { | ||||||
| @ -460,7 +510,7 @@ | |||||||
|                 "name": "Anticrease" |                 "name": "Anticrease" | ||||||
|             }, |             }, | ||||||
|             "add_dish": { |             "add_dish": { | ||||||
|                 "name": "" |                 "name": "Add dishes" | ||||||
|             }, |             }, | ||||||
|             "eco_express": { |             "eco_express": { | ||||||
|                 "name": "Eco" |                 "name": "Eco" | ||||||
| @ -527,6 +577,39 @@ | |||||||
|             }, |             }, | ||||||
|             "mute_mode": { |             "mute_mode": { | ||||||
|                 "name": "Mute mode" |                 "name": "Mute mode" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_1": { | ||||||
|  |                 "name": "+1 שטיפה" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_2": { | ||||||
|  |                 "name": "+2 שטיפות" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_3": { | ||||||
|  |                 "name": "+3 שטיפות" | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Acquaplus" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "מינון אוטומטי" | ||||||
|  |             }, | ||||||
|  |             "good_night": { | ||||||
|  |                 "name": "לילה טוב" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_softener": { | ||||||
|  |                 "name": "מינון אוטומטי מרכך" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_detergent": { | ||||||
|  |                 "name": "מינון אוטומטי חומר ניקוי" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "Auto-Set" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "binary_sensor": { |         "binary_sensor": { | ||||||
| @ -598,6 +681,36 @@ | |||||||
|             }, |             }, | ||||||
|             "prewash": { |             "prewash": { | ||||||
|                 "name": "שטיפה מראש" |                 "name": "שטיפה מראש" | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Acquaplus" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "מינון אוטומטי" | ||||||
|  |             }, | ||||||
|  |             "buzzer": { | ||||||
|  |                 "name": "Cycle end chime" | ||||||
|  |             }, | ||||||
|  |             "holiday_mode": { | ||||||
|  |                 "name": "Holiday Mode" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "Auto-Set" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|  |             }, | ||||||
|  |             "freezer_door": { | ||||||
|  |                 "name": "Door open Freezer" | ||||||
|  |             }, | ||||||
|  |             "fridge_door": { | ||||||
|  |                 "name": "Door open Fridge" | ||||||
|  |             }, | ||||||
|  |             "filter_replacement": { | ||||||
|  |                 "name": "Filter replacement" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "number": { |         "number": { | ||||||
| @ -627,12 +740,26 @@ | |||||||
|             }, |             }, | ||||||
|             "dry_time": { |             "dry_time": { | ||||||
|                 "name": "זמן ייבוש" |                 "name": "זמן ייבוש" | ||||||
|  |             }, | ||||||
|  |             "steam_level": { | ||||||
|  |                 "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" | ||||||
|             } |             } | ||||||
|  |         }, | ||||||
|  |         "climate": { | ||||||
|  |             "air_conditioner": { | ||||||
|  |                 "name": "Air conditioner" | ||||||
|  |             } | ||||||
|         } |         } | ||||||
|     }, |     }, | ||||||
|     "config": { |     "config": { | ||||||
|  | |||||||
| @ -9,7 +9,10 @@ | |||||||
|                     "4": "Zakazano", |                     "4": "Zakazano", | ||||||
|                     "5": "Zakazano", |                     "5": "Zakazano", | ||||||
|                     "6": "Greška", |                     "6": "Greška", | ||||||
|                     "7": "Spremno" |                     "7": "Spremno", | ||||||
|  |                     "2": "Program u tijeku", | ||||||
|  |                     "8": "Test", | ||||||
|  |                     "9": "Zaustavljanje ciklusa…" | ||||||
|                 } |                 } | ||||||
|             }, |             }, | ||||||
|             "program_phases_wm": { |             "program_phases_wm": { | ||||||
| @ -53,7 +56,9 @@ | |||||||
|                     "16": "Hlađenje", |                     "16": "Hlađenje", | ||||||
|                     "18": "Održi svježim", |                     "18": "Održi svježim", | ||||||
|                     "19": "Sušenje", |                     "19": "Sušenje", | ||||||
|                     "20": "Sušenje" |                     "20": "Sušenje", | ||||||
|  |                     "11": "Spremno", | ||||||
|  |                     "17": "unknown" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Faza" |                 "name": "Faza" | ||||||
|             }, |             }, | ||||||
| @ -79,7 +84,8 @@ | |||||||
|                     "12": "Suho za glačanje", |                     "12": "Suho za glačanje", | ||||||
|                     "13": "Suho za spremanje", |                     "13": "Suho za spremanje", | ||||||
|                     "14": "Spremno za nošenje", |                     "14": "Spremno za nošenje", | ||||||
|                     "15": "Potpuno suho" |                     "15": "Potpuno suho", | ||||||
|  |                     "11": "Bez sušenja" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Stupanj suhoće" |                 "name": "Stupanj suhoće" | ||||||
|             }, |             }, | ||||||
| @ -165,6 +171,154 @@ | |||||||
|                     "5": "Ventilator", |                     "5": "Ventilator", | ||||||
|                     "6": "Ventilator" |                     "6": "Ventilator" | ||||||
|                 } |                 } | ||||||
|  |             }, | ||||||
|  |             "programs_td": { | ||||||
|  |                 "state": { | ||||||
|  |                     "active_dry": "Aktivno sušenje", | ||||||
|  |                     "allergy_care": "Antialergijski", | ||||||
|  |                     "all_in_one": "All in One", | ||||||
|  |                     "antiallergy": "Antialergijski", | ||||||
|  |                     "anti_odours": "Protiv neugodnih mirisa", | ||||||
|  |                     "auto_care": "Auto Care", | ||||||
|  |                     "baby": "Dječje rublje", | ||||||
|  |                     "bed_quilt": "Pokrivači", | ||||||
|  |                     "care_30": "Njega 30", | ||||||
|  |                     "care_45": "Njega 45", | ||||||
|  |                     "care_59": "Njega 59", | ||||||
|  |                     "coloured": "Šareno", | ||||||
|  |                     "daily_45_min": "Dnevni 45'", | ||||||
|  |                     "daily_perfect_59_min": "Dnevni Perfect 59'", | ||||||
|  |                     "darks_and_coloured": "Tamno & Šareno", | ||||||
|  |                     "delicates": "Osjetljivo", | ||||||
|  |                     "duvet": "Popluni", | ||||||
|  |                     "eco": "Ekološki pamuk", | ||||||
|  |                     "ecospeed_cottons": "Ecospeed Pamuk", | ||||||
|  |                     "ecospeed_delicates": "Ecospeed osjetljivo", | ||||||
|  |                     "ecospeed_mixed": "Ecospeed Miješane tkanine", | ||||||
|  |                     "extra_hygiene": "Extra higijenski", | ||||||
|  |                     "fitness": "Fitness", | ||||||
|  |                     "fresh_care": "Svježa njega", | ||||||
|  |                     "genius": "Genius", | ||||||
|  |                     "hqd_baby_care": "Baby Care", | ||||||
|  |                     "hqd_bath_towel": "Ručnici", | ||||||
|  |                     "hqd_bed_sheets": "Plahte", | ||||||
|  |                     "hqd_bulky": "Glomazni komadi", | ||||||
|  |                     "hqd_casual": "Opušteno", | ||||||
|  |                     "hqd_cold_wind_30": "Hladni zrak, 30 minuta", | ||||||
|  |                     "hqd_cold_wind_timing": "Hladni zrak ", | ||||||
|  |                     "hqd_cotton": "Pamuk", | ||||||
|  |                     "hqd_curtain": "Zavjese", | ||||||
|  |                     "hqd_delicate": "Osjetljivo rublje", | ||||||
|  |                     "hqd_diaper": "Pelene", | ||||||
|  |                     "hqd_duvet": "Poplun", | ||||||
|  |                     "hqd_feather": "Jakne punjene paperjem", | ||||||
|  |                     "hqd_hot_wind_timing": "Vrući zrak", | ||||||
|  |                     "hqd_hygienic": "Higijenizacija", | ||||||
|  |                     "hqd_i_refresh": "I-Refresh", | ||||||
|  |                     "hqd_i_refresh_pro": "I-Refresh Pro", | ||||||
|  |                     "hqd_jacket": "Jakne", | ||||||
|  |                     "hqd_jeans": "Traperice", | ||||||
|  |                     "hqd_luxury": "Luxury", | ||||||
|  |                     "hqd_mix": "Miješano rublje", | ||||||
|  |                     "hqd_night_dry": "Sušenje preko noći", | ||||||
|  |                     "hqd_outdoor": "Outdoor", | ||||||
|  |                     "hqd_precious_cure": "Precious Cure", | ||||||
|  |                     "hqd_quick_20": "Brzo 20", | ||||||
|  |                     "hqd_quick_30": "Brzo 30", | ||||||
|  |                     "hqd_quick_dry": "Brzo sušenje", | ||||||
|  |                     "hqd_quilt": "Popluni", | ||||||
|  |                     "hqd_refresh": "Protiv neugodnih mirisa", | ||||||
|  |                     "hqd_school_uniform": "Školska uniforma", | ||||||
|  |                     "hqd_shirt": "Majice", | ||||||
|  |                     "hqd_shoes": "Cipele", | ||||||
|  |                     "hqd_silk": "Svila", | ||||||
|  |                     "hqd_sports": "Sportska odjeća", | ||||||
|  |                     "hqd_synthetics": "Sintetika", | ||||||
|  |                     "hqd_timer": "Vremenski definirano", | ||||||
|  |                     "hqd_towel": "Ručnici", | ||||||
|  |                     "hqd_underwear": "Donje rublje", | ||||||
|  |                     "hqd_warm_up": "Zagrijavanje", | ||||||
|  |                     "hqd_wool": "Vuna", | ||||||
|  |                     "hqd_working_suit": "Radna odjeća", | ||||||
|  |                     "hygiene": "Higijena", | ||||||
|  |                     "iot_checkup": "Kontrolni pregled", | ||||||
|  |                     "iot_dry_anti_mites": "Protiv grinja", | ||||||
|  |                     "iot_dry_baby": "Dječje rublje", | ||||||
|  |                     "iot_dry_backpacks": "Ruksaci", | ||||||
|  |                     "iot_dry_bathrobe": "Kupaonski ogrtači", | ||||||
|  |                     "iot_dry_bed_linen": "Posteljina", | ||||||
|  |                     "iot_dry_bed_quilt": "Pokrivači", | ||||||
|  |                     "iot_dry_cotton": "Pamuk", | ||||||
|  |                     "iot_dry_cuddly_toys": "Plišane igračke", | ||||||
|  |                     "iot_dry_curtains": "Zavjese", | ||||||
|  |                     "iot_dry_dehumidifier": "Odstranjivač vlage", | ||||||
|  |                     "iot_dry_delicates": "Osjetljivo", | ||||||
|  |                     "iot_dry_delicate_tablecloths": "Osjetljivi stolnjaci", | ||||||
|  |                     "iot_dry_denim_jeans": "Traper – Traperice", | ||||||
|  |                     "iot_dry_down_jacket": "Jakna", | ||||||
|  |                     "iot_dry_duvet": "Popluni", | ||||||
|  |                     "iot_dry_easy_iron_cotton": "Super Easy Iron", | ||||||
|  |                     "iot_dry_easy_iron_synthetics": "Super Easy Iron za sintetičko rublje", | ||||||
|  |                     "iot_dry_gym_fit": "Fitness odjeća", | ||||||
|  |                     "iot_dry_lingerie": "Donje rublje", | ||||||
|  |                     "iot_dry_mixed": "Miješane tkanine", | ||||||
|  |                     "iot_dry_playsuits": "Kombinezoni", | ||||||
|  |                     "iot_dry_rapid_30": "Rapid 30", | ||||||
|  |                     "iot_dry_rapid_59": "Brzi program 59’.", | ||||||
|  |                     "iot_dry_refresh": "Osvježavanje", | ||||||
|  |                     "iot_dry_regenerates_waterproof": "Regeneracija vodootporne odjeće", | ||||||
|  |                     "iot_dry_relax_creases": "Smanjenje nabora", | ||||||
|  |                     "iot_dry_shirts": "Košulje", | ||||||
|  |                     "iot_dry_small_load": "Mali kapacitet", | ||||||
|  |                     "iot_dry_swimsuits_and_bikinis": "Kupaći kostimi", | ||||||
|  |                     "iot_dry_synthetics": "Sintetika", | ||||||
|  |                     "iot_dry_synthetic_dry": "Suha sintetika", | ||||||
|  |                     "iot_dry_tablecloths": "Stolnjaci", | ||||||
|  |                     "iot_dry_technical_fabrics": "Tehničko platno", | ||||||
|  |                     "iot_dry_warm_embrace": "Zagrijavanje", | ||||||
|  |                     "iot_dry_wool": "Woolmark", | ||||||
|  |                     "jeans": "Traper", | ||||||
|  |                     "mix_and_dry": "Mix&Dry", | ||||||
|  |                     "pets": "Kućni ljubimci", | ||||||
|  |                     "pre_iron": "Prije glačanja", | ||||||
|  |                     "rapid_30": "Rapid 30", | ||||||
|  |                     "rapid_45": "Brzi 45 min", | ||||||
|  |                     "rapid_59": "Perfect Rapid 59 Min", | ||||||
|  |                     "refresh": "Osvježavanje", | ||||||
|  |                     "relax_creases": "Smanjenje nabora", | ||||||
|  |                     "saving_30_min": "ECO 30'", | ||||||
|  |                     "shirts": "Košulje", | ||||||
|  |                     "shoes": "Cipele", | ||||||
|  |                     "small_load": "Mali kapacitet", | ||||||
|  |                     "soft_care": "Soft Care", | ||||||
|  |                     "sport_plus": "Sport Plus", | ||||||
|  |                     "super_easy_iron_misti": "Iznimno jednostavno glačanje za raznovrsne tkanine", | ||||||
|  |                     "super_easy_iron_xxl": "Iznimno jednostavno glačanje XXL", | ||||||
|  |                     "super_fast_cottons": "Super brzi Pamuk", | ||||||
|  |                     "super_fast_delicates": "Super brzi Osjetljivo", | ||||||
|  |                     "synthetics": "Sintetika", | ||||||
|  |                     "total_care": "Total Care", | ||||||
|  |                     "trainers": "Trenirke i sportska obuća", | ||||||
|  |                     "ultra_care": "Ultra Care", | ||||||
|  |                     "waterproof_revitalize": "Regeneracija vodootporne odjeće", | ||||||
|  |                     "whites": "Bijelo", | ||||||
|  |                     "wool": "Sušenje vune", | ||||||
|  |                     "woolmark": "Woolmark", | ||||||
|  |                     "xxl_load": "XXL kapacitet", | ||||||
|  |                     "zoom_59": "Zoom 59" | ||||||
|  |                 } | ||||||
|  |             }, | ||||||
|  |             "room_temperature": { | ||||||
|  |                 "name": "Sobna temperatura" | ||||||
|  |             }, | ||||||
|  |             "humidity": { | ||||||
|  |                 "name": "Vlažnost" | ||||||
|  |             }, | ||||||
|  |             "freezer_temp": { | ||||||
|  |                 "name": "Temperatura zamrzivača" | ||||||
|  |             }, | ||||||
|  |             "fridge_temp": { | ||||||
|  |                 "name": "Temperatura hladnjaka" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "select": { |         "select": { | ||||||
| @ -820,7 +974,8 @@ | |||||||
|                     "12": "Suho za glačanje", |                     "12": "Suho za glačanje", | ||||||
|                     "13": "Suho za spremanje", |                     "13": "Suho za spremanje", | ||||||
|                     "14": "Spremno za nošenje", |                     "14": "Spremno za nošenje", | ||||||
|                     "15": "Potpuno suho" |                     "15": "Potpuno suho", | ||||||
|  |                     "11": "Bez sušenja" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Stupanj suhoće" |                 "name": "Stupanj suhoće" | ||||||
|             }, |             }, | ||||||
| @ -870,6 +1025,31 @@ | |||||||
|                     "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" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "switch": { |         "switch": { | ||||||
| @ -877,7 +1057,7 @@ | |||||||
|                 "name": "Sprečavanje gužvanja" |                 "name": "Sprečavanje gužvanja" | ||||||
|             }, |             }, | ||||||
|             "add_dish": { |             "add_dish": { | ||||||
|                 "name": "" |                 "name": "Dodaj posuđe" | ||||||
|             }, |             }, | ||||||
|             "eco_express": { |             "eco_express": { | ||||||
|                 "name": "Ekološki" |                 "name": "Ekološki" | ||||||
| @ -944,6 +1124,39 @@ | |||||||
|             }, |             }, | ||||||
|             "mute_mode": { |             "mute_mode": { | ||||||
|                 "name": "Bešumni način rada" |                 "name": "Bešumni način rada" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_1": { | ||||||
|  |                 "name": "+1 ispiranje " | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_2": { | ||||||
|  |                 "name": "+2 ispiranja " | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_3": { | ||||||
|  |                 "name": "+3 ispiranja " | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Aquaplus" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "Automatsko doziranje" | ||||||
|  |             }, | ||||||
|  |             "good_night": { | ||||||
|  |                 "name": "Good Night" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_softener": { | ||||||
|  |                 "name": "Automatsko doziranje Omekšivač" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_detergent": { | ||||||
|  |                 "name": "Automatsko doziranje Deterdžent" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "Automatsko postavljanje" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "binary_sensor": { |         "binary_sensor": { | ||||||
| @ -1015,6 +1228,36 @@ | |||||||
|             }, |             }, | ||||||
|             "prewash": { |             "prewash": { | ||||||
|                 "name": "Pretpranje" |                 "name": "Pretpranje" | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Aquaplus" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "Automatsko doziranje" | ||||||
|  |             }, | ||||||
|  |             "buzzer": { | ||||||
|  |                 "name": "Zvono za završetak ciklusa" | ||||||
|  |             }, | ||||||
|  |             "holiday_mode": { | ||||||
|  |                 "name": "Način rada Holiday" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "Automatsko postavljanje" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|  |             }, | ||||||
|  |             "freezer_door": { | ||||||
|  |                 "name": "Otvorena vrata Zamrzivač" | ||||||
|  |             }, | ||||||
|  |             "fridge_door": { | ||||||
|  |                 "name": "Otvorena vrata Hladnjak" | ||||||
|  |             }, | ||||||
|  |             "filter_replacement": { | ||||||
|  |                 "name": "Zamjena filtra" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "number": { |         "number": { | ||||||
| @ -1044,12 +1287,26 @@ | |||||||
|             }, |             }, | ||||||
|             "dry_time": { |             "dry_time": { | ||||||
|                 "name": "Trajanje sušenja" |                 "name": "Trajanje sušenja" | ||||||
|  |             }, | ||||||
|  |             "steam_level": { | ||||||
|  |                 "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" | ||||||
|             } |             } | ||||||
|  |         }, | ||||||
|  |         "climate": { | ||||||
|  |             "air_conditioner": { | ||||||
|  |                 "name": "Klimatizacijski uređaj" | ||||||
|  |             } | ||||||
|         } |         } | ||||||
|     }, |     }, | ||||||
|     "config": { |     "config": { | ||||||
|  | |||||||
| @ -67,7 +67,10 @@ | |||||||
|                     "4": "Pianificato", |                     "4": "Pianificato", | ||||||
|                     "5": "Pianificato", |                     "5": "Pianificato", | ||||||
|                     "6": "Errore", |                     "6": "Errore", | ||||||
|                     "7": "Pronta" |                     "7": "Pronta", | ||||||
|  |                     "2": "Programma in esecuzione", | ||||||
|  |                     "8": "Test", | ||||||
|  |                     "9": "Arresto il ciclo..." | ||||||
|                 } |                 } | ||||||
|             }, |             }, | ||||||
|             "program_phases_wm": { |             "program_phases_wm": { | ||||||
| @ -111,7 +114,9 @@ | |||||||
|                     "16": "Raffreddamento", |                     "16": "Raffreddamento", | ||||||
|                     "18": "Keep Fresh", |                     "18": "Keep Fresh", | ||||||
|                     "19": "Asciugatura", |                     "19": "Asciugatura", | ||||||
|                     "20": "Asciugatura" |                     "20": "Asciugatura", | ||||||
|  |                     "11": "Pronta", | ||||||
|  |                     "17": "unknown" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Fase" |                 "name": "Fase" | ||||||
|             }, |             }, | ||||||
| @ -137,7 +142,8 @@ | |||||||
|                     "12": "Stiro facile", |                     "12": "Stiro facile", | ||||||
|                     "13": "Armadio", |                     "13": "Armadio", | ||||||
|                     "14": "Pronto da indossare", |                     "14": "Pronto da indossare", | ||||||
|                     "15": "Extra asciutto" |                     "15": "Extra asciutto", | ||||||
|  |                     "11": "Nessuna asciugatura" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Livello Asciugatura" |                 "name": "Livello Asciugatura" | ||||||
|             }, |             }, | ||||||
| @ -217,6 +223,154 @@ | |||||||
|                     "5": "Ventilatore", |                     "5": "Ventilatore", | ||||||
|                     "6": "Ventilatore" |                     "6": "Ventilatore" | ||||||
|                 } |                 } | ||||||
|  |             }, | ||||||
|  |             "programs_td": { | ||||||
|  |                 "state": { | ||||||
|  |                     "active_dry": "Active Dry", | ||||||
|  |                     "allergy_care": "Anti-allergie", | ||||||
|  |                     "all_in_one": "Tutto in Uno", | ||||||
|  |                     "antiallergy": "Anti-allergie", | ||||||
|  |                     "anti_odours": "Anti-odori", | ||||||
|  |                     "auto_care": "Auto Care", | ||||||
|  |                     "baby": "Baby", | ||||||
|  |                     "bed_quilt": "Trapunte-Piumoni", | ||||||
|  |                     "care_30": "Care 30", | ||||||
|  |                     "care_45": "Care 45", | ||||||
|  |                     "care_59": "Care 59", | ||||||
|  |                     "coloured": "Colorati", | ||||||
|  |                     "daily_45_min": "Quotidiano 45'", | ||||||
|  |                     "daily_perfect_59_min": "Daily Perfect 59'", | ||||||
|  |                     "darks_and_coloured": "Scuri e Colorati", | ||||||
|  |                     "delicates": "Delicati", | ||||||
|  |                     "duvet": "Piumone", | ||||||
|  |                     "eco": "Eco Cotton", | ||||||
|  |                     "ecospeed_cottons": "Ecospeed Cotone", | ||||||
|  |                     "ecospeed_delicates": "Ecospeed Delicati", | ||||||
|  |                     "ecospeed_mixed": "Ecospeed Misti", | ||||||
|  |                     "extra_hygiene": "Igiene Extra", | ||||||
|  |                     "fitness": "Fitness", | ||||||
|  |                     "fresh_care": "Fresh Care", | ||||||
|  |                     "genius": "Genius", | ||||||
|  |                     "hqd_baby_care": "Baby Care", | ||||||
|  |                     "hqd_bath_towel": "Asciugamani", | ||||||
|  |                     "hqd_bed_sheets": "Lenzuola", | ||||||
|  |                     "hqd_bulky": "Vestiti voluminosi", | ||||||
|  |                     "hqd_casual": "Casual", | ||||||
|  |                     "hqd_cold_wind_30": "Brezza rinfrescante 30 minuti", | ||||||
|  |                     "hqd_cold_wind_timing": "Brezza rinfrescante", | ||||||
|  |                     "hqd_cotton": "Cotone", | ||||||
|  |                     "hqd_curtain": "Tende", | ||||||
|  |                     "hqd_delicate": "Delicati", | ||||||
|  |                     "hqd_diaper": "Pannolini", | ||||||
|  |                     "hqd_duvet": "Piumone", | ||||||
|  |                     "hqd_feather": "Piumini", | ||||||
|  |                     "hqd_hot_wind_timing": "Aria calda", | ||||||
|  |                     "hqd_hygienic": "Igienizzante", | ||||||
|  |                     "hqd_i_refresh": "I-Refresh", | ||||||
|  |                     "hqd_i_refresh_pro": "I-Refresh Pro", | ||||||
|  |                     "hqd_jacket": "Giacche", | ||||||
|  |                     "hqd_jeans": "Jeans", | ||||||
|  |                     "hqd_luxury": "Vestiti preziosi", | ||||||
|  |                     "hqd_mix": "Misti", | ||||||
|  |                     "hqd_night_dry": "Asciugatura notturna", | ||||||
|  |                     "hqd_outdoor": "Outdoor", | ||||||
|  |                     "hqd_precious_cure": "Precious cure", | ||||||
|  |                     "hqd_quick_20": "Rapido 20", | ||||||
|  |                     "hqd_quick_30": "Rapido 30", | ||||||
|  |                     "hqd_quick_dry": "Asciugatura veloce", | ||||||
|  |                     "hqd_quilt": "Trapunte", | ||||||
|  |                     "hqd_refresh": "Refresh", | ||||||
|  |                     "hqd_school_uniform": "Uniforme scolastica", | ||||||
|  |                     "hqd_shirt": "Camicie", | ||||||
|  |                     "hqd_shoes": "Scarpe", | ||||||
|  |                     "hqd_silk": "Seta", | ||||||
|  |                     "hqd_sports": "Sport", | ||||||
|  |                     "hqd_synthetics": "Sintetici", | ||||||
|  |                     "hqd_timer": "A tempo", | ||||||
|  |                     "hqd_towel": "Asciugamani", | ||||||
|  |                     "hqd_underwear": "Intimo", | ||||||
|  |                     "hqd_warm_up": "Riscaldamento", | ||||||
|  |                     "hqd_wool": "Lana", | ||||||
|  |                     "hqd_working_suit": "Completo da lavoro", | ||||||
|  |                     "hygiene": "Igiene", | ||||||
|  |                     "iot_checkup": "Check-Up", | ||||||
|  |                     "iot_dry_anti_mites": "Anti-Acari", | ||||||
|  |                     "iot_dry_baby": "Baby", | ||||||
|  |                     "iot_dry_backpacks": "Zaini", | ||||||
|  |                     "iot_dry_bathrobe": "Accappatoi e Spugne", | ||||||
|  |                     "iot_dry_bed_linen": "Lenzuola", | ||||||
|  |                     "iot_dry_bed_quilt": "Trapunte-Piumoni", | ||||||
|  |                     "iot_dry_cotton": "Cotone", | ||||||
|  |                     "iot_dry_cuddly_toys": "Peluches", | ||||||
|  |                     "iot_dry_curtains": "Tende", | ||||||
|  |                     "iot_dry_dehumidifier": "Rimuovi umidità", | ||||||
|  |                     "iot_dry_delicates": "Delicati", | ||||||
|  |                     "iot_dry_delicate_tablecloths": "Tovaglie delicate", | ||||||
|  |                     "iot_dry_denim_jeans": "Denim - jeans", | ||||||
|  |                     "iot_dry_down_jacket": "Giacche", | ||||||
|  |                     "iot_dry_duvet": "Piumone", | ||||||
|  |                     "iot_dry_easy_iron_cotton": "Stira facile", | ||||||
|  |                     "iot_dry_easy_iron_synthetics": "Stira facile Sintetici", | ||||||
|  |                     "iot_dry_gym_fit": "Gym fit - Fitness", | ||||||
|  |                     "iot_dry_lingerie": "Lingerie", | ||||||
|  |                     "iot_dry_mixed": "Misti", | ||||||
|  |                     "iot_dry_playsuits": "Tutine", | ||||||
|  |                     "iot_dry_rapid_30": "Rapido 30", | ||||||
|  |                     "iot_dry_rapid_59": "Rapido 59'.", | ||||||
|  |                     "iot_dry_refresh": "Rinfresca", | ||||||
|  |                     "iot_dry_regenerates_waterproof": "Rigenera Tessuti Impermeabili", | ||||||
|  |                     "iot_dry_relax_creases": "Meno Pieghe", | ||||||
|  |                     "iot_dry_shirts": "Camicie", | ||||||
|  |                     "iot_dry_small_load": "Carico Small", | ||||||
|  |                     "iot_dry_swimsuits_and_bikinis": "Costumi e Bikini", | ||||||
|  |                     "iot_dry_synthetics": "Sintetici", | ||||||
|  |                     "iot_dry_synthetic_dry": "Asciugatura Sintetici", | ||||||
|  |                     "iot_dry_tablecloths": "Tovaglie", | ||||||
|  |                     "iot_dry_technical_fabrics": "Tessuti Tecnici", | ||||||
|  |                     "iot_dry_warm_embrace": "Caldo abbraccio", | ||||||
|  |                     "iot_dry_wool": "Lana", | ||||||
|  |                     "jeans": "Jeans", | ||||||
|  |                     "mix_and_dry": "Mix&Dry", | ||||||
|  |                     "pets": "Pets", | ||||||
|  |                     "pre_iron": "Pre-Stiro", | ||||||
|  |                     "rapid_30": "Rapido 30", | ||||||
|  |                     "rapid_45": "Rapido 45 min", | ||||||
|  |                     "rapid_59": "Perfect Rapid 59 Min", | ||||||
|  |                     "refresh": "Rinfresca", | ||||||
|  |                     "relax_creases": "Meno Pieghe", | ||||||
|  |                     "saving_30_min": "Risparmio 30'", | ||||||
|  |                     "shirts": "Camicie", | ||||||
|  |                     "shoes": "Scarpe", | ||||||
|  |                     "small_load": "Carico Small", | ||||||
|  |                     "soft_care": "Soft Care", | ||||||
|  |                     "sport_plus": "Sport Plus", | ||||||
|  |                     "super_easy_iron_misti": "Super Easy Iron misti", | ||||||
|  |                     "super_easy_iron_xxl": "Super Easy Iron XXL", | ||||||
|  |                     "super_fast_cottons": "Super Fast Cotone", | ||||||
|  |                     "super_fast_delicates": "Super Fast Delicati", | ||||||
|  |                     "synthetics": "Sintetici", | ||||||
|  |                     "total_care": "Total Care", | ||||||
|  |                     "trainers": "Scarpe da ginnastica", | ||||||
|  |                     "ultra_care": "Ultra Care", | ||||||
|  |                     "waterproof_revitalize": "Impermeabilizzazione", | ||||||
|  |                     "whites": "Bianchi", | ||||||
|  |                     "wool": "Asciugatura Lana", | ||||||
|  |                     "woolmark": "Lana", | ||||||
|  |                     "xxl_load": "Carico XXL", | ||||||
|  |                     "zoom_59": "Zoom 59" | ||||||
|  |                 } | ||||||
|  |             }, | ||||||
|  |             "room_temperature": { | ||||||
|  |                 "name": "Temperatura ambiente" | ||||||
|  |             }, | ||||||
|  |             "humidity": { | ||||||
|  |                 "name": "Umidità" | ||||||
|  |             }, | ||||||
|  |             "freezer_temp": { | ||||||
|  |                 "name": "Temperatura del congelatore" | ||||||
|  |             }, | ||||||
|  |             "fridge_temp": { | ||||||
|  |                 "name": "Temperatura del frigorifero" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "select": { |         "select": { | ||||||
| @ -872,7 +1026,8 @@ | |||||||
|                     "12": "Stiro facile", |                     "12": "Stiro facile", | ||||||
|                     "13": "Armadio", |                     "13": "Armadio", | ||||||
|                     "14": "Pronto da indossare", |                     "14": "Pronto da indossare", | ||||||
|                     "15": "Extra asciutto" |                     "15": "Extra asciutto", | ||||||
|  |                     "11": "Nessuna asciugatura" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Livello Asciugatura" |                 "name": "Livello Asciugatura" | ||||||
|             }, |             }, | ||||||
| @ -922,6 +1077,31 @@ | |||||||
|                     "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" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "switch": { |         "switch": { | ||||||
| @ -929,7 +1109,7 @@ | |||||||
|                 "name": "Antipieghe " |                 "name": "Antipieghe " | ||||||
|             }, |             }, | ||||||
|             "add_dish": { |             "add_dish": { | ||||||
|                 "name": "" |                 "name": "Aggiungi stoviglie" | ||||||
|             }, |             }, | ||||||
|             "eco_express": { |             "eco_express": { | ||||||
|                 "name": "Eco" |                 "name": "Eco" | ||||||
| @ -996,6 +1176,39 @@ | |||||||
|             }, |             }, | ||||||
|             "mute_mode": { |             "mute_mode": { | ||||||
|                 "name": "Modalità tacita" |                 "name": "Modalità tacita" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_1": { | ||||||
|  |                 "name": "+1 Risciacquo" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_2": { | ||||||
|  |                 "name": "+2 Risciacqui" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_3": { | ||||||
|  |                 "name": "+3 Risciacqui" | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Acquaplus" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "Autodose" | ||||||
|  |             }, | ||||||
|  |             "good_night": { | ||||||
|  |                 "name": "Buona notte" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_softener": { | ||||||
|  |                 "name": "Autodose Ammorbidente" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_detergent": { | ||||||
|  |                 "name": "Autodose Detergente" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "Impostazione automatica" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "binary_sensor": { |         "binary_sensor": { | ||||||
| @ -1067,6 +1280,36 @@ | |||||||
|             }, |             }, | ||||||
|             "prewash": { |             "prewash": { | ||||||
|                 "name": "Prelavaggio" |                 "name": "Prelavaggio" | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Acquaplus" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "Autodose" | ||||||
|  |             }, | ||||||
|  |             "buzzer": { | ||||||
|  |                 "name": "Avviso di fine ciclo" | ||||||
|  |             }, | ||||||
|  |             "holiday_mode": { | ||||||
|  |                 "name": "Modalità Holiday" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "Impostazione automatica" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|  |             }, | ||||||
|  |             "freezer_door": { | ||||||
|  |                 "name": "Porta aperta Congelatore" | ||||||
|  |             }, | ||||||
|  |             "fridge_door": { | ||||||
|  |                 "name": "Porta aperta Frigorifero" | ||||||
|  |             }, | ||||||
|  |             "filter_replacement": { | ||||||
|  |                 "name": "Sostituzione filtro" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "number": { |         "number": { | ||||||
| @ -1096,12 +1339,26 @@ | |||||||
|             }, |             }, | ||||||
|             "dry_time": { |             "dry_time": { | ||||||
|                 "name": "Tempo asciugatura" |                 "name": "Tempo asciugatura" | ||||||
|  |             }, | ||||||
|  |             "steam_level": { | ||||||
|  |                 "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" | ||||||
|             } |             } | ||||||
|  |         }, | ||||||
|  |         "climate": { | ||||||
|  |             "air_conditioner": { | ||||||
|  |                 "name": "Condizionatore" | ||||||
|  |             } | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
| @ -9,7 +9,10 @@ | |||||||
|                     "4": "Gepland", |                     "4": "Gepland", | ||||||
|                     "5": "Gepland", |                     "5": "Gepland", | ||||||
|                     "6": "Fout", |                     "6": "Fout", | ||||||
|                     "7": "Klaar" |                     "7": "Klaar", | ||||||
|  |                     "2": "Programma draait", | ||||||
|  |                     "8": "Test", | ||||||
|  |                     "9": "Programma stoppen…" | ||||||
|                 } |                 } | ||||||
|             }, |             }, | ||||||
|             "program_phases_wm": { |             "program_phases_wm": { | ||||||
| @ -53,7 +56,9 @@ | |||||||
|                     "16": "Afkoelen", |                     "16": "Afkoelen", | ||||||
|                     "18": "Fris houden", |                     "18": "Fris houden", | ||||||
|                     "19": "Drogen", |                     "19": "Drogen", | ||||||
|                     "20": "Drogen" |                     "20": "Drogen", | ||||||
|  |                     "11": "Klaar", | ||||||
|  |                     "17": "unknown" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Fase" |                 "name": "Fase" | ||||||
|             }, |             }, | ||||||
| @ -79,7 +84,8 @@ | |||||||
|                     "12": "Strijken", |                     "12": "Strijken", | ||||||
|                     "13": "Kastdroog", |                     "13": "Kastdroog", | ||||||
|                     "14": "Klaar om te dragen", |                     "14": "Klaar om te dragen", | ||||||
|                     "15": "Extra droog" |                     "15": "Extra droog", | ||||||
|  |                     "11": "Niet drogen" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Droogniveau" |                 "name": "Droogniveau" | ||||||
|             }, |             }, | ||||||
| @ -165,6 +171,154 @@ | |||||||
|                     "5": "Ventilator", |                     "5": "Ventilator", | ||||||
|                     "6": "Ventilator" |                     "6": "Ventilator" | ||||||
|                 } |                 } | ||||||
|  |             }, | ||||||
|  |             "programs_td": { | ||||||
|  |                 "state": { | ||||||
|  |                     "active_dry": "Actief drogen", | ||||||
|  |                     "allergy_care": "Anti-allergie", | ||||||
|  |                     "all_in_one": "All in One", | ||||||
|  |                     "antiallergy": "Anti-allergie", | ||||||
|  |                     "anti_odours": "Anti geuren", | ||||||
|  |                     "auto_care": "Automatische verzorging", | ||||||
|  |                     "baby": "Baby", | ||||||
|  |                     "bed_quilt": "Dekbed", | ||||||
|  |                     "care_30": "Verzorging 30'", | ||||||
|  |                     "care_45": "Verzorging 45'", | ||||||
|  |                     "care_59": "Verzorging 59'", | ||||||
|  |                     "coloured": "Gekleurd", | ||||||
|  |                     "daily_45_min": "DAILY 45'", | ||||||
|  |                     "daily_perfect_59_min": "DAILY PERFECT 59'", | ||||||
|  |                     "darks_and_coloured": "Donker & Gekleurd", | ||||||
|  |                     "delicates": "Fijne was", | ||||||
|  |                     "duvet": "Dekbed", | ||||||
|  |                     "eco": "Eco katoen", | ||||||
|  |                     "ecospeed_cottons": "Ecospeed Katoen", | ||||||
|  |                     "ecospeed_delicates": "Ecospeed fijne was", | ||||||
|  |                     "ecospeed_mixed": "Ecospeed Gemengd", | ||||||
|  |                     "extra_hygiene": "Extra Hygiene", | ||||||
|  |                     "fitness": "Fitness", | ||||||
|  |                     "fresh_care": "Opfrisverzorging", | ||||||
|  |                     "genius": "Genius", | ||||||
|  |                     "hqd_baby_care": "Baby Care", | ||||||
|  |                     "hqd_bath_towel": "Handdoeken", | ||||||
|  |                     "hqd_bed_sheets": "Beddengoed", | ||||||
|  |                     "hqd_bulky": "Grote artikelen", | ||||||
|  |                     "hqd_casual": "Casual", | ||||||
|  |                     "hqd_cold_wind_30": "30 minuten koel briesje", | ||||||
|  |                     "hqd_cold_wind_timing": "Koel briesje ", | ||||||
|  |                     "hqd_cotton": "Katoen", | ||||||
|  |                     "hqd_curtain": "Gordijnen", | ||||||
|  |                     "hqd_delicate": "Fijne was", | ||||||
|  |                     "hqd_diaper": "Luiers", | ||||||
|  |                     "hqd_duvet": "Dekbed", | ||||||
|  |                     "hqd_feather": "Donsjassen", | ||||||
|  |                     "hqd_hot_wind_timing": "Hete lucht", | ||||||
|  |                     "hqd_hygienic": "Ontsmetten", | ||||||
|  |                     "hqd_i_refresh": "I-Refresh", | ||||||
|  |                     "hqd_i_refresh_pro": "I-Refresh Pro", | ||||||
|  |                     "hqd_jacket": "Jassen", | ||||||
|  |                     "hqd_jeans": "Jeans", | ||||||
|  |                     "hqd_luxury": "Luxury", | ||||||
|  |                     "hqd_mix": "Gemengde vezels", | ||||||
|  |                     "hqd_night_dry": "Nachtelijk droogprogramma", | ||||||
|  |                     "hqd_outdoor": "Outdoor", | ||||||
|  |                     "hqd_precious_cure": "Precious cure", | ||||||
|  |                     "hqd_quick_20": "Quick 20", | ||||||
|  |                     "hqd_quick_30": "Quick 30", | ||||||
|  |                     "hqd_quick_dry": "Quick dry", | ||||||
|  |                     "hqd_quilt": "Quilts", | ||||||
|  |                     "hqd_refresh": "Opfrissen", | ||||||
|  |                     "hqd_school_uniform": "Schooluniform", | ||||||
|  |                     "hqd_shirt": "Overhemden", | ||||||
|  |                     "hqd_shoes": "Schoenen", | ||||||
|  |                     "hqd_silk": "Zijde", | ||||||
|  |                     "hqd_sports": "Sport", | ||||||
|  |                     "hqd_synthetics": "Synthetische stoffen", | ||||||
|  |                     "hqd_timer": "Getimed", | ||||||
|  |                     "hqd_towel": "Handdoeken", | ||||||
|  |                     "hqd_underwear": "Ondergoed", | ||||||
|  |                     "hqd_warm_up": "Opwarmen", | ||||||
|  |                     "hqd_wool": "Wol", | ||||||
|  |                     "hqd_working_suit": "Werkkleding", | ||||||
|  |                     "hygiene": "Hygiëne", | ||||||
|  |                     "iot_checkup": "Controle", | ||||||
|  |                     "iot_dry_anti_mites": "Anti-mijten", | ||||||
|  |                     "iot_dry_baby": "Baby", | ||||||
|  |                     "iot_dry_backpacks": "Rugzakken", | ||||||
|  |                     "iot_dry_bathrobe": "Badjas", | ||||||
|  |                     "iot_dry_bed_linen": "Bed Linnen", | ||||||
|  |                     "iot_dry_bed_quilt": "Dekbed", | ||||||
|  |                     "iot_dry_cotton": "Katoen", | ||||||
|  |                     "iot_dry_cuddly_toys": "Knufflels", | ||||||
|  |                     "iot_dry_curtains": "Gordijnen", | ||||||
|  |                     "iot_dry_dehumidifier": "Vochtigheidsverwijderaar", | ||||||
|  |                     "iot_dry_delicates": "Delicate was", | ||||||
|  |                     "iot_dry_delicate_tablecloths": "Delicate tafelkleden", | ||||||
|  |                     "iot_dry_denim_jeans": "Denim – Jeans", | ||||||
|  |                     "iot_dry_down_jacket": "Jacket", | ||||||
|  |                     "iot_dry_duvet": "Dekbed", | ||||||
|  |                     "iot_dry_easy_iron_cotton": "Super Gemakkelijk strijken", | ||||||
|  |                     "iot_dry_easy_iron_synthetics": "Synthetische stoffen gemakkelijk strijken", | ||||||
|  |                     "iot_dry_gym_fit": "Gym fit - Fitness", | ||||||
|  |                     "iot_dry_lingerie": "Lingerie", | ||||||
|  |                     "iot_dry_mixed": "Gemengde vezels", | ||||||
|  |                     "iot_dry_playsuits": "Jumpsuits", | ||||||
|  |                     "iot_dry_rapid_30": "Rapid 30", | ||||||
|  |                     "iot_dry_rapid_59": "Snel 59'", | ||||||
|  |                     "iot_dry_refresh": "Opfrissen", | ||||||
|  |                     "iot_dry_regenerates_waterproof": "Regenereert Waterproof", | ||||||
|  |                     "iot_dry_relax_creases": "Ontkreuken", | ||||||
|  |                     "iot_dry_shirts": "Overhemden", | ||||||
|  |                     "iot_dry_small_load": "Kleine lading", | ||||||
|  |                     "iot_dry_swimsuits_and_bikinis": "Badkleding", | ||||||
|  |                     "iot_dry_synthetics": "Synthetisch", | ||||||
|  |                     "iot_dry_synthetic_dry": "Synthetische stoffen drogen", | ||||||
|  |                     "iot_dry_tablecloths": "Tafelkleden", | ||||||
|  |                     "iot_dry_technical_fabrics": "Technische Vezels", | ||||||
|  |                     "iot_dry_warm_embrace": "Warme Knuffel", | ||||||
|  |                     "iot_dry_wool": "Wol", | ||||||
|  |                     "jeans": "Jeans", | ||||||
|  |                     "mix_and_dry": "Gemengd&Droog", | ||||||
|  |                     "pets": "Huisdieren", | ||||||
|  |                     "pre_iron": "Gemakkelijk strijken", | ||||||
|  |                     "rapid_30": "Rapid 30", | ||||||
|  |                     "rapid_45": "Snel 45 min", | ||||||
|  |                     "rapid_59": "Perfect Rapid 59 Min", | ||||||
|  |                     "refresh": "Opfrissen", | ||||||
|  |                     "relax_creases": "Ontkreuken", | ||||||
|  |                     "saving_30_min": "ECO 30'", | ||||||
|  |                     "shirts": "Overhemden", | ||||||
|  |                     "shoes": "Schoenen", | ||||||
|  |                     "small_load": "Kleine lading", | ||||||
|  |                     "soft_care": "Zachte verzorging", | ||||||
|  |                     "sport_plus": "Sports", | ||||||
|  |                     "super_easy_iron_misti": "Super eenvoudig strijken gemengd", | ||||||
|  |                     "super_easy_iron_xxl": "Super eenvoudig strijken XXL", | ||||||
|  |                     "super_fast_cottons": "Super Snel Katoen", | ||||||
|  |                     "super_fast_delicates": "Super Snel Delicaat", | ||||||
|  |                     "synthetics": "Synthetisch", | ||||||
|  |                     "total_care": "Total Care", | ||||||
|  |                     "trainers": "Trainers", | ||||||
|  |                     "ultra_care": "Ultra Care", | ||||||
|  |                     "waterproof_revitalize": "Waterproof Revitaliseren", | ||||||
|  |                     "whites": "Witte was", | ||||||
|  |                     "wool": "Droge Wol", | ||||||
|  |                     "woolmark": "Wol", | ||||||
|  |                     "xxl_load": "XXL Lading", | ||||||
|  |                     "zoom_59": "Zoom 59" | ||||||
|  |                 } | ||||||
|  |             }, | ||||||
|  |             "room_temperature": { | ||||||
|  |                 "name": "Omgevingstemperatuur" | ||||||
|  |             }, | ||||||
|  |             "humidity": { | ||||||
|  |                 "name": "Luchtvochtigheid" | ||||||
|  |             }, | ||||||
|  |             "freezer_temp": { | ||||||
|  |                 "name": "Vriezertemperatuur" | ||||||
|  |             }, | ||||||
|  |             "fridge_temp": { | ||||||
|  |                 "name": "Koelkasttemperatuur" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "select": { |         "select": { | ||||||
| @ -820,7 +974,8 @@ | |||||||
|                     "12": "Strijken", |                     "12": "Strijken", | ||||||
|                     "13": "Kastdroog", |                     "13": "Kastdroog", | ||||||
|                     "14": "Klaar om te dragen", |                     "14": "Klaar om te dragen", | ||||||
|                     "15": "Extra droog" |                     "15": "Extra droog", | ||||||
|  |                     "11": "Niet drogen" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Droogniveau" |                 "name": "Droogniveau" | ||||||
|             }, |             }, | ||||||
| @ -870,6 +1025,31 @@ | |||||||
|                     "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" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "switch": { |         "switch": { | ||||||
| @ -877,7 +1057,7 @@ | |||||||
|                 "name": "Kreukherstellend" |                 "name": "Kreukherstellend" | ||||||
|             }, |             }, | ||||||
|             "add_dish": { |             "add_dish": { | ||||||
|                 "name": "" |                 "name": "Vaatwerk toevoegen" | ||||||
|             }, |             }, | ||||||
|             "eco_express": { |             "eco_express": { | ||||||
|                 "name": "Eco" |                 "name": "Eco" | ||||||
| @ -944,6 +1124,39 @@ | |||||||
|             }, |             }, | ||||||
|             "mute_mode": { |             "mute_mode": { | ||||||
|                 "name": "Dempmodus" |                 "name": "Dempmodus" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_1": { | ||||||
|  |                 "name": "+1 keer spoelen" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_2": { | ||||||
|  |                 "name": "+2 keer spoelen" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_3": { | ||||||
|  |                 "name": "+3 keer spoelen" | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Acquaplus" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "Automatisch doseren" | ||||||
|  |             }, | ||||||
|  |             "good_night": { | ||||||
|  |                 "name": "Goede nacht" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_softener": { | ||||||
|  |                 "name": "Automatisch doseren Wasverzachter" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_detergent": { | ||||||
|  |                 "name": "Automatisch doseren Wasmiddel" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "Automatisch instellen" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "binary_sensor": { |         "binary_sensor": { | ||||||
| @ -1015,6 +1228,36 @@ | |||||||
|             }, |             }, | ||||||
|             "prewash": { |             "prewash": { | ||||||
|                 "name": "Voorwas" |                 "name": "Voorwas" | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Acquaplus" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "Automatisch doseren" | ||||||
|  |             }, | ||||||
|  |             "buzzer": { | ||||||
|  |                 "name": "Bel voor einde cyclus" | ||||||
|  |             }, | ||||||
|  |             "holiday_mode": { | ||||||
|  |                 "name": "Holiday-modus (Vakantie)" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "Automatisch instellen" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|  |             }, | ||||||
|  |             "freezer_door": { | ||||||
|  |                 "name": "Deur open Vriezer" | ||||||
|  |             }, | ||||||
|  |             "fridge_door": { | ||||||
|  |                 "name": "Deur open Koelkast" | ||||||
|  |             }, | ||||||
|  |             "filter_replacement": { | ||||||
|  |                 "name": "Filter vervangen" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "number": { |         "number": { | ||||||
| @ -1044,12 +1287,26 @@ | |||||||
|             }, |             }, | ||||||
|             "dry_time": { |             "dry_time": { | ||||||
|                 "name": "Droogtijd" |                 "name": "Droogtijd" | ||||||
|  |             }, | ||||||
|  |             "steam_level": { | ||||||
|  |                 "name": "Stoomniveau" | ||||||
|  |             }, | ||||||
|  |             "freezer_temp_sel": { | ||||||
|  |                 "name": "Doeltemperatuur Vriezer" | ||||||
|  |             }, | ||||||
|  |             "fridge_temp_sel": { | ||||||
|  |                 "name": "Doeltemperatuur Koelkast" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "button": { |         "button": { | ||||||
|             "induction_hob": { |             "induction_hob": { | ||||||
|                 "name": "Inductiekookplaat" |                 "name": "Inductiekookplaat" | ||||||
|             } |             } | ||||||
|  |         }, | ||||||
|  |         "climate": { | ||||||
|  |             "air_conditioner": { | ||||||
|  |                 "name": "Airconditioner" | ||||||
|  |             } | ||||||
|         } |         } | ||||||
|     }, |     }, | ||||||
|     "config": { |     "config": { | ||||||
|  | |||||||
| @ -9,7 +9,10 @@ | |||||||
|                     "4": "Zaplanowane", |                     "4": "Zaplanowane", | ||||||
|                     "5": "Zaplanowane", |                     "5": "Zaplanowane", | ||||||
|                     "6": "Błąd", |                     "6": "Błąd", | ||||||
|                     "7": "Gotowe" |                     "7": "Gotowe", | ||||||
|  |                     "2": "Program uruchomiony", | ||||||
|  |                     "8": "Test", | ||||||
|  |                     "9": "Zatrzymanie cyklu…" | ||||||
|                 } |                 } | ||||||
|             }, |             }, | ||||||
|             "program_phases_wm": { |             "program_phases_wm": { | ||||||
| @ -53,7 +56,9 @@ | |||||||
|                     "16": "Chłodzenie", |                     "16": "Chłodzenie", | ||||||
|                     "18": "Utrzymaj świeżość", |                     "18": "Utrzymaj świeżość", | ||||||
|                     "19": "Suszenie", |                     "19": "Suszenie", | ||||||
|                     "20": "Suszenie" |                     "20": "Suszenie", | ||||||
|  |                     "11": "Gotowe", | ||||||
|  |                     "17": "unknown" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Faza" |                 "name": "Faza" | ||||||
|             }, |             }, | ||||||
| @ -79,7 +84,8 @@ | |||||||
|                     "12": "Prasowanie", |                     "12": "Prasowanie", | ||||||
|                     "13": "Gotowe do garderoby", |                     "13": "Gotowe do garderoby", | ||||||
|                     "14": "Gotowe do włożenia", |                     "14": "Gotowe do włożenia", | ||||||
|                     "15": "Ekstra suchy" |                     "15": "Ekstra suchy", | ||||||
|  |                     "11": "Bez suszenia" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Poziom suszenia" |                 "name": "Poziom suszenia" | ||||||
|             }, |             }, | ||||||
| @ -165,6 +171,154 @@ | |||||||
|                     "5": "Wentylator", |                     "5": "Wentylator", | ||||||
|                     "6": "Wentylator" |                     "6": "Wentylator" | ||||||
|                 } |                 } | ||||||
|  |             }, | ||||||
|  |             "programs_td": { | ||||||
|  |                 "state": { | ||||||
|  |                     "active_dry": "Aktywne suche", | ||||||
|  |                     "allergy_care": "Antiallergy", | ||||||
|  |                     "all_in_one": "All in One", | ||||||
|  |                     "antiallergy": "Antiallergy", | ||||||
|  |                     "anti_odours": "Odświeżenie", | ||||||
|  |                     "auto_care": "Auto Care", | ||||||
|  |                     "baby": "Dzieci", | ||||||
|  |                     "bed_quilt": "Bed Quilt", | ||||||
|  |                     "care_30": "Care 30", | ||||||
|  |                     "care_45": "Care 45", | ||||||
|  |                     "care_59": "Care 59", | ||||||
|  |                     "coloured": "Kolorowe", | ||||||
|  |                     "daily_45_min": "CODZIENNY 45'", | ||||||
|  |                     "daily_perfect_59_min": "CODZIENNY PERFEKT 59'", | ||||||
|  |                     "darks_and_coloured": "Darks & Coloured", | ||||||
|  |                     "delicates": "Delikatne", | ||||||
|  |                     "duvet": "Kołdry", | ||||||
|  |                     "eco": "Bawełna ekologiczna", | ||||||
|  |                     "ecospeed_cottons": "Ecospeed Cottons", | ||||||
|  |                     "ecospeed_delicates": "Szybki Eco do tkanin delikatnych", | ||||||
|  |                     "ecospeed_mixed": "Ecospeed Mixed", | ||||||
|  |                     "extra_hygiene": "HIGIENICZNY", | ||||||
|  |                     "fitness": "Fitness", | ||||||
|  |                     "fresh_care": "Fresh Care", | ||||||
|  |                     "genius": "Genius", | ||||||
|  |                     "hqd_baby_care": "Baby Care", | ||||||
|  |                     "hqd_bath_towel": "Ręczniki", | ||||||
|  |                     "hqd_bed_sheets": "Prześcieradła", | ||||||
|  |                     "hqd_bulky": "Elementy wielkogabarytowe", | ||||||
|  |                     "hqd_casual": "Nieformalny", | ||||||
|  |                     "hqd_cold_wind_30": "Chłodna bryza 30 minut", | ||||||
|  |                     "hqd_cold_wind_timing": "Chłodny wietrzyk ", | ||||||
|  |                     "hqd_cotton": "Bawełna", | ||||||
|  |                     "hqd_curtain": "Zasłony", | ||||||
|  |                     "hqd_delicate": "Delikatne", | ||||||
|  |                     "hqd_diaper": "Pieluchy", | ||||||
|  |                     "hqd_duvet": "Kołdry", | ||||||
|  |                     "hqd_feather": "Kurtki puchowe", | ||||||
|  |                     "hqd_hot_wind_timing": "Gorące powietrze", | ||||||
|  |                     "hqd_hygienic": "Higienizacja", | ||||||
|  |                     "hqd_i_refresh": "I-Refresh", | ||||||
|  |                     "hqd_i_refresh_pro": "I-Refresh Pro", | ||||||
|  |                     "hqd_jacket": "Kurtki", | ||||||
|  |                     "hqd_jeans": "Dżins", | ||||||
|  |                     "hqd_luxury": "Luxury", | ||||||
|  |                     "hqd_mix": "Mieszane", | ||||||
|  |                     "hqd_night_dry": "Suszenie nocne", | ||||||
|  |                     "hqd_outdoor": "Outdoor", | ||||||
|  |                     "hqd_precious_cure": "Precious cure", | ||||||
|  |                     "hqd_quick_20": "Szybkie 20", | ||||||
|  |                     "hqd_quick_30": "Szybkie 30", | ||||||
|  |                     "hqd_quick_dry": "Szybkoschnące", | ||||||
|  |                     "hqd_quilt": "Kołdry", | ||||||
|  |                     "hqd_refresh": "Odświeżanie", | ||||||
|  |                     "hqd_school_uniform": "Mundurek szkolny", | ||||||
|  |                     "hqd_shirt": "Koszule", | ||||||
|  |                     "hqd_shoes": "Buty", | ||||||
|  |                     "hqd_silk": "Jedwab", | ||||||
|  |                     "hqd_sports": "Odzież sportowa", | ||||||
|  |                     "hqd_synthetics": "Syntetyki", | ||||||
|  |                     "hqd_timer": "Czasowe", | ||||||
|  |                     "hqd_towel": "Ręczniki", | ||||||
|  |                     "hqd_underwear": "Bielizna", | ||||||
|  |                     "hqd_warm_up": "Podgrzej", | ||||||
|  |                     "hqd_wool": "Wełna", | ||||||
|  |                     "hqd_working_suit": "Odzież robocza", | ||||||
|  |                     "hygiene": "Higiena", | ||||||
|  |                     "iot_checkup": "Kontrola", | ||||||
|  |                     "iot_dry_anti_mites": "Przeciw roztoczom", | ||||||
|  |                     "iot_dry_baby": "Dzieci", | ||||||
|  |                     "iot_dry_backpacks": "Plecaki", | ||||||
|  |                     "iot_dry_bathrobe": "Szlafroki", | ||||||
|  |                     "iot_dry_bed_linen": "Pościel", | ||||||
|  |                     "iot_dry_bed_quilt": "Bed Quilt", | ||||||
|  |                     "iot_dry_cotton": "Bawełna", | ||||||
|  |                     "iot_dry_cuddly_toys": "Zabawki pluszowe", | ||||||
|  |                     "iot_dry_curtains": "Zasłony", | ||||||
|  |                     "iot_dry_dehumidifier": "Środek do usuwania wilgoci", | ||||||
|  |                     "iot_dry_delicates": "Bielizna", | ||||||
|  |                     "iot_dry_delicate_tablecloths": "Delikatne obrusy", | ||||||
|  |                     "iot_dry_denim_jeans": "Dżinsy", | ||||||
|  |                     "iot_dry_down_jacket": "Jacket", | ||||||
|  |                     "iot_dry_duvet": "Kołdry", | ||||||
|  |                     "iot_dry_easy_iron_cotton": "Super Easy Iron", | ||||||
|  |                     "iot_dry_easy_iron_synthetics": "Super łatwe prasowanie tkanin syntetycznych", | ||||||
|  |                     "iot_dry_gym_fit": "Gimnastyczne - Fitness", | ||||||
|  |                     "iot_dry_lingerie": "Bielizna", | ||||||
|  |                     "iot_dry_mixed": "Mieszane", | ||||||
|  |                     "iot_dry_playsuits": "Pajacyki", | ||||||
|  |                     "iot_dry_rapid_30": "Rapid 30", | ||||||
|  |                     "iot_dry_rapid_59": "Szybki 59’.", | ||||||
|  |                     "iot_dry_refresh": "Refresh", | ||||||
|  |                     "iot_dry_regenerates_waterproof": "Regeneracja wodoodpornych", | ||||||
|  |                     "iot_dry_relax_creases": "Relax Creases", | ||||||
|  |                     "iot_dry_shirts": "Koszule", | ||||||
|  |                     "iot_dry_small_load": "Small Load", | ||||||
|  |                     "iot_dry_swimsuits_and_bikinis": "Stroje kąpielowe", | ||||||
|  |                     "iot_dry_synthetics": "Syntetyczne", | ||||||
|  |                     "iot_dry_synthetic_dry": "Suszenie materiałów syntetycznych", | ||||||
|  |                     "iot_dry_tablecloths": "Obrusy", | ||||||
|  |                     "iot_dry_technical_fabrics": "Materiały techniczne", | ||||||
|  |                     "iot_dry_warm_embrace": "Ciepłe objęcie", | ||||||
|  |                     "iot_dry_wool": "Woolmark", | ||||||
|  |                     "jeans": "Dżinsy", | ||||||
|  |                     "mix_and_dry": "Mix&Dry", | ||||||
|  |                     "pets": "Zwierzęta domowe", | ||||||
|  |                     "pre_iron": "Pre-Iron", | ||||||
|  |                     "rapid_30": "Rapid 30", | ||||||
|  |                     "rapid_45": "Rapid 45 min", | ||||||
|  |                     "rapid_59": "Perfekcyjne szybkie w 59 min", | ||||||
|  |                     "refresh": "Odświeżanie", | ||||||
|  |                     "relax_creases": "Relax Creases", | ||||||
|  |                     "saving_30_min": "ECO 30'", | ||||||
|  |                     "shirts": "Koszule", | ||||||
|  |                     "shoes": "Buty", | ||||||
|  |                     "small_load": "Small Load", | ||||||
|  |                     "soft_care": "Soft Care", | ||||||
|  |                     "sport_plus": "Sportowe", | ||||||
|  |                     "super_easy_iron_misti": "Super łatwe prasowanie tkanin mieszanych", | ||||||
|  |                     "super_easy_iron_xxl": "Super łatwe prasowanie XXL", | ||||||
|  |                     "super_fast_cottons": "Super Fast Cottons", | ||||||
|  |                     "super_fast_delicates": "Super Fast Delicates", | ||||||
|  |                     "synthetics": "Syntetyczne", | ||||||
|  |                     "total_care": "Total Care", | ||||||
|  |                     "trainers": "Buty sportowe", | ||||||
|  |                     "ultra_care": "Ultra Care", | ||||||
|  |                     "waterproof_revitalize": "Waterproof Revitalize", | ||||||
|  |                     "whites": "Białe", | ||||||
|  |                     "wool": "Suszenie wełny", | ||||||
|  |                     "woolmark": "Woolmark", | ||||||
|  |                     "xxl_load": "XXL Load", | ||||||
|  |                     "zoom_59": "Zoom 59" | ||||||
|  |                 } | ||||||
|  |             }, | ||||||
|  |             "room_temperature": { | ||||||
|  |                 "name": "Temperatura pokojowa" | ||||||
|  |             }, | ||||||
|  |             "humidity": { | ||||||
|  |                 "name": "Wilgotność" | ||||||
|  |             }, | ||||||
|  |             "freezer_temp": { | ||||||
|  |                 "name": "Temperatura zamrażarki" | ||||||
|  |             }, | ||||||
|  |             "fridge_temp": { | ||||||
|  |                 "name": "Temperatura lodówki" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "select": { |         "select": { | ||||||
| @ -820,7 +974,8 @@ | |||||||
|                     "12": "Prasowanie", |                     "12": "Prasowanie", | ||||||
|                     "13": "Gotowe do garderoby", |                     "13": "Gotowe do garderoby", | ||||||
|                     "14": "Gotowe do włożenia", |                     "14": "Gotowe do włożenia", | ||||||
|                     "15": "Ekstra suchy" |                     "15": "Ekstra suchy", | ||||||
|  |                     "11": "Bez suszenia" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Poziom suszenia" |                 "name": "Poziom suszenia" | ||||||
|             }, |             }, | ||||||
| @ -870,6 +1025,31 @@ | |||||||
|                     "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" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "switch": { |         "switch": { | ||||||
| @ -877,7 +1057,7 @@ | |||||||
|                 "name": "Przeciw gnieceniu" |                 "name": "Przeciw gnieceniu" | ||||||
|             }, |             }, | ||||||
|             "add_dish": { |             "add_dish": { | ||||||
|                 "name": "" |                 "name": "Dodaj naczynia" | ||||||
|             }, |             }, | ||||||
|             "eco_express": { |             "eco_express": { | ||||||
|                 "name": "Eco" |                 "name": "Eco" | ||||||
| @ -944,6 +1124,39 @@ | |||||||
|             }, |             }, | ||||||
|             "mute_mode": { |             "mute_mode": { | ||||||
|                 "name": "Tryb wyciszenia" |                 "name": "Tryb wyciszenia" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_1": { | ||||||
|  |                 "name": "+1 płukanie" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_2": { | ||||||
|  |                 "name": "+2 płukania" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_3": { | ||||||
|  |                 "name": "+3 płukania" | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Acquaplus" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "Automatyczne dozowanie" | ||||||
|  |             }, | ||||||
|  |             "good_night": { | ||||||
|  |                 "name": "Dobranoc" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_softener": { | ||||||
|  |                 "name": "Automatyczne dozowanie Środek zmiękczający" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_detergent": { | ||||||
|  |                 "name": "Automatyczne dozowanie Detergent" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "Ustawianie automatyczne" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "binary_sensor": { |         "binary_sensor": { | ||||||
| @ -1015,6 +1228,36 @@ | |||||||
|             }, |             }, | ||||||
|             "prewash": { |             "prewash": { | ||||||
|                 "name": "Mycie wstępne" |                 "name": "Mycie wstępne" | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Acquaplus" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "Automatyczne dozowanie" | ||||||
|  |             }, | ||||||
|  |             "buzzer": { | ||||||
|  |                 "name": "Sygnał dźwiękowy końca cyklu" | ||||||
|  |             }, | ||||||
|  |             "holiday_mode": { | ||||||
|  |                 "name": "Tryb Holiday" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "Ustawianie automatyczne" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|  |             }, | ||||||
|  |             "freezer_door": { | ||||||
|  |                 "name": "Drzwi otwarte Zamrażarka" | ||||||
|  |             }, | ||||||
|  |             "fridge_door": { | ||||||
|  |                 "name": "Drzwi otwarte Lodówka" | ||||||
|  |             }, | ||||||
|  |             "filter_replacement": { | ||||||
|  |                 "name": "Wymiana filtra" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "number": { |         "number": { | ||||||
| @ -1044,12 +1287,26 @@ | |||||||
|             }, |             }, | ||||||
|             "dry_time": { |             "dry_time": { | ||||||
|                 "name": "Czas suszenia" |                 "name": "Czas suszenia" | ||||||
|  |             }, | ||||||
|  |             "steam_level": { | ||||||
|  |                 "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" | ||||||
|             } |             } | ||||||
|  |         }, | ||||||
|  |         "climate": { | ||||||
|  |             "air_conditioner": { | ||||||
|  |                 "name": "Klimatyzator" | ||||||
|  |             } | ||||||
|         } |         } | ||||||
|     }, |     }, | ||||||
|     "config": { |     "config": { | ||||||
|  | |||||||
| @ -9,7 +9,10 @@ | |||||||
|                     "4": "Agendado", |                     "4": "Agendado", | ||||||
|                     "5": "Agendado", |                     "5": "Agendado", | ||||||
|                     "6": "Erro", |                     "6": "Erro", | ||||||
|                     "7": "Pronto" |                     "7": "Pronto", | ||||||
|  |                     "2": "Programa em execução", | ||||||
|  |                     "8": "Test", | ||||||
|  |                     "9": "Ciclo de paragem…" | ||||||
|                 } |                 } | ||||||
|             }, |             }, | ||||||
|             "program_phases_wm": { |             "program_phases_wm": { | ||||||
| @ -53,7 +56,9 @@ | |||||||
|                     "16": "Arrefecimento", |                     "16": "Arrefecimento", | ||||||
|                     "18": "Manter Fresco", |                     "18": "Manter Fresco", | ||||||
|                     "19": "Secagem", |                     "19": "Secagem", | ||||||
|                     "20": "Secagem" |                     "20": "Secagem", | ||||||
|  |                     "11": "Pronto", | ||||||
|  |                     "17": "unknown" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Fase" |                 "name": "Fase" | ||||||
|             }, |             }, | ||||||
| @ -79,7 +84,8 @@ | |||||||
|                     "12": "Engomar", |                     "12": "Engomar", | ||||||
|                     "13": "Guarda-Roupa pronto", |                     "13": "Guarda-Roupa pronto", | ||||||
|                     "14": "Pronto a usar", |                     "14": "Pronto a usar", | ||||||
|                     "15": "Extra seco" |                     "15": "Extra seco", | ||||||
|  |                     "11": "Sem secagem" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Nível de secagem" |                 "name": "Nível de secagem" | ||||||
|             }, |             }, | ||||||
| @ -165,6 +171,154 @@ | |||||||
|                     "5": "Ventilador", |                     "5": "Ventilador", | ||||||
|                     "6": "Ventilador" |                     "6": "Ventilador" | ||||||
|                 } |                 } | ||||||
|  |             }, | ||||||
|  |             "programs_td": { | ||||||
|  |                 "state": { | ||||||
|  |                     "active_dry": "Secagem ativa", | ||||||
|  |                     "allergy_care": "Anti alergias", | ||||||
|  |                     "all_in_one": "All in One", | ||||||
|  |                     "antiallergy": "Anti alergias", | ||||||
|  |                     "anti_odours": "Anti-odor", | ||||||
|  |                     "auto_care": "Auto Care", | ||||||
|  |                     "baby": "Roupa de bebé", | ||||||
|  |                     "bed_quilt": "Colchas", | ||||||
|  |                     "care_30": "Cuidado 30", | ||||||
|  |                     "care_45": "Cuidado 45", | ||||||
|  |                     "care_59": "Cuidado 59", | ||||||
|  |                     "coloured": "Cores", | ||||||
|  |                     "daily_45_min": "DIARIO 45'", | ||||||
|  |                     "daily_perfect_59_min": "DIARIO PERFEITO 59'", | ||||||
|  |                     "darks_and_coloured": "Roupa escura e colorida", | ||||||
|  |                     "delicates": "Delicados", | ||||||
|  |                     "duvet": "Edredãos", | ||||||
|  |                     "eco": "Eco Algodão", | ||||||
|  |                     "ecospeed_cottons": "Velocidade eco algodões", | ||||||
|  |                     "ecospeed_delicates": "Ecospeed roupa delicada", | ||||||
|  |                     "ecospeed_mixed": "Velocidade eco mistos", | ||||||
|  |                     "extra_hygiene": "Higiene Extra", | ||||||
|  |                     "fitness": "Fitness", | ||||||
|  |                     "fresh_care": "Cuidado Fresco", | ||||||
|  |                     "genius": "Genius", | ||||||
|  |                     "hqd_baby_care": "Baby Care", | ||||||
|  |                     "hqd_bath_towel": "Toalhas", | ||||||
|  |                     "hqd_bed_sheets": "Lençóis", | ||||||
|  |                     "hqd_bulky": "Itens volumosos", | ||||||
|  |                     "hqd_casual": "Casual", | ||||||
|  |                     "hqd_cold_wind_30": "Brisa fresca durante 30 minutos", | ||||||
|  |                     "hqd_cold_wind_timing": "Brisa fresca ", | ||||||
|  |                     "hqd_cotton": "Algodão", | ||||||
|  |                     "hqd_curtain": "Cortinas", | ||||||
|  |                     "hqd_delicate": "Roupa delicada", | ||||||
|  |                     "hqd_diaper": "Fraldas", | ||||||
|  |                     "hqd_duvet": "Edredões", | ||||||
|  |                     "hqd_feather": "Blusões", | ||||||
|  |                     "hqd_hot_wind_timing": "Ar quente", | ||||||
|  |                     "hqd_hygienic": "Higienização", | ||||||
|  |                     "hqd_i_refresh": "I-Refresh", | ||||||
|  |                     "hqd_i_refresh_pro": "I-Refresh Pro", | ||||||
|  |                     "hqd_jacket": "Casacos", | ||||||
|  |                     "hqd_jeans": "Jeans", | ||||||
|  |                     "hqd_luxury": "Peças requintadas", | ||||||
|  |                     "hqd_mix": "Mistos", | ||||||
|  |                     "hqd_night_dry": "Secagem durante a noite", | ||||||
|  |                     "hqd_outdoor": "Outdoor", | ||||||
|  |                     "hqd_precious_cure": "Precious cure", | ||||||
|  |                     "hqd_quick_20": "Rápido 20", | ||||||
|  |                     "hqd_quick_30": "Rápido 30", | ||||||
|  |                     "hqd_quick_dry": "Secagem rápida", | ||||||
|  |                     "hqd_quilt": "Colchas", | ||||||
|  |                     "hqd_refresh": "Refrescar", | ||||||
|  |                     "hqd_school_uniform": "Farda da escola", | ||||||
|  |                     "hqd_shirt": "Camisas", | ||||||
|  |                     "hqd_shoes": "Calçado", | ||||||
|  |                     "hqd_silk": "Seda", | ||||||
|  |                     "hqd_sports": "Desporto", | ||||||
|  |                     "hqd_synthetics": "Sintéticos", | ||||||
|  |                     "hqd_timer": "Temporizado", | ||||||
|  |                     "hqd_towel": "Toalhas", | ||||||
|  |                     "hqd_underwear": "Roupa interior", | ||||||
|  |                     "hqd_warm_up": "Aquecer", | ||||||
|  |                     "hqd_wool": "Lãs", | ||||||
|  |                     "hqd_working_suit": "Roupa de trabalho", | ||||||
|  |                     "hygiene": "Higiene", | ||||||
|  |                     "iot_checkup": "Check-Up", | ||||||
|  |                     "iot_dry_anti_mites": "Anti-ácaros", | ||||||
|  |                     "iot_dry_baby": "Roupa de bebé", | ||||||
|  |                     "iot_dry_backpacks": "Mochilas", | ||||||
|  |                     "iot_dry_bathrobe": "Roupões", | ||||||
|  |                     "iot_dry_bed_linen": "Roupa de cama", | ||||||
|  |                     "iot_dry_bed_quilt": "Colchas", | ||||||
|  |                     "iot_dry_cotton": "Algodão", | ||||||
|  |                     "iot_dry_cuddly_toys": "Brinquedos macios", | ||||||
|  |                     "iot_dry_curtains": "Cortinas", | ||||||
|  |                     "iot_dry_dehumidifier": "Removedor de humidade", | ||||||
|  |                     "iot_dry_delicates": "Roupa delicada", | ||||||
|  |                     "iot_dry_delicate_tablecloths": "Roupa de mesa delicada", | ||||||
|  |                     "iot_dry_denim_jeans": "Ganga - Jeans", | ||||||
|  |                     "iot_dry_down_jacket": "Jacket", | ||||||
|  |                     "iot_dry_duvet": "Edredãos", | ||||||
|  |                     "iot_dry_easy_iron_cotton": "Engomar fácil", | ||||||
|  |                     "iot_dry_easy_iron_synthetics": "Engomar Super Fácil de Sintéticos", | ||||||
|  |                     "iot_dry_gym_fit": "Roupa de desporto - Fitness", | ||||||
|  |                     "iot_dry_lingerie": "Roupa interior", | ||||||
|  |                     "iot_dry_mixed": "Mistos", | ||||||
|  |                     "iot_dry_playsuits": "Macacões", | ||||||
|  |                     "iot_dry_rapid_30": "Rapid 30", | ||||||
|  |                     "iot_dry_rapid_59": "Rápido 59’.", | ||||||
|  |                     "iot_dry_refresh": "Refrescar", | ||||||
|  |                     "iot_dry_regenerates_waterproof": "Regeneração da Impermeabilização (?)", | ||||||
|  |                     "iot_dry_relax_creases": "Menos vincos", | ||||||
|  |                     "iot_dry_shirts": "Camisas", | ||||||
|  |                     "iot_dry_small_load": "Pequena carga", | ||||||
|  |                     "iot_dry_swimsuits_and_bikinis": "Fatos de banho", | ||||||
|  |                     "iot_dry_synthetics": "Sintéticos", | ||||||
|  |                     "iot_dry_synthetic_dry": "Secagem de Sintéticos", | ||||||
|  |                     "iot_dry_tablecloths": "Roupa de mesa", | ||||||
|  |                     "iot_dry_technical_fabrics": "Tecidos técnicos", | ||||||
|  |                     "iot_dry_warm_embrace": "Warm Embrace (?)", | ||||||
|  |                     "iot_dry_wool": "Woolmark", | ||||||
|  |                     "jeans": "Jeans", | ||||||
|  |                     "mix_and_dry": "Mix&Dry (Mista e Seca)", | ||||||
|  |                     "pets": "Animais de estimação", | ||||||
|  |                     "pre_iron": "Pré engomar", | ||||||
|  |                     "rapid_30": "Rapid 30", | ||||||
|  |                     "rapid_45": "Rápido 45 min", | ||||||
|  |                     "rapid_59": "Rápida Perfeita 59 min", | ||||||
|  |                     "refresh": "Refrescar", | ||||||
|  |                     "relax_creases": "Menos vincos", | ||||||
|  |                     "saving_30_min": "ECO 30'", | ||||||
|  |                     "shirts": "Camisas", | ||||||
|  |                     "shoes": "Calçado", | ||||||
|  |                     "small_load": "Pequena carga", | ||||||
|  |                     "soft_care": "Cuidado Suave", | ||||||
|  |                     "sport_plus": "Roupa desportiva", | ||||||
|  |                     "super_easy_iron_misti": "Engomar Super Fácil de mistos", | ||||||
|  |                     "super_easy_iron_xxl": "Engomar Super Fácil XXL", | ||||||
|  |                     "super_fast_cottons": "Algodões super rápido", | ||||||
|  |                     "super_fast_delicates": "Delicados super rápido", | ||||||
|  |                     "synthetics": "Sintéticos", | ||||||
|  |                     "total_care": "Total Care", | ||||||
|  |                     "trainers": "Ténis", | ||||||
|  |                     "ultra_care": "Ultra Care", | ||||||
|  |                     "waterproof_revitalize": "Revitalização da impermeabialização", | ||||||
|  |                     "whites": "Roupa branca", | ||||||
|  |                     "wool": "Secagem de lãs", | ||||||
|  |                     "woolmark": "Woolmark", | ||||||
|  |                     "xxl_load": "Carga XXL", | ||||||
|  |                     "zoom_59": "Zoom 59" | ||||||
|  |                 } | ||||||
|  |             }, | ||||||
|  |             "room_temperature": { | ||||||
|  |                 "name": "Temperatura ambiente" | ||||||
|  |             }, | ||||||
|  |             "humidity": { | ||||||
|  |                 "name": "Humidade" | ||||||
|  |             }, | ||||||
|  |             "freezer_temp": { | ||||||
|  |                 "name": "Temperatura do congelador" | ||||||
|  |             }, | ||||||
|  |             "fridge_temp": { | ||||||
|  |                 "name": "Temperatura do frigorífico" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "select": { |         "select": { | ||||||
| @ -820,7 +974,8 @@ | |||||||
|                     "12": "Engomar", |                     "12": "Engomar", | ||||||
|                     "13": "Guarda-Roupa pronto", |                     "13": "Guarda-Roupa pronto", | ||||||
|                     "14": "Pronto a usar", |                     "14": "Pronto a usar", | ||||||
|                     "15": "Extra seco" |                     "15": "Extra seco", | ||||||
|  |                     "11": "Sem secagem" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Nível de secagem" |                 "name": "Nível de secagem" | ||||||
|             }, |             }, | ||||||
| @ -870,6 +1025,31 @@ | |||||||
|                     "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" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "switch": { |         "switch": { | ||||||
| @ -877,7 +1057,7 @@ | |||||||
|                 "name": "Anti-vincos" |                 "name": "Anti-vincos" | ||||||
|             }, |             }, | ||||||
|             "add_dish": { |             "add_dish": { | ||||||
|                 "name": "" |                 "name": "Adicionar pratos" | ||||||
|             }, |             }, | ||||||
|             "eco_express": { |             "eco_express": { | ||||||
|                 "name": "Eco" |                 "name": "Eco" | ||||||
| @ -944,6 +1124,39 @@ | |||||||
|             }, |             }, | ||||||
|             "mute_mode": { |             "mute_mode": { | ||||||
|                 "name": "Modo Mute" |                 "name": "Modo Mute" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_1": { | ||||||
|  |                 "name": "+1 enxaguamento" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_2": { | ||||||
|  |                 "name": "+2 enxaguamentos" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_3": { | ||||||
|  |                 "name": "+3 enxaguamentos" | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Acquaplus" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "Autodosagem" | ||||||
|  |             }, | ||||||
|  |             "good_night": { | ||||||
|  |                 "name": "Boa Noite" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_softener": { | ||||||
|  |                 "name": "Autodosagem Amaciador" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_detergent": { | ||||||
|  |                 "name": "Autodosagem Detergente" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "Ajuste automático" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "binary_sensor": { |         "binary_sensor": { | ||||||
| @ -1015,6 +1228,36 @@ | |||||||
|             }, |             }, | ||||||
|             "prewash": { |             "prewash": { | ||||||
|                 "name": "Pré-lavagem" |                 "name": "Pré-lavagem" | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Acquaplus" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "Autodosagem" | ||||||
|  |             }, | ||||||
|  |             "buzzer": { | ||||||
|  |                 "name": "Besouro de fim de ciclo" | ||||||
|  |             }, | ||||||
|  |             "holiday_mode": { | ||||||
|  |                 "name": "Modo Holiday" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "Ajuste automático" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|  |             }, | ||||||
|  |             "freezer_door": { | ||||||
|  |                 "name": "Porta aberta Congelador" | ||||||
|  |             }, | ||||||
|  |             "fridge_door": { | ||||||
|  |                 "name": "Porta aberta Frigorífico" | ||||||
|  |             }, | ||||||
|  |             "filter_replacement": { | ||||||
|  |                 "name": "Substituição do filtro" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "number": { |         "number": { | ||||||
| @ -1044,12 +1287,26 @@ | |||||||
|             }, |             }, | ||||||
|             "dry_time": { |             "dry_time": { | ||||||
|                 "name": "Tempo de secagem" |                 "name": "Tempo de secagem" | ||||||
|  |             }, | ||||||
|  |             "steam_level": { | ||||||
|  |                 "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" | ||||||
|             } |             } | ||||||
|  |         }, | ||||||
|  |         "climate": { | ||||||
|  |             "air_conditioner": { | ||||||
|  |                 "name": "Ar Condicionado" | ||||||
|  |             } | ||||||
|         } |         } | ||||||
|     }, |     }, | ||||||
|     "config": { |     "config": { | ||||||
|  | |||||||
| @ -9,7 +9,10 @@ | |||||||
|                     "4": "Programat", |                     "4": "Programat", | ||||||
|                     "5": "Programat", |                     "5": "Programat", | ||||||
|                     "6": "Eroare", |                     "6": "Eroare", | ||||||
|                     "7": "Pregătit" |                     "7": "Pregătit", | ||||||
|  |                     "2": "Program în desfășurare", | ||||||
|  |                     "8": "Test", | ||||||
|  |                     "9": "Ciclul de oprire..." | ||||||
|                 } |                 } | ||||||
|             }, |             }, | ||||||
|             "program_phases_wm": { |             "program_phases_wm": { | ||||||
| @ -53,7 +56,9 @@ | |||||||
|                     "16": "Răcire", |                     "16": "Răcire", | ||||||
|                     "18": "Menținere prospețime", |                     "18": "Menținere prospețime", | ||||||
|                     "19": "Uscare", |                     "19": "Uscare", | ||||||
|                     "20": "Uscare" |                     "20": "Uscare", | ||||||
|  |                     "11": "Pregătit", | ||||||
|  |                     "17": "unknown" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Fază" |                 "name": "Fază" | ||||||
|             }, |             }, | ||||||
| @ -79,7 +84,8 @@ | |||||||
|                     "12": "Călcare", |                     "12": "Călcare", | ||||||
|                     "13": "Șifonier pregătit", |                     "13": "Șifonier pregătit", | ||||||
|                     "14": "Gata de purtat", |                     "14": "Gata de purtat", | ||||||
|                     "15": "Uscare suplimentară" |                     "15": "Uscare suplimentară", | ||||||
|  |                     "11": "Fără uscare" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Nivel de uscare" |                 "name": "Nivel de uscare" | ||||||
|             }, |             }, | ||||||
| @ -165,6 +171,154 @@ | |||||||
|                     "5": "Ventilare", |                     "5": "Ventilare", | ||||||
|                     "6": "Ventilare" |                     "6": "Ventilare" | ||||||
|                 } |                 } | ||||||
|  |             }, | ||||||
|  |             "programs_td": { | ||||||
|  |                 "state": { | ||||||
|  |                     "active_dry": "Uscare activă", | ||||||
|  |                     "allergy_care": "Anti-alergic", | ||||||
|  |                     "all_in_one": "Tot în unu", | ||||||
|  |                     "antiallergy": "Anti-alergic", | ||||||
|  |                     "anti_odours": "Anti mirosuri", | ||||||
|  |                     "auto_care": "Îngrijire automată", | ||||||
|  |                     "baby": "Haine copii", | ||||||
|  |                     "bed_quilt": "Pilote", | ||||||
|  |                     "care_30": "Îngrijire 30", | ||||||
|  |                     "care_45": "Îngrijire 45", | ||||||
|  |                     "care_59": "Îngrijire 59", | ||||||
|  |                     "coloured": "Colorate", | ||||||
|  |                     "daily_45_min": "ZILNIC 45'", | ||||||
|  |                     "daily_perfect_59_min": "ZILNIC PERFECT 59'", | ||||||
|  |                     "darks_and_coloured": "Țesături închise & colorate", | ||||||
|  |                     "delicates": "Delicate", | ||||||
|  |                     "duvet": "Pătură", | ||||||
|  |                     "eco": "Bumbac Eco", | ||||||
|  |                     "ecospeed_cottons": "Bumbac Ecospeed", | ||||||
|  |                     "ecospeed_delicates": "Delicate Ecospeed", | ||||||
|  |                     "ecospeed_mixed": "Țesături mixte Ecospeed", | ||||||
|  |                     "extra_hygiene": "EXTRA IGIENIZARE", | ||||||
|  |                     "fitness": "Fitness", | ||||||
|  |                     "fresh_care": "Îngrijire proaspătă", | ||||||
|  |                     "genius": "Genius", | ||||||
|  |                     "hqd_baby_care": "Baby Care", | ||||||
|  |                     "hqd_bath_towel": "Prosoape", | ||||||
|  |                     "hqd_bed_sheets": "Cearceafuri", | ||||||
|  |                     "hqd_bulky": "Articole voluminoase", | ||||||
|  |                     "hqd_casual": "Articole obișnuite", | ||||||
|  |                     "hqd_cold_wind_30": "Vânt rece 30 minute", | ||||||
|  |                     "hqd_cold_wind_timing": "Vânt rece ", | ||||||
|  |                     "hqd_cotton": "Bumbac", | ||||||
|  |                     "hqd_curtain": "Perdele", | ||||||
|  |                     "hqd_delicate": "Delicate", | ||||||
|  |                     "hqd_diaper": "Scutece", | ||||||
|  |                     "hqd_duvet": "Cuvertură", | ||||||
|  |                     "hqd_feather": "Geci", | ||||||
|  |                     "hqd_hot_wind_timing": "Aer cald", | ||||||
|  |                     "hqd_hygienic": "Igienizare", | ||||||
|  |                     "hqd_i_refresh": "I-Refresh", | ||||||
|  |                     "hqd_i_refresh_pro": "I-Refresh Pro", | ||||||
|  |                     "hqd_jacket": "Jachete", | ||||||
|  |                     "hqd_jeans": "Blugi", | ||||||
|  |                     "hqd_luxury": "Luxury", | ||||||
|  |                     "hqd_mix": "Mixte", | ||||||
|  |                     "hqd_night_dry": "Uscare peste noapte", | ||||||
|  |                     "hqd_outdoor": "Outdoor", | ||||||
|  |                     "hqd_precious_cure": "Precious cure", | ||||||
|  |                     "hqd_quick_20": "Rapid 20", | ||||||
|  |                     "hqd_quick_30": "Rapid 30", | ||||||
|  |                     "hqd_quick_dry": "Uscare rapidă", | ||||||
|  |                     "hqd_quilt": "Pilote", | ||||||
|  |                     "hqd_refresh": "Reîmprospătare", | ||||||
|  |                     "hqd_school_uniform": "Uniformă școlară", | ||||||
|  |                     "hqd_shirt": "Cămăși", | ||||||
|  |                     "hqd_shoes": "Încălțăminte", | ||||||
|  |                     "hqd_silk": "Mătase", | ||||||
|  |                     "hqd_sports": "Articole sportive", | ||||||
|  |                     "hqd_synthetics": "Sintetice", | ||||||
|  |                     "hqd_timer": "Cronometrat", | ||||||
|  |                     "hqd_towel": "Prosoape", | ||||||
|  |                     "hqd_underwear": "Lenjerie", | ||||||
|  |                     "hqd_warm_up": "Încălzire", | ||||||
|  |                     "hqd_wool": "Lână", | ||||||
|  |                     "hqd_working_suit": "Îmbrăcăminte de lucru", | ||||||
|  |                     "hygiene": "Igienizare", | ||||||
|  |                     "iot_checkup": "Verificare", | ||||||
|  |                     "iot_dry_anti_mites": "Anti-acarieni", | ||||||
|  |                     "iot_dry_baby": "Haine copii", | ||||||
|  |                     "iot_dry_backpacks": "Rucsaci", | ||||||
|  |                     "iot_dry_bathrobe": "Halat de baie", | ||||||
|  |                     "iot_dry_bed_linen": "Lenjerie de pat", | ||||||
|  |                     "iot_dry_bed_quilt": "Pilote", | ||||||
|  |                     "iot_dry_cotton": "Bumbac", | ||||||
|  |                     "iot_dry_cuddly_toys": "Jucării", | ||||||
|  |                     "iot_dry_curtains": "Perdele", | ||||||
|  |                     "iot_dry_dehumidifier": "Dispozitiv pentru îndepărtarea umidității", | ||||||
|  |                     "iot_dry_delicates": "Delicate", | ||||||
|  |                     "iot_dry_delicate_tablecloths": "Fețe de masă delicate", | ||||||
|  |                     "iot_dry_denim_jeans": "Denim - Blugi", | ||||||
|  |                     "iot_dry_down_jacket": "Jacket", | ||||||
|  |                     "iot_dry_duvet": "Pătură", | ||||||
|  |                     "iot_dry_easy_iron_cotton": "Călcare Super Easy", | ||||||
|  |                     "iot_dry_easy_iron_synthetics": "Călcare super ușoară a rufelor sintetice", | ||||||
|  |                     "iot_dry_gym_fit": "Articole sportive - Fitness", | ||||||
|  |                     "iot_dry_lingerie": "Lenjerie", | ||||||
|  |                     "iot_dry_mixed": "Mixte", | ||||||
|  |                     "iot_dry_playsuits": "Haine de joacă", | ||||||
|  |                     "iot_dry_rapid_30": "Rapid 30", | ||||||
|  |                     "iot_dry_rapid_59": "Rapid 59'.", | ||||||
|  |                     "iot_dry_refresh": "Reîmprospătare", | ||||||
|  |                     "iot_dry_regenerates_waterproof": "Rezistente la apă", | ||||||
|  |                     "iot_dry_relax_creases": "Reducere șifonare", | ||||||
|  |                     "iot_dry_shirts": "Cămăși", | ||||||
|  |                     "iot_dry_small_load": "Încărcare mică", | ||||||
|  |                     "iot_dry_swimsuits_and_bikinis": "Costume de baie", | ||||||
|  |                     "iot_dry_synthetics": "Sintetice", | ||||||
|  |                     "iot_dry_synthetic_dry": "Uscare material sintetic", | ||||||
|  |                     "iot_dry_tablecloths": "Fețe de masă", | ||||||
|  |                     "iot_dry_technical_fabrics": "Țesături industriale", | ||||||
|  |                     "iot_dry_warm_embrace": "Îmbrățișare caldă", | ||||||
|  |                     "iot_dry_wool": "Woolmark", | ||||||
|  |                     "jeans": "Jeans", | ||||||
|  |                     "mix_and_dry": "Mix&Uscare", | ||||||
|  |                     "pets": "Animale de companie", | ||||||
|  |                     "pre_iron": "Pre-Călcare", | ||||||
|  |                     "rapid_30": "Rapid 30", | ||||||
|  |                     "rapid_45": "Rapid 45 min", | ||||||
|  |                     "rapid_59": "Rapid Perfect 59 Min", | ||||||
|  |                     "refresh": "Reîmprospătare", | ||||||
|  |                     "relax_creases": "Reducere șifonare", | ||||||
|  |                     "saving_30_min": "ECO 30'", | ||||||
|  |                     "shirts": "Cămăși", | ||||||
|  |                     "shoes": "Încălțăminte", | ||||||
|  |                     "small_load": "Încărcare mică", | ||||||
|  |                     "soft_care": "Îngrijire blândă", | ||||||
|  |                     "sport_plus": "Haine sport", | ||||||
|  |                     "super_easy_iron_misti": "Călcare super ușoară a rufelor cu fibre mixte", | ||||||
|  |                     "super_easy_iron_xxl": "Călcare super ușoară a rufelor XXL", | ||||||
|  |                     "super_fast_cottons": "Bumbac Super Rapid", | ||||||
|  |                     "super_fast_delicates": "Delicate Super Rapid", | ||||||
|  |                     "synthetics": "Sintetice", | ||||||
|  |                     "total_care": "Total Care", | ||||||
|  |                     "trainers": "Încălțăminte sport", | ||||||
|  |                     "ultra_care": "Ultra Care", | ||||||
|  |                     "waterproof_revitalize": "Revitalizare impermeabile", | ||||||
|  |                     "whites": "Albe", | ||||||
|  |                     "wool": "Uscare lână", | ||||||
|  |                     "woolmark": "Woolmark", | ||||||
|  |                     "xxl_load": "Încărcare XXL", | ||||||
|  |                     "zoom_59": "Zoom 59" | ||||||
|  |                 } | ||||||
|  |             }, | ||||||
|  |             "room_temperature": { | ||||||
|  |                 "name": "Temperatura camerei" | ||||||
|  |             }, | ||||||
|  |             "humidity": { | ||||||
|  |                 "name": "Umiditate" | ||||||
|  |             }, | ||||||
|  |             "freezer_temp": { | ||||||
|  |                 "name": "Temperatura congelatorului" | ||||||
|  |             }, | ||||||
|  |             "fridge_temp": { | ||||||
|  |                 "name": "Temperatura frigiderului" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "select": { |         "select": { | ||||||
| @ -820,7 +974,8 @@ | |||||||
|                     "12": "Călcare", |                     "12": "Călcare", | ||||||
|                     "13": "Șifonier pregătit", |                     "13": "Șifonier pregătit", | ||||||
|                     "14": "Gata de purtat", |                     "14": "Gata de purtat", | ||||||
|                     "15": "Uscare suplimentară" |                     "15": "Uscare suplimentară", | ||||||
|  |                     "11": "Fără uscare" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Nivel de uscare" |                 "name": "Nivel de uscare" | ||||||
|             }, |             }, | ||||||
| @ -870,6 +1025,31 @@ | |||||||
|                     "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" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "switch": { |         "switch": { | ||||||
| @ -877,7 +1057,7 @@ | |||||||
|                 "name": "Antișifonare" |                 "name": "Antișifonare" | ||||||
|             }, |             }, | ||||||
|             "add_dish": { |             "add_dish": { | ||||||
|                 "name": "" |                 "name": "Adaugă vase" | ||||||
|             }, |             }, | ||||||
|             "eco_express": { |             "eco_express": { | ||||||
|                 "name": "Eco" |                 "name": "Eco" | ||||||
| @ -944,6 +1124,39 @@ | |||||||
|             }, |             }, | ||||||
|             "mute_mode": { |             "mute_mode": { | ||||||
|                 "name": "Modul mut" |                 "name": "Modul mut" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_1": { | ||||||
|  |                 "name": "+1 clătire" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_2": { | ||||||
|  |                 "name": "+2 clătiri" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_3": { | ||||||
|  |                 "name": "+3 clătiri" | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Acquaplus" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "Autodozare" | ||||||
|  |             }, | ||||||
|  |             "good_night": { | ||||||
|  |                 "name": "Noapte bună" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_softener": { | ||||||
|  |                 "name": "Autodozare Balsam" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_detergent": { | ||||||
|  |                 "name": "Autodozare Detergent" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "Setare automată" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "binary_sensor": { |         "binary_sensor": { | ||||||
| @ -1015,6 +1228,36 @@ | |||||||
|             }, |             }, | ||||||
|             "prewash": { |             "prewash": { | ||||||
|                 "name": "Prespălare" |                 "name": "Prespălare" | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Acquaplus" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "Autodozare" | ||||||
|  |             }, | ||||||
|  |             "buzzer": { | ||||||
|  |                 "name": "Sonerie la finalul ciclului" | ||||||
|  |             }, | ||||||
|  |             "holiday_mode": { | ||||||
|  |                 "name": "Mod Holiday" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "Setare automată" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|  |             }, | ||||||
|  |             "freezer_door": { | ||||||
|  |                 "name": "Ușă deschisă Congelator" | ||||||
|  |             }, | ||||||
|  |             "fridge_door": { | ||||||
|  |                 "name": "Ușă deschisă Frigider" | ||||||
|  |             }, | ||||||
|  |             "filter_replacement": { | ||||||
|  |                 "name": "Înlocuirea filtrului" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "number": { |         "number": { | ||||||
| @ -1044,12 +1287,26 @@ | |||||||
|             }, |             }, | ||||||
|             "dry_time": { |             "dry_time": { | ||||||
|                 "name": "Timp de uscare" |                 "name": "Timp de uscare" | ||||||
|  |             }, | ||||||
|  |             "steam_level": { | ||||||
|  |                 "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" | ||||||
|             } |             } | ||||||
|  |         }, | ||||||
|  |         "climate": { | ||||||
|  |             "air_conditioner": { | ||||||
|  |                 "name": "Aer condiționat" | ||||||
|  |             } | ||||||
|         } |         } | ||||||
|     }, |     }, | ||||||
|     "config": { |     "config": { | ||||||
|  | |||||||
| @ -9,7 +9,10 @@ | |||||||
|                     "4": "Запланировано", |                     "4": "Запланировано", | ||||||
|                     "5": "Запланировано", |                     "5": "Запланировано", | ||||||
|                     "6": "Ошибка", |                     "6": "Ошибка", | ||||||
|                     "7": "Готово" |                     "7": "Готово", | ||||||
|  |                     "2": "Выполнение программы", | ||||||
|  |                     "8": "Test", | ||||||
|  |                     "9": "Остановка цикла..." | ||||||
|                 } |                 } | ||||||
|             }, |             }, | ||||||
|             "program_phases_wm": { |             "program_phases_wm": { | ||||||
| @ -53,7 +56,9 @@ | |||||||
|                     "16": "Охлаждение", |                     "16": "Охлаждение", | ||||||
|                     "18": "Keep Fresh (Сохранение свежести)", |                     "18": "Keep Fresh (Сохранение свежести)", | ||||||
|                     "19": "Сушка", |                     "19": "Сушка", | ||||||
|                     "20": "Сушка" |                     "20": "Сушка", | ||||||
|  |                     "11": "Готово", | ||||||
|  |                     "17": "unknown" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Фаза" |                 "name": "Фаза" | ||||||
|             }, |             }, | ||||||
| @ -79,7 +84,8 @@ | |||||||
|                     "12": "Под утюг", |                     "12": "Под утюг", | ||||||
|                     "13": "Готово в шкаф", |                     "13": "Готово в шкаф", | ||||||
|                     "14": "Готово для надевания", |                     "14": "Готово для надевания", | ||||||
|                     "15": "Экстра сушка" |                     "15": "Экстра сушка", | ||||||
|  |                     "11": "Без сушки" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Уровень сухости" |                 "name": "Уровень сухости" | ||||||
|             }, |             }, | ||||||
| @ -165,6 +171,154 @@ | |||||||
|                     "5": "Вентилятор", |                     "5": "Вентилятор", | ||||||
|                     "6": "Вентилятор" |                     "6": "Вентилятор" | ||||||
|                 } |                 } | ||||||
|  |             }, | ||||||
|  |             "programs_td": { | ||||||
|  |                 "state": { | ||||||
|  |                     "active_dry": "Активная сушка", | ||||||
|  |                     "allergy_care": "Противоаллергическое действие", | ||||||
|  |                     "all_in_one": "Все в одном", | ||||||
|  |                     "antiallergy": "Противоаллергическое действие", | ||||||
|  |                     "anti_odours": "Против запаха", | ||||||
|  |                     "auto_care": "Автоуход", | ||||||
|  |                     "baby": "Детская одежда", | ||||||
|  |                     "bed_quilt": "Стеганые и пуховые одеяла", | ||||||
|  |                     "care_30": "Уход 30", | ||||||
|  |                     "care_45": "Уход 45", | ||||||
|  |                     "care_59": "Уход 59", | ||||||
|  |                     "coloured": "цветные", | ||||||
|  |                     "daily_45_min": "ЕЖЕДНЕВНАЯ 45'", | ||||||
|  |                     "daily_perfect_59_min": "ЕЖЕДНЕВНАЯ ИДЕАЛЬНАЯ 59'", | ||||||
|  |                     "darks_and_coloured": "Темные и Цветные", | ||||||
|  |                     "delicates": "Деликатные", | ||||||
|  |                     "duvet": "Пуховое одеяло", | ||||||
|  |                     "eco": "Эко хлопок", | ||||||
|  |                     "ecospeed_cottons": "Эко скорость хлопок", | ||||||
|  |                     "ecospeed_delicates": "Эко скорость деликатные", | ||||||
|  |                     "ecospeed_mixed": "Эко скорость смешанные", | ||||||
|  |                     "extra_hygiene": "ЭКСТРА ГИГИЕНА", | ||||||
|  |                     "fitness": "Фитнес", | ||||||
|  |                     "fresh_care": "Свежесть", | ||||||
|  |                     "genius": "Genius", | ||||||
|  |                     "hqd_baby_care": "Baby Care", | ||||||
|  |                     "hqd_bath_towel": "Полотенца", | ||||||
|  |                     "hqd_bed_sheets": "Простыни", | ||||||
|  |                     "hqd_bulky": "Объемные изделия", | ||||||
|  |                     "hqd_casual": "Повседневная одежда", | ||||||
|  |                     "hqd_cold_wind_30": "Прохладный обдув 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": "I-Refresh", | ||||||
|  |                     "hqd_i_refresh_pro": "I-Refresh Pro", | ||||||
|  |                     "hqd_jacket": "Куртки", | ||||||
|  |                     "hqd_jeans": "Джинсы", | ||||||
|  |                     "hqd_luxury": "Люксовые изделия", | ||||||
|  |                     "hqd_mix": "Смешанные ткани", | ||||||
|  |                     "hqd_night_dry": "Ночная сушка", | ||||||
|  |                     "hqd_outdoor": "Outdoor", | ||||||
|  |                     "hqd_precious_cure": "Precious cure", | ||||||
|  |                     "hqd_quick_20": "Быстрая 20", | ||||||
|  |                     "hqd_quick_30": "Быстрая 30", | ||||||
|  |                     "hqd_quick_dry": "Быстрая сушка", | ||||||
|  |                     "hqd_quilt": "Стеганые одеяла", | ||||||
|  |                     "hqd_refresh": "Освежение", | ||||||
|  |                     "hqd_school_uniform": "Школьная форма", | ||||||
|  |                     "hqd_shirt": "Рубашки", | ||||||
|  |                     "hqd_shoes": "Обувь", | ||||||
|  |                     "hqd_silk": "Шелк", | ||||||
|  |                     "hqd_sports": "Спортивная одежда", | ||||||
|  |                     "hqd_synthetics": "Синтетика", | ||||||
|  |                     "hqd_timer": "Timed", | ||||||
|  |                     "hqd_towel": "Полотенца", | ||||||
|  |                     "hqd_underwear": "Нижнее белье", | ||||||
|  |                     "hqd_warm_up": "Подогрев", | ||||||
|  |                     "hqd_wool": "Шерсть", | ||||||
|  |                     "hqd_working_suit": "Рабочая одежда", | ||||||
|  |                     "hygiene": "Гигиена", | ||||||
|  |                     "iot_checkup": "Проверка", | ||||||
|  |                     "iot_dry_anti_mites": "Противоклещевая обработка", | ||||||
|  |                     "iot_dry_baby": "Детская одежда", | ||||||
|  |                     "iot_dry_backpacks": "Рюкзаки", | ||||||
|  |                     "iot_dry_bathrobe": "Банные халаты", | ||||||
|  |                     "iot_dry_bed_linen": "Постельное белье", | ||||||
|  |                     "iot_dry_bed_quilt": "Стеганые и пуховые одеяла", | ||||||
|  |                     "iot_dry_cotton": "Хлопок", | ||||||
|  |                     "iot_dry_cuddly_toys": "Мягкие игрушки", | ||||||
|  |                     "iot_dry_curtains": "Шторы", | ||||||
|  |                     "iot_dry_dehumidifier": "Влагопоглотитель", | ||||||
|  |                     "iot_dry_delicates": "Деликатные", | ||||||
|  |                     "iot_dry_delicate_tablecloths": "Деликатные скатерти", | ||||||
|  |                     "iot_dry_denim_jeans": "Деним – джинсы", | ||||||
|  |                     "iot_dry_down_jacket": "Куртки", | ||||||
|  |                     "iot_dry_duvet": "Пуховое одеяло", | ||||||
|  |                     "iot_dry_easy_iron_cotton": "Сверхлегкая глажка", | ||||||
|  |                     "iot_dry_easy_iron_synthetics": "Суперудобная глажка синтетики", | ||||||
|  |                     "iot_dry_gym_fit": "Одежда для спортзала – Фитнес", | ||||||
|  |                     "iot_dry_lingerie": "Белье", | ||||||
|  |                     "iot_dry_mixed": "Смешанные ткани", | ||||||
|  |                     "iot_dry_playsuits": "Пляжные костюмы", | ||||||
|  |                     "iot_dry_rapid_30": "Быстрая 30'", | ||||||
|  |                     "iot_dry_rapid_59": "Быстрая 59 мин.", | ||||||
|  |                     "iot_dry_refresh": "Освежить", | ||||||
|  |                     "iot_dry_regenerates_waterproof": "Восстановление водонепроницаемых тканей", | ||||||
|  |                     "iot_dry_relax_creases": "Уменьшение образования складок", | ||||||
|  |                     "iot_dry_shirts": "Рубашки", | ||||||
|  |                     "iot_dry_small_load": "Малая загрузка", | ||||||
|  |                     "iot_dry_swimsuits_and_bikinis": "Купальники", | ||||||
|  |                     "iot_dry_synthetics": "Синтетика", | ||||||
|  |                     "iot_dry_synthetic_dry": "Сушка синтетики", | ||||||
|  |                     "iot_dry_tablecloths": "Скатерти", | ||||||
|  |                     "iot_dry_technical_fabrics": "Технические ткани", | ||||||
|  |                     "iot_dry_warm_embrace": "Обработка теплом", | ||||||
|  |                     "iot_dry_wool": "Шерсть", | ||||||
|  |                     "jeans": "джинсы", | ||||||
|  |                     "mix_and_dry": "Смешанные+сушка", | ||||||
|  |                     "pets": "Животные", | ||||||
|  |                     "pre_iron": "Предварительная глажка", | ||||||
|  |                     "rapid_30": "Быстрая 30'", | ||||||
|  |                     "rapid_45": "Быстрая 45 мин", | ||||||
|  |                     "rapid_59": "Быстрая идеальная 59 мин.", | ||||||
|  |                     "refresh": "Освежить", | ||||||
|  |                     "relax_creases": "Уменьшение образования складок", | ||||||
|  |                     "saving_30_min": "ЭКО 30'", | ||||||
|  |                     "shirts": "Рубашки", | ||||||
|  |                     "shoes": "Обувь", | ||||||
|  |                     "small_load": "Малая загрузка", | ||||||
|  |                     "soft_care": "Деликатный уход", | ||||||
|  |                     "sport_plus": "Спорт", | ||||||
|  |                     "super_easy_iron_misti": "Суперлегкая глажка смешанные", | ||||||
|  |                     "super_easy_iron_xxl": "Суперлегкая глажка XXL", | ||||||
|  |                     "super_fast_cottons": "Супер-БЫСТРАЯ хлопок", | ||||||
|  |                     "super_fast_delicates": "Супер-БЫСТРАЯ деликатные", | ||||||
|  |                     "synthetics": "Синтетика", | ||||||
|  |                     "total_care": "Общии уход", | ||||||
|  |                     "trainers": "Спортивная обувь", | ||||||
|  |                     "ultra_care": "Ultra Care", | ||||||
|  |                     "waterproof_revitalize": "Восстановление водонепроницаемости", | ||||||
|  |                     "whites": "Белые ткани", | ||||||
|  |                     "wool": "Сушка шерсти", | ||||||
|  |                     "woolmark": "Шерсть", | ||||||
|  |                     "xxl_load": "Объемные вещи", | ||||||
|  |                     "zoom_59": "Zoom 59 (Зум 59)" | ||||||
|  |                 } | ||||||
|  |             }, | ||||||
|  |             "room_temperature": { | ||||||
|  |                 "name": "Комнатная температура" | ||||||
|  |             }, | ||||||
|  |             "humidity": { | ||||||
|  |                 "name": "Влажность" | ||||||
|  |             }, | ||||||
|  |             "freezer_temp": { | ||||||
|  |                 "name": "Температура в морозильном отделении" | ||||||
|  |             }, | ||||||
|  |             "fridge_temp": { | ||||||
|  |                 "name": "Температура в холодильнике" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "select": { |         "select": { | ||||||
| @ -820,7 +974,8 @@ | |||||||
|                     "12": "Под утюг", |                     "12": "Под утюг", | ||||||
|                     "13": "Готово в шкаф", |                     "13": "Готово в шкаф", | ||||||
|                     "14": "Готово для надевания", |                     "14": "Готово для надевания", | ||||||
|                     "15": "Экстра сушка" |                     "15": "Экстра сушка", | ||||||
|  |                     "11": "Без сушки" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Уровень сухости" |                 "name": "Уровень сухости" | ||||||
|             }, |             }, | ||||||
| @ -870,6 +1025,31 @@ | |||||||
|                     "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": "Оставшееся время" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "switch": { |         "switch": { | ||||||
| @ -877,7 +1057,7 @@ | |||||||
|                 "name": "Противосминание" |                 "name": "Противосминание" | ||||||
|             }, |             }, | ||||||
|             "add_dish": { |             "add_dish": { | ||||||
|                 "name": "" |                 "name": "Добавьте посуду" | ||||||
|             }, |             }, | ||||||
|             "eco_express": { |             "eco_express": { | ||||||
|                 "name": "Эко" |                 "name": "Эко" | ||||||
| @ -944,6 +1124,39 @@ | |||||||
|             }, |             }, | ||||||
|             "mute_mode": { |             "mute_mode": { | ||||||
|                 "name": "Беззвучный режим" |                 "name": "Беззвучный режим" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_1": { | ||||||
|  |                 "name": "+1 полоскание" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_2": { | ||||||
|  |                 "name": "+2 полоскания" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_3": { | ||||||
|  |                 "name": "+3 полоскания" | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Акваплюс" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "Автодозирование" | ||||||
|  |             }, | ||||||
|  |             "good_night": { | ||||||
|  |                 "name": "Спокойной ночи" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_softener": { | ||||||
|  |                 "name": "Автодозирование Кондиционер" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_detergent": { | ||||||
|  |                 "name": "Автодозирование Средство для стирки" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "Автоматическая установка" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "binary_sensor": { |         "binary_sensor": { | ||||||
| @ -1015,6 +1228,36 @@ | |||||||
|             }, |             }, | ||||||
|             "prewash": { |             "prewash": { | ||||||
|                 "name": "предварительная мойка" |                 "name": "предварительная мойка" | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Акваплюс" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "Автодозирование" | ||||||
|  |             }, | ||||||
|  |             "buzzer": { | ||||||
|  |                 "name": "Звуковой сигнал окончания цикла" | ||||||
|  |             }, | ||||||
|  |             "holiday_mode": { | ||||||
|  |                 "name": "Режим Holiday (режим отпуска)" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "Автоматическая установка" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|  |             }, | ||||||
|  |             "freezer_door": { | ||||||
|  |                 "name": "Дверца открыта Морозильник" | ||||||
|  |             }, | ||||||
|  |             "fridge_door": { | ||||||
|  |                 "name": "Дверца открыта Холодильник" | ||||||
|  |             }, | ||||||
|  |             "filter_replacement": { | ||||||
|  |                 "name": "Замена фильтра" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "number": { |         "number": { | ||||||
| @ -1044,12 +1287,26 @@ | |||||||
|             }, |             }, | ||||||
|             "dry_time": { |             "dry_time": { | ||||||
|                 "name": "Время сушки" |                 "name": "Время сушки" | ||||||
|  |             }, | ||||||
|  |             "steam_level": { | ||||||
|  |                 "name": "Уровень пара" | ||||||
|  |             }, | ||||||
|  |             "freezer_temp_sel": { | ||||||
|  |                 "name": "Заданная температура Морозильник" | ||||||
|  |             }, | ||||||
|  |             "fridge_temp_sel": { | ||||||
|  |                 "name": "Заданная температура Холодильник" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "button": { |         "button": { | ||||||
|             "induction_hob": { |             "induction_hob": { | ||||||
|                 "name": "Индукционная варочная панель" |                 "name": "Индукционная варочная панель" | ||||||
|             } |             } | ||||||
|  |         }, | ||||||
|  |         "climate": { | ||||||
|  |             "air_conditioner": { | ||||||
|  |                 "name": "Кондиционер воздуха" | ||||||
|  |             } | ||||||
|         } |         } | ||||||
|     }, |     }, | ||||||
|     "config": { |     "config": { | ||||||
|  | |||||||
| @ -9,7 +9,10 @@ | |||||||
|                     "4": "Naplánované", |                     "4": "Naplánované", | ||||||
|                     "5": "Naplánované", |                     "5": "Naplánované", | ||||||
|                     "6": "Chyba", |                     "6": "Chyba", | ||||||
|                     "7": "Pripravené" |                     "7": "Pripravené", | ||||||
|  |                     "2": "Program beží", | ||||||
|  |                     "8": "Test", | ||||||
|  |                     "9": "Cyklus zastavenia…" | ||||||
|                 } |                 } | ||||||
|             }, |             }, | ||||||
|             "program_phases_wm": { |             "program_phases_wm": { | ||||||
| @ -53,7 +56,9 @@ | |||||||
|                     "16": "Schladiť", |                     "16": "Schladiť", | ||||||
|                     "18": "Uchovať svieže", |                     "18": "Uchovať svieže", | ||||||
|                     "19": "Sušenie", |                     "19": "Sušenie", | ||||||
|                     "20": "Sušenie" |                     "20": "Sušenie", | ||||||
|  |                     "11": "Pripravené", | ||||||
|  |                     "17": "unknown" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Fáza" |                 "name": "Fáza" | ||||||
|             }, |             }, | ||||||
| @ -79,7 +84,8 @@ | |||||||
|                     "12": "Žehlenie", |                     "12": "Žehlenie", | ||||||
|                     "13": "Šatník pripravený", |                     "13": "Šatník pripravený", | ||||||
|                     "14": "Hotové na nosenie", |                     "14": "Hotové na nosenie", | ||||||
|                     "15": "Extra sušenie" |                     "15": "Extra sušenie", | ||||||
|  |                     "11": "Bez sušenia" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Úroveň sušenia" |                 "name": "Úroveň sušenia" | ||||||
|             }, |             }, | ||||||
| @ -165,6 +171,154 @@ | |||||||
|                     "5": "Ventilátor", |                     "5": "Ventilátor", | ||||||
|                     "6": "Ventilátor" |                     "6": "Ventilátor" | ||||||
|                 } |                 } | ||||||
|  |             }, | ||||||
|  |             "programs_td": { | ||||||
|  |                 "state": { | ||||||
|  |                     "active_dry": "Aktívne sušenie", | ||||||
|  |                     "allergy_care": "Antialergický", | ||||||
|  |                     "all_in_one": "All in One", | ||||||
|  |                     "antiallergy": "Antialergický", | ||||||
|  |                     "anti_odours": "Oživenie", | ||||||
|  |                     "auto_care": "Automatická starostlivosť", | ||||||
|  |                     "baby": "Detská", | ||||||
|  |                     "bed_quilt": "Posteľná prikrývka", | ||||||
|  |                     "care_30": "Starostlivosť 30", | ||||||
|  |                     "care_45": "Starostlivosť 45", | ||||||
|  |                     "care_59": "Starostlivosť 59", | ||||||
|  |                     "coloured": "Farebná", | ||||||
|  |                     "daily_45_min": "DENNY 45'", | ||||||
|  |                     "daily_perfect_59_min": "DAILY PERFECT 59'", | ||||||
|  |                     "darks_and_coloured": "Tmavá a farebná", | ||||||
|  |                     "delicates": "Jemné", | ||||||
|  |                     "duvet": "Prikrývky", | ||||||
|  |                     "eco": "Eco bavlna", | ||||||
|  |                     "ecospeed_cottons": "Ecospeed bavlna", | ||||||
|  |                     "ecospeed_delicates": "Eco rychly - jemne", | ||||||
|  |                     "ecospeed_mixed": "Ecospeed zmiešaná", | ||||||
|  |                     "extra_hygiene": "EXTRA HYGIENA", | ||||||
|  |                     "fitness": "Fitnes", | ||||||
|  |                     "fresh_care": "Svieža starostlivosť", | ||||||
|  |                     "genius": "Genius", | ||||||
|  |                     "hqd_baby_care": "Baby Care", | ||||||
|  |                     "hqd_bath_towel": "Osušky", | ||||||
|  |                     "hqd_bed_sheets": "Posteľná bielizeň", | ||||||
|  |                     "hqd_bulky": "Objemné položky", | ||||||
|  |                     "hqd_casual": "Neformálne", | ||||||
|  |                     "hqd_cold_wind_30": "Chladný vánok 30 minút", | ||||||
|  |                     "hqd_cold_wind_timing": "Studený vánok ", | ||||||
|  |                     "hqd_cotton": "Bavlna", | ||||||
|  |                     "hqd_curtain": "Záclony", | ||||||
|  |                     "hqd_delicate": "Jemné materiály", | ||||||
|  |                     "hqd_diaper": "Plienky", | ||||||
|  |                     "hqd_duvet": "Paplón", | ||||||
|  |                     "hqd_feather": "Prešívané bundy", | ||||||
|  |                     "hqd_hot_wind_timing": "Horúci vzduch", | ||||||
|  |                     "hqd_hygienic": "Hygienizácia", | ||||||
|  |                     "hqd_i_refresh": "I-Refresh", | ||||||
|  |                     "hqd_i_refresh_pro": "I-Refresh Pro", | ||||||
|  |                     "hqd_jacket": "Bundy", | ||||||
|  |                     "hqd_jeans": "Džínsy", | ||||||
|  |                     "hqd_luxury": "Luxury", | ||||||
|  |                     "hqd_mix": "Zmiešané", | ||||||
|  |                     "hqd_night_dry": "Nočné sušenie", | ||||||
|  |                     "hqd_outdoor": "Outdoor", | ||||||
|  |                     "hqd_precious_cure": "Precious cure", | ||||||
|  |                     "hqd_quick_20": "Rýchle 20", | ||||||
|  |                     "hqd_quick_30": "Rýchle 30", | ||||||
|  |                     "hqd_quick_dry": "Rýchle sušenie", | ||||||
|  |                     "hqd_quilt": "Prikrývky", | ||||||
|  |                     "hqd_refresh": "Osvieženie", | ||||||
|  |                     "hqd_school_uniform": "Školská uniforma", | ||||||
|  |                     "hqd_shirt": "Košele", | ||||||
|  |                     "hqd_shoes": "Obuv", | ||||||
|  |                     "hqd_silk": "Hodváb", | ||||||
|  |                     "hqd_sports": "Šport", | ||||||
|  |                     "hqd_synthetics": "Syntetika", | ||||||
|  |                     "hqd_timer": "Načasované", | ||||||
|  |                     "hqd_towel": "Osušky", | ||||||
|  |                     "hqd_underwear": "Spodná bielizeň", | ||||||
|  |                     "hqd_warm_up": "Zahriatie", | ||||||
|  |                     "hqd_wool": "Vlna", | ||||||
|  |                     "hqd_working_suit": "Pracovné odevy", | ||||||
|  |                     "hygiene": "Hygiena", | ||||||
|  |                     "iot_checkup": "Kontrola", | ||||||
|  |                     "iot_dry_anti_mites": "Proti roztočom", | ||||||
|  |                     "iot_dry_baby": "Detská", | ||||||
|  |                     "iot_dry_backpacks": "Batohy", | ||||||
|  |                     "iot_dry_bathrobe": "Bathrobe", | ||||||
|  |                     "iot_dry_bed_linen": "Posteľná bielizeň", | ||||||
|  |                     "iot_dry_bed_quilt": "Posteľná prikrývka", | ||||||
|  |                     "iot_dry_cotton": "Bavlna", | ||||||
|  |                     "iot_dry_cuddly_toys": "Plyšové hračky", | ||||||
|  |                     "iot_dry_curtains": "Závesy", | ||||||
|  |                     "iot_dry_dehumidifier": "Odstraňovač vlhkosti", | ||||||
|  |                     "iot_dry_delicates": "Jemná", | ||||||
|  |                     "iot_dry_delicate_tablecloths": "Jemné obrusy", | ||||||
|  |                     "iot_dry_denim_jeans": "Džínsovina – džínsy", | ||||||
|  |                     "iot_dry_down_jacket": "Jacket", | ||||||
|  |                     "iot_dry_duvet": "Prikrývky", | ||||||
|  |                     "iot_dry_easy_iron_cotton": "Super ľahké žehlenie", | ||||||
|  |                     "iot_dry_easy_iron_synthetics": "Super ľahké žehlenie syntetiky", | ||||||
|  |                     "iot_dry_gym_fit": "Športovné oblečenie", | ||||||
|  |                     "iot_dry_lingerie": "Spodná bielizeň", | ||||||
|  |                     "iot_dry_mixed": "Zmiešané", | ||||||
|  |                     "iot_dry_playsuits": "Tepláky", | ||||||
|  |                     "iot_dry_rapid_30": "Rapid 30", | ||||||
|  |                     "iot_dry_rapid_59": "Rýchly 59 min.", | ||||||
|  |                     "iot_dry_refresh": "Osvieženie", | ||||||
|  |                     "iot_dry_regenerates_waterproof": "Oživení nepromokavých tkanin", | ||||||
|  |                     "iot_dry_relax_creases": "Uvoľnenie záhybov", | ||||||
|  |                     "iot_dry_shirts": "Košele", | ||||||
|  |                     "iot_dry_small_load": "Malá náplň", | ||||||
|  |                     "iot_dry_swimsuits_and_bikinis": "Plavky", | ||||||
|  |                     "iot_dry_synthetics": "Syntetická", | ||||||
|  |                     "iot_dry_synthetic_dry": "Syntetika – sušenie", | ||||||
|  |                     "iot_dry_tablecloths": "Obrusy", | ||||||
|  |                     "iot_dry_technical_fabrics": "Technické tkaniny", | ||||||
|  |                     "iot_dry_warm_embrace": "Detská zavinovačka", | ||||||
|  |                     "iot_dry_wool": "Woolmark", | ||||||
|  |                     "jeans": "Džínsy", | ||||||
|  |                     "mix_and_dry": "Mix&Dry", | ||||||
|  |                     "pets": "Domáce zvieratá", | ||||||
|  |                     "pre_iron": "Pred žehlením", | ||||||
|  |                     "rapid_30": "Rapid 30", | ||||||
|  |                     "rapid_45": "Rýchly 45 min", | ||||||
|  |                     "rapid_59": "Perfektne rýchly 59 min", | ||||||
|  |                     "refresh": "Osvieženie", | ||||||
|  |                     "relax_creases": "Uvoľnenie záhybov", | ||||||
|  |                     "saving_30_min": "EKONOMICKY 30'", | ||||||
|  |                     "shirts": "Košele", | ||||||
|  |                     "shoes": "Obuv", | ||||||
|  |                     "small_load": "Malá náplň", | ||||||
|  |                     "soft_care": "Jemná starostlivosť", | ||||||
|  |                     "sport_plus": "Sportovy", | ||||||
|  |                     "super_easy_iron_misti": "Super ľahké žehlenie pre Zmiešané", | ||||||
|  |                     "super_easy_iron_xxl": "Super ľahké žehlenie XXL", | ||||||
|  |                     "super_fast_cottons": "Super rýchly bavlna", | ||||||
|  |                     "super_fast_delicates": "Super rýchly jemná", | ||||||
|  |                     "synthetics": "Syntetická", | ||||||
|  |                     "total_care": "Total Care", | ||||||
|  |                     "trainers": "Športová obuv", | ||||||
|  |                     "ultra_care": "Ultra Care", | ||||||
|  |                     "waterproof_revitalize": "Obnovenie vodeodolnosti", | ||||||
|  |                     "whites": "Biela", | ||||||
|  |                     "wool": "Sušenie vlny", | ||||||
|  |                     "woolmark": "Woolmark", | ||||||
|  |                     "xxl_load": "XXL náplň", | ||||||
|  |                     "zoom_59": "Zoom 59" | ||||||
|  |                 } | ||||||
|  |             }, | ||||||
|  |             "room_temperature": { | ||||||
|  |                 "name": "Izbová teplota" | ||||||
|  |             }, | ||||||
|  |             "humidity": { | ||||||
|  |                 "name": "Vlhkosť" | ||||||
|  |             }, | ||||||
|  |             "freezer_temp": { | ||||||
|  |                 "name": "Teplota mrazničky" | ||||||
|  |             }, | ||||||
|  |             "fridge_temp": { | ||||||
|  |                 "name": "Teplota chladničky" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "select": { |         "select": { | ||||||
| @ -820,7 +974,8 @@ | |||||||
|                     "12": "Žehlenie", |                     "12": "Žehlenie", | ||||||
|                     "13": "Šatník pripravený", |                     "13": "Šatník pripravený", | ||||||
|                     "14": "Hotové na nosenie", |                     "14": "Hotové na nosenie", | ||||||
|                     "15": "Extra sušenie" |                     "15": "Extra sušenie", | ||||||
|  |                     "11": "Bez sušenia" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Úroveň sušenia" |                 "name": "Úroveň sušenia" | ||||||
|             }, |             }, | ||||||
| @ -870,6 +1025,31 @@ | |||||||
|                     "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" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "switch": { |         "switch": { | ||||||
| @ -877,7 +1057,7 @@ | |||||||
|                 "name": "Proti pokrčeniu" |                 "name": "Proti pokrčeniu" | ||||||
|             }, |             }, | ||||||
|             "add_dish": { |             "add_dish": { | ||||||
|                 "name": "" |                 "name": "Pridať riad" | ||||||
|             }, |             }, | ||||||
|             "eco_express": { |             "eco_express": { | ||||||
|                 "name": "Eko" |                 "name": "Eko" | ||||||
| @ -944,6 +1124,39 @@ | |||||||
|             }, |             }, | ||||||
|             "mute_mode": { |             "mute_mode": { | ||||||
|                 "name": "Stlmený režim" |                 "name": "Stlmený režim" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_1": { | ||||||
|  |                 "name": "+ 1 oplachovanie" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_2": { | ||||||
|  |                 "name": "+ 2 oplachovania" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_3": { | ||||||
|  |                 "name": "+ 3 oplachovania" | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Aquaplus" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "Automatická dávka" | ||||||
|  |             }, | ||||||
|  |             "good_night": { | ||||||
|  |                 "name": "Dobrú noc" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_softener": { | ||||||
|  |                 "name": "Automatická dávka Aviváž" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_detergent": { | ||||||
|  |                 "name": "Automatická dávka Prací prostriedok" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "Automatické nastavenie" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "binary_sensor": { |         "binary_sensor": { | ||||||
| @ -1015,6 +1228,36 @@ | |||||||
|             }, |             }, | ||||||
|             "prewash": { |             "prewash": { | ||||||
|                 "name": "Predumývanie" |                 "name": "Predumývanie" | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Aquaplus" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "Automatická dávka" | ||||||
|  |             }, | ||||||
|  |             "buzzer": { | ||||||
|  |                 "name": "Signál na konci cyklu" | ||||||
|  |             }, | ||||||
|  |             "holiday_mode": { | ||||||
|  |                 "name": "Režim Holiday" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "Automatické nastavenie" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|  |             }, | ||||||
|  |             "freezer_door": { | ||||||
|  |                 "name": "Otvorené dvere Mraznička" | ||||||
|  |             }, | ||||||
|  |             "fridge_door": { | ||||||
|  |                 "name": "Otvorené dvere Chladnička" | ||||||
|  |             }, | ||||||
|  |             "filter_replacement": { | ||||||
|  |                 "name": "Výmena filtra" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "number": { |         "number": { | ||||||
| @ -1044,12 +1287,26 @@ | |||||||
|             }, |             }, | ||||||
|             "dry_time": { |             "dry_time": { | ||||||
|                 "name": "Čas sušenia" |                 "name": "Čas sušenia" | ||||||
|  |             }, | ||||||
|  |             "steam_level": { | ||||||
|  |                 "name": "Úroveň nastavenia pary" | ||||||
|  |             }, | ||||||
|  |             "freezer_temp_sel": { | ||||||
|  |                 "name": "Cieľová teplota Mraznička" | ||||||
|  |             }, | ||||||
|  |             "fridge_temp_sel": { | ||||||
|  |                 "name": "Cieľová teplota Chladnička" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "button": { |         "button": { | ||||||
|             "induction_hob": { |             "induction_hob": { | ||||||
|                 "name": "Indukčná varná doska" |                 "name": "Indukčná varná doska" | ||||||
|             } |             } | ||||||
|  |         }, | ||||||
|  |         "climate": { | ||||||
|  |             "air_conditioner": { | ||||||
|  |                 "name": "Klimatizácia" | ||||||
|  |             } | ||||||
|         } |         } | ||||||
|     }, |     }, | ||||||
|     "config": { |     "config": { | ||||||
|  | |||||||
| @ -9,7 +9,10 @@ | |||||||
|                     "4": "Načrtovano", |                     "4": "Načrtovano", | ||||||
|                     "5": "Načrtovano", |                     "5": "Načrtovano", | ||||||
|                     "6": "Napaka", |                     "6": "Napaka", | ||||||
|                     "7": "Pripravljen" |                     "7": "Pripravljen", | ||||||
|  |                     "2": "Program poteka", | ||||||
|  |                     "8": "Test", | ||||||
|  |                     "9": "Ustavljanje cikla …" | ||||||
|                 } |                 } | ||||||
|             }, |             }, | ||||||
|             "program_phases_wm": { |             "program_phases_wm": { | ||||||
| @ -53,7 +56,9 @@ | |||||||
|                     "16": "Hlajenje", |                     "16": "Hlajenje", | ||||||
|                     "18": "Ohrani sveže", |                     "18": "Ohrani sveže", | ||||||
|                     "19": "Sušenje", |                     "19": "Sušenje", | ||||||
|                     "20": "Sušenje" |                     "20": "Sušenje", | ||||||
|  |                     "11": "Pripravljen", | ||||||
|  |                     "17": "unknown" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Faza" |                 "name": "Faza" | ||||||
|             }, |             }, | ||||||
| @ -79,7 +84,8 @@ | |||||||
|                     "12": "Likanje", |                     "12": "Likanje", | ||||||
|                     "13": "Suho za omaro", |                     "13": "Suho za omaro", | ||||||
|                     "14": "Pripravljeno za uporabo", |                     "14": "Pripravljeno za uporabo", | ||||||
|                     "15": "Zelo suho" |                     "15": "Zelo suho", | ||||||
|  |                     "11": "Brez sušenja" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Stopnja sušenja" |                 "name": "Stopnja sušenja" | ||||||
|             }, |             }, | ||||||
| @ -165,6 +171,154 @@ | |||||||
|                     "5": "Ventilator", |                     "5": "Ventilator", | ||||||
|                     "6": "Ventilator" |                     "6": "Ventilator" | ||||||
|                 } |                 } | ||||||
|  |             }, | ||||||
|  |             "programs_td": { | ||||||
|  |                 "state": { | ||||||
|  |                     "active_dry": "Aktivno sušenje", | ||||||
|  |                     "allergy_care": "Protialergijski", | ||||||
|  |                     "all_in_one": "Vse hkrati", | ||||||
|  |                     "antiallergy": "Protialergijski", | ||||||
|  |                     "anti_odours": "Odstranjevanje vonjav", | ||||||
|  |                     "auto_care": "Samodejna nega", | ||||||
|  |                     "baby": "Oblačila dojenčkov", | ||||||
|  |                     "bed_quilt": "Prešite odeje", | ||||||
|  |                     "care_30": "Nega 30 min", | ||||||
|  |                     "care_45": "Nega 45 min", | ||||||
|  |                     "care_59": "Nega 59 min", | ||||||
|  |                     "coloured": "Barvno", | ||||||
|  |                     "daily_45_min": "DNEVNO 45 min", | ||||||
|  |                     "daily_perfect_59_min": "DNEVNO POPOLNO 59 min", | ||||||
|  |                     "darks_and_coloured": "Temno in barvno", | ||||||
|  |                     "delicates": "Občutljivo perilo", | ||||||
|  |                     "duvet": "Prešite odeje", | ||||||
|  |                     "eco": "Eko bombaž", | ||||||
|  |                     "ecospeed_cottons": "Eko hitri za bombaž", | ||||||
|  |                     "ecospeed_delicates": "Eko hitri za občutljivo", | ||||||
|  |                     "ecospeed_mixed": "Eko hitri za mešano", | ||||||
|  |                     "extra_hygiene": "DODATNA HIGIENA", | ||||||
|  |                     "fitness": "Fitnes", | ||||||
|  |                     "fresh_care": "Nega za svežino", | ||||||
|  |                     "genius": "Genius", | ||||||
|  |                     "hqd_baby_care": "Baby Care", | ||||||
|  |                     "hqd_bath_towel": "Brisače", | ||||||
|  |                     "hqd_bed_sheets": "Rjuhe", | ||||||
|  |                     "hqd_bulky": "Večji kosi", | ||||||
|  |                     "hqd_casual": "Za prosti čas", | ||||||
|  |                     "hqd_cold_wind_30": "Hladen vetrič 30 minut", | ||||||
|  |                     "hqd_cold_wind_timing": "Hladen vetrič ", | ||||||
|  |                     "hqd_cotton": "Bombaž", | ||||||
|  |                     "hqd_curtain": "Zavese", | ||||||
|  |                     "hqd_delicate": "Občutljive tkanine", | ||||||
|  |                     "hqd_diaper": "Plenice", | ||||||
|  |                     "hqd_duvet": "Prešite odeje", | ||||||
|  |                     "hqd_feather": "Puhovke", | ||||||
|  |                     "hqd_hot_wind_timing": "Vroč zrak", | ||||||
|  |                     "hqd_hygienic": "Higienizacija", | ||||||
|  |                     "hqd_i_refresh": "I-Refresh", | ||||||
|  |                     "hqd_i_refresh_pro": "I-Refresh Pro", | ||||||
|  |                     "hqd_jacket": "Suknjiči", | ||||||
|  |                     "hqd_jeans": "Kavbojke", | ||||||
|  |                     "hqd_luxury": "Luxury", | ||||||
|  |                     "hqd_mix": "Mešano", | ||||||
|  |                     "hqd_night_dry": "Sušenje čez noč", | ||||||
|  |                     "hqd_outdoor": "Outdoor", | ||||||
|  |                     "hqd_precious_cure": "Precious cure", | ||||||
|  |                     "hqd_quick_20": "Hitro 20", | ||||||
|  |                     "hqd_quick_30": "Hitro 30", | ||||||
|  |                     "hqd_quick_dry": "Hitro sušenje", | ||||||
|  |                     "hqd_quilt": "Posteljna pregrinjala", | ||||||
|  |                     "hqd_refresh": "Osvežitev", | ||||||
|  |                     "hqd_school_uniform": "Šolska uniforma", | ||||||
|  |                     "hqd_shirt": "Srajce", | ||||||
|  |                     "hqd_shoes": "Obuvala", | ||||||
|  |                     "hqd_silk": "Svila", | ||||||
|  |                     "hqd_sports": "Šport", | ||||||
|  |                     "hqd_synthetics": "Sintetika", | ||||||
|  |                     "hqd_timer": "Časovno", | ||||||
|  |                     "hqd_towel": "Brisače", | ||||||
|  |                     "hqd_underwear": "Spodnje perilo", | ||||||
|  |                     "hqd_warm_up": "Pogrevanje", | ||||||
|  |                     "hqd_wool": "Volna", | ||||||
|  |                     "hqd_working_suit": "Delovna oblačila", | ||||||
|  |                     "hygiene": "Higiena", | ||||||
|  |                     "iot_checkup": "Pregled", | ||||||
|  |                     "iot_dry_anti_mites": "Proti pršicam", | ||||||
|  |                     "iot_dry_baby": "Oblačila dojenčkov", | ||||||
|  |                     "iot_dry_backpacks": "Nahrbtniki", | ||||||
|  |                     "iot_dry_bathrobe": "Kopalni plašč", | ||||||
|  |                     "iot_dry_bed_linen": "Posteljnina", | ||||||
|  |                     "iot_dry_bed_quilt": "Prešite odeje", | ||||||
|  |                     "iot_dry_cotton": "Bombaž", | ||||||
|  |                     "iot_dry_cuddly_toys": "Plišaste igračke", | ||||||
|  |                     "iot_dry_curtains": "Zavese", | ||||||
|  |                     "iot_dry_dehumidifier": "Odstranjevalec vlage", | ||||||
|  |                     "iot_dry_delicates": "Občutljivo", | ||||||
|  |                     "iot_dry_delicate_tablecloths": "Občutljivi namizni prti", | ||||||
|  |                     "iot_dry_denim_jeans": "Denim – jeans", | ||||||
|  |                     "iot_dry_down_jacket": "Suknjiči", | ||||||
|  |                     "iot_dry_duvet": "Prešite odeje", | ||||||
|  |                     "iot_dry_easy_iron_cotton": "Super lažje likanje", | ||||||
|  |                     "iot_dry_easy_iron_synthetics": "Super lažje likanje sintetike", | ||||||
|  |                     "iot_dry_gym_fit": "Oblačila za telovadbo in fitnes", | ||||||
|  |                     "iot_dry_lingerie": "Spodnje perilo", | ||||||
|  |                     "iot_dry_mixed": "Mešano", | ||||||
|  |                     "iot_dry_playsuits": "Pajaci", | ||||||
|  |                     "iot_dry_rapid_30": "Rapid 30", | ||||||
|  |                     "iot_dry_rapid_59": "Hitro 59’", | ||||||
|  |                     "iot_dry_refresh": "Osvežitev", | ||||||
|  |                     "iot_dry_regenerates_waterproof": "Obnovitev nepremočljivih oblačil", | ||||||
|  |                     "iot_dry_relax_creases": "Mehčanje gub", | ||||||
|  |                     "iot_dry_shirts": "Srajce", | ||||||
|  |                     "iot_dry_small_load": "Malo perila", | ||||||
|  |                     "iot_dry_swimsuits_and_bikinis": "Kopalke", | ||||||
|  |                     "iot_dry_synthetics": "Sintetika", | ||||||
|  |                     "iot_dry_synthetic_dry": "Sušenje sintetike", | ||||||
|  |                     "iot_dry_tablecloths": "Namizni prti", | ||||||
|  |                     "iot_dry_technical_fabrics": "Tehnične tkanine", | ||||||
|  |                     "iot_dry_warm_embrace": "Mehkoba", | ||||||
|  |                     "iot_dry_wool": "Woolmark", | ||||||
|  |                     "jeans": "Džins", | ||||||
|  |                     "mix_and_dry": "Sušenje – mešana sestava", | ||||||
|  |                     "pets": "Hišne živali", | ||||||
|  |                     "pre_iron": "Pred likanjem", | ||||||
|  |                     "rapid_30": "Rapid 30", | ||||||
|  |                     "rapid_45": "Hitri 45 min", | ||||||
|  |                     "rapid_59": "Popolni hitri program 59 min.", | ||||||
|  |                     "refresh": "Osvežitev", | ||||||
|  |                     "relax_creases": "Mehčanje gub", | ||||||
|  |                     "saving_30_min": "EKO 30 min", | ||||||
|  |                     "shirts": "Srajce", | ||||||
|  |                     "shoes": "Obuvala", | ||||||
|  |                     "small_load": "Malo perila", | ||||||
|  |                     "soft_care": "Nega za mehkobo", | ||||||
|  |                     "sport_plus": "Športna oblacila", | ||||||
|  |                     "super_easy_iron_misti": "Super lažje likanje mešanih tkanin", | ||||||
|  |                     "super_easy_iron_xxl": "Super lažje likanje XXL", | ||||||
|  |                     "super_fast_cottons": "Super hitri za bombaž", | ||||||
|  |                     "super_fast_delicates": "Super hitri za občutljivo", | ||||||
|  |                     "synthetics": "Sintetika", | ||||||
|  |                     "total_care": "Total Care", | ||||||
|  |                     "trainers": "Športna obutev", | ||||||
|  |                     "ultra_care": "Ultra Care", | ||||||
|  |                     "waterproof_revitalize": "Obnovitev nepremočljivih oblačil", | ||||||
|  |                     "whites": "Belo", | ||||||
|  |                     "wool": "Sušenje volne", | ||||||
|  |                     "woolmark": "Woolmark", | ||||||
|  |                     "xxl_load": "Zelo veliki kosi perila", | ||||||
|  |                     "zoom_59": "Zoom 59" | ||||||
|  |                 } | ||||||
|  |             }, | ||||||
|  |             "room_temperature": { | ||||||
|  |                 "name": "Sobna temperatura" | ||||||
|  |             }, | ||||||
|  |             "humidity": { | ||||||
|  |                 "name": "Vlaga " | ||||||
|  |             }, | ||||||
|  |             "freezer_temp": { | ||||||
|  |                 "name": "Temperatura zamrzovalnika" | ||||||
|  |             }, | ||||||
|  |             "fridge_temp": { | ||||||
|  |                 "name": "Temperatura hladilnika" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "select": { |         "select": { | ||||||
| @ -820,7 +974,8 @@ | |||||||
|                     "12": "Likanje", |                     "12": "Likanje", | ||||||
|                     "13": "Suho za omaro", |                     "13": "Suho za omaro", | ||||||
|                     "14": "Pripravljeno za uporabo", |                     "14": "Pripravljeno za uporabo", | ||||||
|                     "15": "Zelo suho" |                     "15": "Zelo suho", | ||||||
|  |                     "11": "Brez sušenja" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Stopnja sušenja" |                 "name": "Stopnja sušenja" | ||||||
|             }, |             }, | ||||||
| @ -870,6 +1025,31 @@ | |||||||
|                     "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" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "switch": { |         "switch": { | ||||||
| @ -877,7 +1057,7 @@ | |||||||
|                 "name": "Proti mečkanju" |                 "name": "Proti mečkanju" | ||||||
|             }, |             }, | ||||||
|             "add_dish": { |             "add_dish": { | ||||||
|                 "name": "" |                 "name": "Dodaj posodo" | ||||||
|             }, |             }, | ||||||
|             "eco_express": { |             "eco_express": { | ||||||
|                 "name": "Varčno" |                 "name": "Varčno" | ||||||
| @ -944,6 +1124,39 @@ | |||||||
|             }, |             }, | ||||||
|             "mute_mode": { |             "mute_mode": { | ||||||
|                 "name": "Način z izklopljenim zvokom" |                 "name": "Način z izklopljenim zvokom" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_1": { | ||||||
|  |                 "name": " + 1 izpiranje" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_2": { | ||||||
|  |                 "name": " + 2 izpiranji" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_3": { | ||||||
|  |                 "name": " + 3 izpiranja" | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Acquaplus" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "Samodejno odmerjanje" | ||||||
|  |             }, | ||||||
|  |             "good_night": { | ||||||
|  |                 "name": "Lahko noč" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_softener": { | ||||||
|  |                 "name": "Samodejno odmerjanje Mehčalec" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_detergent": { | ||||||
|  |                 "name": "Samodejno odmerjanje Detergent" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "Samodejna nastavitev" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "binary_sensor": { |         "binary_sensor": { | ||||||
| @ -1015,6 +1228,36 @@ | |||||||
|             }, |             }, | ||||||
|             "prewash": { |             "prewash": { | ||||||
|                 "name": "Predpranje" |                 "name": "Predpranje" | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Acquaplus" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "Samodejno odmerjanje" | ||||||
|  |             }, | ||||||
|  |             "buzzer": { | ||||||
|  |                 "name": "Zvočni signal ob koncu cikla" | ||||||
|  |             }, | ||||||
|  |             "holiday_mode": { | ||||||
|  |                 "name": "Način Holiday" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "Samodejna nastavitev" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|  |             }, | ||||||
|  |             "freezer_door": { | ||||||
|  |                 "name": "Door open Zamrzovalnik" | ||||||
|  |             }, | ||||||
|  |             "fridge_door": { | ||||||
|  |                 "name": "Door open Hladilnik" | ||||||
|  |             }, | ||||||
|  |             "filter_replacement": { | ||||||
|  |                 "name": "Menjava filtra" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "number": { |         "number": { | ||||||
| @ -1044,12 +1287,26 @@ | |||||||
|             }, |             }, | ||||||
|             "dry_time": { |             "dry_time": { | ||||||
|                 "name": "Čas sušenja" |                 "name": "Čas sušenja" | ||||||
|  |             }, | ||||||
|  |             "steam_level": { | ||||||
|  |                 "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" | ||||||
|             } |             } | ||||||
|  |         }, | ||||||
|  |         "climate": { | ||||||
|  |             "air_conditioner": { | ||||||
|  |                 "name": "Klimatska naprava" | ||||||
|  |             } | ||||||
|         } |         } | ||||||
|     }, |     }, | ||||||
|     "config": { |     "config": { | ||||||
|  | |||||||
| @ -9,7 +9,10 @@ | |||||||
|                     "4": "Planirano", |                     "4": "Planirano", | ||||||
|                     "5": "Planirano", |                     "5": "Planirano", | ||||||
|                     "6": "Greška", |                     "6": "Greška", | ||||||
|                     "7": "Spremno" |                     "7": "Spremno", | ||||||
|  |                     "2": "Program u toku", | ||||||
|  |                     "8": "Test", | ||||||
|  |                     "9": "Zaustavljanje ciklusa..." | ||||||
|                 } |                 } | ||||||
|             }, |             }, | ||||||
|             "program_phases_wm": { |             "program_phases_wm": { | ||||||
| @ -53,7 +56,9 @@ | |||||||
|                     "16": "Hlađenje", |                     "16": "Hlađenje", | ||||||
|                     "18": "Očuvanje svežine", |                     "18": "Očuvanje svežine", | ||||||
|                     "19": "Sušenje", |                     "19": "Sušenje", | ||||||
|                     "20": "Sušenje" |                     "20": "Sušenje", | ||||||
|  |                     "11": "Spremno", | ||||||
|  |                     "17": "unknown" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Faza" |                 "name": "Faza" | ||||||
|             }, |             }, | ||||||
| @ -79,7 +84,8 @@ | |||||||
|                     "12": "Peglanje", |                     "12": "Peglanje", | ||||||
|                     "13": "Suvo za ormar", |                     "13": "Suvo za ormar", | ||||||
|                     "14": "Spremno za nošenje", |                     "14": "Spremno za nošenje", | ||||||
|                     "15": "Ekstra suvo" |                     "15": "Ekstra suvo", | ||||||
|  |                     "11": "Bez sušenja" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Nivo sušenja" |                 "name": "Nivo sušenja" | ||||||
|             }, |             }, | ||||||
| @ -165,6 +171,154 @@ | |||||||
|                     "5": "Ventilator", |                     "5": "Ventilator", | ||||||
|                     "6": "Ventilator" |                     "6": "Ventilator" | ||||||
|                 } |                 } | ||||||
|  |             }, | ||||||
|  |             "programs_td": { | ||||||
|  |                 "state": { | ||||||
|  |                     "active_dry": "Aktivno sušenje", | ||||||
|  |                     "allergy_care": "Antialergijski", | ||||||
|  |                     "all_in_one": "All in One", | ||||||
|  |                     "antiallergy": "Antialergijski", | ||||||
|  |                     "anti_odours": "Protiv neugodnih mirisa", | ||||||
|  |                     "auto_care": "Aktivna nega", | ||||||
|  |                     "baby": "Baby", | ||||||
|  |                     "bed_quilt": "Ćebad i jorgani", | ||||||
|  |                     "care_30": "Nega 30", | ||||||
|  |                     "care_45": "Nega 45", | ||||||
|  |                     "care_59": "Nega 59", | ||||||
|  |                     "coloured": "Obojeno", | ||||||
|  |                     "daily_45_min": "SVAKODNEVNI 45'", | ||||||
|  |                     "daily_perfect_59_min": "PERFECT SVAKODNEVNI 59'", | ||||||
|  |                     "darks_and_coloured": "Tamno i obojeno", | ||||||
|  |                     "delicates": "Osetljivo", | ||||||
|  |                     "duvet": "Jorgani", | ||||||
|  |                     "eco": "Eko pamuk", | ||||||
|  |                     "ecospeed_cottons": "Ecospeed Pamuk", | ||||||
|  |                     "ecospeed_delicates": "Ecospeed osetljive tkanine", | ||||||
|  |                     "ecospeed_mixed": "Ecospeed Mešano", | ||||||
|  |                     "extra_hygiene": "EXTRA HIGIJENA", | ||||||
|  |                     "fitness": "Fitnes", | ||||||
|  |                     "fresh_care": "Tretman za osvežavanje", | ||||||
|  |                     "genius": "Genius", | ||||||
|  |                     "hqd_baby_care": "Baby Care", | ||||||
|  |                     "hqd_bath_towel": "Peškiri", | ||||||
|  |                     "hqd_bed_sheets": "Posteljina", | ||||||
|  |                     "hqd_bulky": "Glomazni artikli", | ||||||
|  |                     "hqd_casual": "Neformalno", | ||||||
|  |                     "hqd_cold_wind_30": "Hladan vazduh 30 minuta", | ||||||
|  |                     "hqd_cold_wind_timing": "Hladan vazduh ", | ||||||
|  |                     "hqd_cotton": "Pamuk", | ||||||
|  |                     "hqd_curtain": "Zavese", | ||||||
|  |                     "hqd_delicate": "Osetljive tkanine", | ||||||
|  |                     "hqd_diaper": "Pelene", | ||||||
|  |                     "hqd_duvet": "Jorgan", | ||||||
|  |                     "hqd_feather": "Perjane jakne", | ||||||
|  |                     "hqd_hot_wind_timing": "Vruć vazduh", | ||||||
|  |                     "hqd_hygienic": "Higijenski", | ||||||
|  |                     "hqd_i_refresh": "I-Refresh", | ||||||
|  |                     "hqd_i_refresh_pro": "I-Refresh Pro", | ||||||
|  |                     "hqd_jacket": "Jakne", | ||||||
|  |                     "hqd_jeans": "Džins", | ||||||
|  |                     "hqd_luxury": "Luksuzno", | ||||||
|  |                     "hqd_mix": "Mešovito", | ||||||
|  |                     "hqd_night_dry": "Noćno sušenje", | ||||||
|  |                     "hqd_outdoor": "Outdoor", | ||||||
|  |                     "hqd_precious_cure": "Precious cure", | ||||||
|  |                     "hqd_quick_20": "Brzo 20", | ||||||
|  |                     "hqd_quick_30": "Brzo 30", | ||||||
|  |                     "hqd_quick_dry": "Brzo sušenje", | ||||||
|  |                     "hqd_quilt": "Jorgani", | ||||||
|  |                     "hqd_refresh": "Osvežavanje", | ||||||
|  |                     "hqd_school_uniform": "Školska uniforma", | ||||||
|  |                     "hqd_shirt": "Košulje", | ||||||
|  |                     "hqd_shoes": "Cipele", | ||||||
|  |                     "hqd_silk": "Svila", | ||||||
|  |                     "hqd_sports": "Sportska odeća", | ||||||
|  |                     "hqd_synthetics": "Sintetika", | ||||||
|  |                     "hqd_timer": "Vremenski ograničeno", | ||||||
|  |                     "hqd_towel": "Peškiri", | ||||||
|  |                     "hqd_underwear": "Donji veš", | ||||||
|  |                     "hqd_warm_up": "Zagrevanje", | ||||||
|  |                     "hqd_wool": "Vuna", | ||||||
|  |                     "hqd_working_suit": "Radna odeća", | ||||||
|  |                     "hygiene": "Higijena", | ||||||
|  |                     "iot_checkup": "Provera", | ||||||
|  |                     "iot_dry_anti_mites": "Anti-grinje", | ||||||
|  |                     "iot_dry_baby": "Baby", | ||||||
|  |                     "iot_dry_backpacks": "Rančevi", | ||||||
|  |                     "iot_dry_bathrobe": "Bade-mantili", | ||||||
|  |                     "iot_dry_bed_linen": "Posteljine", | ||||||
|  |                     "iot_dry_bed_quilt": "Ćebad i jorgani", | ||||||
|  |                     "iot_dry_cotton": "Pamuk", | ||||||
|  |                     "iot_dry_cuddly_toys": "Plišane igračke", | ||||||
|  |                     "iot_dry_curtains": "Zavese", | ||||||
|  |                     "iot_dry_dehumidifier": "Uklanjanje vlage", | ||||||
|  |                     "iot_dry_delicates": "Delikatni", | ||||||
|  |                     "iot_dry_delicate_tablecloths": "Osetljivi stoljnjaci", | ||||||
|  |                     "iot_dry_denim_jeans": "Teksas - džins", | ||||||
|  |                     "iot_dry_down_jacket": "Jacket", | ||||||
|  |                     "iot_dry_duvet": "Jorgani", | ||||||
|  |                     "iot_dry_easy_iron_cotton": "Super Lako peglanje", | ||||||
|  |                     "iot_dry_easy_iron_synthetics": "Sintetika koja se veoma lako pegla", | ||||||
|  |                     "iot_dry_gym_fit": "Gym fit - Fitness", | ||||||
|  |                     "iot_dry_lingerie": "Donji veš", | ||||||
|  |                     "iot_dry_mixed": "Mešani veš", | ||||||
|  |                     "iot_dry_playsuits": "Kostimi", | ||||||
|  |                     "iot_dry_rapid_30": "Rapid 30", | ||||||
|  |                     "iot_dry_rapid_59": "Brzi program 59'.", | ||||||
|  |                     "iot_dry_refresh": "Osvežavanje", | ||||||
|  |                     "iot_dry_regenerates_waterproof": "Regenerisanje vodootpornosti", | ||||||
|  |                     "iot_dry_relax_creases": "Otpuštanje prevoja", | ||||||
|  |                     "iot_dry_shirts": "Košulje", | ||||||
|  |                     "iot_dry_small_load": "Mala količina veša", | ||||||
|  |                     "iot_dry_swimsuits_and_bikinis": "Odeća za kupanje", | ||||||
|  |                     "iot_dry_synthetics": "Sintetika", | ||||||
|  |                     "iot_dry_synthetic_dry": "Sušenje sintetike", | ||||||
|  |                     "iot_dry_tablecloths": "Stolnjaci", | ||||||
|  |                     "iot_dry_technical_fabrics": "Sintetički materijali", | ||||||
|  |                     "iot_dry_warm_embrace": "Topao zagrljaj", | ||||||
|  |                     "iot_dry_wool": "Woolmark", | ||||||
|  |                     "jeans": "Jeans", | ||||||
|  |                     "mix_and_dry": "Mix&Dry", | ||||||
|  |                     "pets": "Ljubimci", | ||||||
|  |                     "pre_iron": "Pre-peglanje", | ||||||
|  |                     "rapid_30": "Rapid 30", | ||||||
|  |                     "rapid_45": "Brzi 45 min", | ||||||
|  |                     "rapid_59": "Perfect Rapid 59 Min", | ||||||
|  |                     "refresh": "Osvežavanje", | ||||||
|  |                     "relax_creases": "Otpuštanje prevoja", | ||||||
|  |                     "saving_30_min": "EKO 30'", | ||||||
|  |                     "shirts": "Košulje", | ||||||
|  |                     "shoes": "Cipele", | ||||||
|  |                     "small_load": "Mala količina veša", | ||||||
|  |                     "soft_care": "Blagi tretman", | ||||||
|  |                     "sport_plus": "Sportska odeca", | ||||||
|  |                     "super_easy_iron_misti": "Mešani veš koji se veoma lako pegla", | ||||||
|  |                     "super_easy_iron_xxl": "XXL veš koji se veoma lako pegla", | ||||||
|  |                     "super_fast_cottons": "Super brzo Pamuk", | ||||||
|  |                     "super_fast_delicates": "Super brzo Osetljivo", | ||||||
|  |                     "synthetics": "Sintetika", | ||||||
|  |                     "total_care": "Total Care", | ||||||
|  |                     "trainers": "Trenerke i sportska obuća", | ||||||
|  |                     "ultra_care": "Ultra Care", | ||||||
|  |                     "waterproof_revitalize": "Revitalizacija vodootpornosti", | ||||||
|  |                     "whites": "Beli veš", | ||||||
|  |                     "wool": "Sušenje vune", | ||||||
|  |                     "woolmark": "Woolmark", | ||||||
|  |                     "xxl_load": "XXL veš", | ||||||
|  |                     "zoom_59": "Zoom 59" | ||||||
|  |                 } | ||||||
|  |             }, | ||||||
|  |             "room_temperature": { | ||||||
|  |                 "name": "Sobna temperatura" | ||||||
|  |             }, | ||||||
|  |             "humidity": { | ||||||
|  |                 "name": "Vlažnost" | ||||||
|  |             }, | ||||||
|  |             "freezer_temp": { | ||||||
|  |                 "name": "Temperatura zamrzivača" | ||||||
|  |             }, | ||||||
|  |             "fridge_temp": { | ||||||
|  |                 "name": "Temperatura frižidera" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "select": { |         "select": { | ||||||
| @ -820,7 +974,8 @@ | |||||||
|                     "12": "Peglanje", |                     "12": "Peglanje", | ||||||
|                     "13": "Suvo za ormar", |                     "13": "Suvo za ormar", | ||||||
|                     "14": "Spremno za nošenje", |                     "14": "Spremno za nošenje", | ||||||
|                     "15": "Ekstra suvo" |                     "15": "Ekstra suvo", | ||||||
|  |                     "11": "Bez sušenja" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Nivo sušenja" |                 "name": "Nivo sušenja" | ||||||
|             }, |             }, | ||||||
| @ -870,6 +1025,31 @@ | |||||||
|                     "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" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "switch": { |         "switch": { | ||||||
| @ -877,7 +1057,7 @@ | |||||||
|                 "name": "Protiv gužvanja" |                 "name": "Protiv gužvanja" | ||||||
|             }, |             }, | ||||||
|             "add_dish": { |             "add_dish": { | ||||||
|                 "name": "" |                 "name": "Dodajte posuđe" | ||||||
|             }, |             }, | ||||||
|             "eco_express": { |             "eco_express": { | ||||||
|                 "name": "Eko" |                 "name": "Eko" | ||||||
| @ -944,6 +1124,39 @@ | |||||||
|             }, |             }, | ||||||
|             "mute_mode": { |             "mute_mode": { | ||||||
|                 "name": "Režim isključenog zvuka" |                 "name": "Režim isključenog zvuka" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_1": { | ||||||
|  |                 "name": "+1 ispiranje" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_2": { | ||||||
|  |                 "name": "+2 ispiranja" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_3": { | ||||||
|  |                 "name": "+3 ispiranja" | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Viši nivo vode" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "Automatsko doziranje" | ||||||
|  |             }, | ||||||
|  |             "good_night": { | ||||||
|  |                 "name": "Laku noć" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_softener": { | ||||||
|  |                 "name": "Automatsko doziranje Omekšivač" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_detergent": { | ||||||
|  |                 "name": "Automatsko doziranje Deterdžent" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "Automatsko podešavanje" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "binary_sensor": { |         "binary_sensor": { | ||||||
| @ -1015,6 +1228,36 @@ | |||||||
|             }, |             }, | ||||||
|             "prewash": { |             "prewash": { | ||||||
|                 "name": "Predpranje" |                 "name": "Predpranje" | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Viši nivo vode" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "Automatsko doziranje" | ||||||
|  |             }, | ||||||
|  |             "buzzer": { | ||||||
|  |                 "name": "Zvono na kraju ciklusa" | ||||||
|  |             }, | ||||||
|  |             "holiday_mode": { | ||||||
|  |                 "name": "Režim Holiday" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "Automatsko podešavanje" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|  |             }, | ||||||
|  |             "freezer_door": { | ||||||
|  |                 "name": "Vrata su otvorena Zamrzivač" | ||||||
|  |             }, | ||||||
|  |             "fridge_door": { | ||||||
|  |                 "name": "Vrata su otvorena Frižider" | ||||||
|  |             }, | ||||||
|  |             "filter_replacement": { | ||||||
|  |                 "name": "Zamena filtera" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "number": { |         "number": { | ||||||
| @ -1044,12 +1287,26 @@ | |||||||
|             }, |             }, | ||||||
|             "dry_time": { |             "dry_time": { | ||||||
|                 "name": "Vreme sušenja" |                 "name": "Vreme sušenja" | ||||||
|  |             }, | ||||||
|  |             "steam_level": { | ||||||
|  |                 "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" | ||||||
|             } |             } | ||||||
|  |         }, | ||||||
|  |         "climate": { | ||||||
|  |             "air_conditioner": { | ||||||
|  |                 "name": "Klima uređaj" | ||||||
|  |             } | ||||||
|         } |         } | ||||||
|     }, |     }, | ||||||
|     "config": { |     "config": { | ||||||
|  | |||||||
| @ -9,7 +9,10 @@ | |||||||
|                     "4": "Planlandı", |                     "4": "Planlandı", | ||||||
|                     "5": "Planlandı", |                     "5": "Planlandı", | ||||||
|                     "6": "Hata", |                     "6": "Hata", | ||||||
|                     "7": "Hazır" |                     "7": "Hazır", | ||||||
|  |                     "2": "Program çalışıyor", | ||||||
|  |                     "8": "Test", | ||||||
|  |                     "9": "Program durduruluyor…" | ||||||
|                 } |                 } | ||||||
|             }, |             }, | ||||||
|             "program_phases_wm": { |             "program_phases_wm": { | ||||||
| @ -53,7 +56,9 @@ | |||||||
|                     "16": "Soğutma", |                     "16": "Soğutma", | ||||||
|                     "18": "Tazeleme", |                     "18": "Tazeleme", | ||||||
|                     "19": "Kurutma", |                     "19": "Kurutma", | ||||||
|                     "20": "Kurutma" |                     "20": "Kurutma", | ||||||
|  |                     "11": "Hazır", | ||||||
|  |                     "17": "unknown" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Aşama" |                 "name": "Aşama" | ||||||
|             }, |             }, | ||||||
| @ -79,7 +84,8 @@ | |||||||
|                     "12": "Ütü", |                     "12": "Ütü", | ||||||
|                     "13": "Gardırop hazır", |                     "13": "Gardırop hazır", | ||||||
|                     "14": "Giyilmeye hazır", |                     "14": "Giyilmeye hazır", | ||||||
|                     "15": "Ekstra kurutma" |                     "15": "Ekstra kurutma", | ||||||
|  |                     "11": "Kurutma yok" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Kurutma seviyesi" |                 "name": "Kurutma seviyesi" | ||||||
|             }, |             }, | ||||||
| @ -165,6 +171,154 @@ | |||||||
|                     "5": "Fan", |                     "5": "Fan", | ||||||
|                     "6": "Fan" |                     "6": "Fan" | ||||||
|                 } |                 } | ||||||
|  |             }, | ||||||
|  |             "programs_td": { | ||||||
|  |                 "state": { | ||||||
|  |                     "active_dry": "Aktif Kurutma", | ||||||
|  |                     "allergy_care": "Antialerji", | ||||||
|  |                     "all_in_one": "Hepsi Bir Arada", | ||||||
|  |                     "antiallergy": "Antialerji", | ||||||
|  |                     "anti_odours": "Koku giderme", | ||||||
|  |                     "auto_care": "Oto. Bakım", | ||||||
|  |                     "baby": "Bebek", | ||||||
|  |                     "bed_quilt": "Yorgan", | ||||||
|  |                     "care_30": "Bakım 30", | ||||||
|  |                     "care_45": "Bakım 45", | ||||||
|  |                     "care_59": "Bakım 59", | ||||||
|  |                     "coloured": "Renkli", | ||||||
|  |                     "daily_45_min": "GUNLUK 45'", | ||||||
|  |                     "daily_perfect_59_min": "GUNLUK 59'", | ||||||
|  |                     "darks_and_coloured": "Koyu Renkliler ve Renkliler", | ||||||
|  |                     "delicates": "Hassas", | ||||||
|  |                     "duvet": "Yorgan", | ||||||
|  |                     "eco": "Eko Pamuk", | ||||||
|  |                     "ecospeed_cottons": "Eko hız Pamuklu", | ||||||
|  |                     "ecospeed_delicates": "ECOSEPEED Hassas", | ||||||
|  |                     "ecospeed_mixed": "Eko hız Karışık", | ||||||
|  |                     "extra_hygiene": "EKSTRA HIJYEN", | ||||||
|  |                     "fitness": "Fitness", | ||||||
|  |                     "fresh_care": "Yenileme Bakımı", | ||||||
|  |                     "genius": "Genius", | ||||||
|  |                     "hqd_baby_care": "Baby Care", | ||||||
|  |                     "hqd_bath_towel": "Havlular", | ||||||
|  |                     "hqd_bed_sheets": "Çarşaflar", | ||||||
|  |                     "hqd_bulky": "Hacimli eşyalar", | ||||||
|  |                     "hqd_casual": "Gündelik", | ||||||
|  |                     "hqd_cold_wind_30": "Serin esinti 30 dakika", | ||||||
|  |                     "hqd_cold_wind_timing": "Serin esinti ", | ||||||
|  |                     "hqd_cotton": "Pamuk", | ||||||
|  |                     "hqd_curtain": "Perdeler", | ||||||
|  |                     "hqd_delicate": "Narin Çamaşırlar", | ||||||
|  |                     "hqd_diaper": "Bebek bezi", | ||||||
|  |                     "hqd_duvet": "Nevresim", | ||||||
|  |                     "hqd_feather": "Şişme montlar", | ||||||
|  |                     "hqd_hot_wind_timing": "Sıcak hava", | ||||||
|  |                     "hqd_hygienic": "Hijyen", | ||||||
|  |                     "hqd_i_refresh": "I-Refresh", | ||||||
|  |                     "hqd_i_refresh_pro": "I-Refresh Pro", | ||||||
|  |                     "hqd_jacket": "Ceketler", | ||||||
|  |                     "hqd_jeans": "Kot pantolon", | ||||||
|  |                     "hqd_luxury": "Konfor", | ||||||
|  |                     "hqd_mix": "Karışık", | ||||||
|  |                     "hqd_night_dry": "Gece kurutma", | ||||||
|  |                     "hqd_outdoor": "Outdoor", | ||||||
|  |                     "hqd_precious_cure": "Precious cure", | ||||||
|  |                     "hqd_quick_20": "Hızlı 20", | ||||||
|  |                     "hqd_quick_30": "Hızlı 30", | ||||||
|  |                     "hqd_quick_dry": "Hızlı kurutma", | ||||||
|  |                     "hqd_quilt": "Yorganlar", | ||||||
|  |                     "hqd_refresh": "Yenileme", | ||||||
|  |                     "hqd_school_uniform": "Okul üniforması", | ||||||
|  |                     "hqd_shirt": "Gömlekler", | ||||||
|  |                     "hqd_shoes": "Ayakkabılar", | ||||||
|  |                     "hqd_silk": "İpek", | ||||||
|  |                     "hqd_sports": "Spor", | ||||||
|  |                     "hqd_synthetics": "Sentetikler", | ||||||
|  |                     "hqd_timer": "Zaman Ayarlı", | ||||||
|  |                     "hqd_towel": "Havlular", | ||||||
|  |                     "hqd_underwear": "İç çamaşırı", | ||||||
|  |                     "hqd_warm_up": "Isıtma", | ||||||
|  |                     "hqd_wool": "Yün", | ||||||
|  |                     "hqd_working_suit": "İş giysisi", | ||||||
|  |                     "hygiene": "Hijyen", | ||||||
|  |                     "iot_checkup": "Kontrol", | ||||||
|  |                     "iot_dry_anti_mites": "Anti-akar", | ||||||
|  |                     "iot_dry_baby": "Bebek", | ||||||
|  |                     "iot_dry_backpacks": "Sırt Çantaları", | ||||||
|  |                     "iot_dry_bathrobe": "Bornoz", | ||||||
|  |                     "iot_dry_bed_linen": "Çarşaf", | ||||||
|  |                     "iot_dry_bed_quilt": "Yorgan", | ||||||
|  |                     "iot_dry_cotton": "Pamuklular", | ||||||
|  |                     "iot_dry_cuddly_toys": "Yumuşak Oyuncaklar", | ||||||
|  |                     "iot_dry_curtains": "Perdeler", | ||||||
|  |                     "iot_dry_dehumidifier": "Nem giderici", | ||||||
|  |                     "iot_dry_delicates": "Hassas", | ||||||
|  |                     "iot_dry_delicate_tablecloths": "Hassas masa örtüleri", | ||||||
|  |                     "iot_dry_denim_jeans": "Denim - kot pantolon", | ||||||
|  |                     "iot_dry_down_jacket": "Jacket", | ||||||
|  |                     "iot_dry_duvet": "Yorgan", | ||||||
|  |                     "iot_dry_easy_iron_cotton": "Süper Kolay Ütüleme", | ||||||
|  |                     "iot_dry_easy_iron_synthetics": "Sentetikler Süper Kolay Ütü", | ||||||
|  |                     "iot_dry_gym_fit": "Spor kıyafetleri", | ||||||
|  |                     "iot_dry_lingerie": "İç Çamaşırı", | ||||||
|  |                     "iot_dry_mixed": "Karışık", | ||||||
|  |                     "iot_dry_playsuits": "Oyun elbiseleri", | ||||||
|  |                     "iot_dry_rapid_30": "Rapid 30", | ||||||
|  |                     "iot_dry_rapid_59": "Hızlı 59'.", | ||||||
|  |                     "iot_dry_refresh": "Yenileme", | ||||||
|  |                     "iot_dry_regenerates_waterproof": "Su geçirmezliği artırmak", | ||||||
|  |                     "iot_dry_relax_creases": "Kırışıklık Açma", | ||||||
|  |                     "iot_dry_shirts": "Gömlek", | ||||||
|  |                     "iot_dry_small_load": "Az Çamaşır", | ||||||
|  |                     "iot_dry_swimsuits_and_bikinis": "Mayolar", | ||||||
|  |                     "iot_dry_synthetics": "Sentetik", | ||||||
|  |                     "iot_dry_synthetic_dry": "Sentetik Kurutma", | ||||||
|  |                     "iot_dry_tablecloths": "Masa örtüleri", | ||||||
|  |                     "iot_dry_technical_fabrics": "Teknik Kumaşlar", | ||||||
|  |                     "iot_dry_warm_embrace": "Sıcak Hava", | ||||||
|  |                     "iot_dry_wool": "Saf yün markası", | ||||||
|  |                     "jeans": "Kot", | ||||||
|  |                     "mix_and_dry": "Karışık ve Kuru", | ||||||
|  |                     "pets": "Evcil hayvanlar", | ||||||
|  |                     "pre_iron": "Ön Ütüleme", | ||||||
|  |                     "rapid_30": "Rapid 30", | ||||||
|  |                     "rapid_45": "45 dak. hızlı", | ||||||
|  |                     "rapid_59": "Mükemmel Hızlı 59 dk", | ||||||
|  |                     "refresh": "Yenileme", | ||||||
|  |                     "relax_creases": "Kırışıklık Açma", | ||||||
|  |                     "saving_30_min": "EKO 30'", | ||||||
|  |                     "shirts": "Gömlekler", | ||||||
|  |                     "shoes": "Ayakkabılar", | ||||||
|  |                     "small_load": "Az Çamaşır", | ||||||
|  |                     "soft_care": "Yumuşak Bakım", | ||||||
|  |                     "sport_plus": "Spor+", | ||||||
|  |                     "super_easy_iron_misti": "Süper Kolay Ütü karışık", | ||||||
|  |                     "super_easy_iron_xxl": "Süper Kolay Ütü XXL", | ||||||
|  |                     "super_fast_cottons": "Süper Hızlı Pamuklu", | ||||||
|  |                     "super_fast_delicates": "Süper Hızlı Hassas", | ||||||
|  |                     "synthetics": "Sentetik", | ||||||
|  |                     "total_care": "Total Care", | ||||||
|  |                     "trainers": "Spor Ayakkabıları", | ||||||
|  |                     "ultra_care": "Ultra Care", | ||||||
|  |                     "waterproof_revitalize": "Su Geçirmez Canlandırma", | ||||||
|  |                     "whites": "Beyazlar", | ||||||
|  |                     "wool": "Yünlüleri Kurutma", | ||||||
|  |                     "woolmark": "Saf yün markası", | ||||||
|  |                     "xxl_load": "XXL Çamaşır", | ||||||
|  |                     "zoom_59": "Yakınlaştır 59" | ||||||
|  |                 } | ||||||
|  |             }, | ||||||
|  |             "room_temperature": { | ||||||
|  |                 "name": "Oda sıcaklığı" | ||||||
|  |             }, | ||||||
|  |             "humidity": { | ||||||
|  |                 "name": "Nem" | ||||||
|  |             }, | ||||||
|  |             "freezer_temp": { | ||||||
|  |                 "name": "Dondurucu sıcaklığı" | ||||||
|  |             }, | ||||||
|  |             "fridge_temp": { | ||||||
|  |                 "name": "Buzdolabı sıcaklığı" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "select": { |         "select": { | ||||||
| @ -820,7 +974,8 @@ | |||||||
|                     "12": "Ütü", |                     "12": "Ütü", | ||||||
|                     "13": "Gardırop hazır", |                     "13": "Gardırop hazır", | ||||||
|                     "14": "Giyilmeye hazır", |                     "14": "Giyilmeye hazır", | ||||||
|                     "15": "Ekstra kurutma" |                     "15": "Ekstra kurutma", | ||||||
|  |                     "11": "Kurutma yok" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "Kurutma seviyesi" |                 "name": "Kurutma seviyesi" | ||||||
|             }, |             }, | ||||||
| @ -870,6 +1025,31 @@ | |||||||
|                     "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" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "switch": { |         "switch": { | ||||||
| @ -877,7 +1057,7 @@ | |||||||
|                 "name": "Kırışık açma" |                 "name": "Kırışık açma" | ||||||
|             }, |             }, | ||||||
|             "add_dish": { |             "add_dish": { | ||||||
|                 "name": "" |                 "name": "Bulaşıkları ekle" | ||||||
|             }, |             }, | ||||||
|             "eco_express": { |             "eco_express": { | ||||||
|                 "name": "Eko" |                 "name": "Eko" | ||||||
| @ -944,6 +1124,39 @@ | |||||||
|             }, |             }, | ||||||
|             "mute_mode": { |             "mute_mode": { | ||||||
|                 "name": "Ses Kapalı mod" |                 "name": "Ses Kapalı mod" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_1": { | ||||||
|  |                 "name": "+1 Durulama" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_2": { | ||||||
|  |                 "name": "+2 Durulama" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_3": { | ||||||
|  |                 "name": "+3 Durulama" | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Acquaplus" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "Otomatik doz" | ||||||
|  |             }, | ||||||
|  |             "good_night": { | ||||||
|  |                 "name": "İyi Geceler" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_softener": { | ||||||
|  |                 "name": "Otomatik doz Yumuşatıcı" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_detergent": { | ||||||
|  |                 "name": "Otomatik doz Deterjan" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "Otomatik Ayarla" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "binary_sensor": { |         "binary_sensor": { | ||||||
| @ -1015,6 +1228,36 @@ | |||||||
|             }, |             }, | ||||||
|             "prewash": { |             "prewash": { | ||||||
|                 "name": "Pre-wash" |                 "name": "Pre-wash" | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Acquaplus" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "Otomatik doz" | ||||||
|  |             }, | ||||||
|  |             "buzzer": { | ||||||
|  |                 "name": "Program sonu zili" | ||||||
|  |             }, | ||||||
|  |             "holiday_mode": { | ||||||
|  |                 "name": "Holiday Modu" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "Otomatik Ayarla" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|  |             }, | ||||||
|  |             "freezer_door": { | ||||||
|  |                 "name": "Kapı açık Dondurucu" | ||||||
|  |             }, | ||||||
|  |             "fridge_door": { | ||||||
|  |                 "name": "Kapı açık Buzdolabı" | ||||||
|  |             }, | ||||||
|  |             "filter_replacement": { | ||||||
|  |                 "name": "Filtre değişimi" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "number": { |         "number": { | ||||||
| @ -1044,12 +1287,26 @@ | |||||||
|             }, |             }, | ||||||
|             "dry_time": { |             "dry_time": { | ||||||
|                 "name": "Kurutma zamanı" |                 "name": "Kurutma zamanı" | ||||||
|  |             }, | ||||||
|  |             "steam_level": { | ||||||
|  |                 "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" | ||||||
|             } |             } | ||||||
|  |         }, | ||||||
|  |         "climate": { | ||||||
|  |             "air_conditioner": { | ||||||
|  |                 "name": "Klima" | ||||||
|  |             } | ||||||
|         } |         } | ||||||
|     }, |     }, | ||||||
|     "config": { |     "config": { | ||||||
|  | |||||||
| @ -9,7 +9,10 @@ | |||||||
|                     "4": "已计划", |                     "4": "已计划", | ||||||
|                     "5": "已计划", |                     "5": "已计划", | ||||||
|                     "6": "错误", |                     "6": "错误", | ||||||
|                     "7": "就绪" |                     "7": "就绪", | ||||||
|  |                     "2": "程序运行中", | ||||||
|  |                     "8": "Test", | ||||||
|  |                     "9": "正在停止循环..." | ||||||
|                 } |                 } | ||||||
|             }, |             }, | ||||||
|             "program_phases_wm": { |             "program_phases_wm": { | ||||||
| @ -53,7 +56,9 @@ | |||||||
|                     "16": "冷却", |                     "16": "冷却", | ||||||
|                     "18": "保持清新", |                     "18": "保持清新", | ||||||
|                     "19": "烘干", |                     "19": "烘干", | ||||||
|                     "20": "烘干" |                     "20": "烘干", | ||||||
|  |                     "11": "就绪", | ||||||
|  |                     "17": "unknown" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "阶段" |                 "name": "阶段" | ||||||
|             }, |             }, | ||||||
| @ -79,7 +84,8 @@ | |||||||
|                     "12": "熨烫", |                     "12": "熨烫", | ||||||
|                     "13": "衣柜就绪", |                     "13": "衣柜就绪", | ||||||
|                     "14": "可穿", |                     "14": "可穿", | ||||||
|                     "15": "特干" |                     "15": "特干", | ||||||
|  |                     "11": "不烘干" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "烘干水平" |                 "name": "烘干水平" | ||||||
|             }, |             }, | ||||||
| @ -165,6 +171,154 @@ | |||||||
|                     "5": "风扇", |                     "5": "风扇", | ||||||
|                     "6": "风扇" |                     "6": "风扇" | ||||||
|                 } |                 } | ||||||
|  |             }, | ||||||
|  |             "programs_td": { | ||||||
|  |                 "state": { | ||||||
|  |                     "active_dry": "主动干燥", | ||||||
|  |                     "allergy_care": "Antiallergy", | ||||||
|  |                     "all_in_one": "All in One", | ||||||
|  |                     "antiallergy": "抗过敏", | ||||||
|  |                     "anti_odours": "除味", | ||||||
|  |                     "auto_care": "自动护理", | ||||||
|  |                     "baby": "婴儿服", | ||||||
|  |                     "bed_quilt": "床被", | ||||||
|  |                     "care_30": "护理 30", | ||||||
|  |                     "care_45": "护理 45", | ||||||
|  |                     "care_59": "护理 59", | ||||||
|  |                     "coloured": "彩色衣物", | ||||||
|  |                     "daily_45_min": "每日 45 分钟", | ||||||
|  |                     "daily_perfect_59_min": "每日完美 59 分钟", | ||||||
|  |                     "darks_and_coloured": "深色和彩色衣物", | ||||||
|  |                     "delicates": "精细织物", | ||||||
|  |                     "duvet": "羽绒服", | ||||||
|  |                     "eco": "生态棉", | ||||||
|  |                     "ecospeed_cottons": "经济速度棉质衣物", | ||||||
|  |                     "ecospeed_delicates": "经济速度精致衣物", | ||||||
|  |                     "ecospeed_mixed": "经济速度混合衣物", | ||||||
|  |                     "extra_hygiene": "额外卫生", | ||||||
|  |                     "fitness": "健身衣物", | ||||||
|  |                     "fresh_care": "清新护理", | ||||||
|  |                     "genius": "Genius", | ||||||
|  |                     "hqd_baby_care": "Baby Care", | ||||||
|  |                     "hqd_bath_towel": "毛巾", | ||||||
|  |                     "hqd_bed_sheets": "床单", | ||||||
|  |                     "hqd_bulky": "大件物品", | ||||||
|  |                     "hqd_casual": "休闲", | ||||||
|  |                     "hqd_cold_wind_30": "凉风 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": "I-Refresh", | ||||||
|  |                     "hqd_i_refresh_pro": "I-Refresh Pro", | ||||||
|  |                     "hqd_jacket": "夹克", | ||||||
|  |                     "hqd_jeans": "牛仔裤", | ||||||
|  |                     "hqd_luxury": "奢侈衣物", | ||||||
|  |                     "hqd_mix": "混合材质", | ||||||
|  |                     "hqd_night_dry": "过夜烘干", | ||||||
|  |                     "hqd_outdoor": "Outdoor", | ||||||
|  |                     "hqd_precious_cure": "Precious cure", | ||||||
|  |                     "hqd_quick_20": "快洗 20", | ||||||
|  |                     "hqd_quick_30": "快洗 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": "工作服", | ||||||
|  |                     "hygiene": "卫生", | ||||||
|  |                     "iot_checkup": "检测", | ||||||
|  |                     "iot_dry_anti_mites": "除螨", | ||||||
|  |                     "iot_dry_baby": "婴儿服", | ||||||
|  |                     "iot_dry_backpacks": "背包", | ||||||
|  |                     "iot_dry_bathrobe": "浴衣", | ||||||
|  |                     "iot_dry_bed_linen": "被单枕套", | ||||||
|  |                     "iot_dry_bed_quilt": "床被", | ||||||
|  |                     "iot_dry_cotton": "棉布", | ||||||
|  |                     "iot_dry_cuddly_toys": "毛绒玩具", | ||||||
|  |                     "iot_dry_curtains": "窗帘", | ||||||
|  |                     "iot_dry_dehumidifier": "除湿机", | ||||||
|  |                     "iot_dry_delicates": "精细织物", | ||||||
|  |                     "iot_dry_delicate_tablecloths": "精细台布", | ||||||
|  |                     "iot_dry_denim_jeans": "牛仔布 - 牛仔裤", | ||||||
|  |                     "iot_dry_down_jacket": "Jacket", | ||||||
|  |                     "iot_dry_duvet": "羽绒服", | ||||||
|  |                     "iot_dry_easy_iron_cotton": "Super Easy Iron", | ||||||
|  |                     "iot_dry_easy_iron_synthetics": "超级易熨合成织物", | ||||||
|  |                     "iot_dry_gym_fit": "健身服", | ||||||
|  |                     "iot_dry_lingerie": "女性内衣", | ||||||
|  |                     "iot_dry_mixed": "混合材质", | ||||||
|  |                     "iot_dry_playsuits": "运动装", | ||||||
|  |                     "iot_dry_rapid_30": "快速 30", | ||||||
|  |                     "iot_dry_rapid_59": "快速 59’", | ||||||
|  |                     "iot_dry_refresh": "Refresh", | ||||||
|  |                     "iot_dry_regenerates_waterproof": "防水布", | ||||||
|  |                     "iot_dry_relax_creases": "Relax Creases", | ||||||
|  |                     "iot_dry_shirts": "衬衫", | ||||||
|  |                     "iot_dry_small_load": "Small Load", | ||||||
|  |                     "iot_dry_swimsuits_and_bikinis": "泳衣", | ||||||
|  |                     "iot_dry_synthetics": "合成纤维衣物", | ||||||
|  |                     "iot_dry_synthetic_dry": "合成纤维烘干", | ||||||
|  |                     "iot_dry_tablecloths": "台布", | ||||||
|  |                     "iot_dry_technical_fabrics": "弹性织物", | ||||||
|  |                     "iot_dry_warm_embrace": "衣物蓬松", | ||||||
|  |                     "iot_dry_wool": "Woolmark", | ||||||
|  |                     "jeans": "牛仔裤", | ||||||
|  |                     "mix_and_dry": "混合化纤洗干一体", | ||||||
|  |                     "pets": "宠物", | ||||||
|  |                     "pre_iron": "熨烫前", | ||||||
|  |                     "rapid_30": "快速 30", | ||||||
|  |                     "rapid_45": "快速 45 分钟", | ||||||
|  |                     "rapid_59": "完美快洗59′", | ||||||
|  |                     "refresh": "清新", | ||||||
|  |                     "relax_creases": "Relax Creases", | ||||||
|  |                     "saving_30_min": "节约 30 分钟", | ||||||
|  |                     "shirts": "衬衫", | ||||||
|  |                     "shoes": "鞋子", | ||||||
|  |                     "small_load": "Small Load", | ||||||
|  |                     "soft_care": "柔软保养", | ||||||
|  |                     "sport_plus": "Sport Plus", | ||||||
|  |                     "super_easy_iron_misti": "超易熨烫混合衣物", | ||||||
|  |                     "super_easy_iron_xxl": "超易熨烫超大衣物", | ||||||
|  |                     "super_fast_cottons": "Super Fast Cottons", | ||||||
|  |                     "super_fast_delicates": "Super Fast Delicates", | ||||||
|  |                     "synthetics": "合成纤维衣物", | ||||||
|  |                     "total_care": "Total Care", | ||||||
|  |                     "trainers": "运动鞋", | ||||||
|  |                     "ultra_care": "Ultra Care", | ||||||
|  |                     "waterproof_revitalize": "Waterproof Revitalize", | ||||||
|  |                     "whites": "浅色衣物", | ||||||
|  |                     "wool": "烘干羊毛衣物", | ||||||
|  |                     "woolmark": "Woolmark", | ||||||
|  |                     "xxl_load": "XXL Load", | ||||||
|  |                     "zoom_59": "缩放 59" | ||||||
|  |                 } | ||||||
|  |             }, | ||||||
|  |             "room_temperature": { | ||||||
|  |                 "name": "室温" | ||||||
|  |             }, | ||||||
|  |             "humidity": { | ||||||
|  |                 "name": "湿度" | ||||||
|  |             }, | ||||||
|  |             "freezer_temp": { | ||||||
|  |                 "name": "冷藏室温度" | ||||||
|  |             }, | ||||||
|  |             "fridge_temp": { | ||||||
|  |                 "name": "冰箱温度" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "select": { |         "select": { | ||||||
| @ -820,7 +974,8 @@ | |||||||
|                     "12": "熨烫", |                     "12": "熨烫", | ||||||
|                     "13": "衣柜就绪", |                     "13": "衣柜就绪", | ||||||
|                     "14": "可穿", |                     "14": "可穿", | ||||||
|                     "15": "特干" |                     "15": "特干", | ||||||
|  |                     "11": "不烘干" | ||||||
|                 }, |                 }, | ||||||
|                 "name": "烘干水平" |                 "name": "烘干水平" | ||||||
|             }, |             }, | ||||||
| @ -870,6 +1025,31 @@ | |||||||
|                     "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": "剩余时间" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "switch": { |         "switch": { | ||||||
| @ -877,7 +1057,7 @@ | |||||||
|                 "name": "抗皱" |                 "name": "抗皱" | ||||||
|             }, |             }, | ||||||
|             "add_dish": { |             "add_dish": { | ||||||
|                 "name": "" |                 "name": "添加碗碟" | ||||||
|             }, |             }, | ||||||
|             "eco_express": { |             "eco_express": { | ||||||
|                 "name": "节能" |                 "name": "节能" | ||||||
| @ -944,6 +1124,39 @@ | |||||||
|             }, |             }, | ||||||
|             "mute_mode": { |             "mute_mode": { | ||||||
|                 "name": "静音模式" |                 "name": "静音模式" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_1": { | ||||||
|  |                 "name": "+1 次漂洗" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_2": { | ||||||
|  |                 "name": "+2 次漂洗" | ||||||
|  |             }, | ||||||
|  |             "extra_rinse_3": { | ||||||
|  |                 "name": "+3 次漂洗" | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Acquaplus" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "自动定量" | ||||||
|  |             }, | ||||||
|  |             "good_night": { | ||||||
|  |                 "name": "晚安" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_softener": { | ||||||
|  |                 "name": "自动定量 柔软剂" | ||||||
|  |             }, | ||||||
|  |             "auto_dose_detergent": { | ||||||
|  |                 "name": "自动定量 洗涤剂" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "自动设置" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "binary_sensor": { |         "binary_sensor": { | ||||||
| @ -1015,6 +1228,36 @@ | |||||||
|             }, |             }, | ||||||
|             "prewash": { |             "prewash": { | ||||||
|                 "name": "预洗" |                 "name": "预洗" | ||||||
|  |             }, | ||||||
|  |             "acqua_plus": { | ||||||
|  |                 "name": "Acquaplus" | ||||||
|  |             }, | ||||||
|  |             "auto_dose": { | ||||||
|  |                 "name": "自动定量" | ||||||
|  |             }, | ||||||
|  |             "buzzer": { | ||||||
|  |                 "name": "循环结束提示音" | ||||||
|  |             }, | ||||||
|  |             "holiday_mode": { | ||||||
|  |                 "name": "Holiday 模式" | ||||||
|  |             }, | ||||||
|  |             "auto_set": { | ||||||
|  |                 "name": "自动设置" | ||||||
|  |             }, | ||||||
|  |             "super_cool": { | ||||||
|  |                 "name": "Super Cool" | ||||||
|  |             }, | ||||||
|  |             "super_freeze": { | ||||||
|  |                 "name": "Super Freeze" | ||||||
|  |             }, | ||||||
|  |             "freezer_door": { | ||||||
|  |                 "name": "门打开 冷藏箱" | ||||||
|  |             }, | ||||||
|  |             "fridge_door": { | ||||||
|  |                 "name": "门打开 冰箱" | ||||||
|  |             }, | ||||||
|  |             "filter_replacement": { | ||||||
|  |                 "name": "更换过滤器" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "number": { |         "number": { | ||||||
| @ -1044,12 +1287,26 @@ | |||||||
|             }, |             }, | ||||||
|             "dry_time": { |             "dry_time": { | ||||||
|                 "name": "烘干时间" |                 "name": "烘干时间" | ||||||
|  |             }, | ||||||
|  |             "steam_level": { | ||||||
|  |                 "name": "蒸汽档位" | ||||||
|  |             }, | ||||||
|  |             "freezer_temp_sel": { | ||||||
|  |                 "name": "目标温度 冷藏箱" | ||||||
|  |             }, | ||||||
|  |             "fridge_temp_sel": { | ||||||
|  |                 "name": "目标温度 冰箱" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "button": { |         "button": { | ||||||
|             "induction_hob": { |             "induction_hob": { | ||||||
|                 "name": "电磁炉" |                 "name": "电磁炉" | ||||||
|             } |             } | ||||||
|  |         }, | ||||||
|  |         "climate": { | ||||||
|  |             "air_conditioner": { | ||||||
|  |                 "name": "空调" | ||||||
|  |             } | ||||||
|         } |         } | ||||||
|     }, |     }, | ||||||
|     "config": { |     "config": { | ||||||
|  | |||||||
							
								
								
									
										52
									
								
								info.md
									
									
									
									
									
								
							
							
						
						
									
										52
									
								
								info.md
									
									
									
									
									
								
							| @ -11,12 +11,8 @@ Support for home appliances of Haier's mobile app hOn. | |||||||
| - [Oven](https://github.com/Andre0512/hon#oven) | - [Oven](https://github.com/Andre0512/hon#oven) | ||||||
| - [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] | ||||||
| ## Tested Appliances | - [Fridge](https://github.com/Andre0512/hon#fridge) [BETA] | ||||||
| - Haier WD90-B14TEAM5 |  | ||||||
| - Haier HD80-A3959 |  | ||||||
| - Haier HWO60SM2F3XH |  | ||||||
| - Hoover H-WASH 500 |  | ||||||
|  |  | ||||||
| ## Configuration | ## Configuration | ||||||
|  |  | ||||||
| @ -25,10 +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._ | ||||||
|  |  | ||||||
| ## Contribute |  | ||||||
| Want to help us to support more appliances? Or add more sensors? Or help with translating? Or beautify some icons or captions?  |  | ||||||
| Check out the [project on GitHub](https://github.com/Andre0512/hon), every contribution is welcome! |  | ||||||
|  |  | ||||||
| ## 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 | ||||||
| @ -51,10 +43,48 @@ Translation of internal names like programs are available for all languages whic | |||||||
| * 🇪🇸 Spanish | * 🇪🇸 Spanish | ||||||
| * 🇹🇷 Turkish | * 🇹🇷 Turkish | ||||||
|  |  | ||||||
|  | ## Examples | ||||||
|  | ### Washing Machine | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## Supported Models | ||||||
|  | Support has been confirmed for these models, but many more will work. Please add already supported devices [with this form to complete the list](https://forms.gle/bTSD8qFotdZFytbf8). | ||||||
|  | - Haier AD105S2SM3FA | ||||||
|  | - Haier AS25PBAHRA | ||||||
|  | - Haier AS25TADHRA-2 | ||||||
|  | - Haier AS35TADHRA-2 | ||||||
|  | - Haier EG9012B19SU1JD | ||||||
|  | - Haier HD80-A3959 | ||||||
|  | - Haier HW90-B14TEAM5 | ||||||
|  | - Haier HW100-B14959U1 | ||||||
|  | - Haier HWD100-B14979 | ||||||
|  | - Haier HWO60SM2F3XH | ||||||
|  | - Haier XIB 3B2SFS-80 | ||||||
|  | - Haier XIB 6B2D3FB | ||||||
|  | - Candy CIS633SCTTWIFI | ||||||
|  | - Candy CSOE C10DE-80 | ||||||
|  | - Candy ROE H9A3TCEX-S | ||||||
|  | - Candy RPW41066BWMR/1-S | ||||||
|  | - Hoover H-WASH 500 | ||||||
|  | - Hoover H-DRY 500 | ||||||
|  | - Hoover H7W4 48MBC-S | ||||||
|  | - Hoover H9A3TCBEXS-S | ||||||
|  | - Hoover HFB 6B2S3FX | ||||||
|  | - Hoover HLE C10DCE-80 | ||||||
|  | - Hoover HSOT3161WG | ||||||
|  | - Hoover HWPD 69AMBC/1-S | ||||||
|  | - Hoover HWPS4954DAMR-11 | ||||||
|  | - Hoover NDE H10A2TCE-80 | ||||||
|  | - Hoover NDE H9A2TSBEXS-S | ||||||
|  | - Hoover NDPHY10A2TCBEXSS | ||||||
|  |  | ||||||
|  | ## Contribute | ||||||
|  | Want to help us to support more appliances? Or add more sensors? Or help with translating? Or beautify some icons or captions?  | ||||||
|  | Check out the [project on GitHub](https://github.com/Andre0512/hon), every contribution is welcome! | ||||||
|  |  | ||||||
| ## Useful Links | ## Useful Links | ||||||
| * [GitHub repository](https://github.com/Andre0512/hon) (please add a star if you like this integration!) | * [GitHub repository](https://github.com/Andre0512/hon) (please add a star if you like this integration!) | ||||||
| * [pyhOn library](https://github.com/Andre0512/pyhOn) | * [pyhOn library](https://github.com/Andre0512/pyhOn) | ||||||
| * [Release notes](https://github.com/Andre0512/hon/releases) | * [Release notes](https://github.com/Andre0512/hon/releases) | ||||||
| * [Discussion and help](https://github.com/Andre0512/hon/discussions) | * [Discussion and help](https://github.com/Andre0512/hon/discussions) | ||||||
| * [Issues](https://github.com/Andre0512/hon/issues) | * [Issues](https://github.com/Andre0512/hon/issues) | ||||||
|  |  | ||||||
|  | |||||||
							
								
								
									
										3
									
								
								requirements_dev.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								requirements_dev.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,3 @@ | |||||||
|  | pyhOn | ||||||
|  | black | ||||||
|  | homeassistant | ||||||
| @ -3,155 +3,50 @@ | |||||||
| import asyncio | import asyncio | ||||||
| import json | import json | ||||||
| import re | import re | ||||||
|  | import sys | ||||||
| from pathlib import Path | from pathlib import Path | ||||||
|  |  | ||||||
| from pyhon import HonAPI | from pyhon import HonAPI | ||||||
|  |  | ||||||
| # These languages are official supported by hOn | if __name__ == "__main__": | ||||||
| LANGUAGES = [ |     sys.path.insert(0, str(Path(__file__).parent.parent)) | ||||||
|     "cs",  # Czech |  | ||||||
|     "de",  # German |  | ||||||
|     "el",  # Greek |  | ||||||
|     "en",  # English |  | ||||||
|     "es",  # Spanish |  | ||||||
|     "fr",  # French |  | ||||||
|     "he",  # Hebrew |  | ||||||
|     "hr",  # Croatian |  | ||||||
|     "it",  # Italian |  | ||||||
|     "nl",  # Dutch |  | ||||||
|     "pl",  # Polish |  | ||||||
|     "pt",  # Portuguese |  | ||||||
|     "ro",  # Romanian |  | ||||||
|     "ru",  # Russian |  | ||||||
|     "sk",  # Slovak |  | ||||||
|     "sl",  # Slovenian |  | ||||||
|     "sr",  # Serbian |  | ||||||
|     "tr",  # Turkish |  | ||||||
|     "zh",  # Chinese |  | ||||||
| ] |  | ||||||
|  |  | ||||||
| WASHING_PR_PHASE = { | from custom_components.hon import const | ||||||
|     0: "WASHING_CMD&CTRL.PHASE_READY.TITLE", |  | ||||||
|     1: "WASHING_CMD&CTRL.PHASE_WASHING.TITLE", |  | ||||||
|     2: "WASHING_CMD&CTRL.PHASE_WASHING.TITLE", |  | ||||||
|     3: "WASHING_CMD&CTRL.PHASE_SPIN.TITLE", |  | ||||||
|     4: "WASHING_CMD&CTRL.PHASE_RINSE.TITLE", |  | ||||||
|     5: "WASHING_CMD&CTRL.PHASE_RINSE.TITLE", |  | ||||||
|     6: "WASHING_CMD&CTRL.PHASE_RINSE.TITLE", |  | ||||||
|     7: "WASHING_CMD&CTRL.PHASE_DRYING.TITLE", |  | ||||||
|     9: "WASHING_CMD&CTRL.PHASE_STEAM.TITLE", |  | ||||||
|     10: "WASHING_CMD&CTRL.PHASE_READY.TITLE", |  | ||||||
|     11: "WASHING_CMD&CTRL.PHASE_SPIN.TITLE", |  | ||||||
|     12: "WASHING_CMD&CTRL.PHASE_WEIGHTING.TITLE", |  | ||||||
|     13: "WASHING_CMD&CTRL.PHASE_WEIGHTING.TITLE", |  | ||||||
|     14: "WASHING_CMD&CTRL.PHASE_WASHING.TITLE", |  | ||||||
|     15: "WASHING_CMD&CTRL.PHASE_WASHING.TITLE", |  | ||||||
|     16: "WASHING_CMD&CTRL.PHASE_WASHING.TITLE", |  | ||||||
|     17: "WASHING_CMD&CTRL.PHASE_RINSE.TITLE", |  | ||||||
|     18: "WASHING_CMD&CTRL.PHASE_RINSE.TITLE", |  | ||||||
|     19: "WASHING_CMD&CTRL.PHASE_SCHEDULED.TITLE", |  | ||||||
|     20: "WASHING_CMD&CTRL.PHASE_TUMBLING.TITLE", |  | ||||||
|     24: "WASHING_CMD&CTRL.PHASE_REFRESH.TITLE", |  | ||||||
|     25: "WASHING_CMD&CTRL.PHASE_WASHING.TITLE", |  | ||||||
|     26: "WASHING_CMD&CTRL.PHASE_HEATING.TITLE", |  | ||||||
|     27: "WASHING_CMD&CTRL.PHASE_WASHING.TITLE", |  | ||||||
| } |  | ||||||
| MACH_MODE = { |  | ||||||
|     0: "WASHING_CMD&CTRL.PHASE_READY.TITLE", |  | ||||||
|     1: "WASHING_CMD&CTRL.PHASE_READY.TITLE", |  | ||||||
|     3: "WASHING_CMD&CTRL.PHASE_PAUSE.TITLE", |  | ||||||
|     4: "WASHING_CMD&CTRL.PHASE_SCHEDULED.TITLE", |  | ||||||
|     5: "WASHING_CMD&CTRL.PHASE_SCHEDULED.TITLE", |  | ||||||
|     6: "WASHING_CMD&CTRL.PHASE_ERROR.TITLE", |  | ||||||
|     7: "WASHING_CMD&CTRL.PHASE_READY.TITLE", |  | ||||||
| } |  | ||||||
| TUMBLE_DRYER_PR_PHASE = { |  | ||||||
|     0: "WASHING_CMD&CTRL.PHASE_READY.TITLE", |  | ||||||
|     1: "TD_CMD&CTRL.STATUS_PHASE.PHASE_HEAT_STROKE", |  | ||||||
|     2: "WASHING_CMD&CTRL.PHASE_DRYING.TITLE", |  | ||||||
|     3: "TD_CMD&CTRL.STATUS_PHASE.PHASE_COOLDOWN", |  | ||||||
|     13: "TD_CMD&CTRL.STATUS_PHASE.PHASE_COOLDOWN", |  | ||||||
|     14: "TD_CMD&CTRL.STATUS_PHASE.PHASE_HEAT_STROKE", |  | ||||||
|     15: "TD_CMD&CTRL.STATUS_PHASE.PHASE_HEAT_STROKE", |  | ||||||
|     16: "TD_CMD&CTRL.STATUS_PHASE.PHASE_COOLDOWN", |  | ||||||
|     18: "WASHING_CMD&CTRL.PHASE_TUMBLING.DASHBOARD_TITLE", |  | ||||||
|     19: "WASHING_CMD&CTRL.PHASE_DRYING.TITLE", |  | ||||||
|     20: "WASHING_CMD&CTRL.PHASE_DRYING.TITLE", |  | ||||||
| } |  | ||||||
| DISHWASHER_PR_PHASE = { |  | ||||||
|     0: "WASHING_CMD&CTRL.PHASE_READY.TITLE", |  | ||||||
|     1: "WASHING_CMD&CTRL.PHASE_PREWASH.TITLE", |  | ||||||
|     2: "WASHING_CMD&CTRL.PHASE_WASHING.TITLE", |  | ||||||
|     3: "WASHING_CMD&CTRL.PHASE_RINSE.TITLE", |  | ||||||
|     4: "WASHING_CMD&CTRL.PHASE_DRYING.TITLE", |  | ||||||
|     5: "WASHING_CMD&CTRL.PHASE_READY.TITLE", |  | ||||||
|     6: "WASHING_CMD&CTRL.PHASE_HOT_RINSE.TITLE", |  | ||||||
| } |  | ||||||
|  |  | ||||||
| TUMBLE_DRYER_DRY_LEVEL = { |  | ||||||
|     0: "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_MAIN_OPTIONS.NO_DRY", |  | ||||||
|     1: "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OPTIONS_VALUES_DESCRIPTION.IRON_DRY", |  | ||||||
|     2: "WASHING_CMD&CTRL.GUIDED_WASHING_SYMBOLS_DRYING.NO_DRY_IRON_TITLE", |  | ||||||
|     3: "WASHING_CMD&CTRL.GUIDED_WASHING_SYMBOLS_DRYING.CUPBOARD_DRY_TITLE", |  | ||||||
|     4: "WASHING_CMD&CTRL.GUIDED_WASHING_SYMBOLS_DRYING.EXTRA_DRY_TITLE", |  | ||||||
|     12: "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OPTIONS_VALUES_DESCRIPTION.IRON_DRY", |  | ||||||
|     13: "WASHING_CMD&CTRL.GUIDED_WASHING_SYMBOLS_DRYING.CUPBOARD_DRY_TITLE", |  | ||||||
|     14: "WASHING_CMD&CTRL.GUIDED_WASHING_SYMBOLS_DRYING.READY_TO_WEAR_TITLE", |  | ||||||
|     15: "WASHING_CMD&CTRL.GUIDED_WASHING_SYMBOLS_DRYING.EXTRA_DRY_TITLE", |  | ||||||
| } |  | ||||||
|  |  | ||||||
| AC_MACH_MODE = { |  | ||||||
|     0: "PROGRAMS.AC.IOT_AUTO", |  | ||||||
|     1: "PROGRAMS.AC.IOT_COOL", |  | ||||||
|     2: "PROGRAMS.AC.IOT_COOL", |  | ||||||
|     3: "PROGRAMS.AC.IOT_DRY", |  | ||||||
|     4: "PROGRAMS.AC.IOT_HEAT", |  | ||||||
|     5: "PROGRAMS.AC.IOT_FAN", |  | ||||||
|     6: "PROGRAMS.AC.IOT_FAN", |  | ||||||
| } |  | ||||||
|  |  | ||||||
| AC_FAN_MODE = { |  | ||||||
|     1: "AC.PROGRAM_CARD.WIND_SPEED_HIGH", |  | ||||||
|     2: "AC.PROGRAM_CARD.WIND_SPEED_MID", |  | ||||||
|     3: "AC.PROGRAM_CARD.WIND_SPEED_LOW", |  | ||||||
|     4: "AC.PROGRAM_CARD.WIND_SPEED_AUTO", |  | ||||||
|     5: "AC.PROGRAM_CARD.WIND_SPEED_AUTO", |  | ||||||
| } |  | ||||||
|  |  | ||||||
| AC_HUMAN_SENSE = { |  | ||||||
|     0: "AC.PROGRAM_DETAIL.TOUCH_OFF", |  | ||||||
|     1: "AC.PROGRAM_DETAIL.AVOID_TOUCH", |  | ||||||
|     2: "AC.PROGRAM_DETAIL.FOLLOW_TOUCH", |  | ||||||
| } |  | ||||||
|  |  | ||||||
| SENSOR = { | SENSOR = { | ||||||
|     "washing_modes": MACH_MODE, |     "washing_modes": const.MACH_MODE, | ||||||
|     "mach_modes_ac": AC_MACH_MODE, |     "mach_modes_ac": const.AC_MACH_MODE, | ||||||
|     "program_phases_wm": WASHING_PR_PHASE, |     "program_phases_wm": const.WASHING_PR_PHASE, | ||||||
|     "program_phases_td": TUMBLE_DRYER_PR_PHASE, |     "program_phases_td": const.TUMBLE_DRYER_PR_PHASE, | ||||||
|     "program_phases_dw": DISHWASHER_PR_PHASE, |     "program_phases_dw": const.DISHWASHER_PR_PHASE, | ||||||
|     "dry_levels": TUMBLE_DRYER_DRY_LEVEL, |     "dry_levels": const.TUMBLE_DRYER_DRY_LEVEL, | ||||||
| } | } | ||||||
|  |  | ||||||
| SELECT = { | SELECT = { | ||||||
|     "dry_levels": TUMBLE_DRYER_DRY_LEVEL, |     "dry_levels": const.TUMBLE_DRYER_DRY_LEVEL, | ||||||
|     "eco_pilot": AC_HUMAN_SENSE, |     "eco_pilot": const.AC_HUMAN_SENSE, | ||||||
|     "fan_mode": AC_FAN_MODE, |     "fan_mode": const.AC_FAN_MODE, | ||||||
| } | } | ||||||
|  |  | ||||||
| PROGRAMS = { | PROGRAMS = { | ||||||
|  |     "select": { | ||||||
|         "programs_ac": "PROGRAMS.AC", |         "programs_ac": "PROGRAMS.AC", | ||||||
|         "programs_dw": "PROGRAMS.DW", |         "programs_dw": "PROGRAMS.DW", | ||||||
|         "programs_ih": "PROGRAMS.IH", |         "programs_ih": "PROGRAMS.IH", | ||||||
|         "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": { | ||||||
|  |         "programs_td": "PROGRAMS.TD", | ||||||
|  |     }, | ||||||
| } | } | ||||||
|  |  | ||||||
| NAMES = { | NAMES = { | ||||||
|     "switch": { |     "switch": { | ||||||
|         "anti_crease": "HDRY_CMD&CTRL.PROGRAM_CYCLE_DETAIL.ANTICREASE_TITLE", |         "anti_crease": "HDRY_CMD&CTRL.PROGRAM_CYCLE_DETAIL.ANTICREASE_TITLE", | ||||||
|         "add_dish": "DW_CMD&CTRL.c.ADD_DISH", |         "add_dish": "DW.ADD_DISH", | ||||||
|         "eco_express": "DW_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.ECO", |         "eco_express": "DW_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.ECO", | ||||||
|         "extra_dry": "DW_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.EXTRA_DRY", |         "extra_dry": "DW_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.EXTRA_DRY", | ||||||
|         "half_load": "DW_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.HALF_LOAD", |         "half_load": "DW_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.HALF_LOAD", | ||||||
| @ -174,6 +69,22 @@ NAMES = { | |||||||
|         "self_clean_56": "PROGRAMS.AC.IOT_SELF_CLEAN_56", |         "self_clean_56": "PROGRAMS.AC.IOT_SELF_CLEAN_56", | ||||||
|         "silent_mode": "AC.PROGRAM_DETAIL.SILENT_MODE", |         "silent_mode": "AC.PROGRAM_DETAIL.SILENT_MODE", | ||||||
|         "mute_mode": "AC.PROGRAM_DETAIL.MUTE_MODE", |         "mute_mode": "AC.PROGRAM_DETAIL.MUTE_MODE", | ||||||
|  |         "extra_rinse_1": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.EXTRARINSE1", | ||||||
|  |         "extra_rinse_2": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.EXTRARINSE2", | ||||||
|  |         "extra_rinse_3": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.EXTRARINSE3", | ||||||
|  |         "acqua_plus": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.ACQUAPLUS", | ||||||
|  |         "auto_dose_softener": [ | ||||||
|  |             "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.AUTODOSE", | ||||||
|  |             "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.SOFTENER", | ||||||
|  |         ], | ||||||
|  |         "auto_dose_detergent": [ | ||||||
|  |             "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.AUTODOSE", | ||||||
|  |             "WASHING_CMD&CTRL.DASHBOARD_MENU_MORE_SETTINGS_WATER.DETERGENT", | ||||||
|  |         ], | ||||||
|  |         "good_night": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.GOODNIGHT", | ||||||
|  |         "auto_set": "REF_CMD&CTRL.MODALITIES.ECO", | ||||||
|  |         "super_cool": "REF_CMD&CTRL.MODALITIES.SUPER_COOL", | ||||||
|  |         "super_freeze": "REF_CMD&CTRL.MODALITIES.SUPER_FREEZE", | ||||||
|     }, |     }, | ||||||
|     "binary_sensor": { |     "binary_sensor": { | ||||||
|         "door_lock": "WASHING_CMD&CTRL.CHECK_UP_RESULTS.DOOR_LOCK", |         "door_lock": "WASHING_CMD&CTRL.CHECK_UP_RESULTS.DOOR_LOCK", | ||||||
| @ -182,7 +93,7 @@ NAMES = { | |||||||
|         "extra_rinse_3": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.EXTRARINSE3", |         "extra_rinse_3": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.EXTRARINSE3", | ||||||
|         "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", | ||||||
|         "aqua_plus": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.ACQUAPLUS", |         "acqua_plus": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.ACQUAPLUS", | ||||||
|         "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", | ||||||
| @ -194,6 +105,14 @@ 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", | ||||||
| @ -209,6 +128,7 @@ 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", | ||||||
|     }, |     }, | ||||||
|     "sensor": { |     "sensor": { | ||||||
|         "dry_levels": "WASHING_CMD&CTRL.DRAWER_CYCLE_DRYING.TAB_LEVEL", |         "dry_levels": "WASHING_CMD&CTRL.DRAWER_CYCLE_DRYING.TAB_LEVEL", | ||||||
| @ -233,6 +153,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", | ||||||
| @ -253,6 +175,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", | ||||||
| @ -264,12 +188,16 @@ NAMES = { | |||||||
|         "rinse_iterations": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL.DRAWER_HEADER_RINSE", |         "rinse_iterations": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL.DRAWER_HEADER_RINSE", | ||||||
|         "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", | ||||||
|  |         "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"}, | ||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
| async def check_translation_files(translations): | async def check_translation_files(translations): | ||||||
|     for language in LANGUAGES: |     for language in const.LANGUAGES: | ||||||
|         path = translations / f"{language}.json" |         path = translations / f"{language}.json" | ||||||
|         if not path.is_file(): |         if not path.is_file(): | ||||||
|             async with HonAPI(anonymous=True) as hon: |             async with HonAPI(anonymous=True) as hon: | ||||||
| @ -313,7 +241,7 @@ def load_key(full_key, json_data, fallback=None): | |||||||
|         result = result.get(key, {}) |         result = result.get(key, {}) | ||||||
|     if not result and fallback: |     if not result and fallback: | ||||||
|         return load_key(full_key, fallback) |         return load_key(full_key, fallback) | ||||||
|     return result or "" |     return result or full_key | ||||||
|  |  | ||||||
|  |  | ||||||
| def load_keys(full_key, json_data): | def load_keys(full_key, json_data): | ||||||
| @ -350,15 +278,16 @@ def main(): | |||||||
|     hon = load_hon_translations() |     hon = load_hon_translations() | ||||||
|     base_path = Path(__file__).parent.parent / "custom_components/hon/translations" |     base_path = Path(__file__).parent.parent / "custom_components/hon/translations" | ||||||
|     fallback = load_json(hon.get("en", "")) |     fallback = load_json(hon.get("en", "")) | ||||||
|     for language in LANGUAGES: |     for language in const.LANGUAGES: | ||||||
|         original = load_json(hon.get(language, "")) |         original = load_json(hon.get(language, "")) | ||||||
|         old = load_json(hass.get(language, "")) |         old = load_json(hass.get(language, "")) | ||||||
|         for name, data in SENSOR.items(): |         for name, data in SENSOR.items(): | ||||||
|             add_data(old, original, fallback, data, name) |             add_data(old, original, fallback, data, name) | ||||||
|         for name, data in SELECT.items(): |         for name, data in SELECT.items(): | ||||||
|             add_data(old, original, fallback, data, name, "select") |             add_data(old, original, fallback, data, name, "select") | ||||||
|         for name, program in PROGRAMS.items(): |         for entity, data in PROGRAMS.items(): | ||||||
|             select = old.setdefault("entity", {}).setdefault("select", {}) |             for name, program in data.items(): | ||||||
|  |                 select = old.setdefault("entity", {}).setdefault(entity, {}) | ||||||
|                 select.setdefault(name, {})["state"] = load_keys(program, original) |                 select.setdefault(name, {})["state"] = load_keys(program, original) | ||||||
|         for entity, data in NAMES.items(): |         for entity, data in NAMES.items(): | ||||||
|             for name, key in data.items(): |             for name, key in data.items(): | ||||||
|  | |||||||
| @ -4,11 +4,13 @@ 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 | ||||||
| @ -41,6 +43,7 @@ entities = { | |||||||
|     "select": SELECTS, |     "select": SELECTS, | ||||||
|     "sensor": SENSORS, |     "sensor": SENSORS, | ||||||
|     "switch": SWITCHES, |     "switch": SWITCHES, | ||||||
|  |     "climate": CLIMATES, | ||||||
| } | } | ||||||
|  |  | ||||||
| result = {} | result = {} | ||||||
| @ -50,12 +53,19 @@ for entity_type, appliances in entities.items(): | |||||||
|             if ( |             if ( | ||||||
|                 isinstance(entity, HonSwitchEntityDescription) |                 isinstance(entity, HonSwitchEntityDescription) | ||||||
|                 and entity.entity_category != "config" |                 and entity.entity_category != "config" | ||||||
|  |                 and "settings." not in entity.key | ||||||
|             ): |             ): | ||||||
|                 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 hasattr(entity, "turn_on_key") | ||||||
|  |                 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) | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	