Announcing Indigo 2025.1.0 October 23, 2025

Announcing Indigo 2025.1

We're very pleased to announce the release of Indigo 2025.1. The main focus of this update is the new event data mechanism that allows actions to get information about what caused the action to run, support for arbitrary webhooks from external services, a bunch of new Z-Wave definitions, and interface additions and improvements.

Event Data

For many years, users have been asking if it's possible to know what caused an action to fire - be it a trigger, schedule, action group execution, etc. The plumbing required to implement this functionally is non-trivial, so we've put it off as there are workarounds for most situations. Now, we have made the necessary under-the-hood changes to allow events (both built-in to Indigo and through plugins) to pass through information about the firing event so that conditional scripts and actions can use this data in logic further downstream.

The majority of events that Indigo supports, device changes, variable changes, the new webhook functionality (see below), etc., now pass through data about the trigger that fired the action/script. Schedules now also pass through information about the schedule that fired the event, and action group executions from scripts will now optionally accept an arbitrary dictionary of data to pass through.

Many of the actions that are included in Indigo now support event data, either as new action functionality or via the new substitution markup (%%e:"PATH"%%) where path describes the part of the data requested (https://wiki.indigodomo.com/doku.php?id=indigo_2025.1_documentation:substitutions).

Conditional Python scripts and embedded python scripts will automatically have access to a variable, event_data, that will contain any data passed through the event chain (if available). They can then use that data in any logic necessary for the user's scenario.

3rd party plugins are also allowed to use this extra data. If a plugin provides trigger events, it can provide any data it believes would be useful to users throughout the event chain processing. Likewise, plugins that supply actions can use the event data beyond just substitutions - the full dictionary is passed through if the action code accepts it -- and they can use that data in any way.

This feature is going to allow you to simplify their solutions, and we know you guys will love it.

Webhooks

Another request that we've seen growing over the past couple of years is support for arbitrary webhooks. These hooks, provided by hardware vendors (UniFi Protect, Wireless Tags, etc.) and software vendors (Locative.app, etc.), are unsolicited HTTP requests of varying formats. In the past, if a user could configure the sending payload to something that matches the HTTP API, then they could be directly supported that way. However, most providers have a relatively fixed data format that they send through the webhook.

Our new mechanism will support any kind of webhook (GET, HTTP POST args, HTTP POST JSON), and supports all the standard authentication that the Indigo Web Server supports (Authorization header, api-key on url, etc.).

This feature opens up Indigo to an even broader array of hardware and services. It also lays groundwork for future functionality that, in combination with event data, will really turbocharge integration solutions. We can't wait to see what you guys build!

Additional Z-Wave Device Support and Changes

This release adds/enhances Z-Wave support with the following changes:

  • Added additional Aeotec Multisensor 7 version
  • Added Airzone Aidoo Thermostat
  • Added Cooper/Eaton Wireless Receptacle
  • Added Fibaro Roller Shutter FGR-224
  • Added First Alert (Residio) SMC0410 Smoke Detector
  • Added Honeywell (Residio) T6 Thermostat
  • Added Zooz ZEN35 Dimmer Scene Controller
  • Updated Zooz ZAC36 Valve definition
  • Added Zooz ZSE50 Siren
  • Added Zooz ZEN54 0-10V Dimmer Switch
  • Added Zooz ZEN57 240V XS Relay
  • Added Zooz ZEN58 Low Voltage XS Relay
  • Added Zooz ZEN75 Heavy Duty Switch
  • Added support for the Aeotec ZWA060 Z-Stick 10 Pro interface
  • Added support for various Zooz devices in the Zooz Brand Specific Control actions
  • Added additional list reordering so all Z-Wave device popups in various places are consistent
  • Fixed typo in NAS-DS01 model name

A big thank you to Zooz, who sent us several of their new devices to test with. It makes it much faster and easier to add model definitions/code when we have the physical device to test with. Particularly for devices that have significant changes to operation based on how they are configured.

Other Changes

  • We've added great new list views in Indigo Touch for Web for all object types, along with several other enhancements and a few bug fixes. ITW is really starting to shine as a great cross-platform control option.
  • We've fixed a couple of minor Tahoe-related bugs.

Developer Enhancements/Improvements

We always do some changes to support the more technical users who we like to call developers (though that can cover users who write scripts as well). For this release:

  • Added a new boolean conversion utility function, indigo.utils.str_to_bool() , which will help scripters and developers alike convert various strings to Python booleans (open/closed, locked/unlocked, on/off, yes/no, etc.).
  • We also added a indigo.utils.reverse_bool_str_value() which will get the reverse value of a string boolean. For instance, calling it with "open" will return "closed", "no" will return "yes", etc.
  • Added iterators to both Trigger and Schedule instances so that they can be converted to python dictionaries using dict(indigo_obj).
  • Standardized debug logging and other items in various plugins in the SDK.
  • Added new event_data parameter to all action handler methods to pass in the new event_data dictionary from the event chain.
  • Added a new optional parameter, event_data, to the indigo.actionGroup.execute command to accept an arbitrary dictionary that will be passed through to any actions that support the new Event Data mechanism described above.
  • Fixed Pillow module version install issue on older macOS versions.

Updates from our 3rd Party Developers

As usual, we want to recognize our 3rd party developers and a small group of beta testers for helping us with the development of Indigo 2025.1. They provided development support, documentation contributions, extensive testing and significant plugin updates. We're grateful to have a group of dedicated individuals helping us to keep Indigo alive and thriving.

Here's a list of new plugins since the last release:

  • Auto Lights - Auto Lights is a lighting automation plugin for the Indigo Home Automation system.
  • Cynical Infinity - Talk to a Carrier Infinity system (or two).
  • Device Timer - Plugin to Report various usage states of Indigo and plugin devices.
  • Ohme - Plugin to integrate Ohme EV chargers.
  • Schlage Encode - Indigo plugin for Schlage Encode locks.
  • SmartRent - Integrate SmartRent with Indigo.
  • SolarSmart - Use Solar Generation and Power usage to Control Loads in an intelligent fashion depending on constantly updated Solar Generation.

Here are plugins with updates since the last release:

Summary

This release represents some great new functionality that we've been wanting to add for a while. It gives users even more flexibility when integrating other services and simplifying automation logic. Something that we didn't mention above was the significant amount of work that was done to expand our automated testing environment. While this isn't something that users will directly see, this ultimately will make Indigo even more reliable and will make doing significant upgrades more reliable. We have an upcoming Python update as well as moving our software to compile with the new macOS Tahoe and Xcode 26. This is going to require a lot of effort and testing to make sure that we don't introduce bugs as we attempt to keep up with Apple's SDKs. Spending time and effort on even more automated testing will make these tasks a little safer and keeps our releases as reliable as possible.

Note: this release may not be available to all Indigo customers for free. Specifically, if you've allowed your Up-to-Date Subscription to lapse, you won't have access to Indigo 2025.1. Select the Indigo X.X->License Details... menu item in the Indigo Mac client to see the details of your subscription. You can also check the Licenses section of your Indigo Account to see the subscription status and the last version you are eligible to use, or you can go to the new Downloads Page (make sure you're logged in to your Indigo Account) to see which releases you can download and use.

Many expired subscriptions are not yet past their catch-up deadline date, so you may be able to catch up your subscription to get access to Indigo 2025.1 (otherwise you'll need to purchase a new license). As mentioned above, you'll need an active subscription not only to upgrade to 2025.1, but also to use an Indigo Reflector, Alexa integration and API key functionality.

Thanks for your continued support and we hope you'll love all the new features and enhancements of Indigo 2025.1!

Back to article list