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
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f9c42839edf1f36a74933a0249e5cf801d9087492f1066bcc81e287f7465df75
|
|
| MD5 |
dc4e0ca94c4a092e58a015f8d08aad39
|
|
| BLAKE2b-256 |
20ff8d13ee9a2d6d0b830633699cbd5d5c6e85a0f9be62212d0fe178cc4e238d
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f3213ec3fda867e632d90bf41e07c39783761ac278204df5de4526ed8f0cab4c
|
|
| MD5 |
91745a4d4622b7ba8df5d6841622b0e8
|
|
| BLAKE2b-256 |
a470f50bafc7c18370b161ed6ee0fdf76febce19146467fedae51a3c25cb6ff3
|