MacDevCenter    
 Published on MacDevCenter (http://www.macdevcenter.com/)
 See this if you're having trouble printing code examples


My Favorite Macworld Product: Indigo

by Adam Goldstein
01/18/2007

Despite the announcement of the iPhone—and Apple's dropping of the computer part of its name—Macworld San Francisco this year was absolutely packed with Mac hardware and software. There were new versions of Microsoft Office, Toast, and SketchUp (my Macworld pick of last year). There were more attendees than ever. And, for the first time, parts of the conference spread into all three buildings of the Moscone Center.

Still, as always, I spent this year scouring the show floor for an underappreciated product—one that wouldn't be introduced with flashy press releases, but would still impress with its innovativeness. After a few days on the show floor, I finally found what I was looking for: a cool home-automation tool by Perceptive Automation called Indigo.

About Indigo

For more than 25 years, there have been standards in place for making devices in your home communicate with each other—to tell a light to turn off at a certain time, for example, or to turn off a fan when a sensor detects you leaving a room. The most popular system was a power line-based standard called X10 (a pun on "extend," as in, "extend the uses of devices in your home"). There were a number of problems with X10, however, like the fact that trying to send two signals at once would prevent either one from getting through.

In response, manufacturers jumped in with alternative standards, adding features like faster transmission and automatic mesh networking. One of these standards, INSTEON, is the one that's compatible with Indigo out of the box.

Like X10, INSTEON transmits signals over your power lines, so you don't have to lay new wires in your house to use it. (You can buy wireless transmitters as well.) INSTEON devices come in lots of varieties: motion sensors, lamp switches, light faders, keypads, and even sprinkler controllers. You can install most yourself, although you may want to call in an electrician if you decide to replace your in-wall light switches with INSTEON-compatible ones. Dimmers and light switches usually cost between $30 and $60, while fancier items like sprinkler controllers can run more than $100.

How It Works

Once you've installed all the hardware in your home, you plug the master controller brick into your Mac's USB port and begin a pairing process similar to connecting a Bluetooth phone with your Mac. Once you've set everything up, you're ready to control your house with Indigo.

Luckily, you don't have to start from scratch; Indigo comes pre-populated with a list of common actions like turning on radios, setting lights to half-brightness, and starting sprinklers. You can simply match these actions up with the particular devices in your home, and instantly begin controlling those devices from your Mac.

Of course, the whole point of home automation is that you shouldn't have to be at your computer to make things work. To that end, Indigo lets you schedule actions at regular intervals, with triggers like "at 2:00 AM the first Saturday of the month" and "10minutes before sunrise every Tuesday." Indigo automatically calculates sunrise and sunset based on your position on the earth's surface.

What's especially neat, though, is that in addition to making your Mac send commands to devices, you can have devices send commands to your Mac. When a motion sensor notices you walk into your room, for example, you can have Indigo automatically turn on the lights and turn down the radio.

Even cooler, Indigo supports AppleScript in almost every way imaginable. Not only can you script devices directly, but you can also make scripts run automatically when motion sensors fire or you turn devices on around your house.

Finally, Indigo can serve as a web server. If you're connecting to your Mac from another computer somewhere in the world, you get a spiffy Ajax-y page that automatically updates to show the state of devices in your house. From there, you can turn things on or off directly, or trigger AppleScripts that take care of it for you. If you're accessing the Web from a cell phone, you get a simplified page with hyperlinks to control each of your home's devices (see Figure 1).

Figure 1
Figure 1. Indigo lets you customize its web page when you visit the server from elsewhere on the Internet. Simply add a picture of your house's floor plan and drop in icons for each of the devices you want to control.

Ideas

Once you get over the novelty of turning on bedroom lights from the kitchen, all sorts of possibilities open up in your mind. For one, you could make it so that turning off the main light in your kitchen turns off all the secondary lights as well—as long as it's after dinnertime. You could set your lights to fade up to full brightness in the morning, gently waking you from sleep before your alarm clock turns on. You could even write an AppleScript to back up your files as soon as a motion sensor noticed you walking out of your home office at the end of the day.

Then the real possibilities open up. If you were feeling particularly sneaky, you could log into Indigo from work while your kids were home sick from school, and then turn on and off their room lights and radio until they called you in hysteria. (For extra effect, you could tell them their fever must be causing them to hallucinate.) You could even set up a motion sensor outside your house so that your sprinkler turned on whenever your pesky neighbors got too close to your property line. It soon becomes obvious that there are too many April Fools Day possibilities to count (see Figure 2).

Figure 2
Figure 2. In addition to turning lights on and off, you can also set their brightness

Final Thoughts

Indigo is no bargain at $200 (although you save $20 if you buy it before Perceptive Automation discontinues its "introductory pricing" scheme). If you buy an Indigo with a package of INSTEON equipment (like this one, which includes all the basic hardware and a light dimmer), you can save a few dollars as well—at least on shipping costs.

Unfortunately, Indigo requires your Mac to be on all the time to send and receive INSTEON commands. (The developer says you'll be able to offload some of these tasks to the USB brick in the next revision of the software.)

Given the price and requirement of a Mac that's constantly on, why bother? Well, if you're nerdy enough, the idea of a home that runs itself is probably enough. Still, it's not too hard to justify the project from a financial standpoint. To set up your house, you'll probably spend about $1,500 on INSTEON hardware, Indigo, and a new Mac mini (if you don't have one sitting around). But if you live in an area where a kilowatt-hour of energy costs $0.12, and you always forget to turn off, say, four 65-watt lights in your house at night, you'd easily waste that much money on energy costs after 15 years of unnecessary lighting. (If energy costs rise, the whole setup will pay for itself even sooner.) In the lifetime of your house, 15 years isn't all that long—and if you ever move, you can take much of the equipment along with you.

Before you buy Indigo, though, you might as well try the 30-day demo version available at www.perceptiveautomation.com. But if you're the sort of person who gets excited at the thought of home automation and evil pranks, you're bound to find Indigo exciting enough to buy well before your trial version expires.

Adam Goldstein is the author of AppleScript: The Missing Manual and also a full-time student.


Return to MacDevCenter.com.

Copyright © 2009 O'Reilly Media, Inc.