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.0b0.tar.gz (84.4 kB view details)

Uploaded Source

Built Distribution

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

pyisyox-1.0.0b0-py3-none-any.whl (79.2 kB view details)

Uploaded Python 3

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

Hashes for pyisyox-1.0.0b0.tar.gz
Algorithm Hash digest
SHA256 6bf08622f0fa8b625aa549f80a7f4e9fbd2cf9ebfea2476e946c4037e381554f
MD5 49026c7e929137398b747b7b8e2b62f2
BLAKE2b-256 0b98b547101a297ba43a4e8a5931bd2a1de5c8f7c3387c47961a77486fe30cb1

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyisyox-1.0.0b0.tar.gz:

Publisher: pythonpublish.yml on shbatm/pyisyox

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for pyisyox-1.0.0b0-py3-none-any.whl
Algorithm Hash digest
SHA256 88d5a5ee4839096005c3b4250aef30688f3dce8619cd95b7154edfc288cf808c
MD5 0b0b3e622afe8b761467868ee528ce82
BLAKE2b-256 422b018876759bcb6995bb0c50e708f3e8d1c18823e427e863010f2b6f9df30e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyisyox-1.0.0b0-py3-none-any.whl:

Publisher: pythonpublish.yml on shbatm/pyisyox

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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