For those who’ve followed my home renovation blog over the past 14 years, you know I’m a computer nerd with some nerdy obsessions. Like home automation.
Early in this blog in fact, I talked about how cool my new X10 home automation setup was. Subsequent articles were less flattering, like The Night of the Flashing Lights, when I came home one evening to see all the lights in my house — outside and in — flashing at two second intervals. And my neighbors not knowing whether to call the police, the fire department or an exorcist. And when a power surge blew out half the devices. And when a Slingbox device corrupted the powerline signal so all my X10 devices went deaf. And when….
X10 is a home automation protocol dating back to the 1970s. It’s based on sending coded signals over the household power line. The problem is that the household power line of the 21st century can be very “noisy”. PCs and other digital devices interfere with that signal. X10 was an affordable hobbyist home automation protocol that wasn’t ready for the big time of the 2000s. The protocol isn’t robust and some of the available hardware has the lifespan of an incandescent light bulb.
Since the 1960s, if you had about 50 grand to spend and a house in the framing stages, you could install programmable lighting based on dedicated control wiring. X10 filled a nice niche because the only household wiring modifications needed for X10 are hot and neutral wires for the device, like a household power outlet. Also if you have two-phase power in the house you have to install a bridge between them, ideally at the breaker panel.
But X10 was so problematic for me that I was almost ready to go back to conventional light switches. Then a new protocol became available: Insteon.
Insteon not only offered a stronger protocol but was backwards compatible with my existing X10 devices. That meant that I could keep what I had and replace them with Insteon devices when they inevitably blew out. Starting around 2006 that’s what I did.
Fast forward to today and I have 26 Insteon devices and about 75 different ways to control them. And no X10 devices. Most of the house is under Insteon control. A selected number of lights run on a scheduler and turn on thirty minutes before sunset and automatically turn off in stages until 2am when the “all off” program runs. Yes, I have sometimes been plunged into total darkness while navigating a hallway full of groveling animals with a plate of food at 2:00:01AM.
I can control everything from a tablet or from my phone too. All was good. And that’s always when the proverbial shit hits the metaphorical fan, ain’t it?
It was a dark and stormy night…
It began, innocently enough, with a Mac OS upgrade to my Mac Pro on which the home automation controller runs using software called Indigo. Indigo was a little challenging to set up originally but reliable and easy to use afterward. The software “talks” to a device called a power line modem (PLM), which the Mac treats like a serial device over USB. The PLM simply plugs into a standard power outlet. The operating system upgrade to Mojave messed with some serial protocol internals in Mac OS. Indigo, and my PLM, went down like a greased manhole cover.
I went back and forth with Indigo’s developers. Upgrading to the latest Indigo still didn’t fix things with Mac OS Mojave. So I rolled back the operating system to High Sierra and that’s when disappointment became disaster. Something in the rollback trashed my solid state drive. Nobody is sure what but the likely culprit was a defective power supply that sent a death spike to the drive when I turned it back on after rebooting the OS. On the recommendation of OWC, the maker of the drive, I express-shipped the drive to their data recovery facility in California. A few days later I received the bad news that the disk controller was toast. The data was unrecoverable. Rats. This was getting worse by the day.
Fortunately, being a hardware nerd, I had not one but two Time Machine back up drives. It was painful but I got everything loaded on a new Samsung external SSD and had the computer back up and running on High Sierra in 24 hours. Ya just gotta love Amazon Prime Now.
But that terrible experience exposed a deficiency in my Insteon setup: that it was dependent on the Mac running 24/7.
While I was in Morocco last January I started devising a plan to fix that. I was wondering how much energy I was wasting to keep a Mac Pro running to turn lights on and off while thousands of miles away so it would look like somebody was home. Why, yes, I do have a program for that.
I had tried Insteon’s Hub controller and found it inadequate. For one, it would only handle later generations of Insteon devices and I had Revision 1 inline controllers buried in ceiling boxes. They would take lots of time to replace because they also have heavy ceiling fans. It also had problems with the computer noise on the power line.
I decided to revisit another Insteon device with which I’d also had a poor experience a few years ago, Universal Devices’ ISY994i.
Back then I was running Microsoft Windows and UD’s Java software wouldn’t run with my anti-virus software or firewall enabled. To be fair to the ISY994i, my problems were mostly with Windows. It’s the main reason why I dumped Microsoft and went Mac/Linux here.
It deserved another shot.
I still ran into some issues with those Revision 1 devices and decided to replace them. Fortunately, the ISY994i only had a problem with three of them. I replaced them with current models and not only did those problems disappear but the whole Insteon mesh network became more responsive. These later Insteon devices communicate with each other with RF so even if there’s noise on the power line you can usually get a signal through by relaying it off another neighboring Insteon device. Of course, this happens transparently to the user. It’s part of the protocol, not something you have to program.
This article is getting a little long so I’ll save the ISY994i tutorial for the next one.