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
EntityDescription
into 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_key
parameter 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
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 | 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 |
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 |