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

PyPI - Status PyPI PyPI - Python Version PyPI - License PyPI - Downloads
Control your Haier appliances with python! The idea behind this library is, to make the use of all available commands as simple as possible.

Installation

pip install pyhOn

Quick overview

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

$ pyhOn --user example@mail.com --password pass123
========== WM - Waschmaschine ==========
data:
  attributes:
    parameters:
      ...
      texture: 1
      totalElectricityUsed: 28.71
      totalWashCycle: 35
      totalWaterUsed: 2494
      transMode: 0
      ...
settings:
  startProgram:
    rinseIterations:
      max: 5
      min: 3
      step: 1
    spinSpeed:
      - 0
      - 400
      - 600
      - 800
      ...

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

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

Contribution

Any kind of contribution is welcome!

Project details


Release history Release notifications | RSS feed

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.3.7.tar.gz (10.6 kB view details)

Uploaded Source

Built Distribution

pyhOn-0.3.7-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pyhOn-0.3.7.tar.gz
Algorithm Hash digest
SHA256 e08a5a144c12b36df9e8f9e12ce26be80c60e35eb6b639c93993ad542e0c150b
MD5 69a6e5ac7f16655061b608b6108098f8
BLAKE2b-256 a30293d037883bea04d8f1e7de67d36b82db0e956bba015f5e2362fe24cacf25

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyhOn-0.3.7-py3-none-any.whl
  • Upload date:
  • Size: 12.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.3.7-py3-none-any.whl
Algorithm Hash digest
SHA256 dac26ace97d25c00df2f12e5c13306af189d792ddadcbb8ac4c1b45df8ca18f4
MD5 ed19f19f5a1f030ca810949d166216ec
BLAKE2b-256 0ee13c9bd89faabc5df2b98040b723950906328f44a7b64487915b5e2de93117

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