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 e9d1bb2056 Refactor get coordinator 2023-05-25 00:52:54 +02:00
.github/workflows Add zip release for download count 2023-04-12 23:59:09 +02:00
assets Add supported models 2023-05-12 18:15:28 +02:00
custom_components/hon Refactor get coordinator 2023-05-25 00:52:54 +02:00
scripts Improve fridge support #41 2023-05-21 20:52:27 +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 Improve fridge support #41 2023-05-21 20:52:27 +02:00
hacs.json Add zip release for download count 2023-04-12 23:59:09 +02:00
info.md Improve fridge support #41 2023-05-21 20:52:27 +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) PyPI GitHub GitHub all releases
Home Assistant integration for Haier's mobile app hOn.

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

Examples

Washing Machine

washing_machine.png

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 AD105S2SM3FA
  • Haier AS25PBAHRA
  • Haier AS25TADHRA-2
  • Haier AS35TADHRA-2
  • Haier EG9012B19SU1JD
  • Haier HD80-A3959
  • Haier HW90-B14TEAM5
  • Haier HW100-B14959U1
  • Haier HWD100-B14979
  • Haier HWO60SM2F3XH
  • Haier XIB 3B2SFS-80
  • Haier XIB 6B2D3FB
  • Candy BCTDH7A1TE
  • 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 HWPS4954DAMR-11
  • Hoover NDE H10A2TCE-80
  • Hoover NDE H9A2TSBEXS-S
  • Hoover NDPHY10A2TCBEXSS

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 infos of your appliance.

  1. Enable the "Show 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 to create a notification
  3. Open home assistant notifications and copy the message (Crtl+A, Ctrl+C)

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

Special Thanks

Appliance Features

Air conditioner

Controls

Name Icon Entity Key
10° Heating heat-wave switch settings.10degreeHeatingStatus
Air Conditioner air-conditioner climate settings
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
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

Sensors

Name Icon Entity Key
Air Temperature Outdoor thermometer sensor tempAirOutdoor
Ch2O Cleaning binary_sensor ch2oCleaningStatus
Coiler Temperature Indoor thermometer sensor tempCoilerIndoor
Coiler Temperature Outside thermometer sensor tempCoilerOutdoor
Defrost Temperature Outdoor thermometer sensor tempDefrostOutdoor
Filter Replacement binary_sensor filterChangeStatusLocal
In Air Temperature Outdoor thermometer sensor tempInAirOutdoor
Indoor Temperature thermometer sensor tempIndoor
Outdoor Temperature thermometer sensor tempOutdoor
Program select startProgram.program
Selected Temperature thermometer sensor tempSel

Dish washer

Controls

Name Icon Entity Key
Buzzer Disabled volume-off switch settings.buzzerDisabled
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
Remaining Time timer select startProgram.remainingTime
Temperature thermometer select startProgram.temp
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

Controls

Name Icon Entity Key
Auto-Set Mode thermometer-auto switch settings.intelligenceMode
Freezer Temperature thermometer number settings.tempSelZ2
Fridge Temperature thermometer number settings.tempSelZ1
Holiday Mode palm-tree switch settings.holidayMode
Program Start play button startProgram
Program Stop stop button stopProgram
Super Cool snowflake switch settings.quickModeZ2
Super Freeze snowflake-variant switch settings.quickModeZ1

Configs

Name Icon Entity Key
Program select startProgram.program
Zone radiobox-marked select startProgram.zone

Sensors

Name Icon Entity Key
Auto-Set Mode thermometer-auto binary_sensor intelligenceMode
Door Status Freezer fridge-top binary_sensor doorStatusZ1
Door Status Fridge fridge-bottom binary_sensor door2StatusZ1
Error math-log sensor errors
Holiday Mode palm-tree binary_sensor holidayMode
Room Humidity water-percent sensor humidityEnv
Room Temperature home-thermometer-outline sensor tempEnv
Super Cool snowflake binary_sensor quickModeZ2
Super Freeze snowflake-variant binary_sensor quickModeZ1
Temperature Freezer snowflake-thermometer sensor tempZ2
Temperature Fridge thermometer sensor tempZ1

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 Detergent cup switch startProgram.autoDetergentStatus
Auto Dose Softener teddy-bear switch startProgram.autoSoftenerStatus
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.permanentPressStatus
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 Detergent cup switch startProgram.autoDetergentStatus
Auto Dose Softener teddy-bear switch startProgram.autoSoftenerStatus
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.permanentPressStatus
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