Skip to main content

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:

  1. Fork the repository.
  2. Clone the repository to your computer.
  3. Open the repository using Visual Studio code.
  4. 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.
  5. 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


Download files

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

Source Distribution

pyisyox-1.0.0a10.tar.gz (78.9 kB view details)

Uploaded Source

Built Distribution

pyisyox-1.0.0a10-py3-none-any.whl (79.1 kB view details)

Uploaded Python 3

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

Hashes for pyisyox-1.0.0a10.tar.gz
Algorithm Hash digest
SHA256 9922af64274524aa77b8f5b176b7586f0adf1b7246ab959510a8473ba7976a2a
MD5 e31cbda32292ba475c29e9f933335d79
BLAKE2b-256 2cb0cbd8cbf1c326c4fd31ccaa5810c8c045e392b3e5126dbce86c58c7373b31

See more details on using hashes here.

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

Hashes for pyisyox-1.0.0a10-py3-none-any.whl
Algorithm Hash digest
SHA256 681b29ffbad932a86056d09f15ff20425703b648da14922e90d2bee7b5e4aef7
MD5 d59e4e44e5fa544231003de6fc8a7b81
BLAKE2b-256 2bdfb320473cda1aeba54a573d7775b4d9578a6f16deebff2a08c05c21cbe444

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page