Haier hOn
Home Assistant integration for Haier hOn: support for Haier/Candy/Hoover home appliances like washing machines.
Supported Appliances
Installation
Method 1:
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 1:
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
EntityDescription
into this Repository
Example: Add pause button
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
...
),
...
- Create a pull request
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 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 |