skillfed

pyisy

Python module to talk to ISY devices from UDI.

pyisy v3.7.0 75.9K downloads/30d#14,674 on PyPI19
Permissive license Apache-2.0 Active released

What it is and what it does

PyISY is a Python async library for controlling and monitoring Universal Devices ISY home automation controllers (ISY-994, Polisy, eisy). It wraps the ISY REST API and event streams, letting you query and command nodes, programs, variables, and network settings from Python code. The library uses aiohttp for async HTTP and supports real-time updates via WebSocket or SOAP, so your application can react to device state changes without polling.

Typical use is in home automation integrations (notably Home Assistant's isy994 integration) where you initialize a connection to an ISY controller, download its device tree, then interact with individual nodes—reading their status, turning them on/off, or adjusting settings. The library handles the XML parsing and event subscription plumbing, so you work with Python objects rather than raw HTTP calls.

Use it for:

  • Build a home automation dashboard that displays and controls ISY devices in real time.
  • Integrate ISY controllers with Home Assistant or other home automation platforms.
  • Monitor ISY programs and variables and trigger external actions based on their state.
  • Create scripts to batch-configure or query ISY node settings and network modules.
  • Develop a CLI tool or web service that exposes ISY control to non-technical users.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

PyISY is a Python library for asynchronous communication with Universal Devices ISY-994, Polisy, and eisy home automation controllers, supporting real-time updates via WebSocket or SOAP.

Yes. PyISY is actively maintained, has no known vulnerabilities, minimal dependencies, and is the de facto standard for ISY control in Python. Install it if you need to interact with an ISY-994, Polisy, or eisy controller from Python—especially if you're building a Home Assistant integration or custom automation. The async design and real-time event support make it suitable for production home automation use.

Install

pyisy on PyPI

pip

pip install pyisy

uv

uv add pyisy

poetry

poetry add pyisy

Installing pyisy

Before you install

Low install friction with only two runtime dependencies (aiohttp and colorlog). Active maintenance with a release 24 days ago and recent commits; suitable for production use.

License in practice

Licensed under Apache-2.0 (permissive), allowing commercial and private use with minimal restrictions.

Quickstart

pip install pyisy

import asyncio
from pyisy import ISY

async def main():
    isy = ISY("192.168.1.10", 80, "admin", "password")
    await isy.initialize()
    node = isy.nodes["1A 2B 3C 1"]
    await node.turn_on()
    await isy.shutdown()

asyncio.run(main())

Requires Python 3.11 or later; requires a reachable ISY-994, Polisy, or eisy controller on the network.

Verify before relying

  • Whether the library supports all ISY firmware versions or only specific ones beyond v4 and v5 mentioned.
  • Performance characteristics and scalability limits when managing large numbers of nodes or programs.
  • Specific WebSocket vs SOAP event stream trade-offs and which is recommended for typical deployments.

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (>=3.11)
Install friction low — pure-Python wheel
Runtime dependencies 2 — aiohttp, colorlog
Maintenance actively maintained — 24 days since the last release
Last repo commit
First released
Downloads 75,877/month — #14,674 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pyisy-3.7.0-py3-none-any.whl

Keywords: home, automation, isy, isy994, isy-994, UDI, polisy, eisy

Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: End Users/DesktopLicense :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Topic :: Home Automation

Tags

ISY controller Python libraryhome automation ISY-994async ISY device communicationUDI Polisy eisy PythonISY node control libraryhome automation asyncioISY WebSocket updates
home-automationasyncioisy-controller

More Home Automation packages