Skip to main content

A library to pilot hitachi aircloud AC

Project description

aircloudy

PyPI - Version PyPI - Python Version

Aircloudy is an unofficial python library that allow management of RAC (Room Air Conditioner) compatible with Hitachi Air Cloud.

This project IS NOT endorsed by Hitachi and is distributed as-is without warranty.


Table of Contents

Installation

pip install aircloudy

Usage

from __future__ import annotations
import asyncio
from aircloudy import HitachiAirCloud, InteriorUnit, compute_interior_unit_diff_description


def print_changes(dict: dict[int, tuple[InteriorUnit|None, InteriorUnit|None]]) -> None:
    for (id, change) in dict.items():
        print(f"Change on interior unit {id}: "+compute_interior_unit_diff_description(change[0], change[1]))

async def main() -> None:
    async with HitachiAirCloud("your@email.com", "top_secret") as ac:
        ac.on_change = print_changes

        unit_bureau = next((iu for iu in ac.interior_units if iu.name == "Bureau"), None)
        if unit_bureau is None:
            raise Exception("No unit named `Bureau`")

        await ac.set(unit_bureau.id, "ON")
        await ac.set(unit_bureau.id, requested_temperature=21, fan_speed="LV3")

        await asyncio.sleep(30)


asyncio.run(main())

License

aircloudy is distributed under modified HL3 license. See LICENSE.txt.

Development

poetry run task lint
poetry run task check
poetry run task test
poetry run task coverage
poetry --build publish

Notes

Not read/used field from notification :

iduFrostWashStatus: IduFrostWashStatus
        active: bool
        priority: int
        astUpdatedA: int
        subCategory = None
        errorCode = None
specialOperationStatus: SpecialOperationStatus
        active: bool
        priority: int
        lastUpdatedAt: int
        subCategory = None
        errorCode = None
errorStatus: ErrorStatus
        active: bool
        priority: int
        lastUpdatedAt: int
        subCategory: str
        errorCode = None
cloudId: str
opt4: int
holidayModeStatus: HolidayModeStatus
        active: bool
        priority: int
        lastUpdatedAt: int
        subCategory = None
        errorCode = None
SysType: int

Not read/used field from API:

userId: str
iduFrostWash: bool
specialOperation: bool
criticalError: bool
zoneId: str

Project details


Download files

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

Source Distribution

aircloudy-0.1.12.tar.gz (22.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aircloudy-0.1.12-py3-none-any.whl (30.7 kB view details)

Uploaded Python 3

File details

Details for the file aircloudy-0.1.12.tar.gz.

File metadata

  • Download URL: aircloudy-0.1.12.tar.gz
  • Upload date:
  • Size: 22.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.4 CPython/3.13.5 Darwin/24.6.0

File hashes

Hashes for aircloudy-0.1.12.tar.gz
Algorithm Hash digest
SHA256 9e9fd33a8a525a3b2a0958b5ee85d651ff94c019db19c37589ebd6fd7c9d8a11
MD5 caf9d02c1299c6aee95c7bdccf7a8175
BLAKE2b-256 826c49241910976204d9ead63ffa38073bfa88a32f7343f9433bda3c5703f01c

See more details on using hashes here.

File details

Details for the file aircloudy-0.1.12-py3-none-any.whl.

File metadata

  • Download URL: aircloudy-0.1.12-py3-none-any.whl
  • Upload date:
  • Size: 30.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.4 CPython/3.13.5 Darwin/24.6.0

File hashes

Hashes for aircloudy-0.1.12-py3-none-any.whl
Algorithm Hash digest
SHA256 ff0c6a078a74532d9c30404cc83d857e7ed22bb29e0643362061552829d1034d
MD5 92d1a2fca1d56a89ee255d7a7fd897fc
BLAKE2b-256 fe51b8c27a350ea41708b6cc7dbf5fcff01ceca841ac19c2a8bb4d9467531a52

See more details on using hashes here.

Supported by

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