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

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.11
File Size Uploaded
python_izone-1.3.11.tar.gz 674.0 kB Details

Built distribution (wheel)

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

Total release size: 725.0 kB

Release files / python_izone-1.3.11.tar.gz

Download URL python_izone-1.3.11.tar.gz
Size 674.0 kB
Tags Source
SHA-256 checksum
How to use checksums
c80076cffb1c271d9e326baa85ab41e397be3b3df397677fb70b7ae0b66eb5f9
BLAKE2b-256 checksum
How to use checksums
134923b758eee8d96945cb9ebebce1b096e6ca8796e586b6ce4edc5c823fe036
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 11, 2026.

Transparency log

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

Download URL python_izone-1.3.11-py3-none-any.whl
Size 51.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
32628a9563fe849488fe45f9602d7df3300923ca67f0cd57127c974f195c8e3f
BLAKE2b-256 checksum
How to use checksums
22cf1af8a6e67f6f02563c1bb2daab0fce3a083cd114738ad326dadc8b20c891
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 11, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.3.11 This release

2 release files

1.3.10

2 release files

1.3.9

2 release files

1.3.8

2 release files

1.3.7

2 release files

1.3.6

2 release files

1.3.5

2 release files

1.3.4

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.3b4

2 release files

1.2.10

2 release files

1.2.9

2 release files

1.2.7

2 release files

1.2.5

2 release files

1.2.4

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.0

2 release files

1.1.8

2 release files

1.1.7

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.1

2 release files

1.0.0

2 release files

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