Scripting Indigo¶
Everything in Indigo you can do from the user interface — and a good deal you can't — can be done from Python. Scripts run in the Script Editor (Plugins → Open Scripting Shell), embedded inside triggers, schedules, and action groups, or as external script files. No plugin development required.
Where to start¶
If you're new to scripting Indigo, work through the Scripting Tutorial — it builds up from one-line device commands to scripting third-party plugins. Then read IOM Concepts to understand how the Indigo Object Model represents your devices, triggers, schedules, action groups, and variables in Python.
Guides¶
- Python Packages — what ships with Indigo's bundled Python and how to install additional packages.
- Python Version Conflicts — if scripts behave differently inside and outside Indigo.
IOM Reference¶
The complete reference for every IOM class and command namespace: Actions, Action Groups, Devices, Device Subclasses, Folders, Schedules, Triggers, Variables, plus Server Properties & Commands, Insteon Commands, X10 Commands, and Event Data Path Specifiers.
These pages document the scripting (Python) view of Indigo's objects. For what these objects mean and how to use them from the UI, see the Concept Overview in the User Guide.
Related¶
Building a full plugin instead? The Plugin Development section builds on everything here. Integrating an external system over HTTP or WebSockets? See Integration APIs.