A custom Home Assistant integration for controlling Haier appliances via the hOn cloud API. It discovers your paired appliances, exposes them as Home Assistant entities, and routes control commands to the supported types
- Automatic device discovery β discovers all paired Haier devices in your account
- Multiple device support β AC units, washing machines, and other hOn-compatible appliances
- Real-time status β monitors device state, temperature, modes, and cycle progress
- Command execution β control HVAC modes, set temperatures, start/stop programs, and more
- Asyncio optimization β dedicated background loop for reliable API communication
- Smart attribute mapping β device-specific attribute keys extracted from real diagnostics
- Full Lovelace support β integrates seamlessly with Home Assistant UI and automations
- Two-factor authentication (2FA) β Two-factor authentication during the login process is supported
- Multilingual integration β Currently available in Italian and English, with additional languages available upon request.
- Home Assistant 2024.12.0 or newer
- Haier hOn app account credentials
Add this repository to HACS as a custom integration and install from the UI.
- Login in Home Assistant UI β Select HACS in the left
- Tap the three dots (menu) in the upper-right corner
- Select Custom repositories
- Add the repo link: https://github.com/tis24dev/addhOn/ and type: Integration
- Save
- Search for addhOn and select it
- Click the button in the lower right corner to download, then restart
- Go to Settings β Devices & Services β Add Integration
- Search for addhOn and select it
- Enter your Haier hOn account email and password and submit. The credentials are validated against the hOn cloud and stored in the config entry.
If your hOn session later expires, Home Assistant shows a Reconfigure (re-authentication) prompt asking only for the password again; no need to remove and re-add the integration.
Open the integration entry and choose Configure to toggle:
- Enable debug logging β verbose integration logs.
- Enable MQTT realtime debug β verbose logs for the live MQTT stream.
Both persist across restarts. The polling interval is fixed at 60 seconds.
These toggles are also exposed as switches on a dedicated addhOn diagnostics
device (Settings > Devices & Services > addhOn), alongside read-only diagnostics
and quick-action buttons (refresh now, reset debug). A ready-to-paste dashboard
card is in docs/debug-device.md.
Air conditioners (AC), washing machines (WM), tumble dryers (TD), washer-dryers (WD), refrigerators and freezers (REF/FR/FRE), ovens (OV), dishwashers (DW), wine coolers (WC), hobs (IH/HOB), hoods (HO), coffee machines/kettles (KT), water heaters (WH) and robot vacuums (RVC). Air conditioners and laundry appliances have full control; the other types are exposed mainly as read-only sensors, with a few controls where they have been mapped.
- AC Unit: Haier AS35PBPHRA-PRE
- AC Unit: Haier AD71S2SM3FA(H)
- Washing Machine: Haier HW80-B14959TU1IT
- Washing Machine: Candy TCA286TM5-S
- Tumble Dryer: Haier HD100-C367GU1-IT
- Tumble Dryer: Haier HD90-A3959 INT
- Refrigerator: Haier HDPW5620CNPK
- Refrigerator: HCW58F18EWMP
- Oven: HWO60SM5T5BH
Other hOn-compatible Haier appliances should work; feel free to test and report.
- Enable β open addhOn diagnostics (Settings β Devices & Services β addhOn) and turn on Debug logging. Add MQTT realtime debug only when investigating push/MQTT updates. (Same as integration β Configure β Enable debug logging.)
- Reproduce β trigger the problem; press Refresh now to force an immediate poll for discovery/polling issues.
- Download β Settings β System β Logs β Download full log, then attach
the
home-assistant.logto your GitHub issue. - Disable β press Reset debug on the same device (turns both toggles off and restores the default log levels), or just switch them off.
Both toggles persist across restarts. Details:
docs/discovery-debugging.md and
docs/mqtt-realtime-logging.md.
- Re-enter your Haier email and password via the integration's re-authentication prompt (or remove and re-add the integration)
- Verify the account is active in the Haier hOn app
- If 2FA is enabled, disable it temporarily for the integration account
- Ensure the device is paired in the Haier hOn app
- Check internet connectivity
- After pairing a new device in the app, reload the integration (or restart Home Assistant)
The integration auto-detects the modes each AC supports. If your AC does not respond to a mode:
- Enable debug logging (see above); the climate entity logs its detected
hvac_modesandfan_modesat startup - Report the unsupported mode on GitHub issues
- Asyncio background loop β the native client's operations run in a dedicated thread-safe event loop to avoid blocking Home Assistant
- Command routing β different device types expect different command structures; the integration detects and routes appropriately
- Attribute extraction β device-specific attributes are extracted from real device diagnostics, not hardcoded
To add support for a new Haier device:
- Pair it in the Haier hOn app
- Enable debug logging and capture the device diagnostics (see
docs/discovery-debugging.md) - Add or extend the relevant platform file (
sensor.py,binary_sensor.py,number.py,select.py,switch.py, ...) and, if the device type needs it, its capability map - Test with your device, then open a pull request (or an issue with the captured diagnostics)
Issues and pull requests are welcome! Please include:
- Home Assistant version
- Device model number
- Steps to reproduce
addhOn's cloud client originated from pyhOn
(MIT Β© 2023 Andre Basche) and still contains portions derived from it, tracked
per-module by the independence harness in tests/independence/.
See NOTICE for the current derivation status and attribution.
Copyright (C) 2026 tis24dev
Licensed under the GNU Affero General Public License v3.0. You may use, modify, and distribute this integration under the AGPL terms; if you run a modified version as a network service, you must offer users the corresponding source. Contributions back via pull request are welcome. Previously released under MIT, then PolyForm Noncommercial.
Portions remain derived from pyhOn (MIT Β© 2023 Andre Basche); that attribution is
preserved in NOTICE and applies to those portions.
See https://www.gnu.org/licenses/agpl-3.0 for the full terms.
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: see the
docs/folder
Built with β€οΈ for Home Assistant enthusiasts.