pyisy
Python module to talk to ISY devices from UDI.
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 pyisyuv
uv add pyisypoetry
poetry add pyisyInstalling 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
Tags
More Home Automation packages
Represents and manipulates IPv4, IPv6, MAC…
permissive · top 5,000 on PyPI
homeassistantHome Assistant is an open-source home…
permissive · top 5,000 on PyPI
python-statemachineDefines finite state machines and statecharts…
permissive · top 5,000 on PyPI
btsocketA Python library for controlling BlueZ…
permissive · top 15,000 on PyPI
aiohomematicAn async Python library for controlling and…
permissive · top 15,000 on PyPI
hass-web-proxy-libProvides base classes and utilities for Home…
permissive · top 15,000 on PyPI
asyncuaasyncua is an asyncio-based OPC UA client and…
copyleft · top 15,000 on PyPI
zwave-js-server-pythonPython client library for communicating with…
permissive · top 15,000 on PyPI
pysoemPySOEM is a Cython wrapper for the Simple Open…
permissive · top 15,000 on PyPI
pyserial-asyncioAdds async/await support to pyserial for…
permissive · top 15,000 on PyPI
py-unifi-accessAsync Python client for UniFi Access local API…
permissive · top 15,000 on PyPI
zigpy-xbeeEnables zigpy to communicate with XBee-based…
copyleft · top 15,000 on PyPI
python-izonePython library for controlling iZone air…
copyleft · top 15,000 on PyPI
pymispPyMISP is a Python library that connects to…
permissive · top 5,000 on PyPI
pyControl4An async library for controlling Control4 smart…
permissive · top 15,000 on PyPI
pyadspyads is a Python wrapper for TwinCAT's ADS…
permissive · top 15,000 on PyPI