This month, I will detail the process of automating your home using features of the Gate Way and HomAtion 2000 for Windows by HomAtion systems. Our automation task will include the following types of devices.

* RCS X-10 Thermostat
* X-10 Powerhouse wall switches
* X-10 Powerhouse lamp modules
* 1 Genie Garage Door Opener
* 1 OFA 5 Universal Remote Controller (modified)
* 1 Universal Remote Controller


AVToolBox Home Theater Components
I find it easiest to start out with a list of scenes we’d like the Home Automation system to facilitate.

Macros and scenes we’d like the home automation system to perform:

1. Bed Time Scene:

1. Turn off all house hold lights
2. Turn on outside lights
3. Turn off the television
4. Set back the thermostat to 60 F
5. Announce Scene

2. Movie Scene

1. Turn on the Television
2. Turn on the VCR
3. Dim the Family room light to 80%
4. Turn off all kitchen lights
5. Announce Scene

3. Dinner Scene

1. Turn off the television
2. Turn on the Stereo
3. Set the dining room light
4. Turn off the kitchen lights
5. Announce Scene

4. Morning Scene

1. Turn on the Downstairs Television
2. Turn on the bedside lights
3. Turn on the Kitchen Light
4. Turn on the Master Bathroom Light
5. Turn on Family Room Lamp
6. Turn up the Thermostat to 70 F
7. Announce Scene

5. Nobody Home Scene

1. Turn off all inside lights
2. Turn down the Thermostat to 60 F
3. Announce Scene

6. All Lights Off Inside Scene

1. Turn off all inside lights
2. Announce Scene

7. Outside Lights On Scene

a) Announce Scene

8.Panic Scene

1. Trigger Security Alarm Relay
2. Turn All lights ON
3. Initiate Pager Sequence Page Jeff
4. Announce Scene

9. Status Check Scene

1. If Garage Door is ajar, announce Garage Door Ajar
2. If Side Door is ajar, announce Side Door Ajar
3. If Sliding Door is ajar, announce Sliding Door Ajar
4. If Garage Entrance is ajar, announce Garage Entrance Ajar
5. If Front Door is ajar, announce Front Door is Ajar

10. Front Door Visitor Scene (doorbell button pressed)

1. Ring the doorbell
2. Turn on the outside lights
3. Announce scene

11. All Lights Off Scene

1. Turn off all interior and exterior lights
2. Announce Scene

Now that we know what we’d like to have the Home Automation System perform, we can begin programming HomAtion 2000 to take over our home. In HomAtion 2000, you can schedule any unit to be controlled with it’s own schedule. I find it most effective to control the home in terms of scenes. Then, have the scheduled events or actions activate the scenes.


First, I’ve laid out my home identifying each room, and all devices which are to be controlled. The lower level consists of the Family room, Kitchen, Dining Room, Living Room, Foyer, Hallway, Bathroom, Laundry Room, and Garage.

The upper level consists of Jeff’s Office, Upstairs_bath, Sherry’s Office, Master_Bedroom, Hallway_up, Master_Bath, and Second_bedroom and similarly the outside layout includes lighting etc.

Setting up X10 Devices

Now, let’s review how to set up each type of input and output. First, let’s select an X-10 lamp:

Select the Letter code and Unit code.

Hardwired Inputs:

Now, for a hardwired input: I’ve added an input called MSFamily (Motion Sensor Family) and I’ve given it address 8.

Digital Outputs

I’ve added numerous hardwired outputs. The Security Alarm trigger is attached to output # 6 on the Gate Way. The screen is the same as above, but HomAtion 2000 learns it’s an output when you add it to your layout:

On your layout, you can click on the outputs to make them change state. Also, the inputs will be hilighted if they are on, black if they are off, and blue if they are idle. You can change these colors and actions under the Colors ‘n Font and Features tabs respectively. For this project, they are set to the defaults.

Programming Scenes:

Using different layouts assists in the organization of all the devices you’d like your home automation system to control. It also provides a means to organize hierarchical events, scenes, and functions. I’ve organized all the system scenes on a layout called Scenes: Maintaining a hierarchical approach is very important when trying to debug your automation system.

HomAtion cleverly allows anything to trigger anything else. You can have events trigger scenes, scenes create events, events cause events, etc. You can create variables to pass data from one scene to another. You create a scene the same way you add a device, except you attach events to it. I’ve created my scenes by adding ‘appliances’ with no address. If you wanted a function such as an X10 command, IR inputs, or hardwired input to trigger these scenes, you’d change the address of the scene to the address of the corresponding input. The way we will call scenes will be described later. Lastly, I like to make the scene activations momentary. HomAtion has a feature for any device called ‘Auto return to Idle.’ I select this under the ‘features’ tab for scenes.

To demonstrate the scene creation process, I will show the creation of the Movie scene to demonstrate the IR capabilities, the Bedtime scene to demonstrate the control of the Thermostat, the Panic scene to demonstrate Paging capabilities, and the Check Status scene to demonstrate conditional responses. If you’d like the layout files for this article, please e-mail me at I’d be happy to send them to you.

Starting with Movie Scene: First, you add an appliance and change the Letter Code to ‘empty’. Then you add your events.

We’ll start with an event called Kitch_lts_off. You need to create an event for every task you want to perform. Under the Event Name, type your event and press ‘ADD’ Now, select your targets.

A target is any scene, device, or zone. The letter code section is if you wish to operate on an entire house code. If you are just changing a target module, do not select any house codes. Then select change.

Now, you need to tell HomAtion what to do with the targets you’ve selected. Select the Advanced tab.

Since you’ve already selected your target modules, under ‘Set to’, select OFF. You want this to occur whenever the Movie_Scene is activated. So, under How, select ‘When condition changes’ and under Condition, select Idle. Since we have the ‘Auto return to Idle’ selected, the scene will execute when it changes from ‘not idle’ to idle. Now, let’s add our Infra-Red and Announcement information to HomAtion.

First, add Movie_AV_ON as an event, and select the Add button. Click the IR tab, and select the IR sequence you wish to send.

Now, I’ll show you a slick feature of HomAtion 2000. You can have HomAtion queue a .wav file, or actually synthesize text. I recommend recording .wav files for your final system, but using the speech synthesizer is also pretty good. Select the Audio tab, and type in the speech you’d like HomAtion to say every time the event is requested. Press ‘Say’ to see if the phrase sounds acceptable. Please note that if you add an event after you’ve put information in other tabs such as Paging and IR Remote, you must clear them or HomAtion will repeat the sequences for the new event.

Now, let’s create the BedTime scene and demonstrate HomAtion’s ability to control the RCS Thermostat.

Create the scene as indicated above, add an event called Heat_2_60.

The Thermostat has a number of different targets you can operate on. We’ll select the Heating Set Point. You can create events so sophisticated that HomAtion will know whether it’s summer, winter, hot outside, or cold outside. Based on conditions you program, HomAtion can set a 60 degree set point in the winter or an 80 degree setpoint in the summer for economy mode. For now, we’ll simply show the heat set point as 60 degrees.

Under the Advanced tab, program the set point and set the trigger (‘How’) and the conditions as in previous events.

Select the refresh box. HomAtion 2000 attempts to keep track of all the states of all the devices in the home. However, if you manually change any devices such as turning on a light yourself, or turning down the heat yourself, HomAtion won’t know it unless the device has polling capabilities. Therefore, I recommend selecting ‘refresh’ for all events.

Now, let’s create the Panic event to show the paging capabilities, and the hardware control. We want the panic scene to turn on all the lights in the house, trigger the security alarm, and page a predetermined number with a predetermined message. First, create an event called All_Lts_on, and select targets for lights as shown:

Now, create a scene called Activate_security_alarm, and configure the advanced settings as shown:

The last thing we need the Panic scene to do is send a page over the phone lines to alert whomever the user specifies. Create an event called Page_Panic, and select the paging tab as shown:

Now, whenever the Panic scene is activated, HomAtion 2000 will generate a page with the code as shown.

I’ve created these scenes to only be activated by other triggers inside of HomAtion. Remember, however, that these scenes were created by adding ‘appliance’ icons with no letter code. If you’d like to activate any scene via X-10, simply change the letter code and unit code from ‘blank’ to a valid code. Since the scenes have been programmed to activate when they switch to the ‘idle’ state, and the ‘auto return to idle’ feature has been selected, they can be activated with either an ON or OFF command from X-10.

Schedules and Timers:

HomAtion provides powerful timer features – from very simple to very complex. First, I’ll demonstrate a simple timer for the X-10 Device called Family Room Lamp. I’d like to program the Family Room Lamp to turn on at 5:00 p.m. every day. I’m not going to worry about turning it off because the Bedtime Scene will handle that for me. Place the mouse cursor over the Family Room Lamp and right mouse click to pull up the properties tab. Select the ‘Schedule’ tab. Then fill in the schedule as shown.

Now, suppose I want to turn on the Family Room Lamp on every day at sunset We all know that the exact time that sunset occurs every day is different. Once you tell HomAtion what city you live in, or your exact coordinates, it will calculate sunrise and sunset for you. You can also create your timer event around sunrise or sunset by indicating Sunset +/- any period of time.

Conditional Timer Events

Suppose we want to make sure the garage door is closed every night at 9:30 p.m. Sounds pretty simple, but the garage door control is a push button for both open and close. So, we can’t simply pulse the garage door button at 9:30; we need to add a condition that tells HomAtion only to pulse the garage door opener relay if the garage door is open and it is 9:30 at night. First, we need to make the Garage Door Switch input a pulse type of input. HomAtion allows you to activate delayed events in response to conditions, timers, or events. See below:

Create an event called Garage_Door_Momentary, and set it so ‘when Condition = ON, condition = Off’, but click on the Dates, Times, Days ‘n Delay tab, and set a delay for one second:

Now, each time the Garage_Door_Switch is activated, one second later, it will become deactivated. We are ready to schedule Garage Door management!

Add a Timer called Garage Door Close and set the time for 9:30:

Now, add the condition: If Garage Door is Open: Select the Other Conditions tab. Since the Garage Door sensor is a normally closed switch, it opens when the garage door is closed. So, when Garage_Door_Ajar = Off, the door is open.

Connecting Actions to devices, events, and scenes

To maintain topology, I’ve added an ‘Actions’ layout. This is where we’ll create all of our actions and reactions.

Suppose you want to turn on the Family Room light for five minutes when the Family Room Motion Sensor is triggered, but only if it’s between the times of 9:00 p.m. and 5:00 a.m., and only if the lamp is not already turned on.

1. First, I add a digital input called MS_Family_Trigger. This is redundant because the motion sensor is already described in the Lower Level layout, but it maintains a topological organization to the automation system.
2. Then, I create an event called Family_Room_Light_ON
3. Select the target as Family_Room_Light
4. Select the ON under the ‘Set To’ box

5. Click the Other Conditions tab, hilight the Family_room_light, set the condition value to OFF as shown:
6. Now, click on the Dates, Times, n’ Delay tab and select a time range from 9:00 p.m. to 5:00 Am.
7. Now, go back to the Basics tab, add an event called Family_Room_Light_Off, select ADD, and click on the Dates, Times, Days n’ Delay tab. Select the time to 5 minutes as shown:

8. Under the Basics tab for this event, select OFF for the condition and OFF in the ‘set to’ box.

Now, our family room light will come on for 5 minutes, only between 9:00 p.m. and 5:00 a.m., and only if it is already turned off.

We’ve covered some basic features of HomAtion 2000 with the Home Automation Gate Way. This combination can be used to supply highly sophisticated controls to your home for a relatively low cost.