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
2023-04-23 20:18:00 +02:00
.github/workflows Add zip release for download count 2023-04-12 23:59:09 +02:00
custom_components/hon Bump pyhon version 2023-04-23 20:18:00 +02:00
scripts Improve translations and sensors for td and wm 2023-04-23 16:30:57 +02:00
.gitignore Auto translate pr phase and mach mode 2023-04-22 15:41:43 +02:00
hacs.json Add zip release for download count 2023-04-12 23:59:09 +02:00
info.md Add flags 2023-04-22 21:52:49 +02:00
LICENSE Update README, add license 2023-03-05 01:22:20 +01:00
README.md Improve translations and sensors for td and wm 2023-04-23 16:30:57 +02:00

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.

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

Tested Devices

  • 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

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

Dish washer

Controls

Name Icon Entity Key Auto-Translation
Dish Washer dishwasher switch startProgram / stopProgram โœ”

Configs

Name Icon Entity Key Auto-Translation
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 Auto-Translation
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 Auto-Translation
Start Program pot-steam button startProgram โœ”

Configs

Name Icon Entity Key Auto-Translation
Power Management timelapse number startProgram.powerManagement โœ”
Program select startProgram.program โœ”
Temperature thermometer number startProgram.temp โœ”

Sensors

Name Icon Entity Key Auto-Translation
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 โœ”
Remote Control remote binary_sensor attributes.parameters.remoteCtrValid โœ”
Temperature thermometer sensor temp โœ”

Oven

Controls

Name Icon Entity Key Auto-Translation
Oven toaster-oven switch startProgram / stopProgram โœ”

Configs

Name Icon Entity Key Auto-Translation
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 Auto-Translation
Connection wifi binary_sensor attributes.lastConnEvent.category โœ”
On power-cycle binary_sensor attributes.parameters.onOffStatus โŒ
Remaining Time timer sensor remainingTimeMM โœ”
Remote Control remote binary_sensor attributes.parameters.remoteCtrValid โœ”
Start Time clock-start sensor delayTime โœ”
Temperature thermometer sensor temp โœ”
Temperature Selected thermometer sensor tempSel โœ”

Tumble dryer

Controls

Name Icon Entity Key Auto-Translation
Pause Tumble Dryer pause switch pauseProgram / resumeProgram โœ”
Tumble Dryer tumble-dryer switch startProgram / stopProgram โœ”

Configs

Name Icon Entity Key Auto-Translation
Anti-Crease timer switch startProgram.antiCreaseTime โœ”
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 โœ”
Sterilization clock-start switch startProgram.sterilizationStatus โŒ
Suggested Load weight-kilogram sensor startProgram.suggestedLoadD โœ”
Temperature level thermometer number startProgram.tempLevel โœ”

Sensors

Name Icon Entity Key Auto-Translation
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 prCode โœ”
Program Phase washing-machine sensor prPhase โœ”
Remaining Time timer sensor remainingTimeMM โœ”
Start Time clock-start sensor delayTime โœ”
Temperature level thermometer sensor tempLevel โœ”

Washer dryer

Controls

Name Icon Entity Key Auto-Translation
Pause Washing Machine pause switch pauseProgram / resumeProgram โœ”
Washing Machine washing-machine switch startProgram / stopProgram โœ”

Configs

Name Icon Entity Key Auto-Translation
Delay Time timer-plus number startProgram.delayTime โœ”
Program select startProgram.program โœ”
Suggested weight weight-kilogram sensor startProgram.weight โœ”

Sensors

Name Icon Entity Key Auto-Translation
Acqua Plus binary_sensor acquaplus โœ”
Anti-Crease binary_sensor anticrease โœ”
Current Electricity Used lightning-bolt sensor currentElectricityUsed โŒ
Current Program tumble-dryer sensor prCode โŒ
Current Temperature thermometer sensor temp โœ”
Current Water Used water sensor currentWaterUsed โŒ
Dirt level liquid-spot sensor dirtyLevel โœ”
Dry level hair-dryer sensor dryLevel โœ”
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 fast-forward-outline sensor spinSpeed โœ”
Steam level smoke sensor steamLevel โœ”
Total Power sensor totalElectricityUsed โŒ
Total Wash Cycle counter sensor totalWashCycle โŒ
Total Water sensor totalWaterUsed โŒ

Washing machine

Controls

Name Icon Entity Key Auto-Translation
Pause Washing Machine pause switch pauseProgram / resumeProgram โœ”
Washing Machine washing-machine switch startProgram / stopProgram โœ”

Configs

Name Icon Entity Key Auto-Translation
Delay Status timer-check switch startProgram.delayStatus โŒ
Delay Time timer-plus number startProgram.delayTime โœ”
Energy Label lightning-bolt-circle sensor startProgram.energyLabel โœ”
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 โœ”
Rinse Iterations rotate-right number startProgram.rinseIterations โœ”
Soak Prewash Selection tshirt-crew switch startProgram.haier_SoakPrewashSelection โœ”
Spin speed numeric select startProgram.spinSpeed โœ”
Suggested weight weight-kilogram sensor startProgram.weight โœ”
Temperature thermometer select startProgram.temp โœ”

Sensors

Name Icon Entity Key Auto-Translation
Current Electricity Used lightning-bolt sensor currentElectricityUsed โŒ
Current Water Used water sensor currentWaterUsed โŒ
Door binary_sensor doorStatus โœ”
Door Lock binary_sensor doorLockStatus โœ”
Error math-log sensor errors โœ”
Machine Status information sensor machMode โœ”
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 โŒ