Home Assistant integration for Haier hOn: support for Haier/Candy/Hoover home appliances like washing machines and air conditioners in 19 languages.
Go to file
Andre Basche 240dc85ff3 Small fixes, fix KeyError for switches #38 2023-05-08 19:26:10 +02:00
.github/workflows Add zip release for download count 2023-04-12 23:59:09 +02:00
custom_components/hon Small fixes, fix KeyError for switches #38 2023-05-08 19:26:10 +02:00
scripts Update readme 2023-05-07 15:10:09 +02:00
.gitignore Auto translate pr phase and mach mode 2023-04-22 15:41:43 +02:00
LICENSE Update README, add license 2023-03-05 01:22:20 +01:00
README.md Small fixes, fix KeyError for switches #38 2023-05-08 19:26:10 +02:00
hacs.json Add zip release for download count 2023-04-12 23:59:09 +02:00
info.md Small fixes, fix KeyError for switches #38 2023-05-08 19:26:10 +02:00
requirements_dev.txt Fix errors, bump pyhon 2023-05-07 01:22:53 +02:00

README.md

Haier hOn

hacs_badge GitHub release (latest by date) GitHub GitHub all releases
Home Assistant integration for Haier hOn: support for Haier/Candy/Hoover home appliances like washing machines.

Supported Appliances

Installation

Method 1: Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.

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: Open your Home Assistant instance and start setting up a new integration.

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
  • Hoover HSOT3161WG

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.

  1. 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.
  2. Press the button
  3. Go to Settings > System > Logs, click load full logs and scroll down
    The formatting is messy if you not load full logs
  4. 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 
        ...
    
  5. Copy this data and create a new issue with your request

Add appliances or additional attributes

  1. Install pyhOn
     $ pip install pyhOn
    
  2. 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
      ...
    
  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
    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

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 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 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 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 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