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 has been confirmed for these models, but many more will work. Please add already supported devices with this form to complete the list.
- Haier EG9012B19SU1JD
- Haier HD80-A3959
- Haier HW90-B14TEAM5
- 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 NDE H10A2TCE-80
- Hoover NDPHY10A2TCBEXSS
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
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 |