User Contribution Library

Looking for ways to extend Indigo to support additional hardware or new functionality? Want to integrate your home automation with other software (iTunes, iCal, Salling Clicker, etc.)? Need to see some example Indigo AppleScripts to help you get started?

Below are some great user contributions for integrating Indigo home automation with different devices and software. Additionally, some of these are excellent tutorials-by-example, so fire up your Script Editor application (inside your Applications/AppleScript/ folder) or other editor and see how they work. If you write a script, application, or plug-in that might be useful for others, then please submit it.

Disclaimer: Perceptive Automation, LLC. does not guarantee the usefulness, quality, or safety of any scripts on this page. We have personally used quite a few of these scripts, but be careful and use common sense when installing and using any software or scripts.

Accessibility and Assistive Automation

Accessibility and Assistive Automation    
Indigo 2.x-3.x
Overview 

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.

Installation 

Installed by Indigo into:
/Library/Application Support/Perceptive Automation/Indigo 2/Scripts/Attachments/
device target attachment.scpt
and group target attachment.scpt

Usage 

TargetFirstDevice(), TargetNextDevice(), TargetPreviousDevice(), TurnOnTargetedDevice(), TurnOffTargetedDevice(), ToggleTargetedDevice(), BrightenTargetedDevice(), DimTargetedDevice()
-- and --
TargetFirstGroup(), TargetNextGroup(), TargetPreviousGroup(), ExecuteTargetedGroup()

 

Administration

Indigo Server Stop    
Indigo 2.x-3.x download   
Overview 

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.

Installation 

Double-click on the indigostop.command file. The terminal will launch and try multiple techniques to shut down and disable the server. To renable the server, run the Indigo client application on the server machine and choose the Indigo 2->Start Local Server... menu item.

 
Maxi Controller    
Indigo 2.x-3.x download   
Overview 

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.

Installation 

After downloading, drag the Maxi Controller application into your Applications folder and double click to launch it.

 

Application Integration

iCal    
Indigo 2.x-3.x more info
Overview  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.
 
iTunes    
Indigo 2.x-3.x
Overview  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.
Installation  Installed by Indigo into:    /Library/Application Support/Perceptive Automation/Indigo 2/Scripts/Attachments/
   iTunes attachment.scpt
Usage  Call the AppleScript functions as shown in the script, or press the buttons on the remote to control iTunes.
 
iTunes - Speak Song Info thru iTunes Speaker(s)    
Indigo 2.x-3.x download    more info
Overview 

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.

Installation 

After downloading, drag the Speak iTunes Information script into the folder: /Library/Application Support/Perceptive Automation/Indigo 2/Scripts/

Usage 

Execute within Indigo, typically as a Trigger Action attached to a RemoteLinc or IRLinc

The script will only execute if iTunes is currently playing, and will speak the track information on whatever speakers are currently in use with iTunes.

 

To speak with a voice other than the System voice, add the voice name to the associated property at the top of the script; for example, the new Leopard voice Alex works well.

 
Ovolab Phlink    
Indigo 2.x-3.x download    more info
Overview  Use these scripts along with Ovolab's Phlink Telephone Adapter for remote control of your house anywhere over a touch tone phone. Hear the on/off/brightness of any Device, control Devices, and even execute Action Groups (macros). Also includes an Indigo attachment script for easily making outbound calls using the Phlink. Great for emergency notification of motion detection, power failures, pipes freezing, etc.
 
Salling Clicker    
Indigo 2.x-3.x more info
Overview  Use these scripts along with the Salling Clicker application for home control from your Bluetooth-enabled mobile phone or PDA. Easily change and view the on/off/brightness state of Devices and execute Action Groups (macros).
Installation  Follow the instructions on the Clicker scripts page (more info link above).
 

Hardware Integration

Jandy Aqualink Pool / Spa Control    
Indigo 2.x-3.x download    more info
Overview 

This set of scripts provide Indigo support for controlling a Jandy Aqualink RS through Serial Bridge and a Jandy Aqualink RS Serial Adaptor.

Installation 

After downloading and unzipping, drag the Jandy Aqualink attachment script into the folder:

  /Library/Application Support/Perceptive Automation/Indigo 2/Scripts/Attachments

Usage 

Your Serial Bridge connection will need to be titled Jandy Aqualink RS Serial Adaptor. Create a Time/Date Action to update the status of the pool/spa variables on an ongoing basis.

 

The following text variables will be created when this Time/Date Action first executes: AirTemp, PoolHeat, PoolLight, PoolPump, PoolSetPoint, PoolState, PoolTemp, SpaHeat, SpaLight, SpaSetPoint, SpaState, SpaTemp.

 

The following is a list of the commands that can be called in the Jandy Aqualink attachment script from Indigo: JandyGetStatus(), JandyTurnOnSpaHeat(), JandyTurnOffSpaHeat(), JandyTurnOnPoolHeat(), JandyTurnOffPoolHeat(), JandyTurnOnLights(), JandyTurnOffLights(), JandyNewSpaSetPoint(NewSpaSetPoint), JandyNewPoolSetPoint(NewPoolSetPoint), JandyTurnOnSpa(), JandyTurnOffSpa(), JandyTurnOnSpaAndHeat(), JandyTurnOnSpaAndHeatAndLights(), JandyTurnOffSpaAndHeatAndLights().

 

A few more details are in the Read Me file.

 

 
Proliphix Thermostat Query Script    
Indigo 2.x-3.x download    more info
Overview 

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.

Installation 

Move the script into this folder:
   /Library/Application Support/Perceptive Automation/Indigo 2/Scripts/Attachments/

Usage 

Create a Time/Date action that calls the main AppleScript function defined in the attachment script:
    GetThermotemp()

 
Rain8M Set Address    
Indigo 2.x-3.x download   
Overview  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.
Installation  After downloading, drag the Rain8M Set Address application into your Applications folder and double click to launch it.
 
RCS Thermostat Attachment    
Indigo 2.x-3.x
Overview  The RCS thermostat attachment script by Bob Easterday provides 2-way communication between Indigo and the RCS TX15/16 thermostat.
Installation  Installed by Indigo into the disabled Attachments folder. Move the file:
   /Library/Application Support/Perceptive Automation/Indigo 2/Scripts/Attachments (Disabled)/
   RCS attachment.scpt

into:
   /Library/Application Support/Perceptive Automation/Indigo 2/Scripts/Attachments/
Usage  See comments at top of script file RCS example.scpt for documentation and examples.
 
TempLinc Attachment    
Indigo 2.x-3.x
Overview  The TempLinc attachment script provides 2-way communication between Indigo and the TempLinc.
Installation  Installed by Indigo into the disabled Attachments folder. Move the file:
   /Library/Application Support/Perceptive Automation/Indigo 2/Scripts/Attachments (Disabled)/
   templinc attachment.scpt

into:
   /Library/Application Support/Perceptive Automation/Indigo 2/Scripts/Attachments/
Usage  See comments at top of script file for documentation and examples.
 
Xytronix Temperature Module.scpt    
Indigo 2.x-3.x download    more info
Overview 

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). 

Installation 

Create a Trigger Action of Type "Indigo Server Startup" and select an Action Type of "Execute AppleScript" that executes this script file. This script will then start as a separate process and run as long as the Indigo Server is running.  Indigo Server automatically terminates the script when it shuts down.

Usage 

Since AppleScript can cary out much more complex data manipulations than Indigo can, you may want to modify this script to compute temperature differences, trends, etc. and report the results to Indigo via additional variables of your own creation.  Indigo could also examine these variables and cary out complex control requests based on their values.

 
Sprinkler Script 1    
Indigo 1.x download   
Overview  This sprinkler attachment script by Dr. Scott Buchanan lets you easily setup and run multiple watering schedules. Indigo 2.0 users should not use this script since 2.0 includes built-in UI for controlling sprinkler devices.
Installation  After downloading, drag the sprinkler schedule attachment.scpt file into:
   ~/Documents/ Indigo User Data/ Scripts/ Attachments/
See comments at top of script file for documentation and examples.
 
Sprinkler Script 3    
Indigo 1.x download   
Overview  J. Rick Adams, M.D. has provided this complete suite of sprinkler scripts. Includes zone duration adjustments based on both wet time (calculated from a Rain Clik sensor) and average temperature for your zip code (calculated from data retrieved by a SOAP-based web service). Note this script has not yet been updated to use Indigo 2.0's new sprinkler actions.
Installation  After downloading, drag the sprinkler attachment.scpt and weather attachment.scpt files into:
   ~/Documents/ Indigo User Data/ Scripts/ Attachments/
and drag the start timed sprinklers.scpt and stop sprinklers.scpt files into:
   ~/Documents/ Indigo User Data/ Scripts/
Open the script files and adjust the properties defined at the top to set the zone duration, Rain8 house code, and your zip code. Next, create a Time/Date Action that executes the start timed sprinklers.scpt every day.
 
Sprinkler Script 4    
Indigo 1.x download   
Overview  This sprinkler attachment script by Perceptive Automation requires minimal setup (no script editing) and can handle multiple Rain8s. Now modified to be compatible with 2-Way Rain8s. Indigo 2.0 users should not use this script since 2.0 includes built-in UI for controlling sprinkler devices.
Installation  After downloading, drag the sprinkler attachment.scpt file into:
   ~/Documents/ Indigo User Data/ Scripts/ Attachments/
See comments at top of script file for example usage.
 
Ocelot to Indigo    
Serial Bridge download   
Overview  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.
Installation  After downloading, drag the Ocelot to Indigo folder into:
   /Library/Application Support/Perceptive Automation/Serial Bridge/
Next, double-click the Serial Bridge connection settings.sbDb file inside that folder. Lastly, to install the Action Groups inside Indigo for sending commands to the Ocelot, run the AppleScript Install into Indigo.scpt.
Usage  Once installed, you will have several Ocelot Action Groups defined inside your Indigo database file. You can execute these to send commands to the Ocelot. Additionally, several Indigo Variables will be defined that contain the arguments for commands to be sent to the Ocelot as well as return data from the Ocelot.
 

Miscellaneous

Dimming System    
Indigo 2.x-3.x download    more info
Overview  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.
Installation  After downloading, drag the dimming system attachment.scpt file into:
   /Library/Application Support/Perceptive Automation/Indigo 2/Scripts/Attachments/
Next, follow the configuration instructions outlined in the comments at the top of the script file.
Usage  Examples and instructions are provided in comments at the top of the script file and in this forum post.
 
X10 Scenes Attachment    
Indigo 2.x-3.x
Overview  The scenes attachment script defines AppleScript functions to easily program scenes on SwitchLinc, LampLinc, and ApplianceLinc modules.
Installation  Installed by Indigo into:
   /Library/Application Support/Perceptive Automation/Indigo 2/Scripts/Attachments/
   scenes attachment.scpt
Usage  See comments at top of script file for documentation and examples.
 
X10 Set the Scene Assistant    
Indigo 2.x-3.x download   
Overview  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.
Installation  After downloading, see the included ReadMe file for installation and usage instructions.
 
Indigator    
Indigo 1.x download   
Overview  This Konfabulator Widget from J. Rick Adams, M.D. gives you an attractive remote front-end for controlling Indigo. With Indigator you can have remote access (LAN or WAN) to Indigo Devices, Action Groups, Variables and Scripts. I do not believe Indigator is currently compatible with Indigo 2.0. Indigo 2.0 users should consider trying the Indigo Widget instead.
Installation  Install Konfabulator (free demo is available) and copy the Indigator.widget file into your Widgets folder. To enable remote access, turn on Remote Apple Events inside the Sharing System Preferences panel on the Mac running Indigo. Double click the widget to launch and configure its settings.
 

Reporting

Dump Database    
Indigo 2.x-3.x download   
Overview  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.
Installation  After downloading, drag all the script files into:
   /Library/Application Support/Perceptive Automation/Indigo 2/Scripts/
The scripts will then be available to run via Indigo's Script menu.
 
Indigo Database Report    
Indigo 2.x-3.x more info
Overview  Indigo Database Report is Paul Roomberg's great new free utility. It creates a browser-viewable (and printable!) report of your entire Indigo home database. It is definitely worth checking out, especially if you have several devices or actions.
 
TempLinc Data Logger    
Indigo 2.x-3.x download   
Overview  This script from Hunter Chisholm logs the temperature values from a TempLinc. The TempLinc data is logged to a HTML file for easy remote viewing. Here is a working example of how the logged data is displayed.
Installation  After downloading, drag the script file into:
   /Library/Application Support/Perceptive Automation/Indigo 2/Scripts/
Next, see the documentation in the script on how to configure the variables.
Lastly, create a Time/Date Action to periodically (ex: every 10 minutes) call the script.
Usage  See comments at top of script file for documentation and examples.
 
Time Stamp Attachment    
Indigo 2.x-3.x
Overview  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).
Installation  Installed by Indigo into:
   /Library/Application Support/Perceptive Automation/Indigo 2/Scripts/Attachments/
   time stamp attachment.scpt
Usage  GetTimeStampForAddress(addressString), GetTimeStampForDevice(deviceString)
 

Security

Battery Dead Notify    
Indigo 2.x-3.x download   
Overview  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.
Installation  After downloading, drag the battery dead notify attachment.scpt file into:
   /Library/Application Support/Perceptive Automation/Indigo 2/Scripts/Attachments/
Usage  Read the script comments and create a repeating Time/Date Action for every four hours to call the calcInterval() function. Restart Indigo or reload the attachments.
 
Garage Door Notification    
Indigo 2.x-3.x download   
Overview  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.
Installation  After downloading, drag the garage door attachment.scpt file into:
   /Library/Application Support/Perceptive Automation/Indigo 2/Scripts/Attachments/
Usage  Read the script comments and create the needed devices and variables in Indigo. Restart Indigo or reload the attachments. Open and close your garage door and see the notifications.

When the garage door goes up, it will send a notification through growl at a priority of 2. When the garage door is closed it sends it at a priority of -2. Of course, these priorities can all be changed in the script.
 
Sample security attachment script shows how to rec    
Indigo 2.x-3.x
Overview  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/
Installation  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/
Usage  This example prints all of the security commands to the log window. Insert your own AppleScript code into the script to trigger actions based on your security modules.
 

Web Related

IWS execAndGo Plug-in    
Indigo 3.x download   
Overview 

This plug-in will allow you to perform some Indigo action then redirect to a control page: the idea being that you might have a control on a page that you want to click which could then do something and end up on a different (or the same) control page afterward.

To that end, there's currently one function in this plugin, execGroup, which takes an Action Group name and a Control Page name. It executes the Action Group and then forwards to the Control Page.

Installation 

To install this plugin drag the "variable" folder to the following location: 
/Library/Application Support/Perceptive Automation/Indigo 2/IndigoWebServer/plugins/

 

Usage 

To use this plugin from a browser, try the url:

 

http://yourhost:yourport/execAndGo/execGroup?name=your+group+name&page=your+page+name

You supply the name of the action group to execute and the control page to forward to

To use this plugin from within the control page editor:

  1. In Indigo, open the control page that contains the object you want to click on
  2. select the object
  3. on the "Click Action:" popup at the bottom select "Link to External URL"
  4. in the text box next to the popup, type in the path part of the URL above (you don't need the http://yourhost:yourport/ part). Don't forget to replace spaces in the Action Group or Control Page names with the plus sign (+).
  5. try it!
 
IWS Variable Plug In    
Indigo 3.x download   
Overview 

This plug-in will allow you to edit variables from a web page (in fact, you can do it without the page but since you can already do that it's redundant). When the edit form is saved, the variable is updated and you're redirected to the control page specified. If you cancel the edit form, you're just redirected to the control page. Another use for this is to have some other process/application/webservice/etc make changes to variables directly: introduces an entirely new integration point.

Installation 

To install this plugin drag the "variable" folder to the following location:
/Library/Application Support/Perceptive Automation/Indigo 2/IndigoWebServer/plugins/

Usage 

To use this plugin from a browser, try the url:

http://yourhost:yourport/variable/setVariable?name=your+variable+name&page=your+page+name

You supply the name of the variable and the control page to forward to.

To use this plugin from within the control page editor:

  1. In Indigo, open the control page that contains the object you want to click on
  2. select the object
  3. on the "Click Action:" popup at the bottom select "Link to External URL"
  4. in the text box next to the popup, type in the path part of the URL above (you don't need the http://yourhost:yourport/ part). Don't forget to replace spaces in the Control Page names with the plus sign (+). If your control page name has any other special characters in it (:/\&? for example) you'll need to URL encode it before you type it into the box. So, if you had a control page named "Control:page/with?strange&characters@in#it" the URL encoded version would be "Control%3Apage%2Fwith%3Fstrange%26characters%40in%23it". You can go to this handy site to URL encode a string: The URLEncode and URLDecode Page
  5. try it!
 
Web ACGI Interface    
Indigo 1.x download    more info
Overview  This script, along with the ACGI Dispatcher Application and Mac OS X's Personal File Sharing (Apache web server), gives you a web front-end for controlling Indigo. Included is an ACGI script to allow control and monitoring of RCS thermostats. Indigo 2.0 users should not use this script since 2.0 includes a built-in web server.
 
Web PHP Interface    
Indigo 1.x download    more info
Overview  These scripts, along with Mac OS X's Personal File Sharing (Apache web server), give you a web front-end for controlling Indigo. Indigo 2.0 users should not use this script since 2.0 includes a built-in web server.
 

Script Resources
visit these great web sites for AppleScript tutorials and references:
MacScripter
Apple Site
MacCentral Primer
Doug's iTune Scripts
ScriptWeb

Online User Forum
visit the online support forum for help, tips, and announcements

Indigo Essentials

Control Hardware