433 lines
		
	
	
		
			21 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			433 lines
		
	
	
		
			21 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # Haier hOn
 | |
| [](https://hacs.xyz)
 | |
| [](https://github.com/Andre0512/hon/releases/latest)
 | |
| [](https://github.com/Andre0512/pyhOn)
 | |
| [](https://github.com/Andre0512/hon/blob/main/LICENSE)
 | |
| [](https://tooomm.github.io/github-release-stats/?username=Andre0512&repository=hon)  
 | |
| Home Assistant integration for [Haier's mobile app hOn](https://hon-smarthome.com/).
 | |
| 
 | |
| ## Supported Appliances
 | |
| - [Washing Machine](https://github.com/Andre0512/hon#washing-machine)
 | |
| - [Tumble Dryer](https://github.com/Andre0512/hon#tumble-dryer)
 | |
| - [Washer Dryer](https://github.com/Andre0512/hon#washer-dryer)
 | |
| - [Oven](https://github.com/Andre0512/hon#oven)
 | |
| - [Dish Washer](https://github.com/Andre0512/hon#dish-washer)
 | |
| - [Hob](https://github.com/Andre0512/hon#hob) [BETA]
 | |
| - [Air conditioner](https://github.com/Andre0512/hon#air-conditioner) [BETA]
 | |
| - [Fridge](https://github.com/Andre0512/hon#fridge) [BETA]
 | |
| 
 | |
| ## Installation
 | |
| **Method 1:** [](https://my.home-assistant.io/redirect/hacs_repository/?owner=Andre0512&repository=hon&category=integration)
 | |
| 
 | |
| **Method 2:** [HACS](https://hacs.xyz/) > Integrations > Add Integration > **Haier hOn** > Install  
 | |
| 
 | |
| **Method 3:** Manually copy `hon` folder from [latest release](https://github.com/Andre0512/hon/releases/latest) to `config/custom_components` folder.
 | |
| 
 | |
| _Restart Home Assistant_
 | |
| 
 | |
| ## Configuration
 | |
| 
 | |
| **Method 1**: [](https://my.home-assistant.io/redirect/config_flow_start/?domain=hon)
 | |
| 
 | |
| **Method 2**: Settings > Devices & Services > Add Integration > **Haier hOn**  
 | |
| _If the integration is not in the list, you need to clear the browser cache._
 | |
| 
 | |
| ## Supported 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 AS25PBAHRA
 | |
| - Haier EG9012B19SU1JD
 | |
| - Haier HD80-A3959
 | |
| - Haier HW90-B14TEAM5
 | |
| - Haier HW100-B14959U1
 | |
| - Haier HWD100-B14979
 | |
| - Haier HWO60SM2F3XH
 | |
| - Haier XIB 3B2SFS-80
 | |
| - Haier XIB 6B2D3FB
 | |
| - Candy CIS633SCTTWIFI
 | |
| - Candy CSOE C10DE-80
 | |
| - Candy ROE H9A3TCEX-S
 | |
| - Candy RPW41066BWMR/1-S
 | |
| - Hoover H-WASH 500
 | |
| - Hoover H-DRY 500
 | |
| - Hoover H7W4 48MBC-S
 | |
| - Hoover H9A3TCBEXS-S
 | |
| - Hoover HFB 6B2S3FX
 | |
| - Hoover HLE C10DCE-80
 | |
| - Hoover HSOT3161WG
 | |
| - Hoover HWPD 69AMBC/1-S
 | |
| - Hoover HWPS4954DAMR-11
 | |
| - Hoover NDE H10A2TCE-80
 | |
| - Hoover NDE H9A2TSBEXS-S
 | |
| - Hoover NDPHY10A2TCBEXSS
 | |
| 
 | |
| ## Contribute
 | |
| Any kind of contribution is welcome!
 | |
| ### Read out device data
 | |
| If you want to make a request for adding new appliances or additional attributes and don't want to use the command line, here is how you can read out your device data.
 | |
| For every device exists a hidden button which can be used to log all infos of your appliance.
 | |
| 1. Enable the "Show Device Info" button  
 | |
|    _This button can be found in the diagnostic section of your device or in the entity overview if "show disabled entities" is enabled._
 | |
| 2. Press the button to create a notification
 | |
| 3. Open home assistant notifications and copy the message (Crtl+A, Ctrl+C)
 | |
| ### Add appliances or additional attributes
 | |
| 1. Install [pyhOn](https://github.com/Andre0512/pyhOn)
 | |
|    ```commandline
 | |
|     $ pip install pyhOn
 | |
|     ```
 | |
| 2. Use the command line tool to read out all appliance data from your account
 | |
|     ```commandline
 | |
|     $ pyhOn
 | |
|     User for hOn account: user.name@example.com
 | |
|     Password for hOn account: ********
 | |
|     ========== WM - Washing Machine ==========
 | |
|     commands:
 | |
|       pauseProgram: pauseProgram command
 | |
|       resumeProgram: resumeProgram command
 | |
|       startProgram: startProgram command
 | |
|       stopProgram: stopProgram command
 | |
|     data:
 | |
|       actualWeight: 0
 | |
|       airWashTempLevel: 0
 | |
|       airWashTime: 0
 | |
|       antiAllergyStatus: 0
 | |
|       ...
 | |
|     ```
 | |
| 3. Fork this repository and clone it to your local machine
 | |
| 4. Add the keys of the attributes you'd like to have as `EntityDescription` into this Repository  
 | |
|    _Example: Add pause button_
 | |
|     ```python
 | |
|     BUTTONS: dict[str, tuple[ButtonEntityDescription, ...]] = {
 | |
|         "WM": (                        # WM is the applianceTypeName
 | |
|             ButtonEntityDescription(
 | |
|                 key="pauseProgram",    # key from pyhOn
 | |
|                 name="Pause Program",  # name in home assistant
 | |
|                 icon="mdi:pause",      # icon in home assistant
 | |
|                 ...
 | |
|             ),
 | |
|         ...
 | |
|     ```
 | |
| 5. Create a [pull request](https://github.com/Andre0512/hon/pulls)
 | |
| 
 | |
| #### Tips and Tricks
 | |
| - If you want to have some states humanreadable, have a look at the `translation_key` parameter of the `EntityDescription`.
 | |
| - 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
 | |
| 
 | |
| ## Special Thanks
 | |
| - to [@alexandre-leites](https://github.com/alexandre-leites), [@MiguelAngelLV](https://github.com/MiguelAngelLV) and [@drudgebg](https://github.com/drudgebg) for contributing early to this project and adding new integrations.
 | |
| - to [gvigroux/hon](https://github.com/gvigroux/hon), [signalize/hon-app-research](https://github.com/signalize/hon-app-research) and [slegars56/hon](https://github.com/slegars56/hon) for inspiring me to do this integration and for doing pioneer work on the hOn api.
 | |
| - to everyone who contributed, created an issue, gave this repo a star, and used this integration.
 | |
| - to the patience of my girlfriend as I work on this integration.
 | |
| 
 | |
| ## Appliance Features
 | |
| ### Air conditioner
 | |
| #### Controls
 | |
| | Name | Icon | Entity | Key |
 | |
| | --- | --- | --- | --- |
 | |
| | Air Conditioner | `air-conditioner` | `climate` | `settings` |
 | |
| #### Configs
 | |
| | Name | Icon | Entity | Key |
 | |
| | --- | --- | --- | --- |
 | |
| | 10° Heating | `heat-wave` | `switch` | `settings.10degreeHeatingStatus` |
 | |
| | Echo | `account-voice` | `switch` | `settings.echoStatus` |
 | |
| | Eco Mode |  | `switch` | `settings.ecoMode` |
 | |
| | Eco Pilot | `run` | `select` | `settings.humanSensingStatus` |
 | |
| | Health Mode | `medication-outline` | `switch` | `settings.healthMode` |
 | |
| | Mute | `volume-off` | `switch` | `settings.muteStatus` |
 | |
| | Program |  | `select` | `startProgram.program` |
 | |
| | Rapid Mode | `run-fast` | `switch` | `settings.rapidMode` |
 | |
| | Screen Display | `monitor-small` | `switch` | `settings.screenDisplayStatus` |
 | |
| | Self Cleaning | `air-filter` | `switch` | `settings.selfCleaningStatus` |
 | |
| | Self Cleaning 56 | `air-filter` | `switch` | `settings.selfCleaning56Status` |
 | |
| | Silent Sleep | `bed` | `switch` | `settings.silentSleepStatus` |
 | |
| | Target Temperature | `thermometer` | `number` | `settings.tempSel` |
 | |
| 
 | |
| ### Dish washer
 | |
| #### Controls
 | |
| | Name | Icon | Entity | Key |
 | |
| | --- | --- | --- | --- |
 | |
| | Dish Washer | `dishwasher` | `switch` | `startProgram` / `stopProgram` |
 | |
| #### Configs
 | |
| | Name | Icon | Entity | Key |
 | |
| | --- | --- | --- | --- |
 | |
| | Add Dish | `silverware-fork-knife` | `switch` | `startProgram.addDish` |
 | |
| | Delay time | `timer-plus` | `number` | `startProgram.delayTime` |
 | |
| | Eco Express | `sprout` | `switch` | `startProgram.ecoExpress` |
 | |
| | Eco Index | `sprout` | `sensor` | `startProgram.ecoIndex` |
 | |
| | Energy Label | `lightning-bolt-circle` | `sensor` | `startProgram.energyLabel` |
 | |
| | Extra Dry | `hair-dryer` | `switch` | `startProgram.extraDry` |
 | |
| | Half Load | `fraction-one-half` | `switch` | `startProgram.halfLoad` |
 | |
| | Open Door | `door-open` | `switch` | `startProgram.openDoor` |
 | |
| | Program |  | `select` | `startProgram.program` |
 | |
| | Temperature | `thermometer` | `sensor` | `startProgram.temp` |
 | |
| | Three in One | `numeric-3-box-outline` | `switch` | `startProgram.threeInOne` |
 | |
| | Time | `timer` | `sensor` | `startProgram.remainingTime` |
 | |
| | Water Efficiency | `water` | `sensor` | `startProgram.waterEfficiency` |
 | |
| | Water Saving | `water-percent` | `sensor` | `startProgram.waterSaving` |
 | |
| | Water hard | `water` | `number` | `startProgram.waterHard` |
 | |
| #### Sensors
 | |
| | Name | Icon | Entity | Key |
 | |
| | --- | --- | --- | --- |
 | |
| | Connection |  | `binary_sensor` | `attributes.lastConnEvent.category` |
 | |
| | Door |  | `binary_sensor` | `doorStatus` |
 | |
| | Error | `math-log` | `sensor` | `errors` |
 | |
| | Machine Status | `information` | `sensor` | `machMode` |
 | |
| | Program Phase | `washing-machine` | `sensor` | `prPhase` |
 | |
| | Remaining Time | `timer` | `sensor` | `remainingTimeMM` |
 | |
| | Rinse Aid | `spray-bottle` | `binary_sensor` | `rinseAidStatus` |
 | |
| | Salt | `shaker-outline` | `binary_sensor` | `saltStatus` |
 | |
| 
 | |
| ### Hob
 | |
| #### Controls
 | |
| | Name | Icon | Entity | Key |
 | |
| | --- | --- | --- | --- |
 | |
| | Start Program | `pot-steam` | `button` | `startProgram` |
 | |
| #### Configs
 | |
| | Name | Icon | Entity | Key |
 | |
| | --- | --- | --- | --- |
 | |
| | Power Management | `timelapse` | `number` | `startProgram.powerManagement` |
 | |
| | Program |  | `select` | `startProgram.program` |
 | |
| | Temperature | `thermometer` | `number` | `startProgram.temp` |
 | |
| #### Sensors
 | |
| | Name | Icon | Entity | Key |
 | |
| | --- | --- | --- | --- |
 | |
| | Connection | `wifi` | `binary_sensor` | `attributes.lastConnEvent.category` |
 | |
| | Error | `math-log` | `sensor` | `errors` |
 | |
| | Hob Lock |  | `binary_sensor` | `hobLockStatus` |
 | |
| | Hot Status |  | `binary_sensor` | `hotStatus` |
 | |
| | On | `power-cycle` | `binary_sensor` | `attributes.parameters.onOffStatus` |
 | |
| | Pan Status | `pot-mix` | `binary_sensor` | `panStatus` |
 | |
| | Power | `lightning-bolt` | `sensor` | `power` |
 | |
| | Remaining Time | `timer` | `sensor` | `remainingTimeMM` |
 | |
| | Temperature | `thermometer` | `sensor` | `temp` |
 | |
| 
 | |
| ### Oven
 | |
| #### Controls
 | |
| | Name | Icon | Entity | Key |
 | |
| | --- | --- | --- | --- |
 | |
| | Oven | `toaster-oven` | `switch` | `startProgram` / `stopProgram` |
 | |
| #### Configs
 | |
| | Name | Icon | Entity | Key |
 | |
| | --- | --- | --- | --- |
 | |
| | Delay time | `timer-plus` | `number` | `startProgram.delayTime` |
 | |
| | Preheat | `thermometer-chevron-up` | `switch` | `startProgram.preheatStatus` |
 | |
| | Program |  | `select` | `startProgram.program` |
 | |
| | Program Duration | `timelapse` | `number` | `startProgram.prTime` |
 | |
| | Target Temperature | `thermometer` | `number` | `startProgram.tempSel` |
 | |
| #### Sensors
 | |
| | Name | Icon | Entity | Key |
 | |
| | --- | --- | --- | --- |
 | |
| | Connection | `wifi` | `binary_sensor` | `attributes.lastConnEvent.category` |
 | |
| | On | `power-cycle` | `binary_sensor` | `attributes.parameters.onOffStatus` |
 | |
| | Remaining Time | `timer` | `sensor` | `remainingTimeMM` |
 | |
| | Start Time | `clock-start` | `sensor` | `delayTime` |
 | |
| | Temperature | `thermometer` | `sensor` | `temp` |
 | |
| | Temperature Selected | `thermometer` | `sensor` | `tempSel` |
 | |
| 
 | |
| ### Fridge
 | |
| #### Configs
 | |
| | Name | Icon | Entity | Key |
 | |
| | --- | --- | --- | --- |
 | |
| | Program |  | `select` | `startProgram.program` |
 | |
| #### Sensors
 | |
| | Name | Icon | Entity | Key |
 | |
| | --- | --- | --- | --- |
 | |
| | Room Humidity | `water-percent` | `sensor` | `humidityEnv` |
 | |
| | Room Temperature | `thermometer` | `sensor` | `tempEnv` |
 | |
| 
 | |
| ### Tumble dryer
 | |
| #### Controls
 | |
| | Name | Icon | Entity | Key |
 | |
| | --- | --- | --- | --- |
 | |
| | Pause Tumble Dryer | `pause` | `switch` | `pauseProgram` / `resumeProgram` |
 | |
| | Tumble Dryer | `tumble-dryer` | `switch` | `startProgram` / `stopProgram` |
 | |
| #### Configs
 | |
| | Name | Icon | Entity | Key |
 | |
| | --- | --- | --- | --- |
 | |
| | Anti-Crease | `timer` | `switch` | `startProgram.antiCreaseTime` |
 | |
| | Anti-Crease | `timer` | `switch` | `startProgram.anticrease` |
 | |
| | 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` |
 | |
| | Program |  | `select` | `startProgram.program` |
 | |
| | Steam Type | `weather-dust` | `sensor` | `steamType` |
 | |
| | Steam level | `smoke` | `sensor` | `startProgram.steamLevel` |
 | |
| | Sterilization | `clock-start` | `switch` | `startProgram.sterilizationStatus` |
 | |
| | Suggested Load | `weight-kilogram` | `sensor` | `startProgram.suggestedLoadD` |
 | |
| | Temperature level | `thermometer` | `number` | `startProgram.tempLevel` |
 | |
| #### Sensors
 | |
| | Name | Icon | Entity | Key |
 | |
| | --- | --- | --- | --- |
 | |
| | Anti-Crease |  | `binary_sensor` | `anticrease` |
 | |
| | Connection |  | `binary_sensor` | `attributes.lastConnEvent.category` |
 | |
| | Door |  | `binary_sensor` | `doorStatus` |
 | |
| | Dry level | `hair-dryer` | `sensor` | `dryLevel` |
 | |
| | Error | `math-log` | `sensor` | `errors` |
 | |
| | Machine Status | `information` | `sensor` | `machMode` |
 | |
| | Program | `tumble-dryer` | `sensor` | `programName` |
 | |
| | Program Phase | `washing-machine` | `sensor` | `prPhase` |
 | |
| | Remaining Time | `timer` | `sensor` | `remainingTimeMM` |
 | |
| | Start Time | `clock-start` | `sensor` | `delayTime` |
 | |
| | Steam level | `smoke` | `sensor` | `steamLevel` |
 | |
| | Temperature level | `thermometer` | `sensor` | `tempLevel` |
 | |
| 
 | |
| ### Washer dryer
 | |
| #### Controls
 | |
| | Name | Icon | Entity | Key |
 | |
| | --- | --- | --- | --- |
 | |
| | Pause Washer Dryer | `pause` | `switch` | `pauseProgram` / `resumeProgram` |
 | |
| | Washer Dryer | `washing-machine` | `switch` | `startProgram` / `stopProgram` |
 | |
| #### Configs
 | |
| | 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 | `cup` | `switch` | `startProgram.autoDetergentStatus` |
 | |
| | Delay Status | `timer-check` | `switch` | `startProgram.delayStatus` |
 | |
| | Delay Time | `timer-plus` | `number` | `startProgram.delayTime` |
 | |
| | Dry Time |  | `number` | `startProgram.dryTime` |
 | |
| | Dry Time | `timer` | `select` | `startProgram.dryTimeMM` |
 | |
| | Dry level | `hair-dryer` | `select` | `startProgram.dryLevel` |
 | |
| | Energy Label | `lightning-bolt-circle` | `sensor` | `startProgram.energyLabel` |
 | |
| | Extra Rinse 1 | `numeric-1-box-multiple-outline` | `switch` | `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.autoSoftenerStatus` |
 | |
| | 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` |
 | |
| | 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` |
 | |
| | Temperature | `thermometer` | `select` | `startProgram.temp` |
 | |
| | Temperature level | `thermometer` | `number` | `startProgram.tempLevel` |
 | |
| | Water hard | `water` | `number` | `startProgram.waterHard` |
 | |
| | lang |  | `number` | `startProgram.lang` |
 | |
| #### Sensors
 | |
| | Name | Icon | Entity | Key |
 | |
| | --- | --- | --- | --- |
 | |
| | Acqua Plus |  | `binary_sensor` | `acquaplus` |
 | |
| | Anti-Crease |  | `binary_sensor` | `anticrease` |
 | |
| | Current Electricity Used | `lightning-bolt` | `sensor` | `currentElectricityUsed` |
 | |
| | Current Temperature | `thermometer` | `sensor` | `temp` |
 | |
| | Current Water Used | `water` | `sensor` | `currentWaterUsed` |
 | |
| | Dirt level | `liquid-spot` | `sensor` | `dirtyLevel` |
 | |
| | Door |  | `binary_sensor` | `doorStatus` |
 | |
| | Door Lock |  | `binary_sensor` | `doorLockStatus` |
 | |
| | Dry level | `hair-dryer` | `sensor` | `dryLevel` |
 | |
| | Error | `math-log` | `sensor` | `errors` |
 | |
| | Extra Rinse 1 |  | `binary_sensor` | `extraRinse1` |
 | |
| | Extra Rinse 2 |  | `binary_sensor` | `extraRinse2` |
 | |
| | Extra Rinse 3 |  | `binary_sensor` | `extraRinse3` |
 | |
| | Good Night Mode |  | `binary_sensor` | `goodNight` |
 | |
| | Machine Status | `information` | `sensor` | `machMode` |
 | |
| | Pre Wash |  | `binary_sensor` | `startProgram.prewash` |
 | |
| | Program | `tumble-dryer` | `sensor` | `programName` |
 | |
| | Program Phase | `washing-machine` | `sensor` | `prPhase` |
 | |
| | Remaining Time | `timer` | `sensor` | `remainingTimeMM` |
 | |
| | Remote Control | `remote` | `binary_sensor` | `attributes.lastConnEvent.category` |
 | |
| | Spin Speed | `speedometer` | `sensor` | `spinSpeed` |
 | |
| | Start Time | `clock-start` | `sensor` | `delayTime` |
 | |
| | Steam level | `smoke` | `sensor` | `steamLevel` |
 | |
| | Temperature level | `thermometer` | `sensor` | `tempLevel` |
 | |
| | Total Power |  | `sensor` | `totalElectricityUsed` |
 | |
| | Total Wash Cycle | `counter` | `sensor` | `totalWashCycle` |
 | |
| | Total Water |  | `sensor` | `totalWaterUsed` |
 | |
| 
 | |
| ### Washing machine
 | |
| #### Controls
 | |
| | Name | Icon | Entity | Key |
 | |
| | --- | --- | --- | --- |
 | |
| | Pause Washing Machine | `pause` | `switch` | `pauseProgram` / `resumeProgram` |
 | |
| | Washing Machine | `washing-machine` | `switch` | `startProgram` / `stopProgram` |
 | |
| #### Configs
 | |
| | Name | Icon | Entity | Key |
 | |
| | --- | --- | --- | --- |
 | |
| | Acqua Plus | `water-plus` | `switch` | `startProgram.acquaplus` |
 | |
| | Auto Dose | `cup` | `switch` | `startProgram.autoDetergentStatus` |
 | |
| | Delay Status | `timer-check` | `switch` | `startProgram.delayStatus` |
 | |
| | Delay Time | `timer-plus` | `number` | `startProgram.delayTime` |
 | |
| | Energy Label | `lightning-bolt-circle` | `sensor` | `startProgram.energyLabel` |
 | |
| | Extra Rinse 1 | `numeric-1-box-multiple-outline` | `switch` | `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.autoSoftenerStatus` |
 | |
| | 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` |
 | |
| | 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` |
 | |
| | Suggested Load | `weight-kilogram` | `sensor` | `startProgram.suggestedLoadW` |
 | |
| | Suggested weight | `weight-kilogram` | `sensor` | `startProgram.weight` |
 | |
| | Temperature | `thermometer` | `select` | `startProgram.temp` |
 | |
| | Water hard | `water` | `number` | `startProgram.waterHard` |
 | |
| | lang |  | `number` | `startProgram.lang` |
 | |
| #### Sensors
 | |
| | Name | Icon | Entity | Key |
 | |
| | --- | --- | --- | --- |
 | |
| | Acqua Plus |  | `binary_sensor` | `acquaplus` |
 | |
| | Current Electricity Used | `lightning-bolt` | `sensor` | `currentElectricityUsed` |
 | |
| | Current Temperature | `thermometer` | `sensor` | `temp` |
 | |
| | Current Water Used | `water` | `sensor` | `currentWaterUsed` |
 | |
| | Dirt level | `liquid-spot` | `sensor` | `dirtyLevel` |
 | |
| | Door |  | `binary_sensor` | `doorStatus` |
 | |
| | Door Lock |  | `binary_sensor` | `doorLockStatus` |
 | |
| | Error | `math-log` | `sensor` | `errors` |
 | |
| | Extra Rinse 1 |  | `binary_sensor` | `extraRinse1` |
 | |
| | Extra Rinse 2 |  | `binary_sensor` | `extraRinse2` |
 | |
| | Extra Rinse 3 |  | `binary_sensor` | `extraRinse3` |
 | |
| | Good Night Mode |  | `binary_sensor` | `goodNight` |
 | |
| | Machine Status | `information` | `sensor` | `machMode` |
 | |
| | Pre Wash |  | `binary_sensor` | `startProgram.prewash` |
 | |
| | Program Phase | `washing-machine` | `sensor` | `prPhase` |
 | |
| | Remaining Time | `timer` | `sensor` | `remainingTimeMM` |
 | |
| | Remote Control | `remote` | `binary_sensor` | `attributes.lastConnEvent.category` |
 | |
| | Spin Speed | `speedometer` | `sensor` | `spinSpeed` |
 | |
| | Total Power |  | `sensor` | `totalElectricityUsed` |
 | |
| | Total Wash Cycle | `counter` | `sensor` | `totalWashCycle` |
 | |
| | Total Water |  | `sensor` | `totalWaterUsed` |
 |