Skip to content

Using “Home Automation” to improve security…

February 13, 2012

The idea of automating your home to improve your home living experience is not new.  We have all used timer devices to turn lamps on and off at certain times of the day and night, either because our schedule of use for that appliance was well known, to replace a repetitive predictable manual step, or to simulate that there is someone home.  The later is what I wanted to do, at least in the near future, so that when I’m traveling or on vacation, inside and outside lights will go on and off in a predictable manner, just as if I was there.  I wanted to add an element of uncertainty as well to make it appear less automated and more as if a human were moving around and turning things off and on.  And finally, I wanted to manage this with my Debian Linux server.

So I decided to get “X10” devices for my house.  X10 devices are addressable, communicate through the power system of your home, and perform simple functions like “on”, “off”, “dim”… These devices and others similar can also use RF (radio frequency) to communicate — but I’m not there yet.  Just getting a simple system going to turn on and off lights or appliance in accordance with my programmed schedule will be fine for now.

I purchased several components from eBay to make this work:  a CM11a controller, 3 appliance controllers, and 3 replacement wall switches (all X10 programable).  The Linux application to make this work I chose is called “heyu” and is available as an open source program at http://www.heyu.org.  Some experimentation proved that I had a major problem to overcome before this will work across my home – apparently mine (and most) houses have a “split personality” when it comes to power, or at least power that can be used for communication using X10.  Most homes have 220/240 Volt 2 phase power coming to thier home, and it is then split into two 110/120 Volt lines and destributed across the house.  The result is there are two power phases working across the home, and depending upon where you plug in that CM11a controller, you will only be able to “talk” to the X10 devices that are in the “phase” associated with the wall socket you plug the controller into.  Luckily, I was able to find the group of outlets and switches in my home that included the wall switches controlling the outside lights I really wanted to be able to work with in conjunction with some key inside lamps.  So by re- positioning my server to the living room and replacing the outside target light switches and adding inside plug in modules for the inside lamps, I had control! 

The next step was to add scripts and controlling scripts, and put them into a “schedule” which I chose to do using a Unix/Linux “cron” job — a traditional approach to scheduling tasks on a Unix based server.

Now all I need to do is take a vacation … hmmmm … well at least I have my outside lights turning on and off when I want them.  The future? Purchase and install a X10 Phase Coupler, which will allow me to communicate to X10 accross the entire home.  Then, improve the HA (home automation) interface (I think I’ll eventually replace the command line driven “heyu” with a browser based powerful “Misterhouse” program); and add some more interesting sensors (like motion sensors) and create cascading event based tasks (like if a person is detected at the front door, announce a voice alert throughout the house that a visitor has arrived).  The potential and possible improvements for a self-security system are most intriquing and that is where my next steps will probably take me.

Advertisements
Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: