--- id: pyisy version: "3.7.0" license: Apache-2.0 license_treatment: permissive maintenance: active --- # pyisy — Python module to talk to ISY devices from UDI. License: permissive · Maintenance: active · Downloads: 75.9K/mo ## 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 above — 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 pip install pyisy uv add pyisy 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_current - Install friction: low - Maintenance: active - Downloads: 75.9K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags ISY controller Python library, home automation ISY-994, async ISY device communication, UDI Polisy eisy Python, ISY node control library, home automation asyncio, ISY WebSocket updates, home-automation, asyncio, isy-controller [View on SkillFed](https://skillfed.io/packages/pyisy) · [View on PyPI](https://pypi.org/project/pyisy/)