Home Automation with Indigo (Indigo Domotics)


For about ten years home automation has been a hobby of mine. I started out with X10 devices, added some Insteon devices and have since fully transitioned to Z-wave and a couple of wifi-based devices. I’m currently using Indigo 7, a software application for macOS. Though I’ve used a Wink controller at another property, I’m fond of Indigo due to it’s excellent support for plugins and scripting, which offers the ability to do far more than any stand-alone controller can do.

This page is a collection of tips for customizing an Indigo system. The software developers provide excellent support; if you’re trying to do something that I haven’t mentioned then be certain that you review their technical documentation and visit the support forums.


  • Toggling status variables in Triggers, Schedules and Actions for virtual devices seems to be more reliable than toggling the actual virtual devices
  • Use the ID when referencing Indio variables, devices, etc in Python scripting so you won’t need to update the code if you change a name.
    • For example, use indigo.variables[872936515] instead of indigo.variables[‘Master Bedroom Light’]
  • Growl notifications pushed to Prowl is a great way to send notifications to iOS
  • You can save the current state of a device into variables and then restore it via scripting (useful for visual notifications)
  • In some cases it may work better to use a Schedule that checks conditions on a regular basis instead of a Trigger

Blog Posts