Skip to main content

Query and control of WiFi-enabled iZone 310 and compatible family of climate control devices

Project description

pyizone

This python module aims to implement query and control of WiFi-enabled iZone 310 and compatible family of climate control devices.

Installing pre-requisites

Clone the repository, change into the directory and run pip install -r requirements.txt.

It will require python3, and has been tested with version 3.5 and later.

Using as a command line tool

You can import this module to use it as a command line tool.

You could also set an alias, for example:

alias izone='python3 -m pyizone'

View help

$ python3 -m pyizone
usage: izone [-h] [--verbose] {discover,get,set} ...

Control a control-bridge equipped iZone airconditioning system

optional arguments:
  -h, --help          show this help message and exit
  --verbose, -v

Available subcommands:
  {discover,get,set}

Discover devices

$ python3 -m pyizone discover
Found 1 iZone Controls-Bridge:
  Device ID: 000000XXX (at: xxx.xxx.xxx.xxx:xxxxx)
Run 'export IZONE_DEVICE=xxx.xxx.xxx.xxx' to automatically target this controls-bridge for all future izone commands.
$ export IZONE_DEVICE=xxx.xxx.xxx.xxx

Querying settings

$ python3 -m pyizone get fan
xxx.xxx.xxx.xxx: System fan is: low
$ python3 -m pyizone get mode
xxx.xxx.xxx.xxx: System mode is: vent

Setting settings

$ python3 -m pyizone set power on
xxx.xxx.xxx.xxx: System power is: on
$ python3 -m pyizone set mode vent
xxx.xxx.xxx.xxx: System mode is: vent
$ python3 -m pyizone set fan low
xxx.xxx.xxx.xxx: System fan is: low

Using as a Python Module

>>> import pyizone
>>> pyizone.discover()
[{'port': 'xxxx', 'id': '000000XXX', 'ipaddr': 'xxx.xxx.xxx.xxx'}]
>>> pyizone.get_system_settings("xxx.xxx.xxx.xxx")
{'Temp': '0.0', 'Setpoint': '22.0', 'NoOfConst': 1, 'UnitType': 'Unknown', 'CtrlZone': 13, 'ACError': '', 'EcoMax': '26.0', 'SysOn': 'on', 'Tag2': '', 'AirStreamDeviceUId': '000000XXX', 'Id': 0, 'Supply': '0.0', 'Warnings': 'filter', 'Tag1': 'iZone 310', 'SleepTimer': 0, 'UnitLocked': 'false', 'AirflowLock': 'off', 'EcoMin': '22.0', 'SysType': '310', 'NoOfZones': 7, 'SysFan': 'low', 'DeviceType': 'ASH', 'RAS': 'master', 'SysMode': 'vent', 'EcoLock': 'true'}

Getting Help

Docstrings

Each function has docstrings, so you can get help using python's help() function, for example:

>>> help(pyizone.discover)

Returns:

Help on function discover in module pyizone.__pyizone__:

discover(discovery_timeout_seconds:float=5.0, socket_timeout_seconds:float=1.0, izone_cb_id=None) -> list
    Attempts discovery of iZone 1.x Controls Bridges (CB)

    Args:
        discovery_timeout_seconds: (float) Number of seconds to wait for CBs to respond after sending discovery datagram
        socket_timeout_seconds: (float) Socket timeout in number of seconds
        izone_cb_id: (str) Look for a specific id only, and return as soon as it is found

    Returns:
        A list of dict objects containing the id (str), ipaddr (str) and port (str) of each CB discovered, eg:
        [{'ipaddr': '192.168.0.9', 'id': '000002323', 'port': '12107'}]

Open an issue

Please feel free to open an issue on the project's GitHub, and I'll do my best to help you.

I also have a Discord channel, feel free to join and converse.

Project details


Release history Release notifications | RSS feed

This version

0.1

Download files

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

Source Distribution

mikenye-pyizone-0.1.tar.gz (15.2 kB view details)

Uploaded Source

Built Distribution

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

mikenye_pyizone-0.1-py3-none-any.whl (15.6 kB view details)

Uploaded Python 3

File details

Details for the file mikenye-pyizone-0.1.tar.gz.

File metadata

  • Download URL: mikenye-pyizone-0.1.tar.gz
  • Upload date:
  • Size: 15.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.6.1 requests/2.23.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.5.2

File hashes

Hashes for mikenye-pyizone-0.1.tar.gz
Algorithm Hash digest
SHA256 f9c42839edf1f36a74933a0249e5cf801d9087492f1066bcc81e287f7465df75
MD5 dc4e0ca94c4a092e58a015f8d08aad39
BLAKE2b-256 20ff8d13ee9a2d6d0b830633699cbd5d5c6e85a0f9be62212d0fe178cc4e238d

See more details on using hashes here.

File details

Details for the file mikenye_pyizone-0.1-py3-none-any.whl.

File metadata

  • Download URL: mikenye_pyizone-0.1-py3-none-any.whl
  • Upload date:
  • Size: 15.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.6.1 requests/2.23.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.5.2

File hashes

Hashes for mikenye_pyizone-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f3213ec3fda867e632d90bf41e07c39783761ac278204df5de4526ed8f0cab4c
MD5 91745a4d4622b7ba8df5d6841622b0e8
BLAKE2b-256 a470f50bafc7c18370b161ed6ee0fdf76febce19146467fedae51a3c25cb6ff3

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