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, Security Spy, 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.

Find items that contain these keywords:
       Separate keywords with spaces. Results will be sorted most relevant to least relevant.

Accessibility and Assistive Automation
Find my iPhone    
Indigo 3.x-4.x more info
Overview 

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.

Installation 

  1. Download the ZIP file, and unarchive it.
  2. Copy the “Findmyiphone” folder to /Library/Application Support/Perceptive Automation/Indigo 4/IndigoWebServer/plugins
  3. restart the Indigo Server, to allow the plugin to be loaded
  4. To Configure the Indigo Server for use of the Plugin, The following Variables need to be made:
    1. MobileMe_UserName – Your MobileMe Username
    2. MobileMe_Password  - Your MobileMe Password
    3. FindMyiPhone_Lat    - The Latitude of your “target”
    4. FindMyiPhone_Long – The Longitude of your “target”
  5. Open your Indigo Web Interface, and run the plugin.

Usage 

Simple, Open your Web Browser, and browse to the Indigo Web server.  From the root of the web server add /findmyiphone.

For Example:

http://entertainmac.:8080/findmyiphone

The Plugin will then attempt to login to MobileMe, find your iPhone via the Find Your iPhone Service, and then compare your iPhone’s Lat & Long to the Latitude & Longitude in Indigo.  It will then do some calculations, and give an estimate of the straight line (as the bird flies) distance between your target & current location.

This site, http://jan.ucc.nau.edu/~cvm/latlon_find_location.html, contains information and links on finding your latitude and longitude, by street address, city, etc…  Just plug the values in, and the script will take over from there…

 
Accessibility and Assistive Automation    
Indigo 2.x-4.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()

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

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.

Installation 

The script is a standard external AppleScript.

The script tests the state of Binary input 1. If it's FALSE, the door is open AND if the loop counter indicates fewer than 6 attempts, it proceeds.

After incrementing the counter, it sets an Indigo variable I created called 'vMsgBody' with text. This causes a completely different trigger to send me a text message. I have commented this text out since most users won't have things set up this way. The script then sets the binary output 1 to TRUE. This causes a momentary closing of the output circuit (momentary because the unit was configured that way). This is the equivalent to a button press that activates the door. Usually this will close the door.

After waiting 30 seconds, binary input 1 is polled again to confirm that the door actually closed. If it hasn't, the loop repeats until it has OR until 5 attempts are completed.

Usage 

This is a generic door-closing script but I actually call it from 2 different triggers to accomplish the desired behavior. I want the garage door to auto-close after 15 minutes, but only if I'm not out in the garage. If I'm in the garage, I'd like it to stay open until 15 minutes after I leave.  I accomplish this by adding a motion detector set up with a 15 minutes to OFF delay.

Trigger 1 is activated the moment the door opens (i.e. when binary input 1 goes to FALSE). By setting a Condition that 'if the state of the motion detector is OFF' (as returned by a short embedded AppleScript under the Conditions tab), I ensure that this script doesn't close the door if I'm moving around in the garage. This trigger is set up with a 15 minute delay after which my generic Door Close script is called.

Trigger 2 is activated by the motion detector going to the OFF state after the detector's built-in 15 min delay. When this happens the generic close script is called immediately. Since the script begins by checking the state of binary input 1, it doesn't do anything if the door happens to be already closed.

So far, this has worked perfectly. But I have thought of a scenario where it would 'fail'. If I open the garage door from the driveway using the garage door remote, when Trigger 1 activates it sees no motion in the garage. It would then begin the 15 minute delay based on this no-motion status. However if I hang out in the garage, although my movements set the motion detector to ON, this status is not tested again by Trigger 1. Therefore the garage door will close with me moving in the garage. The solution is to test the motion state again immediately before calling the generic door close routine (or as another criteria for the repeat while loop although that would make the script a little less generic.

 

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

This script downloads and speaks a weather forecast from Weather.com 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.

Installation 

 

If you are in the USA, create an Indigo internal variable named "weatherSpeakCode"

and set its value to your local zip code. 

If you are outside the USA, you will need to determine the 

Weather.com code for your location. To do this, go to Weather.com and 

enter your location name and country in the search box and click "search." 

 

Then, in the forecast page that you see next, look at the page URL. It 

will contain information in the form: "city+country+code?" Use that code 

(it appears between the last "+" and the "?")  For example, for 

Haugesund, Norway the URL is: 

http://www.weather.com

Usage 

Install this script anywhere on your hard disk and call it in an AppleScript action.

 
Sunrise Simulation script    
Indigo 2.x-4.x download   
Overview 

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.

Installation 

Unzip and put the script in your attachments directory of Indigo. Then go into the Indigo client and pull down the menu Scripts and choose Reload Attachments.

Usage 

Adds a function called SunriseSimulation() into Indigo. 

 

Usage:

SunriseSimulation("MBR Lights", 80, 30)

 

The above raises the device "MBR Lights" to 80% over the course of 30 minutes (my recommendation)

The script can also be easly altered to be a Sunset simulator as well, dimming

the lights slowly over time.

 

Note: There is no erro checking in this script, so don't try and feed it

zero maximumLightPercentage - pass it variable with common sense.

 

WARNING: As this attachment uses a "delay" statement is should

only be run as an attachment, and not embeded in non-server code

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

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 (http://www.chote.com)
-- Date: December 1, 2007

Installation 

Find the OIDs for your devices with SNMP walk, modify the script, create variables for the OIDs, create a trigger to start the script on Indigo startup.

 


Administration
Indigo Server Stop    
Indigo 2.x-4.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. NOTE: requires 3.0.6 or greater.

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-4.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
Google Voice SMS Plugin    
Indigo 5 only download    more info
Overview  This plugin enables Indigo 5 to send and receive (works with SIRI) SMS messages through a free Google Voice account.
Installation 

1. Download the plugin

2. Unzip it and copy the GoogleVoiceSMS.indigoPlugin file to your /Library/Application Support/Perceptive Automation/Indigo 5/Plugins (Disabled)/ folder.

3. Restart the Indigo server. If you are upgrading from a previous version you can just reload the plugin.

4. Pull down the Plugins menu, select Google Voice SMS, then Enable. If you are upgrading, edit the device settings for each SMS device previously created. No changes are necessary, just click SAVE and then OK. This causes Indigo to add the new state (receivedText) to each device.

Usage  See the support page for details.
 
Indigo Plugin for Plex    
Indigo 4.x more info
Overview 

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.

Installation 

Indigo for Plex requires:

* Indigo 4.X or above, with the server running independently of the client application

* Remote access allowed (with or without authentication)

 
Indigo Widget 1.3.2    
Indigo 4.x download    more info
Overview 

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.

Installation 

See ReadMe file included in .zip download.

Usage 

See ReadMe file included in .zip download.

 
iTunes, Pandora, AirFoil Integration    
Indigo 4.x download    more info
Overview 

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

* iTunes

* PandoraBoy (http://code.google.com/p/pandoraboy/) - Plays Pandra "radio stations"

* AirFoil (http://www.rogueamoeba.com/airfoil/mac/) - 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.


Installation 

There are two scripts included in this package that allows simplified control of these applications:

* audioAppStatusUpdater.scpt

Installation directory: /Library/Application Support/Perceptive Automation/Indigo 4/Scripts/Background/

To install this script:

* Press File / New Trigger Action

* set Type to "Indigo Server Startup"

* click the Action tab

* set Type to "Execute Applescript"

* Select the "File" radio button

* Select the script in the dialog box.

This script monotors all three applications, and updates various Indigo Server variables. This script can work as a stand-alone script if you simply would like to have access with the variables, or in conjunction with audioAppControll.scpt to allow full control.

This script will not interfere with the operation of the included "iTunes sync.scpt" - they update a different set of variables and will not conflict with one another.

* audioAppControl.scpt

Installation directory: /Library/Application Support/Perceptive Automation/Indigo 4/Scripts/Attachments/

This is the control script intended to go into the "Attachments" folder. It does require that "audioStatusUpdater.scpt" be installed and running before using the functions provided within. (some functionality may work, but most of the iTunes and PandoraBoy controls will do nothing).

The functions within do not conflict with those in "iTunes attachment.scpt" - however, iTunes controll - primary the start function - will NOT stop PandoraBoy, if it is currently playing, causing both to play simultaneously (avoid those random mashups!)

Usage 

This script has a lot of utility functions for dealing with AirFoil, iTunes and PandoraBoy. Some of the included functions are:

* announceMessage(strMessage)

Lowers volume of either individual application and use "say" command to speak the message. If using AirFoil, you need to set AirFoil to "System Audio" (see connectToSource() below). Because I use the AppleScript "Say" command, this uses the system's Text-to-Speach preferences found in the preferences pane.

* announceCurrentTrack()

Uses above function to announce the current track, artist and album.

* announcePlaylist()

Announces the current playlist / station.

* toggleMusic()

If nothing is playing, iTunes will start. Otherwise, whatever is currently playing will be stopped, and the other player will start. This is the function I use for starting music from a button.

* startPandoraBoy()

Stops iTunes, if playing, and starts PandoraBoy.

* startITunes()

Stops PandoraBoy, if playing, and starts iTunes

* stopMusic()

Stops either app, if one is playing.

* nextTrack()

Skip to the next track of the currently playing source.

* nextPlaylist()

Skip to the next playlist (currently works for PandoraBoy, but not yet for iTunes)

 
LWC Indigo Web Server (IWS) Plug-in    
Indigo 4.x download   
Overview 

This plug-in is a little different than most IWS plug-ins - it doesn't generate a viewable page. Rather, it's a way to get data IN to Indigo. The Lightsoft Weather Center (LWC) is software that connects your Mac to hardware weather stations (Davis Vantage & Envoy, Monitor, Wizard and La Crosse WS23xx currently) as well as Internet based weather sources.

As far as I know, it's the only commercial Mac-based solution that supports the LaCrosse station, which happens to be the one I have. I wanted to get data into Indigo similar to the NOAA scripts so I could use it primarily to determine if/when to run the sprinklers, but also because, well, it's COOL.

Installation 

To install this plugin drag the "lwc" folder to the following location:

/Library/Application Support/Perceptive Automation/Indigo 4/IndigoWebServer/plugins/

Usage 

To use this plugin, just configure LWC's On-Line->Custom CGI with the following URL:

http://host:port/lwc/importData?

I also think it's useful to check the "Send Time As Local" checkbox so you can see the date/timestamp in local time. The plug-in will do the rest. Because there's quite a few variables in LWC that aren't sent to this custom cgi yet, I wanted to take an approach that would not require me to update the plug-in whenever LWC was revised to send more data. So, I decided to just automagically create variables for ALL passed in data. So, given the following URL (which is what's currently being sent from LWC as of 5/13/2009):

http://host:port/lwc/importData?&date=2009-05-12+17%3A22%3A12 &winddir=270 &windspeedmph=0.0 &windspeedmphav_10m=0.0 &windgustmph=0.0 &windgustdir=270 &windgustmph_10m=0.0 &windgustdir_10m=270 &humidity=47 &dewptf=69.836 &tempf=93.20 0&raininch=0.000 &rain24hinch=0.000 &baroinch=28.508 &action=update

the plugin will update/create variables that start with LWC_.

 
iCal Alarm Processor    
Indigo 3.x-4.x download    more info
Overview 

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.

Installation 

See the official wiki post for details.

Usage 

See the official wiki post for details.

 
Indigo-PhoneValet Integration    
Indigo 3.x-4.x download    more info
Overview 

 

This integration between Indigo and PhoneValet will:

1) Create some variables in Indigo that represent various information about PhoneValet data (# of new calls, last caller, etc.). You can then use this data in other scripts or actions, or even show the data on your control pages. Image being able to see who the last caller was to your home over the internet, or how many new calls you have waiting without having to call in to PhoneValet!

2) Use the text-to-speech system of your Mac along with PhoneValet to create answering machine functionality. This is particularly useful if you're using Airfoil to direct your sound through a whole-house av system; or, even, to an AppleTV in your living room. Use an Insteon controller to control your voicemail from anywhere in the house and use your whole-house audio to listen! Each VM menu as spoken by the system will also time-out after 30 seconds as well, so if you don't take any action the system will shut down automatically.

Installation 

Read the Indigo-PhoneValet Doc.rtf file carefully before attempting anything. There is an installer script that will attempt to do the install.

Usage 

Again, read the Indigo-PhoneValet Doc.rtf file first.

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

Script to get the location of a cellphone from Instamapper http://www.instamapper.com/ Lookup the location with geoNames http://www.geonames.org/ 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.

Installation 

Install and configure Instamapper on your phone, enable the API feature on their site. Edit the InstaPeople table below with the name of the variable to update and it's instamapper API key

Usage 

Once configured, store the script in Indigo's background tasks's folder and create a trigger to start the script "on startup". It will run and update your location into an Indigo variable for use in other actions/triggers at the frequency defined in the script. Please make yourself aware of both Instamapper and Geoname's usage policies and do not abuse their great free services.

 
iCal    
Indigo 2.x-4.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-4.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 #/Scripts/Attachments/

Where # is the version number (Indigo v2 and v3 are both in Indigo 2).

iTunes attachment.scpt

 
iTunes - Speak Song Info thru iTunes Speaker(s)    
Indigo 2.x-4.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.

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

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.

Installation 

Create a Trigger Action in Indigo to launch this script. 

Usage 

The script uses the Leopard-only voice "Alex". If you're using an older OS you'll need to change the value of the property "TheVoice". The script has been tested with Indigo 1.8.3.

 
Ovolab Phlink    
Indigo 2.x-4.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-4.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).
 
Weather Display Mac - Indigo Webserver (IWS) Plug-in    
Indigo 2.x-4.x download    more info
Overview 

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: 

 

http://www.weather-display.com/index.php

 

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.


Installation 

To install this plugin drag the "wd" folder to the following location:

 

/Library/Application Support/Perceptive Automation/Indigo 4/IndigoWebServer/plugins/

Usage  See the ReadMe file in the archive for detailed instructions.
 
WeatherSnoop capture script    
Indigo 2.x-4.x download    more info
Overview 

 

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_".

 

Installation 

Install WeatherSnoop and configure it to work with your weather station, and make sure the "Serve my weather data..." checkbox is selected under the Sharing tab. Edit the script properties to reflect the port number and ip of your WeatherSnoop server. (the defaults of 8080 and "localhost", respectively, are probably fine)

Then, just embed the script in a time/date action and call it periodically.

Usage 

You can set triggers on the ws_ variables to do things like turn off sprinklers when its raining, retract an awning if its windy, etc.

 


Hardware Integration
Cynical Caché    
Indigo 5 only download    more info
Overview 

Global Caché makes network devices and serial adapters that let you send and receive consumer infrared signals, sense and trigger relays, talk to remote serial ports, and such. They've been around for a while.

This Indigo 5 plugin lets you talk to those devices from Indigo. In particular, you can send and respond to CIR (Consumer Infrared) signals.

Requires the kind of Global Caché device that does what you want to do.

Installation 

Download the zip file. Double-click it to expand. Double-click the resulting plugin to install.

Usage 

Select the About Cynical Caché menu item for usage instructions. Post in Perry The Cynic's third party developer forum for questions, comments, and complaints.

 
DSC Alarm Plugin    
Indigo 5 only download    more info
Overview 

This plugin interfaces Indigo 5 to a DSC PowerSeries alarm system via a IT-100 or PC-5401 serial interface board. It lets Indigo see the status of the entire alarm system. Triggers can be created for any alarm or zone change, actions can be created to Arm, Disarm, or trip the alarm. 

Installation 
  1. Download the plugin, unzip it if your browser doesn't do that automatically.
  2. Double-click on the DSC Alarm.indigoPlugin file.  Indigo will launch and ask if you'd like it to install the plugin.
  3. The plugin's config screen should pop up, select the serial port of the interface.
  4. Create one keypad device, and zone device for each of your alarm zones.

Detailed installation instructions available at the more info link above.

Usage 

Create triggers to respond to alarm events or zone changes, actions to arm or disarm the alarm.  See the more info link above for more details.

 
Global Cache Plugin    
Indigo 5 only download    more info
Overview 

The Global Cache Plugin interfaces Indigo 5 to a Global Cache GC-100 unit. It lets Indigo send IR commands to your audio/video equipment (or any other IR equipment) over a network. In addition, Indigo can set the states of relays on the relay module (available on GC-100- 12/18/18R).

Installation 
  1. Download the plugin
  2. Unzip it and copy the GlobalCache.indigoPlugin file to your /Library/Application Support/Perceptive Automation/Indigo 5/Plugins (Disabled)/ folder.
  3. Restart the Indigo server
  4. Pull down the Plugins menu, select Global Cache, then Enable.
Usage 

See the support page for details.

 
Proliphix Thermostat plugin    
Indigo 5 only download    more info
Overview  Read current data, and set the set point on your Proliphix IP Thermostat. All models are supoprted. The current version of the plugin displays the major objects from the thermostat. Setting of the heat and cool setpouints as well as resetting hold/override mode are available actionbs. Python scripting is also supported.

Further documentation is available in the proliphix-plugin.html file contained in the zip archive.

Installation 

1. Download the plugin

2. Unzip it and copy the Proliphix.indigoPlugin file to your /Library/Application Support/Perceptive Automation/Indigo 5/Plugins (Disabled)/ folder.

3. Restart the Indigo server. If you are upgrading from a previous version you can just reload the plugin.

4. Pull down the Plugins menu, select Proliphix™ Thermostat Control, then Enable. If you are upgrading, edit the device settings for each Thermostat device previously created. No changes are necessary, just click SAVE and then OK. 

Usage  The frequency of thermostat polling and temperature units can be selected on the plugin configuration panel.  
 
Smartphone Radar    
Indigo 5 only download    more info
Overview 

Smartphone Radar allows you to keep track of when your family's smartphones were last seen on your network. Since our phones are generally always with us, it's a fairly reliable way of letting Indigo make some clever decisions.  Some examples might be:

1. All the family members are not home yet, leave the porch lights on a little later tonight.

2. Nobody has been home for hours, might as well adjust the HVAC to save some cash.

3. It's really late and your daughter is still not back from her date, maybe Indigo should wake you up and let you know she broke curfew.

4. It's dark outside and nobody is home, maybe Indigo should play with the lights to help ward off potential burglars.


Installation 

Note:  This plugin requires your router is capable of forwarding its log to your indigo server via syslog.  This is a fairly common feature, especially on mid-high end routers.

 

Plugin Installation:

  1. Download the plugin, unzip it if your browser doesn't do that automatically.
  2. Double-click on the Smartphone Radar.indigoPlugin file.  Indigo will launch and ask if you'd like it to install the plugin.
  3. The plugin's config screen should pop up.  Adjust any settings if you'd like.
  4. Create a smartphone device for each of your phones.

 

Router Setup:

  1. Configure your router to forward its log to port 1514.
  2. If necessary, adjust the log level or settings so that common network requests such as browsing the web and checking email are logged by the router.
  3. Confirm the plugin is receiving the log by enabling "Show router log" in the plugin's config.  Take note if the router logs the network access using MAC or IP addr
Usage 

Create triggers to respond when some or all phone states become Away, Home, or On Vacation.  See the More Info link above for more details.

 
Jandy Aqualink Pool / Spa Control (Serial X)    
Indigo 2.x-5 download   
Overview 

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

Installation 

The scripts communicate with the Jandy system through a USB Serial Adaptor (e.g. the Keyspan USA-19HS USB Serial Adapter) connected to the Jandy Aqualink RS Serial Adaptor.

 

In order to use these scripts with SerialX, you will need to separately download and install SerialX as a Scripting Addition.  As currently written, you will also need to determine the exact name of your serial connection and edit the following statement in both scripts:

 

property SerialConnectionName : "/dev/cu.USA19H47P1.1"  -- Replace "dev/cu.USA19H47P1.1" with the name of your USB Serial Adaptor.

 

After editing, drag the Jandy Aqualink attachment script into the folder:  /Library/Application Support/Perceptive Automation/Indigo 4/Scripts/Attachments

and the Jandy Aqualink background sync script into the folder:  /Library/Application Support/Perceptive Automation/Indigo 4/Scripts/Background Tasks

 

Initiating use of the background script is typically accomplished by establishing a Trigger Action that activates on Indigo Server restart.

Usage 

Assumes a Jandy Aqualink RS-4 or RS-8 Pool/Spa combination with auxiliary 1 set for pool light and auxiliary 2 set for spa light.

 

Unlike the previous version, the background script will now automatically execute periodically after being initiated (typically with a Trigger Action that activates on Indigo startup), will create variables as needed, and will update the status of those variables.  By default the updates occur every 30 sec  for most items using a single "#LEDS?" command, and every 30 min for the temperatures, with error detection if something does not update correctly.  If the Spa is heating, temperature updates default to every 2 min.  Variables created include AirTemp, ErrorFree, NextTempUpdate, PoolHeatEna, PoolHeatOn, PoolLightOn, PoolPumpOn, PoolSetPoint, PoolStateOn, PoolTemp, SpaHeatEna, SpaHeatOn, SpaLightOn, SpaSetPoint, SpaStateOn, SpaTemp.

 

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

 

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

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.

Installation 

Just unzip and put into the plugin directory. The plugin directory name needs to be "CiscoServices"

To make the plugin work with the phones, the Cisco Phone Config (SEPXXXXXX.xml.cnf) needs to have the INDIGO server URL configured:

For example:
"<servicesURL>http://indigo_server_ip:8176/CiscoServices/mainmenu</servicesURL>"

Usage 

For convenience, action groups whose name is prefixed with "cphone." (For example 'cphone.Turn on Lights') will show up in the main menu as well as some sort of shortcut to often used Devices, Actions.

The Device menu actually shows the state of the fixture or switch as well using the pre-installed graphics (Thanks Matt!)

 
Venstar Thermostat Usage Monitor    
Indigo 4.x more info
Overview 

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

 

Installation 

  • Download the Venstar Thermostat Usage Monitor Script
  • Copy the script (Thermo)  to /Library/Application Support/Perceptive Automation/Indigo 4/Scripts/Attachments
  • Copy the Thermo-reset script to /Library/Application Support/Perceptive Automation/Indigo 4/Scripts/Attachments
  • Create a Time/Date action, with the action of “Run Applescript”, choose External File, and point it to the Reset script.  Set the time for when you would like it to run (for example, Midnight).
  • Restart the Indigo Server

Usage 

The attachment will monitor for the Venstar to announce Button 1 (AC), Button 2 (Heat), and Button 3 (Fan) traffic, and use these to track the usage for AC, Heating, and Fan. The attachment script will also create new variables to allow the tracking of Heat (Heating_dailymins), AC (AC_dailymins), and the Fan (Fan_dailymins) these variables will contain the the number of minutes that Heating, AC and the furnace fan have been on since the last “reset”.

Please note, you will need to make a new timed action that runs thermo_reset.scpt whenever you want to reset the counters… I would suggest midnight, so that you are capturing the 24 hrs period… The script will append to a csv file in your documents folder that contains the value that are in the AC, Furnace and Fan variables, and then reset the variables to 0.

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

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.

Installation 

The zip file includes an MS Word document with screenshots, the applescript for control (which you may need to adapt to your system) and an iRed driver for the Sony XDR-F1HD tuner. Download the zip file and read the document. Figure out how you're going to control your system, e.g. IR, RS232, TCPIP etc. If you decide to use iRed and the Sony, you're almost home. Create the variables and the page and check it out.

Usage 

This page is used to control your radio, or any similar piece of equipment.

 
Proliphix Thermostat Query Script    
Indigo 2.x-4.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-4.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-4.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-4.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.
 
WeatherSnoop using AppleScript verbiage    
Indigo 2.x-4.x download   
Overview 

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

Installation  While WeatherSnoop serves its data via telnet, you can also get at it directly via AppleScript (in the current version) which is more appropriate (easier) for integration with Indigo. Thus, this script is intended to supersede my original script which pulled weatherSnoop's data via Telnet. and parsed the resulting XML.

-- To use this script, set it up to be called periodically via a Time/ Date Action. Then simply make whatever use of the

-- variables created in Indigo as you see fit.

-- This is intended as a an example and as such pulls every bit of data available via the WeatherSnoop AppleScript dictionary.

-- In real life you will want to comment out the extraction of those data you don't care about. I have commented out

-- extraTemperature2 as an example of how to ignore a particular data point.

Usage 

To use this script, set it up to be called periodically via a Time/ Date Action. Then simply make whatever use of the variables created in Indigo as you see fit.


This is intended as a an example and as such probably pulls more data that you really need. In real life you will want to comment out the extraction of those data you don't care about. I have commented out extraTemperature2 as an example of how to ignore a particular data point.


This script was written by Bob Easterday. Use as you see fit, but please give credit where credit is due.

 
Xytronix Temperature Module - Update Version 2.0    
Indigo 2.x-4.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).

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.

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 provide temperature updates automatically as long as the Indigo Server is running.  Indigo Server automatically terminates the script when it shuts down.  As an alternative, the script can be placed in an "execute once" mode to be triggered by an Indigo event of your own design.

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.

For detailed information on the Xytronix Temperature Module itself, see:

http://www.controlbyweb.com/temperature/

or download a user's manual:

http://www.controlbyweb.com/temperature/temperature_um_v1.1.pdf

 

 
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
Cynical Network    
Indigo 5 only download    more info
Overview 

An Indigo 5 plugin that allows Indigo to connect to, and receive connections from, TCP services on the Internet (which includes your own computer :-). Make connections, send text on them, add event triggers to respond to incoming text using regular expressions, and generally make TCP your, uh, friend.

Note that a fair lot of network serial port adapters simply tell you to connect to a network port on the device. This will do the job.

Installation 

Download the zip file. Double-click it to expand. Double-click the resulting plugin to install.

Usage 

Select the About Cynical Network menu item for usage instructions. Post in Perry The Cynic's third party developer forum for questions, comments, and complaints.

 
User Scripts Plugin    
Indigo 5 only download    more info
Overview 

Install this plugin if you would like to add AppleScript or Python script files to Indigo's Plugins menu.

Installation 

Unzip and then double-click the file to install into Indigo.

Usage 

See the plugin wiki page for usage details.

 
Python Indigo Restful API Wrapper    
Indigo 4.x more info
Overview 

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 Tweet    
Indigo 3.x-4.x more info
Overview 

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…


Installation 

  1. Download the ZIP file, and unarchive it.
  2. Copy the Indigo Tweet! script  into /Library/Application Support/Perceptive Automation/Indigo 4/Scripts/Attachments
  3. Reload the Attachments via the Indigo Scripts menu (Choose Reload Attachments).
  4. Add an TwitterID & TwitterPassword variable
  5. Set the TwitterID to your Twitter Username
  6. Set the TwitterPassword to your Twitter Password
  7. Watch as your House talks to you via your Twitter Feed…

Usage 

Once installed, it is automatic.  It will automatically tweet any On/Off command as it occurs.

 
Reminders Attachment Script    
Indigo 3.x-4.x download   
Overview 

This attachment script provides handlers to create Reminders and Pesters (periodic mini-reminders). The thinking here is that sometimes you want to create a reminder at some future time. That you want that reminder to execute some actions, and that you want frequent periodic mini reminders (called pesters) so that you don't forget. 

 

For instance, let's say you're washing machine is in the basement and you can't hear when it's finished washing a load of clothes. And you, like me, have the memory of a goldfish and will completely forget and leave the clothes in the washer for days. This is an attempt to help out with that problem. Using this attachment, you can create a reminder, hook it up to a button on a keypadlinc in the basement, and have an announcement made when the laundry is done after, say, 30 minutes. It can also create a pester so that it repeats the message every 5 minutes until you cancel it or it runs out. 

 

Pesters can be created outside of a timer as well if you like, so, for instance, you can use pesters in other situations.


Installation 

To install this attachment script, drag the Reminders.scpt file to the following location:

 

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

 

Select "Reload Attachments" from the "Scripts" menu in the Mac client to have the attachment loaded.


Usage 

The script and it's handlers are described in detail inside the script, but for completeness, here is a list of handlers in this script (the type in parenthesis before the handler is the return type):

 

-- (boolean) createReminder(theName, actionList, reminderValueInMinutes, pesterCount, pesterFrequencyInSeconds, pesterActions,finalPesterAction)

-- (boolean) cancelReminder(theName)

-- (boolean) createPester(theName, pesterCount, pesterFrequencyInSeconds, actionList,finalAction)

-- handlePester(theName, shouldCancel, pesterFrequencyInSeconds)

-- cancelAllPesters()

-- (string) makeStringListIntoString(theStringList)

 

Here is a definition of the parameters for each handler:

 

------------------------------------------------------

-- (boolean

 
NOAA Weather Script    
Indigo 3.x only download   
Overview 

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.

Installation 

Create a startup trigger that runs the script - it's a background script. NOTE: don't call it multiple times or embed it.

Usage 

Create a variable named _Weather_Fetch_Station and give it the 4 letter code for the nearest NOAA weather center to you. The script will then populate a bunch of variables with weather data that you can use any way you want.

 
Weather Underground Query Script v2.5    
Indigo 2.x-4.x download   
Overview 

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

This update removes all dependencies of OS X's internal Date/Time Formats


 

Installation 

1) Place this script in Indigo's Background Tasks folder, or any other folder of your choice.

2) Configure the script (instructions are in the script)

3) Create an Indigo Time/Date Trigger and select an Action Type of "Execute AppleScript" that executes this script file. This script file will then be called at the times/frequency you defined for the trigger. 

 

Usage 

In Indigo use the Variable Window to enter the codes for the station(s) you have selected

For PWSs create an Indigo variable _Wunderground_PWS_List and set the value to one or more PWS codes separated by spaces.

For example,  KCAREDDI3, KCAREDDI2

For an Airport station, create an Indigo variable _Wunderground_APT and use the airport station code as the value.


 

 
Dimming System    
Indigo 2.x-4.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.
 
Google Weather Sync    
Indigo 2.x-4.x download   
Overview 

 

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_".

 

Installation 

 

1. Save this file in /Library/Application Support/Perceptive Automation/Indigo [2 or 4]/Scripts/Background Tasks folder.

2. Open the Variable List window (Window > Variable List) and define a new variable with name  _Google_Weather_Location and value of your Zip Code or name of your town.   

3. Create a new Trigger Action with the following properties:

  Trigger tab:

   Type = Indigo Server Startup

  Condition tab:

   Upon trigger do actions = Always

  Actions tab:

   Type: Execute AppleScript

   File: Choose... Point to this file located in the folder in step 1.

4. Wait for 10 minutes for Google weather data to appear in the Variable List window.

 

Usage 

Create triggers or time/date actions based on the weather data.

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

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 download    more info
Overview 

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.

Installation 

The script needs to be placed in the Background Task folder of Indigo.

Next a startup trigger has to be defined that starts this script whenever de Indigo Server starts.

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

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.

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

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

Installation 

Copy the unzipped folder into the images/controls/variables folder

 
X10 Scenes Attachment    
Indigo 2.x-4.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-4.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.
 


Reporting
Insteon Health Test Tool    
Indigo 4.x-5 download    more info
Overview 

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.

Installation 

Uncompress the zip file and drag the app to the directory of your choice. NOTE: the tool only works with the PowerLinc 2412/2413 - the 2414 isn't supported due to protocol and architectural differences.

Usage 

Double click on the app and select the options you wish in the GUI window.

iHealth automatically checks to see if Indigo is running, and if it is, the PLM interface is disconnected, and then re-connected after the tests are complete. The GUI provides options for the number of iterations, the location of the output files and the ability to select an existing device file or have the program create one for you.

If you choose to have iHHealth create the device file it will automatically filter out X10 devices and Insteon wireless devices. While iHealth is running, the incremental results of the test process are displayed in Safari and a terminal window tracks the number of iterations completed and the number of devices tested. It is not necessary to save the Safari window since the full report is also saved to disk.

Should iHealth find more than one interface you will be prompted to select the interface to use for testing.

 
Device Usage Report    
Indigo 4.x download   
Overview 

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.

Installation 

To install this plugin drag the "usageReporter" folder to the following location:

/Library/Application Support/Perceptive Automation/Indigo 4/IndigoWebServer/plugins/

and restart the server. Also, you MUST have SQL logging turned on and configured properly (only SQLite is currently supported).


 
HVAC historical Usage    
Indigo 4.x more info
Overview 

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


Installation 

1) Download the ZIP file, and unarchive it.

2) Move the “hvac” folder and place it in the following location.

/Library/Application Support/Perceptive Automation/Indigo 4/IndigoWebServer/Plugins

3) Restart the Indigo 4 Server

To Uninstall, just remove the Hvac folder from the Plugins folder, and restart the Indigo Server.

Usage 

How do you use the Hvac Historical Usage plugin?

Simple, Open your Web Browser, and browse to the Indigo Web server.  From the root of the web server add /hvac.

For Example:

http://entertainmac.:8080/hvac

 
Dump Database    
Indigo 2.x-4.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-4.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-4.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-4.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
Cynical SecuritySpy    
Indigo 5 only download    more info
Overview 

Connect Indigo to SecuritySpy, an application to manage video cameras for surveillance. Control cameras, trigger recordings, and respond to SecuritySpy-generated motion detection events. If you use SecuritySpy, this will allow it to become part of your Indigo world.

Requires SecuritySpy 2.1.1 or later, which is a commercial application. A trial version is available: http://securityspy.com/

Installation 

Download the zip file. Double-click it to expand. Double-click the resulting plugin to install.

Usage 

Select the About Cynical SecuritySpy menu item for usage instructions. Post in Perry The Cynic's third party developer forum for questions, comments, and complaints.

 
Battery Dead Notify    
Indigo 2.x-4.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-4.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.
 
Indigo Security Script    
Indigo 2.x-4.x more info
Overview 

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.

Installation 

See Indigo Security Script for Downloads, Installation and usage instructions.

 
Sample security attachment script shows how to rec    
Indigo 2.x-4.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
Indigo Remote Device Listings    
Indigo 3.x-4.x more info
Overview 

Here’s a relatively quick application to list all your devices via the Web Plugin system of Indigo…

The application will display:

* Device Name
* Description
* Insteon Address
* The Device Type
* The Device’s Firmware level

For example:

Picture 3.png
Installation 

Add the plugin to the Indigo Web Server plugin (requires v3.0.6 or greater).

 
Indigo Remote Log Viewer    
Indigo 3.x-4.x more info
Overview 

Allows the user / administrator to view the Indigo Log through the Indigo Web Browser Plugin.

Installation 

1) Download the ZIP file, and unarchive it.  

2) Rename the Folder to “Eventlog” and place it in the following location.

         /Library/Application Support/Perceptive Automation/Indigo 4/IndigoWebServer/Plugins

3) Restart the Indigo 4 Server

To Uninstall, just remove the Eventlog folder from the Plugins folder, and restart the Indigo Server.

 

 
IWS Variable Plugin    
Indigo 3.x-4.x download   
Overview 

This plugin 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. NOTE: requires 3.0.6 or greater, but this functionality is built-in to v4.0.

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!
 
mini-view plugin for simplified web control    
Indigo 3.x-4.x more info
Overview 

born from the need for quick loads and simplicity – especially on an iphone. these are replacement mini views for indigo, home automation software for macs in the form of a plugin! instructions for install, and downloads are actively maintained at:

http://github.com/seaofclouds/indigo-mini-view-plugin

this plugin is currently stable, though it is still in development. please follow the status and discussion at: http://www.perceptiveautomation.com/phpBB2/viewtopic.php?p=20078

Usage 

NOTE: because this is an IWS plug-in, it requires Indigo 3.0.6 or greater.

 
IWS execAndGo Plug-in    
Indigo 3.x only 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. NOTE: requires 3.0.6 or greater, but will NOT work with 4.x+ (this functionality is built-in).

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!
 
Device Icons    
Indigo 2.x-4.x download   
Overview 

Just a few device icons I created for myself.

  • Antique Lamp
  • Crystal Lamp
  • Palmtree Lamp
  • Seahorse Lamp
  • Large Seahorse Lamp
  • Small accent uplight

These should go into your /Library/Application Support/Perceptive Automation/Indigo 4/IndigoWebServer/images/controls/devices/  folder.

 
Giuseppe Petruzziello    
Indigo 2.x-4.x download    more info
Overview 

this is a collection of control page icons,  graphics, buttons and more.  

get it here 

http://peppo.com/images/Indigo2/Icons.zip

 
LED Icons for Control Pages    
Indigo 2.x-4.x download   
Overview 

These image files, contributed by berkinet, contain several sizes of LED icon images for: Amber, Blue, Green, Red, UltraViolet (uv), White, Yellow and bi-color Red/Green LEDs. The "off" image of the colored images is a very dark version of the named color. For the bi-color LEDs the "off" image is Red and the on/true image is Green.

Installation 

Place the contents of the Variable LEDs Folder into:

/Library/Application Support/Perceptive Automation/Indigo 4/IndigoWebServer/images/controls/variables

Place the contents of the Device LEDs Folder into:

/Library/Application Support/Perceptive Automation/Indigo 4/IndigoWebServer/images/controls/devices

Usage 

To use these images in a control page simply select the appropriate image name in the Control Page editor.

 

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!!