(0 votes, average 0 out of 5)

GeekPad Part Two: Cooking it up

by: Art Stein This e-mail address is being protected from spambots. You need JavaScript enabled to view it

Okay, in part one, I covered the basics, or "ingredients". Now it's time to put them all together. I found a piece of software a while back which helps me control my automated home. This software is called Homeseer. This software allows for control of not only X10 devices, but a myriad of others, including IR controllers, thermostats, etc. Want to control the TV or stereo by computer without touching a remote control? I do.

How to put it all together
In part one, I mentioned the X10 modules and a PC. It's actually pretty simple to do. First, we prep the PC. I loaded Windows 2000 Pro on my box and it's running nicely. We start with a fresh load of the operating system. It's best to let the automation tasks be the only thing running on said PC. This is for speed and performance. Who wants to wait for a light to come on 15 seconds after you tell it to? Not me!


Once we have the PC prepped, we install Homeseer. This is an easy installation. There are very few options during install, so it's hard to install it wrong. In Homeseer, you have "devices" and "events" which are the basic building blocks of the control system. You want to control the devices using events.

Events can be triggered by many different conditions. A recieved X10 command can trigger an event (most common trigger method). You can also trigger events based on daytime or nighttime conditions or just about any other condition you can

HomeSeer Web Control

imagine.

Homeseer is highly customizable and comes with an embedded webserver which I have used extensively in designing the control interfaces. I chose to use ASP (Active Server Pages) as the language of choice. Homeseer also supports VBScript, which makes it easy, as long as you know the syntax, to write control scripts and such.
touchpreview

Touch Screen Interface

setup

Homeseer Setup

Here's an example of a quick script that would turn on a lamp module assigned to "B1", given a certain condition...

sub main()
if hs.devicestatus("A1") = "2" then
hs.execx10 "B1","on"
else
end if
end sub

Now, see how simple that is? Well, okay, maybe not simple, it looks greek right? Let's break it down line-by-line:

line 1.) if hs.devicestatus("A1") = "2" then <- This basically says "if the device with the code A1 is off, then carry out the following command".

line 2.) hs.execx10 "B1","on" <- This is telling the system to execute an X10 command of "on" to device code B1. Pretty straight-forward right?
Okay, so that's basic scripting with Homeseer (very basic). So now we know how simple it's going to be to use this control system and we move on to device setup. Bear in-mind that Homeseer can also be used "out-of-the-box" and what I am describing is customization of how you would interface with the system.

I've found that grouping like device types with housecodes works really well. You can keep the number of trancievers down and save some confusion when trying to remember what device is what. For example, all of my security cameras are on house code "C". and I numbered the device codes from the front of the house ot the back. For example, the camera that watches the front yard is "C1", the one that's in the detatched garage is "C6". X10 cameras are fun too, but we'll cover that in another installment.

Now that we know a bit about the programming and how we want to plan our device layout, we can start actually setting them up in Homeseer. This is very simple and easy to do. The Homeseer authors have created a very user-friendly interface for getting it up and running quickly. I'll leave the details on that to the manufacturers.

touchpreviewNow we connect all of our "peripherals" or controllers. In my case, as I mentioned in part one, an ACT TI-103 X10 controller, and a SmartHome IRLinc 1623. Both of these devices require a serial port, so make sure if you want to use them, that you have said ports available, or go out and buy a serial port PCI card. Now simply set them up with Homeseer in the setup section. Now you have the ability to send and recieve X10 signals to devices and send IR signals.


Okay, so where do we go now? (sounds like a song, LOL)
Now we dig deep into the realm of web programming and Flash. Well, we're not going to dig too deeply, since part three is going to be all about the interface baby! But we will go as far as mentioning that the level of complexity in the design of the interfaces is pretty high. Since I have you wondering, I will give you a sneak-peek at the touchscreen interface I built.