Like any self respecting 40 year old geek, I've got a heap of defunct hardware that I've collected over the years. I keep said pile around because I have dreams of finding just the right bit of ancient tech to perfectly solve a problem. Usually, this doesn't happen, but I like to keep the dream alive.
Last week I was fiddling around with detecting radio signals of in-home devices. It occurred to me that our Acura's have always come equipped with HomeLink buttons, designed to remotely operate a garage door. We don't have a garage, much less a garage door opener, so we've never used this feature. Yet, what if I hijacked these signals and instead of opening a garage door, I detected them using an SDR dongle connected to a Raspberry Pi. I could then use the Pi to control other devices in our home.
Sure, it would be a significant effort to hack this together, but when I was done, I'd have my home and car connected.
I started Googling around, and to my amazement came across discussion of X10 and HomeLink integration. X10 is an ancient (at least since I was in college, in 1998) standard for remotely controlling lights and appliances. Back around 2000, I was on a total X10 kick, and tried various configurations to automate our apartment at the time. Eventually, we settled on remotely controlling a single light in the bedroom, which we use to this day. Every night before bed, we hit the X10 controller to turn off the last light in our bedroom.
Suddenly, this was all starting to make sense: the X10 probably broadcasts on a similar frequency to a garage door opener. That's probably a required standard. And HomeLink doesn't know anything about the signal it's setting, it just allows you to record a given signal and it will re-broadcast it. I didn't need to hand craft a Raspberry Pi solution. I needed to connect up an X10 lamp module, remote and transceiver. That's about $75 worth of hardware. But fortunately for me, I already owned all of these components. To the Defunct Hardware Pile!
It took some digging, but I found all three components and plugged them in. In our front room, I plugged the transceiver into one outlet, a lamp module into another outlet, and a lamp into the lamp module. I put fresh batteries in the remote and to my surprise, the light turned on and off in response to the remote. Whoo!
I then headed out to my car and followed the instructions here to train the HomeLink buttons in my car to send X10 signals. My guess is that the procedure is no different than training a garage door opener, or any other device. The only moment of confusion came when the HomeLink button I trained only turned the lamp on. But that actually made sense, because the X10 remote has one button for turning things on, and one button for turning things off. I simply trained another HomeLink button to be the 'off' switch for the lamp, and that worked as expected.
Who would have thought that 17 year old tech would pair perfectly with the latest Acura ILX?
The project that I thought would take weeks of effort to organize was implemented in about 15 minutes. All that's left to do is purchase a reasonably nice looking lamp we can put in our front hall, and to program Shira's Acura RDX. Then when she pulls into the driveway on a dark winter night, she can turn on a light in the house with a simple button press.
(Hey look, I accidentally made my wife a geeky Valentine's Day gift. Oh defunct hardware pile, what would I do without you?!)