Indigo 2023.1 Documentation
Welcome to the Indigo 2023.1 Documentation pages. We've separated the docs into multiple areas, each focusing on some different part of Indigo 2023.1.
Indigo User Documents
This section contains links to documents that apply to the base Indigo product. It's the starting point if your new to Indigo. We highly recommend starting with the Getting Started guide then progressing on to the other documents.
- Getting Started ← Start here!
- Concept Overview - What are Devices, Triggers, Schedules, Action Groups, Control Pages, and Variables?
- Indigo supports 3 interfaces, which can be active simultaneously (using INSTEON and Z-Wave at the same time)
- If you have Z-Wave® devices, read through the Managing Your Z-Wave Network document. Also, our Z-Wave wiki article discusses, in general terms, what Z-Wave is and how it works.
- If you have INSTEON devices, read through the Managing Your INSTEON Network document. For some background on INSTEON links, we have put together a separate page that discusses INSTEON Scenes. We highly recommend that you read through that page as it will give you a better understanding of what links are and how they work.
- The Virtual Devices Interface provides several different devices that help you integrate Z-Wave, INSTEON, and 3rd party devices together and even create your own devices.
- The Reflector documentation will help you activate and manage your reflector.
- Managing Plugins - the Getting Started guide has a section on managing 3rd party plugins, but we think it's important enough to point out here at the top level of the documentation.
Other Help Pages
There are other help documents available below and from the purple question mark icon in the UI for the less frequently used dialogs in Indigo.
- The Event Log Window - this is where you can see a history of what Indigo is doing (among other things)
Indigo Plugin Documents
Indigo ships with many plugins to offer greater functionality. This section contains links to the documentation for each plugin that ships with Indigo.
- Airfoil Pro - allows users to fully control Airfoil 5 and later to direct audio output.
- Alexa - make Indigo devices available for control via Alexa-capable devices.
- Email+ - allows users to integrate with email services.
- EasyDAQ Relay Card - enables Indigo to directly control the EasyDAQ USB relay cards.
- NOAA Weather - makes weather data from the U.S. National Oceanic and Atmospheric Administration available for use in Indigo.
- SQL Logger - a replacement for the built-in SQL logging functionality of previous versions. More robust and useful.
- Timers and Pesters - this plugin provides a more direct mechanism to create simple timer objects. It also provides a flexible reminder/notification mechanism called a pester.
Indigo How-To Wiki
Need step-by-step instructions on setting up specific home automation tasks? Or have a question about using a particular device/module with Indigo? Take a look at our Indigo How-To Wiki.
Technical Documents
We provide several powerful, yet easy to use ways to extend Indigo. We support a Python-based API that allows 3rd parties to integrate devices, events, and actions natively into Indigo without sacrificing speed and stability of the core server. This section provides links to all the documentation needed to develop scripts and plugins for Indigo.
About Python IOM API v3.x and Indigo 2023.1: with API v3.0 and later, we have switched to Python 3. Older versions of the API use Python 2, and – with the release of Indigo 2023.1 – Python 2 is no longer supported. Further, plugins and scripts – both embedded and external – will run in Python 3 only. The Indigo Plugin Store highlights the plugins that will not work with Indigo 2023.1. See the API release notes for v3.0 for details. See Python Packages for a list of the additional Python packages that are installed with the Indigo 2023.1 installer.
If any of the API tables or functionality in the documentation don't have a version number you can assume that the feature is available in API version 1.0 and later.
We have several APIs for plugin development, Indigo scripting, and integrating with other platforms/services.
- The Indigo Object Model v3.2 (release notes) - this is used to build plugins and write scripts to work with Indigo.
- Plugin Developer's Guide - how to create plugin bundles for easy distribution, plugin UI, APIs, callback hooks, and more.
- Object Model Reference - the Indigo Object Model (IOM) and how to use it in Python in both plugins and scripts.
- Scripting Tutorial - dive into scripting Indigo by examples.
- Server Plugin Tutorial - examples of extending Indigo via plugins.
- Indigo Plugin SDK includes example plugins with full XML and python source. They are a great place to start when developing new plugins (or when upgrading a plugin to Python 3).
- Integration APIs - these are used to integrate Indigo control into other systems (i.e. Shortcuts, etc)
- HTTP API - a new API which replaces the legacy REST API. If you need to convert, check out the REST to HTTP API Conversion Examples page for some examples to get you started.
- WebSocket API - this API allows more modern integrations by opening persistent connections to Indigo and receive updates to all of the major Indigo object types as changes are made. You can also send commands through this WebSocket to control devices. It's extremely fast and should make for some great 3rd party clients and other integrations (our new Indigo Touch for Web UI uses them).
- Integrations
- Apple Shortcuts - a new How-To document on how to use Apple Shortcuts with Indigo with the HTTP API.
- IFTTT - a primer on how to integrate IFTTT and Indigo using the HTTP API.
- Home Remote - a step-by-step tutorial on making a Geofence action that updates an Indigo Variable using the Home Remote app and the HTTP API.
Check out the release notes specifically for API revisions so you can more easily locate new features and changes.
Want to add your plugin to the Plugin Store? It's simple: review the Plugin Store Submission Guidelines and then add it from your Indigo Account.
A note about version numbers: As we've revised the Python IOM API and added features, we've incremented the API version number. The API version number takes the form of X.Y - where X is the major version and Y is the minor. We will increment the minor version any time we implement new functionality (but old functionality remains the same). We will only increment the major version if we implement a change in the API that will break backwards compatibility. See the API version chart to see which API versions were released in which Indigo version. Also, the HTTP and WebSocket APIs have versioning built-in to their respective URLs: /v2/api
, so if we make any breaking changes in the future, we will bump that version number.
Z-Wave® is a registered trademark of Silicon Labs. Indigo's support of Z-Wave hardware is neither endorsed nor certified by Silicon Labs.