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
File details
Details for the file pyisyox-1.0.0a10.tar.gz
.
File metadata
- Download URL: pyisyox-1.0.0a10.tar.gz
- Upload date:
- Size: 78.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9922af64274524aa77b8f5b176b7586f0adf1b7246ab959510a8473ba7976a2a |
|
MD5 | e31cbda32292ba475c29e9f933335d79 |
|
BLAKE2b-256 | 2cb0cbd8cbf1c326c4fd31ccaa5810c8c045e392b3e5126dbce86c58c7373b31 |
File details
Details for the file pyisyox-1.0.0a10-py3-none-any.whl
.
File metadata
- Download URL: pyisyox-1.0.0a10-py3-none-any.whl
- Upload date:
- Size: 79.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 681b29ffbad932a86056d09f15ff20425703b648da14922e90d2bee7b5e4aef7 |
|
MD5 | d59e4e44e5fa544231003de6fc8a7b81 |
|
BLAKE2b-256 | 2bdfb320473cda1aeba54a573d7775b4d9578a6f16deebff2a08c05c21cbe444 |