Skip to content

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

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.

Building a full plugin instead? The Plugin Development section builds on everything here. Integrating an external system over HTTP or WebSockets? See Integration APIs.