Contribution Library

Looking for some cool graphics for your Control Pages? Want to integrate your smart home with other software? Need to see some example Indigo Python scripts to help you get started?

Below are some great user contributions for working with Indigo in different ways. Additionally, some of these are excellent tutorials-by-example, so fire up your favorite editor and see how they work. Be sure to check out the Plugin Store for more direct integrations with Indigo from our amazing third party developers.

 Do you have a script, some graphics, or other things that you'd like to share? It's easy to add new items to the library.
Disclaimer: Indigo Domotics does not guarantee the usefulness, quality, or safety of any scripts on this page. We have personally used a few of these contributions, but be careful and use common sense when installing and using any software or scripts.

Accessibility and Assistive Automation (6 files)

Type Name Version Overview


Accessibility and Assistive Automation Indigo 2.x-4.x

These two attachment scripts define a suite of AppleScript functions that are callable from Indigo Actions (or other Applications) to sequentially target and control Devices and Actions Groups. This allows users to easily, and with only a couple of actions, select any Device or Action Group as a target. The targeted Device can then be controlled (on/off/dim/brighten), and the targeted Action Group can be executed.


Find my iPhone Indigo 3.x-4.x

This plugin uses mobile me to locate your iphone, and display it's location on a Google Map. It also will attempt to calculate the distance from the latitude & longtitude that you supply to your iphone.


Garage Door Auto-Close Indigo 2.x-4.x

I needed a script that would reliably close my garage door. Using the I/O Linc (Model 2450 -- 1 input & 1 output set to momentary ON) and the magnet from the garage kit I had all the info required. I wanted the script to address situations where a momentary ON (i.e. button press) would not result in the door closing. This could occur if the door were partially opened (button press may open the door fully instead of closing it) or if the door sticks occasionally and 'rebounds' to the open position. I limit the number of close attempts to five so that the motor doesn't burn out if things go haywire.


Spoken Weather Forecast (ver 1.0.1) Indigo 2.x-4.x

This script downloads and speaks a weather forecast from through your computers speakers.
Note: This script expects the weather report to be in English. That is reasonable since the documentation and support pages for Indigo are in English and it is probably safe to assume that if you found this script you speak some English. BUT: If you would like to use a language other than English for your reports, this script can be tuned to other languages and alternative web sites. If you need help doing this, post your request to the Indigo "Indigo & Applescript" forum. Update 1.0.1 includes revised instructions for locations outside the US and Canada and corrects a minor error in the instructions on changing the number of periods reported.


Sunrise Simulation script Indigo 2.x-4.x

Simple attachment script that raises the brightness of a light over time to simulate sunrise. Useful for those of use that hate getting up in the dark to go to work.


Trigger an action when a paticular wireless devices associates to an airpor Indigo 2.x-4.x

I do this to detect my blackberry and my wife's iphone by watching for them to login to our airport routers. It's a hacked up version of someone else's script that I found online. Some caveats: \- The airport extreme seems to not like being polled so often, I have to reboot it once a day (I have a controllable PDU in my rack) to keep it happy. SNMP stops responding, it otherwise is fine. The airport express does not seem to have this problem, I complained to apple. \- The iphone will disable the wireless if not plugged in and the screen lock kicks in \- You would need to work out the SNMP OIDs for the MACs of your devices with snmpwalk. \- You need to do the snmpwalk before the snmpget's or it has stale info (I'd love to know why?) \- The time appears to be an epoch in hundredths of a second since boot. \- I use this to turn on our outside lights at night when we arrive. It's sort of hit or miss whether the clients associate fast enough for this to be helpful. Credit to: \-- Daniel Chote ( \-- Date: December 1, 2007

Administration (2 files)

Type Name Version Overview


Indigo Server Stop Indigo 2.x-4.x

This shell command script will terminate the Indigo Server (and built-in Indigo web server). It will also disable the "auto start on user login and auto relaunch if crash" behaviour. This will allow you to prevent the auto relaunch of the server if it ever starts misbehaving for any reason. NOTE: requires 3.0.6 or greater.


Maxi Controller Indigo 2.x-4.x

Maxi Controller is an application (not a script) that displays a working GUI of the Maxi Controller transmitter. It was written by Frank Nicholas in AppleScript Studio and uses Indigo to transmit the X10 addresses and commands. The source project is also available for download and is a great example of using AppleScript Studio to extend Indigo.

Application Integration (17 files)

Type Name Version Overview


domotics.bundle Indigo 5.x-6

Plugin for that will allow control (on/off/dim) of selected devices remotely using RESTful URLs through IndigoServer using Spotlight (Yosemite only). Tested on Indigo 6.0.18 installed on a MacMini running OS X 10.6.8 using Spotlight on OS X Yosemite 10.10.1. This should work with any version of Indigo.


Get GPS location from a device running Instamapper & store it in an Indigo Indigo 2.x-4.x

Script to get the location of a cellphone from Instamapper Lookup the location with geoNames and update Indigo with the location.

- Assumes that your account on Instamapper has been setup and API access enabled
- Instamaper stipulates the API not be called more frequently than every 10 seconds
- Geonames offers 50,000 API "credits" a day in their free service. Each lookup in this script uses 1 credit.
- If run every couple of minutes it should be well within their rules as this time.


Google Latitude Integration Indigo 4.x-6

This applescript, coupled with the OAuth shim available at allows you to populate a couple of variables indicating a device's distance to your home. Send yourself an email if your garage door opens but the user is not near by.

Modified from Instamapper script.


iCal Indigo 2.x-4.x

Visit Greg Smith's web site for information on his iCal integration script, which lets you log Indigo events (lights on/off, motion, etc.) into iCal.


iCal Alarm Processor Indigo 3.x-4.x

This script will process iCal alert emails and perform several functions:

  1. It will optionally speak the event name and time
  2. It will optionally execute an Indigo Action Group
  3. It will optionally look for specially formatted directives in the Notes field of the event that will tell Indigo to perform various actions (see the wiki post for details)

    See the official wiki post for details.


iMessage/Messages/Siri Indigo Control Script Indigo 5 only

This sample script demonstrates how to control Indigo from Siri utilizing iMessage on the iPhone and Messages on the Mac. Please consider this a proof of concept, since I'm not a programmer capable of making a polished app. However, it works great in my setup and most of the functions are generally useful in other installations.

I've only tested the solution in Indigo 5 since I haven't tried Indigo 6 yet. However, assuming Indigo 6 still works with Applescript, there should not be any problem there.

This is my first submission so I hope it's complete enough to be useful.


Indigo Plugin for Plex Indigo 4.x only

The Indigo Plugin for Plex duplicates much of the functionality of Indigo's web and iPhone clients, making it possible to control your home automation system with a click of the remote. This plugin should work equally well when Plex and Indigo are on the same machine, on different machines on the same intranet, or across the internet.


Indigo Widget 1.3.2 Indigo 4.x only

Indigo Widget is a Mac OS X Dashboard Widget that provides minimal Indigo access of Devices, Variables, and Action Groups. Note the widget communicates with Indigo Server via AppleScript, which is an Indigo 4.x Pro only feature, and thus is not compatible with Indigo 4.x Lite.


iTunes Indigo 2.x-4.x

The iTunes attachment script defines several AppleScript functions for controlling iTunes from Indigo. These functions can be called from Indigo Execute AppleScript Actions or from within any AppleScript _tell app "IndigoServer"_ block. The script also listens for X10 A/V commands (stop, play, vol+, vol-, etc.) from the MR26 or W800RF32 and passes on the commands to iTunes. This functionality requires an X10 "Entertainment Anywhere" remote control, like the UR81, and a MR26 or W800RF32 RF receiver interface.


iTunes - Speak Song Info thru iTunes Speaker(s) Indigo 2.x-4.x

This script pauses the song currently playing on iTunes on the computer running Indigo, speaks the song, artist and album, and then resumes playing the song at the same point.


iTunes Play Album of Current Track Indigo 2.x-4.x

I usually listen to my main library in shuffle mode, but quite often a track comes on and I say "I'd like to hear this album in its entirety, in correct track order. With this script I can issue an X-10 command that causes iTunes to create and play a new, non-shuffled, non-repeating playlist consisting of the album of the current track, sorted by track order. The script will announce "Now playing [album] by [artist]". When iTunes is stopped, either by user action or by the playlist finishing, iTunes will delete the playlist and resume play in the main library at the next song by a different artist.


iTunes, Pandora, AirFoil Integration Indigo 4.x only

This package is used to simplify access to and inneroperability of three applications:

  • iTunes

  • PandoraBoy ( - Plays Pandra "radio stations"

  • AirFoil ( - used to send audio from any application to the AirPort Express units, apple TV(not just iTunes)

My goal is to have a way to control my whole-house audio system that plays iTunes, Pandora and making announcements.

if iTunes were the only application involved, access is very simple - and the fitures in the scripts included in Indigo would more than suffice. When one adds the complexity of adding Pandora to the mix, it gets a little more complex:

  • AirPort Express devices only work with iTunes by default

  • Pandora - a web service - is not easily controlled with Applescript.

  • Most likely, you would not want iTunes and Pandora playing simultaneously. A random mashup of Cake and AC/DC is less pleasing to the ear than one might expect.

A quick note on Pandora: After some brief testing with Pandora, I quickly learned that paying for the "Pandora One" is a great value. The environment described here is not intended for use with the ad-based, free Pandora experience - the frequent pauses and ads make the environment unworkable.

To solve the above issues, two applications were required:

  • AirFoil - an inexpensive (but not free) application that allows sending audio from any application to Airport Express devices, Macs, Apple TVs, iPhones and iPod Touches.

  • PandoraBoy - a simple wrapper application that allows AppleScript control of the Pandora web-based service.

Indigo Plugin

Mac Commander Indigo 5.x-6

This plugin allows you to perform actions on any Mac in your network, whether it is the Indigo server or not. What you can do is only limited to what Applescript can do on the given machine.

At its core this plugin is a Python program that executes Applescript commands on your desired machine. While this is easily accomplished using Indigo's scripting, I wanted to be able to take it a step further by having an On/Off state associated with the command.

For example (and why I built this in the first place): I have Plex running on one of my Macs in the house (not the Indigo server) and wanted to be able to turn the Plex Server on and off at will. I accomplished this easily with some Indigo scripting but it was just firing into the blind. What this app does is allow me to assign an "On" command (start Plex server), and "Off" command (stop Plex server) and a "Polling" option to see if Plex server is running or not and dynamically turn my "device" on or off as a result.

More information and documentation with screenshots can be found via this link


Updated iTunes sync script Indigo 5.x-6

Added variable genre for current track. Needed this because I want to change moodlight (Philips Hue) depending on genre played.

IndigoWebServer Plug-In

Weather Display Mac - Indigo Webserver (IWS) Plug-in Indigo 2.x-4.x

This plug-in allows Weather Display fMac data integration with Indigo Web Server (IWS).

Weather Display is the most popular weather station software on the Windows PC and now has been ported to the Mac. It supports a myriad of personal weather station hardware from almost all manufacturers  (Davis, Lacross, Irox, Oregon Scientific, Ultimeter, Weather Hawk, Rainwise, Texas Instruments, Dallas 1-wire, and others) as well as Internet based weather sources.

And it now supports data transfer straight in to Indigo variables. Read more about WD Mac here:

The WDMac Plugin goes to work as soon as you install it, waiting for the data you have specified to arrive from Weather Display. If the variable has not been created the plugin will do that for you also, and name the variable based on the field definition you configured in Weather Display. Very cool.


WeatherCat to Indigo Data Indigo 6.x-7

WeatherCat monitors your current weather using a sensor array and a console, like a Davis Envoy. There are many other sensors and consoles that it supports.

Using the XML file below as a template, WeatherCat populates another file with realtime data. Please see the WeatherCat documentation for details. There are many more values you could add or delete to suit your situation. The .py file is used by Indigo to push the realtime data into indigo variables.


WeatherSnoop capture script Indigo 2.x-4.x

This script will initiate a telnet session to WeatherSnoop, capture its output, and parse it into Indigo variables.

It will create the variables as needed, each of which will be prefixed by "ws_".

Code and other Developer Stuff (3 files)

Type Name Version Overview


Clean and Zip Plugin Indigo 7+

Call this script to remove unwanted files (.pyc for instance) from a plugin, then zip it up for distribution to users.


Variable Watcher Indigo 5.x-6

This script is a Python library for Indigo that will examine a variable value, and if that value is the name or ID of another variable, it will examine that variable's value, recursively. When it finds a name or ID that's not a variable, it will check to see if it's an action group and if so it will execute that action group.

This allows the user to create a tree of choices that can easily be traversed until it finds what the user wants. It's used in the Advanced Thermostat Adjustment wiki article but can be used in a variety of other ways.


XML Template for Device UI Icon Selection Indigo 2022.1+

An XML template for selecting custom device UI icons within a plugin.

Hardware Integration (33 files)

Type Name Version Overview

Indigo Plugin

APC PDU Control Indigo 5.x-6

APC has several models of Ethernet enabled Power Distribution Units (PDU). These devices have power outlets that can be remotely switched On or Off from a web interface or SNMP commands.

This Indigo plugin controls the On/Off function of outlets on APC's MasterSwitch PDUs

This plugin should work with any APC MasterSwitch device. It does not currently work with MasterSwitch VM or MasterSwitch Plus Units.

Indigo Plugin

Aprilaire Thermostat Controller Indigo 5.x-6

This Indigo 5 and Indigo 6 (beta 7) Plugin supports one or more Aprilaire Communicating Thermostats over a StatNet Network. This has been tested with an Aprilaire Model 8870 thermostats, and Aprilaire Model 8800 thermostats. Both can exist on the same StatNet network at the same time. This Plugin is now fully integrated into the Indigo Thermostat device model.

Up to 32 Thermostats can be controlled over the one StatNet communication network but the practical limit would be 4 to 8 thermostats on a single network. Each thermostat supports unto 4 remote sensor modules, with two remote temperature or humidity sensors per module connected on each thermostats' local RS485 bus. The Aprilaire thermostat can be hardware configured as a Thermostat or Humiditstat Controller. These remote sensor modules and controller types are supported by the plugin.

A typical configuration would include:
-- Thermostat Model 8870 or 8000
-- Protocol Adaptor 8811
-- Distribution Panel 8818 / 8819
-- Remote Sensor Modules 8062 / 8082 or 8061 / 08081
-- Remote Sensors 8051 or 8052

Note: Please check the Aprilaire documentation when mixing the older and newer generation components. There are some considerations required.

Communication has been tested with a "local connection" USB - Serial to the 8811 Protocol Adaptor as well as "Net Socket connection" through Global Cache GC-100-12 Serial to the 8811 Protocol Adaptor.

Indigo Plugin

Battery & UPS Monitor Indigo 5.x-6

The Battery & UPS Monitor plugin will allow Indigo to monitor any UPS that can natively connect to Mac OS X (typically through USB). This plugin uses the UPS support built-in to the Energy Saver System Preference & Mac OS X, to monitor the status of your UPS and/or Laptop battery.


BrightenWithRate Indigo 4.x-6

BrightenWithRate 1.0

This is an Indigo Pro 4 and 5 compatible Attachment AppleScript which allows you to set the on-level (brightness) of an INSTEON dimmable device, specifying a ramping time that is different from the device's programmed default ramp rate.

This has been tested and found to work on Smarthome SwitchLinc Dimmers, LampLinc Dimmers and KeypadLinc Dimmers.  It should also work on In-Line Linc Dimmers and the dual-band versions of these devices.  It may or may not work on other INSTEON dimmable devices (like ICON dimmers).

Indigo Plugin

Caddx NetworX Security Panel Indigo 6.x-7

Indigo 6 Plugin for Caddx NetworX Series Security System


It is a comprehensive protocol implementation of Caddx NX-584 RS-232 Gateway Interface Protocol (April 2000) spec.

This should work with the Caddx NX-584 RS-232 Gateway Interface for the Caddx NX-4, NX-6 and NX-8 but I do not have the hardware to test this. It has only been tested with NX-8e.

The following is a list of supported message transactions:

- Interface Configuration Request/Message (read interface configuration parameters in alarm panel)

- Zone Name Request/Message (read alarm panel configured "Zone Name" if supported by KeyPad (NX-148e only))

- Zone Status Request/Message (read completed status of the request "zone x")

- Zone Sna

IndigoWebServer Plug-In

Cisco IP Phone Integration plugin - Control Indigo from Cisco Phones Indigo 4.x only

This plugin controls from Cisco SIP Phones.

If you don't know the Cisco IP Phones, they come in different flavors. The 7971GE has a color touch screen and runs about at US$200. Probably one of the cheapest HA Touchscreen controllers you can get considering that you get a great SIP phone thrown in.

There are also other model like the Cisco 7961GE at about US$100 with the same functionality minus the touchscreen and color.


Enphase Solar Envoy-S Plugin Indigo 6.x-7

Enphase Envoy-S Plugin (including per Panel Individual Data/Monitoring)

Emphase is a per panel solar generation solution - via the use of roof based microinverters. This plugin monitors each panels output, and reports all useful data from the solar Enphase system via the Envoy-S. See & For a international map of their thousands of installs see. (last count I see 540,000 installations.... :P ) (gotta be some Indigo users out there ???)

This Plugin connects the the local Enphase [Envoy-Sdevice and pulls all information; including individual panel output (regardless of whether you have that option with your install)

It connects locally to the envoy device - and does not use the enlighten / web-service API. The local connection provides much more information, is more UpToDate and can be pulled every few minutes without problem. Having compared the two over some time there is no comparison to this minute-minute data.

Indigo Plugin

Evohome Plugin Indigo 6.x-7

This plugin is for the Honeywell Evohome heating system.

Indigo Plugin

Find My iDevice! Indigo 5.x-6

This plugin allows you to remotely monitor the GPS location of your Apple "Idevices" (iPhone, iPod Touch, iPad, etc).  This uses the Find My iPhone service, to locate your devices. In addition, you can remotely lock, locate, and wipe your device through the Find My iPhone service through this plugin.


Howto update from Aeotec gen2 to Aeotec Gen5 or UZB without rebuilding your Indigo 5.x-7

A backup of the Aeotec stick is not available. So we cannot directly move the network to the new controller by simply unload and reload. The only way to move the network to the new Gen5 (or UZB) stick is to use the old Zensys Tool named ZwaveController.


Indigo Touch Radio Control Page with Dynamic Buttons Indigo 2.x-4.x

This is a tutorial for creating a radio control page for your AV or whole- house audio system. Because it is based on presets, it is easy to update new stations. To eliminate page clutter, this control page uses dynamically updated buttons that change to the appropriate stations depending on if AM or FM is selected.


Jandy Aqualink Pool / Spa Control (Serial X) Indigo 2.x-6

This set of scripts provide Indigo support for controlling a Jandy Aqualink RS through SerialX and a Jandy Aqualink RS Serial Adaptor. _[The script has been revised to use SerialX rather than Serial Bridge, as Serial Bridge will not operate in Mac OSX Lion.]_

Indigo Plugin

Jandy Aqualink Pool/Spa Plugin Indigo 5.x-6

This plugin supports the following configurations of the Jandy Aqualink RS:

RS-4 Pool & Spa Combo
RS-6 Pool & Spa Combo
RS-8 Pool & Spa Combo
RS-2/6 Pool & Spa Separate Equipment
RS-4 Pool or Spa Only
RS-6 Pool or Spa Only
RS-8 Pool or Spa Only

Indigo Plugin

LightwaveRF Plugin Indigo 5.x-6

This plugin implements LightwaveRF dimmers and appliance modules as native Indigo devices, so they become available and controllable from the Indigo Touch iPhone/iPad App. This is a 3rd party plugin, but the developer of this plugin is no longer providing support. It is provided as-is for those wishing to use or modify it.


LP Tank Remote monitoring with text alerts Indigo 5.x-6

I had been looking for a solution to remotely monitor the level LP gas in my outside tanks with Indigo for years. I gave up waiting, and decided to create one myself. I'm happy to say that it has been working quite reliably for a year now. I can see my tanks' level (as a % full value) on my control page, and get text alerts when the level passes thresholds I choose, and also when the propane company comes and refills it while I'm away.

This solution operates over ZWave and requires two special hardware items, a MimoLite, and an R3D Hall Effect Module. More detail in the attached document.

Please note that I am not an electrician or plumber. I believe this implementation is very safe, and the R3D device is intrinsically safe, per the Rochester specifications. Having noted that, install this solution at your own risk. Please feel free to contact me if you find any information you feel is incorrect.



Marantz Control Protocol Doc Indigo 6.x-7

IP/Serial Control Protocol Document for all Marantz receivers.

Updated May 2013

From Marantz tech support

Indigo Plugin

Master Irrigation plugin Indigo 5.x-6

The Master Irrigation plugin allows you to create virtual Indigo devices that correspond to real irrigation zones connected to an INSTEON or X10 sprinkler controller. The advantages of the plugin are that the multiple controllers can be collectively managed to allow an unlimited number of zones. Also, each zone can be scheduled independently of all other zones allowing you more precise control over your irrigation.

Indigo Plugin

miDoor Internet Garage Door & Gate Controller Indigo 6.x-7

miDoor is an Internet-enabled device that allows users to remotely view their garage door and/or gate status and open or close it with an iPhone, Android device, iPad or a Web-browser.

Connect miDoor to an existing garage door switch, add the door sensor and then set the basic configuration. From there you will be able to create multiple user-profiles, view the door status anywhere in the world using your iPhone, iPad or a Web-browser and open or close the garage door using your iPhone, iPad or Web-browser.

Alarms can be created that can notify you if the door is activated at unexpected times, is left opened too long, or if activated by a specific user. Alarms status is visible by LED, from an iPhone, iPad or Web-browser and/or by receiving email notifications.

No longer will you have to worry about who gets the two standard issued remotes from the garage door opener nor have to worry about trying to program the garage door openers in your car, miDoor will allow up to 36 unique user accounts to open or close the garage door using an Android device, iPhone, iPad or Web-browser.

Every time the garage door is opened or closed it is logged into an event buffer. View the log and get a history of the events with the times in which they occurred.

Indigo Plugin

Niles Audio Receiver Indigo 6.x-7

This Indigo 6.0+ plugin allows Indigo to control a Niles Audio Multi-Zone Receiver (ZR-4 or ZR-6) without the need to purchase additional keypads or control points from Niles Audio (though the plugin can work in tandem with those as well.) This plugin connects via a serial connection to the Niles Audio Receiver and is able to both read and set nearly all aspects of the device.


Ocelot to Indigo Serial Bridge

This set of scripts from Martijn Heeroma provide basic Ocelot support from Indigo. Once installed you can use the Ocelot for sending IR and X10 commands and you can read Ocelot's sensor inputs.

Indigo Plugin

Plugin for Aviosys IP9258 IP Power Switch Indigo 5.x-6

The AVIOSYS IP9258 is a 4 outlet power distribution switch that allows individual outlets to be switched on & off

remotely via a wired Ethernet connection. This plugin extends the Perceptive Automation Indigo Mac

home automation application to support the IP9258 and allow each outlet to be configured and controlled as a separate

device. Models supporting UK, European & US power outlets are available.

I've used these to replace X10 appliance modules where a number of devices need to be

controlled within a small area (e.g. behind the TV) or where the devices being switched

require a higher degree of reliability than can be achieved using X10.


Proliphix Thermostat Query Script Indigo 2.x-4.x

Here is a simple script which defines a method to query a Proliphix thermostat, grab the main zone temperature, and put it into an Indigo variable.


Python script for controling Samsung Smart TV Indigo 5.x-6

With this script I can turn of my Samsung TV in the kitchen. Control codes are included for other functions like changing channels, volume or input. The only thing it cannot do is turn on a TV. Wake On Lan was available a short time but Samsung disabled that possibility in a firmware upgrade.

All credits go to the good folks at the Samygo forum who disected the iPhone/Android remote app.


Rain8M Set Address Indigo 2.x-4.x

The Rain8M Set Address application allows you to automatically send the X10 command sequence to the Rain8M for setting the unit's house code. This lets you to set the Rain8M house code without needing a USB to serial adapter to connect it to your computer.


RCS Thermostat Attachment Indigo 2.x-4.x

The RCS thermostat attachment script by Bob Easterday provides 2-way communication between Indigo and the RCS TX15/16 thermostat.

Indigo Plugin

Sharp TV Network Remote Indigo 6.x-7

This plugin allows Indigo to control Sharp AQUOS televisions via their network (IP) control protocol. Sharp's protocol is very robust and, as a result, this plugin is able to both read and set nearly every aspect of the television - from volume/channel through configurations such as picture mode, aspect ratio, etc.


SMA Sunnyboy Solar Inverter (SMASpot) Indigo 6.x-7

Imports values from solar inverters made by SMA - the SunnyBoy line. This may work with other inverters that SMASpot supports. You must have SMASpot installed. Script also generates variables for IndigoPlotD for easier addition of all the data to graphs if you have that system running.

Indigo Plugin

Sony Bravia Network Remote Indigo 6.x-7

This Indigo 6.0+ plugin allows Indigo to act as a remote control for select network-connected Sony devices. All commands/buttons found on the standard, included remote can be sent to the device as well as a multitude of additional commands generally available only through network or advanced universal remotes. The protocol exposed by Sony devices, and utilized by this plugin, does not allow for state information about the device to be obtained (such as what current application/channel is active or what input the television is currently showing). If the protocol is changed or a device comes out that does provide feedback then it may be possible to enhance the plugin at that time.

Indigo Plugin

Tado Thermostat Indigo 5.x-6

A read-only Tado Thermostat device plugin for Indigo that will poll the Tado API every 30 seconds and update your Indigo thermostat device.

For more information, instructions and support please visit this link


Tesla Model S Geofence scripts and files Indigo 6.x-7

If you have a Tesla Model S you may or may not be aware that Tesla exposes an API that lets you get, among other things, the location of the car at any given time. The values are returned as GPS coordinates. This is quite handy for setting up something like a geofence whereby you can have actions occur when you hit certain distances from your house. This is similar to the geofencing others have described this works very well given that the Tesla can very acccurately tell you where it is.

I'm attaching my scripts (cleaned of my location data/passwords/private stuff) by which I track where my car is and speed up polling as I approach home. Note you should not poll too quickly (> once every 10 seconds) or Tesla will block your IP (and then you have to reset your cablemodem and other funky things). Note you'll need to find similar landmarks near your house via google maps or apple maps and then grab the coordinates from the map to plug into this script similar to this format: 46.455135,-102.761278

There's two parts to this system. One is the AppleScript which manages Indigo and the triggers/variables, and the other which is a shell script which calls the Applescript at set times (again, never > once every 10 seconds). The shell script is running continuously, in the background. Note this also ties in to the I/O Linc that controls my garage door opener.

Also note that I have a second Mac that gets sent the Tesla's location. It then opens up Apple Maps (on my non-primary Mac) and shows the location of the Tesla.

Hit me up with questions if you have any.


Venstar Thermostat Usage Monitor Indigo 4.x only

Here it is, an attachment script that will allow Venstar Insteon Thermostat users to monitor their daily usage of AC, Heating, and Fan usage… This is a basic attachment script that is designed to extend Indigo…

When installed, the changes are most noticeable in the Log file…

Received INSTEON "Furnace Link" off (button 2)
Thermostat Insteon Thermostat Event being processed
Thermostat Thermostat requesting Heating - Off
Thermostat Furnace Heat Ran for 14 Minutes
Thermostat Thermostat Event Processing Done


WeatherSnoop using AppleScript verbiage Indigo 2.x-4.x

This script pulls data from WeatherSnoop which is hopefully connected to weather station hardware


Xytronix Temperature Module - Update Version 2.0 Indigo 2.x-4.x

The Xytronix Temperature module can read up to 4 electronic thermometers and this AppleScript passes the temperature readings along to Indigo. The Temperature Module connects to your Local Area Network (or via the internet with proper routing).

Getting accurate and reliable temperature data is an important part of improving overall energy efficiency. Automatically controlling windows, shutters and shades, whole-house fans, heat exchangers, solar hot water", and much more is possible using Indigo, AppleScript and the Xytronix Temperature module.

Miscellaneous (22 files)

Type Name Version Overview

Indigo Plugin

Alarm Clock Indigo 6.x-7

Alarm Clock allows you to use any device, device group or Device Extensions device that support an On/Off command to be used as an alarm clock and be completely controlled via a Control Page.

For more information, support and installation please visit this link.

Graphics & Icons

Alternative Weather Icons Indigo 5.x-6


Here's a complete, I hope, set of NOAA weather icons that are named as the originals for ease of use.

Aside from being different graphically I have also modified the icons that are below a 50% probability to not reflect that weather

condition and instead show a "Fair" condition. IMHO it's more accurate to show the most likely condition to occur.


Graphics & Icons

Christmas Icons for Control Pages Indigo 5.x-6

Zip file with Christmas Tree and Christmas String Lights for use with control pages for Devices. Heuristics set for "On" and "Off" states.

DISCLAIMER: I don't remember where I got the Christmas Tree images's, but I fairly certain I got them from this website, so not claiming those as original work.

The Christmas String lights are taken from a Google search, where I just desaturated the "Off" state, and left the "On" state colorized.

Graphics & Icons

CP Icons Indigo 5.x-6

Various icons for TV, HVAC, lighting etc.


Dimming System Indigo 2.x-4.x

This attachment script from Greg Scherrer allows you to set up soft-fade dimming scenes with just a few simple AppleScript commands. Using the methods in the attachment script, you can easily start dimming, stop dimming, control how fast the dimming should occur, and optionally execute an action group upon completion.


Google Weather Sync Indigo 2.x-4.x

The script runs as a background task (see Setup for details), polling for the current and forecast weather using Google Weather API. If successful in obtaining the weather data, the script populates Indigo variables with a prefix "Google_Weather_".


How to build a relay box for your Appliancelinc Indigo 2.x-4.x

This How-to PDF shows you how to build a relay box so that an Appliancelinc can control a very small load, like LED bulbs.


Indigo Timer Script Indigo 2.x-4.x

This solution provides a generic mechanism for defining timers in Indigo.

It's based upon a background task that takes care of decreasing timer values.

All other timer related tasks are done using standard Indigo features like variables and triggers.

That's the brief description. For a full description, including detailed installation and usage instructions, please see the topic.


Indigo Tweet Indigo 3.x-4.x

Okay, it's only a one way integration, any Insteon device that supports a "turn on" or "Turn off" command will automatically be Tweeted when turned on or off, with the appropriate message…

For example:

Desktop lamp was turned on

Desktop lamp was turned off

And yes, there isn't too much sophistication here with this example script. Please feel free to make suggestions, and comments… I'd be happy to consider them for a newer version of the script…

Graphics & Icons

Korey's control page graphics Indigo 6.x-7

Here are the images used in my control pages


Label template for RemoteLinc 2440 Indigo 2.x-4.x

This is a simple PDF template that, when cut to the tick-marks, will fit nicely in a RemoteLinc 2440. It requires some kind of graphics application that can open and edit PDFs such as Adobe Illustrator or Acrobat in order to put in your own terms or change the colors. It's currently designed for a black RemoteLinc. If you want to make your own the size of the template is 2.43" x 1.27". If you want to match the font used on the RemoteLinc, I think it's Futura Medium.


NOAA Weather Announcer Indigo 5.x-6

AppleScript to read the NOAA Weather Web Text, clean it up, and read it out loud.

I have my Mac Mini connected to the whole house audio, so each morning I like the weather forecast read over the audio. This is what I created, with help from websites noted in the script.


NOAA Weather Script Indigo 3.x only

This is the script that's shipping with Indigo 4.1 (so don't download it unless you're using Indigo 3). It hasn't been tested with Indigo 3, but some users have reported that it works, so we're just providing it here.

Graphics & Icons

Phil's Control Page Icons Indigo 5.x-6

Phils iPhone control page icons Apple style. Includes all the PNG files needed to build the example interface in my post.

See my post

Graphics & Icons

Powered by Indigo Logo Indigo 5.x-6

Saw a request some time ago for something like this. It's a transparent .png so it will work on most any background.


Python Indigo Restful API Wrapper Indigo 4.x only

What is the Indigo Restful Interface?

The Indigo Web server, as of Version 4, includes a restful (Representational State Transfer) web interface. REST interfaces are an attempt to make a easy way to simplify access to server based data. Either sending data to the server, or changing the information on the server. Restful interfaces are quite useful, but since they are dealing directly with the server, they are often very low-level.

I have started to create a higher level python wrapper for it...

This higher level wrapper, simplifies the details by abstracting the process.

The code, is available from Google Code for the project.

What Does the API Support?

Currently the wrapper supports:

  • Added get_device_list, and get_device_by_name
  • Added set_thermostat_heating_mode, and set_thermostat_fan_mode
  • Fetch_devices_from_indigo
  • change_device_state_by_name
  • toggle_device_state_by_name
  • change_brightness_state_by_name
  • set_variable_by_name
  • get_variable_list
  • get_actiongroup_list
  • get_actiongroup_by_name
  • activate_actiongroup_by_name
  • get_variable_by_name
  • return_device_from_insteonaddr
  • return_device_from_x10_addr

Indigo Plugin

Smart Devices v1.2.5 Indigo 6.x-7

Smart Devices aims to become a collection of “meta” or “virtual” devices and “tools” that combines several other devices and logic to solve practical challenges.

The first Smart Device to be published is the “Simple Smart Thermostat”. It is a “virtual thermostat” device with simple but effective logic for controlling heating. This is done by selecting one or more temperature sensor device inputs, and one or more relay switches that control heater(s). Thus the heater(s) will be turned on and off according to the sensed temperature(s) and your “Simple Smart Thermostat” set point.

Smart Devices is released as "works for me software". I have changed versioning to reflect semantic versioning ( and dropped the "beta" annotation.

New in v1.2.0:

  • Ability to use variables instead of sensor devices to collect sensor data.
  • Ability to get and set the thermostat set point from or to a variable.

New in v1.2.1:

  • Automatic Update Checker
  • Implemented configurable max and min setpoint boundaries so the values for boundary check will make sense for Fahrenheit users that can now set correct values in Fahrenheit.

New in v1.2.2:

  • Ability to control other thermostats.
  • Minor bugfixes, improvements in heaters list and UI

New in v1.2.3:

  • Bug fixes.
  • Fully implemented validation of device configuration dialog

New in v1.2.4:

  • Removed verbose logging and cleaned up general logging.

New in v1.2.5:

This update contains several improvements in safety features and user preferences and fully implements validation of all fields in the Simple Smart Devices configuration dialog.

  • Safety shut down removed.
  • Skipping safety check when changing setpoint.
  • User configurable safety mode.
  • Configurable default setpoint value.
  • Configurable setpoint step value.

Graphics & Icons

Status column 0-100% Indigo 6.x-7

Status column 0-100% for use in Control Page. 10 x png files(10% increase). I use it to display status of a light bulb.

Graphics & Icons

Weather Icons for Weather Underground Indigo 2.x-4.x

A collection of nice weather icons as transparent PNG's for use with the Weather Underground script.


Weather Underground Query Script v2.5.4 Indigo 2.x-6

The Wunderground Script will poll a Wunderground Airport Station and/or PWS (Personal Weather Station) and retreive the latest weather information for the specified station code. Data from the PWS and Airport stations can be merged. If more than one PWS is specified, and good data is not available for the first PWS, the script will try the additional PWSs  in order until good data is found. The weather information will be saved into Indigo Variables. Support is provided for weather icons to indicate the current conditions. A basic set of Wunderground icons is included.

Changes in V2.5.4

This update corrects a formatting bug in the Wunderground daily metric precipitation data.


X10 Scenes Attachment Indigo 2.x-4.x

The scenes attachment script defines AppleScript functions to easily program scenes on SwitchLinc, LampLinc, and ApplianceLinc modules.


X10 Set the Scene Assistant Indigo 2.x-4.x

This script application from Neil Evans is a step-by-step assistant for defining SwitchLinc (and LampLinc/ToggleLinc) scenes. The application will quickly walk you through the entire process of defining scenes, without having to manually send code sequences with a MaxiController. Additionally, it has options for quickly programming other SwitchLinc options, such as ramp rate, default on-levels, etc.

Reporting and Notification (10 files)

Type Name Version Overview


AppleScript iMessage Group Message Indigo 6.x-7

This simple script demonstrates how to send iMessage notifications to a Group. This is useful if there are multiple people in the household that get notified on an event that requires action.

Ex: Garage door left open notifications when no one is home

IndigoWebServer Plug-In

Device Usage Report Indigo 4.x only

This plugin will generate a report for the specified day (yesterday by default) that shows how long each device was on for that day (in minutes). The plugin makes a couple of assumptions:

  1. All times are in local time, so the values may be a little odd on days when DST changes.
  2. If the first command seen for a device is to turn it OFF, the plugin assumes that the device was on since midnight.
  3. For any device whose last command seen was an ON, the plugin assumes that it was on up to midnight.
  4. The report doesn't currently include Thermostats, Sprinklers, and IO devices - it does however include some devices that may not make any sense, specifically motion sensors.

This report should be used only as rough insight into what devices in your home are used most. It requires that SQL logging be turned on and SQLite as the database type. The plugin reads all the necessary config information from the IndigoSqlClient.conf file that you must configure in order to make SQL logging work correctly.

_NOTE_: When the IndigoServer first starts up or switches Indigo Databases broadcasts some device state changes during the startup process that the SQL logger then adds to the log database. Unfortunately, these don't actually represent real state changes. However, from the plugin perspective, it's not possible to distinguish these from normal state changes. Therefore, you may see some days that contain erroneous data. Unfortunately, until we figure out a good solution for those errant changes, you may need to just skip days where you restarted the IndigoServer.


Dump Database Indigo 2.x-4.x

These four scripts allow you to easy dump the database information for Devices, Action Groups, Time Date Actions, and Trigger Actions into the Event Log window. This is useful for copying and pasting from the Event Log window into a text editor application for printing.


eTrack Indigo 4.x-6

This Indigo Pro 4 or 5 Attachment AppleScript helps track energy usage by various devices. Energy usage can be tracked for any thermostat, relay device, dimming device, low-voltage controller or iMeter Solo energy meter. See the "more info" link above for details.

IndigoWebServer Plug-In

HVAC historical Usage Indigo 4.x only

This plugin will graph the Actual thermostat temperature reading, vs AC & Heating set points. This is tested against a venstar t1800, but in theory any thermostat that Indigo supports would work… (But is there any others that Indigo supports?).

In addition, below each graph is a table that contains the raw data. By default, it is hidden, but clicking on the hyperlink will reveal it.

This does support multiple thermostats…..


Indigo JSON Broadcaster to InfluxDB script Indigo 7+


This accepts the output from the indigo-json-broadcaster plugin and sends it onward to influxdb.


Insteon Health Test Tool Indigo 4.x-6

This application is based on the original Perl script from seanadams. This update packages that script as an OS X app called iHealth. All required Perl modules are included.

iHealth sends Insteon requests to the devices listed in a devices file and measures the response time. Results can help find problem devices or areas that have poor signal propagation.

* NOTE: iHealth works on OS 10.5 through 10.7, PowerPC and Intel. iHealth will also run on Tiger, but some problems have been observed. Specifically, the URL passed to Safari to view the report may wrong and the PLM interface may not be brought back online automatically. This release fixes a compatibility problem with Indigo 5.x. *


Low Battery Notification Script Indigo 6.x-7

Click on the More Information button above to see the details.

Indigo Plugin

Survey Indigo 4.x-6

The Survey plugin will go through your Indigo Devices, and “Ping” (Status Request) any devices that support the Status Request command.  This allows you to get a survey of all your devices, and ensure that they are online easily.

Simply turn off a breaker, and then run a Survey through this plugin, it will cycle through each device, forcing a status request, and will report any devices that do not respond to the status request.

This should give you a list of devices that are on each breaker.


Time Stamp Attachment Indigo 2.x-4.x

This attachment script by J. Rick Adams, M.D. provides an easy way to determine when Indigo last received an X10 command for a particular address (ex: A5) or device (ex: office light).

Security (7 files)

Type Name Version Overview


Battery Dead Notify Indigo 2.x-4.x

This attachment script from Norman Laskey tracks and logs the "I Am Alive" RF messages from some battery operated security modules and automatically sends a warning email if it looks like the battery needs to be replaced.


Garage Door Notification Indigo 2.x-4.x

This attachment script from John Conrader notifies the user of an opened and closed garage door event. The script, as written, requires growl 0.6 or later and a Stanley Garage Door Indicator. It could also be modified for other setups.


Indigo Security Script Indigo 2.x-4.x

The Indigo Security Script extends Indigo's native features, and adds two important features:

  • The Ability to Monitor X10 Security Devices
    • X10 Pro Security System Remote (SH624 PSR01)
    • Key Fob - KR10A
    • EagleEye Motion Sensor (Outdoor) - MS14A
    • DS10A Door/Window Sensor
    • X10 Motion Sensor - MS10A
    • X10 Power Horn - PSH02
    • Big Red Emergency Button - KR15A
    • The Ability to Monitor Insteon Security Devices
  • Insteon Motion / Occupancy Sensor - 2420M
    • TriggerLinc - 2421
    • Insteon Motion Controlled FloodLight - 2494msbn

The script, after it has been configured, will monitor your security devices. The alerts from the security devices will trigger actions depending on your settings in Indigo.


Sample security attachment script shows how to rec Indigo 2.x-4.x

Installed by Indigo into the disabled Attachments folder. Move the file: _/Library/Application Support/Perceptive Automation/Indigo 2/Scripts/Attachments (Disabled)/ security sample.scpt_ into: _/Library/Application Support/Perceptive Automation/Indigo 2/Scripts/Attachments/_

Indigo Plugin

Security Manager Indigo 5.x-6

Security Manager monitors devices you specify to see if your house is secure. The concept is relatively simple, if your device or devices are not in a state that indicates security (i.e., garage door is closed and front door is locked) then the plugin indicates that your house is not secured by toggling its own state on and off.

Full documentation, support and installation instructions can be found at this link

Indigo Plugin

SimpliSafe Alarm Plugin Indigo 6.x-7

BETA version of a SimpliSafe Alarm plugin.

Indigo Plugin

Switchboard Indigo 5.x-6

Switchboard is the successor / replacement to the Indigo Security Script.  It allows Indigo to monitor any device for status changes and can trigger actions based on the status of the device.  It also adds X10 Security monitoring, and allows for Monitored Device groups.  This allows you to create a group of devices that can trigger an action, without having to write triggers for each and every device that makes up the group.  Instead the Monitored device group will self manage the triggers.

See more details here: automation/indigo-v5-plugins/switchboard/

While this can be used for "Security Purposes", this can be easily be used to simplify and customize any Indigo configuration easily.  This is not limited to security purposes.

Web Related (18 files)