iPhone X-10 Webapp

Ever since college I’ve been using this Home Automation system called X-10. I’m not a huge fan of their promotional tactics (back before browsers got smart about popups, they were notorious for their security cameras that probably only peeping Tom’s bought), but they do provide an economical solution for controlling all lights and appliances in your household.

Before the iPhone SDK was released, I wrote web app to turn off/on the lights in my house via my phone. What made it all possible was my old laptop that runs an antiquated copy of Debian Linux (whose LCD screen is non-functioning) and the X-10 Serial Firecracker interface.

The basic setup is as follows:

  • Apache is running on the laptop and hosts the front-end GUI and a CGI script that makes a back-end call to a userland progam that interacts with the X-10 Firecracker serial interface.
  • The CGI script accepts an on or off action (I don’t use dimming modules) and the 1 or more unit codes to perform the action on.
  • When an on or off button is pressed, an AJAX call is made to the CGI script hence turning on or off the light(s).

I originally had plans to release what I had done to the public, but there are a few problems with the current design. One problem is that the unit items (i.e. Bedroom lamp) are currently hard-coded into the webapp. An automated method for defining the units would be needed.

Secondly, the scripts will only work if you are running Apache on a Linux box with the firecracker serial interface. Most people wouldn’t be running Linux nor using the serial interface to interact with X-10.

I decided to wait for the SDK to be released and convert everything to a native app. When the SDK came it was only compatible with Leopard which I didn’t have at the time.

By the time I got Leopard, somebody else beat me to the punch, and from what I can tell he did a good job. I still use the app and may still convert it to an app just for myself. We’ll see. Below is a screenshot of the webapp.

tags, , , , ,