Skip to main content

Control hOn devices with python

Project description

This python package is unofficial and is not related in any way to Haier. It was developed by reversed engineered requests and can stop working at anytime!

pyhOn

Control your Haier appliances with python! The idea behind this library is, to make the use of all available commands as simple as possible.

Quick overview

To get an idea of what is possible, use the commandline-tool pyhOn. This lists all available options of the appliances from your Haier Account.

$ pyhOn --user example@mail.com --password pass123
========== Waschmaschine ==========
commands:
  pauseProgram: pauseProgram command
  resumeProgram: resumeProgram command
  startProgram: startProgram command
  stopProgram: stopProgram command
data:
  actualWeight: 0
  airWashTempLevel: 0
  airWashTime: 0
  antiAllergyStatus: 0
...

The claim is, to see everything what you can see in your hOn app and to execute everything you can execute there.

Python-API

List devices

import asyncio
from pyhon import HonConnection

async def devices_example():
    async with HonConnection(USER, PASSWORD) as hon:
        for device in hon.devices:
            print(device.nick_name)

asyncio.run(devices_example())

Execute a command

async with HonConnection(USER, PASSWORD) as hon:
    washing_machine = hon.devices[0]
    pause_command = washing_machine.commands["pauseProgram"]
    await pause_command.send()

Set command parameter

Use device.settings to get all variable parameters.
Use device.parmeters to get also fixed parameters.

async with HonConnection(USER, PASSWORD) as hon:
    washing_machine = hon.devices[0]
    start_command = washing_machine.commands["startProgram"]
    for name, setting in start_command.settings:
        print("Setting", name)
        print("Current value", setting.value)
        if setting.typology == "enum":
            print("Available values", setting.values)
            setting.value = setting.values[0]
        elif setting.typology == "range":
            print("Min value", setting.min)
            print("Max value", setting.max)
            print("Step value", setting.step)
            setting.value = setting.min + setting.step

Tested devices

  • Haier Washing Machine HW90

Unfortunately I don't have any more haier appliances

Usage example

This library is used for the custom HomeAssistant Integration "Haier hOn".

Project details


Release history Release notifications | RSS feed

This version

0.2.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyhOn-0.2.1.tar.gz (8.9 kB view details)

Uploaded Source

Built Distributions

pyhOn-0.2.1-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

pyhOn-0.2.1-1-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

Details for the file pyhOn-0.2.1.tar.gz.

File metadata

  • Download URL: pyhOn-0.2.1.tar.gz
  • Upload date:
  • Size: 8.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for pyhOn-0.2.1.tar.gz
Algorithm Hash digest
SHA256 22e05792a904365dd776453ea5300b1304f6292c8a1f136454a007bf060272f1
MD5 6223bb4c0e7492f4fd585f4a35d2b536
BLAKE2b-256 c7b5d0eb6354272158ec6adf1db4cb62d6a75c2c4bdc0f6ead58bb1740655ab9

See more details on using hashes here.

File details

Details for the file pyhOn-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: pyhOn-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 10.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for pyhOn-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3b5c33327a1c6a2f543507b2fc9af5ee8172aad4878f42930bf4fb34cfc0c232
MD5 c710d2a0ab3b92b2693e816c45f73a3f
BLAKE2b-256 eabcae11ab383cfa6a832fa7afa5cab6532dd51c93127711964b161fbf7190c6

See more details on using hashes here.

File details

Details for the file pyhOn-0.2.1-1-py3-none-any.whl.

File metadata

  • Download URL: pyhOn-0.2.1-1-py3-none-any.whl
  • Upload date:
  • Size: 11.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for pyhOn-0.2.1-1-py3-none-any.whl
Algorithm Hash digest
SHA256 abb3b50817d29fae125b44a646f6a5fe1d44523d9bc0dae67092da92bfe66fb2
MD5 1a31b504880bf9fbee7379360192f660
BLAKE2b-256 852dce9c0462848b8ad4c949a3d9db4250ee28ac215a78a60e9dd495a44fded9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page