Haier hOn
Home Assistant integration for Haier hOn: support for Haier/Candy/Hoover home appliances like washing machines.
Supported Appliances
Installation
Method 2: HACS > Integrations > Add Integration > Haier hOn > Install
Method 3: Manually copy hon folder from latest release to config/custom_components folder.
Restart Home Assistant
Configuration
Method 2: Settings > Devices & Services > Add Integration > Haier hOn
If the integration is not in the list, you need to clear the browser cache.
Supported Models
Support was confirmed for these models. If a supported model is missing, please add it with this form.
- Haier WD90-B14TEAM5
 - Haier HD80-A3959
 - Haier HWO60SM2F3XH
 - Hoover H-WASH 500
 - Candy CIS633SCTTWIFI
 - Haier XIB 3B2SFS-80
 - Haier XIB 6B2D3FB
 
Supported Languages
Translation of internal names like programs are available for all languages which are official supported by the hOn app:
- 🇨🇳 Chinese
 - 🇭🇷 Croatian
 - 🇨🇿 Czech
 - 🇳🇱 Dutch
 - 🇬🇧 English
 - 🇫🇷 French
 - 🇩🇪 German
 - 🇬🇷 Greek
 - 🇮🇱 Hebrew
 - 🇮🇹 Italian
 - 🇵🇱 Polish
 - 🇵🇹 Portuguese
 - 🇷🇴 Romanian
 - 🇷🇺 Russian
 - 🇷🇸 Serbian
 - 🇸🇰 Slovak
 - 🇸🇮 Slovenian
 - 🇪🇸 Spanish
 - 🇹🇷 Turkish
 
Contribute
Any kind of contribution is welcome!
Read out device data
If you want to make a request for adding new appliances or additional attributes and don't want to use the command line, here is how you can read out your device data. For every device exists a hidden button which can be used to log all info of your appliance.
- Enable the "Log 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. - Press the button
 - Go to Settings > System > Logs, click load full logs and scroll down
The formatting is messy if you not load full logs - Here you can find all data which can be read out via the api
data: appliance: applianceId: 12-34-56-78-90-ab#2022-10-25T19:47:11Z applianceModelId: 1569 ... - Copy this data and create a new issue with your request
 
Add appliances or additional attributes
- Install pyhOn
$ pip install pyhOn - Use the command line tool to read out all appliance data from your account
$ 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 ... - Fork this repository and clone it to your local machine
 - Add the keys of the attributes you'd like to have as 
EntityDescriptioninto this Repository
Example: Add pause buttonBUTTONS: 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 ... ), ... - Create a pull request
 
Tips and Tricks
- If you want to have some states humanreadable, have a look at the 
translation_keyparameter of theEntityDescription. - If you need to implement some more logic, create a pull request to the underlying library. There we collect special requirements in the 
appliancesdirectory. - Use pyhOn's translate command to read out the official translations
 
About this Repo
The existing integrations missed some features from the app I liked to have in HomeAssistant. I tried to create a pull request, but in the structures of these existing repos, I find it hard to fit in my needs, so I basically rewrote everything. I moved the api related stuff into the package pyhOn.
Appliance Features
Air conditioner
Configs
| Name | Icon | Entity | Key | 
|---|---|---|---|
| 10° Heating | switch | 
startProgram.10degreeHeatingStatus | 
|
| Echo | switch | 
startProgram.echoStatus | 
|
| Eco Mode | switch | 
startProgram.ecoMode | 
|
| Eco Pilot | select | 
startProgram.humanSensingStatus | 
|
| Health Mode | switch | 
startProgram.healthMode | 
|
| Mute | switch | 
startProgram.muteStatus | 
|
| Program | select | 
startProgram.program | 
|
| Rapid Mode | switch | 
startProgram.rapidMode | 
|
| Screen Display | switch | 
startProgram.screenDisplayStatus | 
|
| Self Cleaning | switch | 
startProgram.selfCleaningStatus | 
|
| Self Cleaning 56 | switch | 
startProgram.selfCleaning56Status | 
|
| Silent Sleep | switch | 
startProgram.silentSleepStatus | 
|
| Target Temperature | thermometer | 
number | 
startProgram.tempSel | 
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 | 
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 | 
extraRinse1 | 
| Extra Rinse 2 | numeric-2-box-multiple-outline | 
switch | 
extraRinse2 | 
| Extra Rinse 3 | numeric-3-box-multiple-outline | 
switch | 
extraRinse3 | 
| Good Night | weather-night | 
switch | 
goodNight | 
| Keep Fresh | refresh-circle | 
switch | 
startProgram.autoSoftenerStatus | 
| 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 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 | 
extraRinse1 | 
| Extra Rinse 2 | numeric-2-box-multiple-outline | 
switch | 
extraRinse2 | 
| Extra Rinse 3 | numeric-3-box-multiple-outline | 
switch | 
extraRinse3 | 
| Good Night | weather-night | 
switch | 
goodNight | 
| Keep Fresh | refresh-circle | 
switch | 
startProgram.autoSoftenerStatus | 
| 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 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 |