Skip to main content

python-izone

Python library for the iZone air conditioning system.

Used by the Home Assistant iZone integration.

Install

pip install python-izone

Overview

The main entry points are Controller and Zone for device control, and DiscoveryService for UDP discovery on the local network.

Synchronous property reads return cached device data and do not raise ConnectionError. Async command and refresh methods perform HTTP I/O and raise ConnectionError when the device cannot be reached. They raise ControllerCommandError when the device responds but rejects the request ({ERROR} body or HTTP 4xx).

Dependencies

Requires aiohttp>=3.14.1. Home Assistant pins aiohttp==3.14.1; that version includes the HTTP POST coalescing fix (aiohttp#10991) needed for iZone controllers that read the request in a single operation.

Protocol documentation

The iZone Ethernet interface is documented in AC-DOC-1401-11_iZoneEthernetInterface.pdf.

Troubleshooting / issue reports

If Home Assistant can load the iZone integration, prefer Download diagnostics from the integration page.

When that is not possible (or you need a live HTTP/UDP survey of the bridge), run the stdlib probe from a machine on the same LAN:

curl -fsSL -o izone_v1_probe.py \
  https://raw.githubusercontent.com/Swamp-Ig/pizone/main/scripts/izone_v1_probe.py
python3 izone_v1_probe.py <bridge-ip> --with-content-type > izone-v1-probe.log

Attach izone-v1-probe.log to the GitHub issue. The CLI host (IP or hostname) and IPv4/IPv6 literals in the log are redacted to **REDACTED** by default (including UDP IP_… payloads); use --show-ips only for local debugging. Stop Home Assistant (or other listeners on UDP 7005) first if the UDP listen step fails to bind.

Development

  1. Install uv.
  2. uv sync --all-extras --group dev
  3. ./scripts/check — lint, type-check, test, and build (same as CI)
  4. ./scripts/coverage — test coverage report (advisory; not part of the CI gate)

Individual commands:

  • uv run pytest tests/
  • uv run ruff check pizone tests
  • uv run ruff format pizone tests
  • uv run mypy pizone
  • uv build

To run integration tests against a controller on your network:

uv run pytest tests/test_fullstack.py -m hardware -o addopts=

Metadata

Release files for python-izone 1.3.12

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for python-izone 1.3.12
File Size Uploaded Provenance
python_izone-1.3.12.tar.gz 691.8 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for python-izone 1.3.12
File Interpreter ABI Platform
python_izone-1.3.12-py3-none-any.whl Python 3 none any Details

Total release size: 744.4 kB

Release files / python_izone-1.3.12.tar.gz

Download URL python_izone-1.3.12.tar.gz
Size 691.8 kB
Tags Source
SHA-256 checksum
How to use checksums
96eb79b2f6ec5621c5af65c3295e10e807edea5267198df0e0b57d88562fb41c
BLAKE2b-256 checksum
How to use checksums
7d6c2a5bb2457fd7f5b3ae538f00c9e5be223011d2587492b1f71b83f43702c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.

Transparency log

Release files / python_izone-1.3.12-py3-none-any.whl

Download URL python_izone-1.3.12-py3-none-any.whl
Size 52.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f60c9eb6ac3c50fe257b4d9e2852a55cd105c9841ba5fb055171c5c6dbface21
BLAKE2b-256 checksum
How to use checksums
90e0f44864f7b062a2cd2c26ea45dcd94410b8a86fdb20b89d9bf86698dcc692
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.

Transparency log

Security for python-izone 1.3.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for python_izone-1.3.12.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.3.12 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page