When Robots Attack

Posted by Steve on Sat, 10/21/2006 - 11:00am

Being the gadget freak I am, I'm of course a big fan of home automation. 90% of my house is under X10 control and the command of a FreeBSD server running some perl scripts I hacked together. I've already written some articles about X10 and my trials and tribs with it so I won't repeat them here.

I love having my house turn its own lights on/off. I like setting up whole-house lighting schemes, available at the touch of a button. But truthfully, X10 is a lot like owning a 1970s-vintage Triumph motorcycle. You run it for a while, then you spend a whole lot of time fixing it. X10 devices will work fine for years only to suddenly stop responding to commands. After hours of sleuthing you find that it's because the battery charger for your new camera is generating a noise storm on your household wiring.

As a product, X10 is almost as old as that Triumph. Like the Triumph, X10 was also invented in the UK, as was the notorious Lucas Electric Ltd, which was a large part of Meriden Triumph's downfall. If you're not a Brit motorhead and have never heard of Lucas, it's probably best summed up by a Lucas teeshirt I've got. On one side is the slogan: "A gentleman doesn't motor about after dark!" On the other is a Triumph headlight switch with the markings: Off, Flicker, Dim.
Anyway, that's why I was excited by a new home automation protocol that hit the market last year: Insteon. The best part is that it's cross-compatible with X10. However Insteon's core protocol is 900 MHz wireless. Besides meaning no more problems with noisy household electrical devices causing my lights to freak out I can upgrade my existing X10 network gradually. Also, each Insteon device comes with its own globally-unique address, much like the MAC address in an Ethernet card. Programming Insteon hardware is just a matter of putting two or more devices into "link mode" and they magically find each other.

During a particularly hot and humid week here in Brooklyn this summer, I arrived home one night to find my outside lights flickering like a haunted house and my neighbors debating whether or not they should call the fire department. The culprit was yet another flakey X10 switch. I replaced it with a spare and that one lasted two days.

Fed up, I ordered an Insteon relay switch from Smarthome. It was noticeably better constructed. And it did the trick. After giving it a couple of months' testing, I decided to replace all my X10 gear with Insteon. Two weeks ago I placed a large order with Smarthome. Last night, I converted the two master bedroom overhead lights and wall switch from X10 to Insteon wireless. The wall switch looks really cool too! Blue backlit buttons. Nice, firm action.

Problem solved? Sorta. One of the issues here is that almost all the ceiling lights in this house were originally pullchain fixtures. That's usually not a problem with home automation hardware like this. You just bury an X10/Insteon receiver in the ceiling electrical box with the light, wire the lighting fixture to it and add a transmitter switch to the wall. Then you link them together.

The installation went smoothly, although it meant having to remove and reinstall a heavy ceiling fan/light. What didn't go so well was turning off those lights for the night. I hit the two buttons together and the switch locked up like a Windows 95 machine. The only way to unlock the switch was to literally reboot it, or what Insteon calls "activating the air gap". You pull out a tiny little switch for 10 seconds and push it back in. That didn't fix it either, leastwise not for a few minutes. Then it just started working again. Bizarre. I was very concerned that I'd have to take down the ceiling lights again to relink those receivers to the wall switch.

Fortunately, Smarthome makes some software which lets you do this linking via a home computer over the USB bus to an Insteon wall controller. I've ordered that. I know I'm gonna need it, probably sooner than later. Sigh.

One of the other problems is that the scheduling software that comes with the wall controller, or rather what you download from Smarthome's site later, can only be programmed by... you guessed it... activating the link mode on the device. Which means getting back into the ceiling. Crap!! However, after some hacking I found that the scheduling software uses XML to store its device configuration. That means I can (probably) program those devices manually in a text editor. We'll see.

(Two hours later: yup. Copying the Timer Software's XML <DEVICE>..</DEVICE> block, replacing the ADDRESS and incrementing the Device ID appears to work. At last, some good news.)