Python module for asynchronous communication with Universal Devices, Inc.'s ISY & IoX controllers.
Project description
PyISYoX
Python Library for the ISY / IoX Controllers
ISY is a home automation controller capable of controlling Insteon, X10, Z-Wave and Zigbee/Matter devices connected to supported hardware manufactured by Universal Devices, Inc..
This Python library supports the legacy ISY994 hardware family, as well as current ISY-on-Anything (IoX) hardware, such as the eisy or Polisy devices.
This library allows for easy asynchronous interaction with ISY nodes, programs, variables, node servers, and the networking module, including methods to monitor and automatically update when ISY parameters are changed.
The PyISYoX library originated from PyISY, originally authored by Ryan Kraus (@rmkraus) and maintained by Greg Laabs (@overloadut). The PyISYoX module has been rewritten by @shbatm using the original principles of PyISY, but redesigned based on the codebase of it's primary use case as a Home Assistant Integration.
Disclaimer: This project has no affiliation with Universal Devices, Inc., it is maintained independently and is not officially supported in anyway by the OEM. Any issues with the module must be raised here, and will be resolved as quickly as possible given limited resources. Any issues with the controllers themselves should be directed to UDI.
Requirements
The minimum required Python version is 3.10
Examples
To test run the module, print a summary of your connected nodes, and log the events from the event websocket:
pip install pyisyox
python3 -m pyisyox http://polisy.local:8080 admin password
See the examples folder for connection examples.
Partial documentation is available at https://pyisyox.readthedocs.io. This is being updated as time allows.
Contributing
A note on contributing: contributions of any sort are more than welcome!
A VSCode DevContainer is available to provide a consistent development environment.
Assuming you have the pre-requisites installed from the link above (VSCode, Docker, & Remote-Containers Extension), to get started:
- Fork the repository.
- Clone the repository to your computer.
- Open the repository using Visual Studio code.
- When you open this repository with Visual Studio code you are asked to "Reopen in Container", this will start the build of the container.
- If you don't see this notification, open the command palette and select Remote-Containers: Reopen Folder in Container.
- Once started, you will also have a
examples/folder with a copy of the example scripts to run in the container which won't be committed to the repo, so you can update them with your connection details and test directly on your ISY.
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 pyisyox-1.0.0b0.tar.gz.
File metadata
- Download URL: pyisyox-1.0.0b0.tar.gz
- Upload date:
- Size: 84.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6bf08622f0fa8b625aa549f80a7f4e9fbd2cf9ebfea2476e946c4037e381554f
|
|
| MD5 |
49026c7e929137398b747b7b8e2b62f2
|
|
| BLAKE2b-256 |
0b98b547101a297ba43a4e8a5931bd2a1de5c8f7c3387c47961a77486fe30cb1
|
Provenance
The following attestation bundles were made for pyisyox-1.0.0b0.tar.gz:
Publisher:
pythonpublish.yml on shbatm/pyisyox
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyisyox-1.0.0b0.tar.gz -
Subject digest:
6bf08622f0fa8b625aa549f80a7f4e9fbd2cf9ebfea2476e946c4037e381554f - Sigstore transparency entry: 779239695
- Sigstore integration time:
-
Permalink:
shbatm/pyisyox@c93293325d221da5d8d6e366129875c3064a1475 -
Branch / Tag:
refs/tags/1.0.0b0 - Owner: https://github.com/shbatm
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pythonpublish.yml@c93293325d221da5d8d6e366129875c3064a1475 -
Trigger Event:
release
-
Statement type:
File details
Details for the file pyisyox-1.0.0b0-py3-none-any.whl.
File metadata
- Download URL: pyisyox-1.0.0b0-py3-none-any.whl
- Upload date:
- Size: 79.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88d5a5ee4839096005c3b4250aef30688f3dce8619cd95b7154edfc288cf808c
|
|
| MD5 |
0b0b3e622afe8b761467868ee528ce82
|
|
| BLAKE2b-256 |
422b018876759bcb6995bb0c50e708f3e8d1c18823e427e863010f2b6f9df30e
|
Provenance
The following attestation bundles were made for pyisyox-1.0.0b0-py3-none-any.whl:
Publisher:
pythonpublish.yml on shbatm/pyisyox
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyisyox-1.0.0b0-py3-none-any.whl -
Subject digest:
88d5a5ee4839096005c3b4250aef30688f3dce8619cd95b7154edfc288cf808c - Sigstore transparency entry: 779239696
- Sigstore integration time:
-
Permalink:
shbatm/pyisyox@c93293325d221da5d8d6e366129875c3064a1475 -
Branch / Tag:
refs/tags/1.0.0b0 - Owner: https://github.com/shbatm
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pythonpublish.yml@c93293325d221da5d8d6e366129875c3064a1475 -
Trigger Event:
release
-
Statement type: