Home Remote Control

Like many people, I started automating things at home with timers. Power interruptions, daylight savings time changes, seasonal changes, and just too many things to set made me look for a better solution.


Years ago, I found this neat system called "X10"

It sends signals over the AC lines to control things. You can buy plug in modules that will control lamps or appliances, and also replacement wall switches and outlets.

There are also a number of other devices available, like alarm systems, thermostats, etc.

Basically, it's a one-way signaling system,  you send a command and hope it is received. That is a weakness but the stuff was pretty cheap.

Since the signal is transmitted on the AC lines when the AC signal hits zero volts, it's simple to make products for, but very susceptible to noise. In addition, transmitting the signal on one "leg" of your 110v circuits does not allow it to easily get to the other 110v leg.

Signal coupling the two 110v legs of your house was initially done with a big disc capacitor across the 220v lines (the two hot sides of the two 110v legs). This works ok, but the only reliable way to have good signal is a repeater, which listens on "each side" and re-transmits an amplified signal. There are some cheap ones, but none work worth a damn, only the $150 and up Leviton ones work.

But this has worked for me for a good while. I've had to mess with some wiring, found some things that made a lot of interference, and some places where I just could not get a reliable X10 signal.

I initially used a program written in 1991 by Steve Billard of Sympathetic Software. http://www.sbillard.org/pages/Software

It worked on a CP290, a small, wedge-shaped controller with a 9v backup battery. Of course you had to reprogram it every time you wanted something to go on or off at a different time. So once a week, I ran the program to update my morning and evening times for my lights.

Later I heard about some more powerful software, and a better controller, and wound up getting an Ocelot controller, and the Homeseer software.

This was great, the software needed to run all the time, so I needed a dedicated computer, but no problem, I have a full time Windows Server going. I could program lights so that their on off times were relative to sunset and sunrise, it understood daylight savings changes, great.

Now the software was good enough, but the X10 system is getting a bit long in the tooth, and even though there were extensions where you could poll the status of a device and then write a routine to make sure the device heard you, there were still too many limitations, and not much new going on.

Here's an excellent site on X10: http://www.edcheung.com/automa/ha.htm


Well, there are some replacements for X10. There is something called Insteon, which tries to combine X10 on the power lines with some RF signalling, and there is Z-wave, which is pure 900 MHz signaling.

What I liked about Z-wave is that it is a fully acknowledged protocol, i.e. you know that your command was received and acted upon, because the controlled device reports back, and that it is a "mesh network", where basically every "node" listens and reports on who he can hear. 

This way, you can have several paths to a device, and it makes the entire system more robust.

The z-wave stuff integrates nicely in Homeseer, and I presently have both X10 and z-wave devices, but all new stuff will be z-wave.


Here's a screen shot of one of the HomeSeer pages. It has a built in web server, so you do all the configuration in a browser, from any PC in your house.



Homeseer 3

Being a loyal customer for years, I was eager to go to the next version that worked better. There was a lot of ballyhoo about it. I finally succumbed and what did I find? The dang thing has more bugs and my X10 controller interface was no longer supported, and it was about $200. Ouch!. Then I got a new interface and while it works on HS2, it did not work on HS3, and of course all the support people told me I was wrong.

OK, read the HomeSeer forums. Surprise, tons of people having the same problem. Well, sigh, I'm in it for the long haul, and slowly converting over to Z-Wave, but I have to figure this out. Stay tuned, the TI103 units did not work on HS3, but now I ordered one of the older, out of production CM11 units.

Also, the "conversion" of my fairly complex "program" for my lights, sprinklers, etc (I have about 50-60 devices) did not convert worth a damn from HS2 to HS3.


TI103 controller notes

The TI103 was supposed to be a super controller.

Dip switches

1 – off – require valid checksum from hose (on = checksum override)

2 – off – accept x10 start code w/o valid start of message (I assume off is the reverse)

3 – off – std sensitivity (on = lower sensitivity)

4 – off – transmit 4 times (on = unlimited retry)

5 – off polite mode collision avoidance (on = rude mode does not monitor line for collisions)

6 – off transmit at zero degrees (on for 0, 60, 120)

7 – on for 60 hz (manual says leave off for 50 hz)

8 – off – 9600 baud (on for 19,200)

Insteon controller 2412N

I also have been experimenting with a lower cost system for my Dad. I did not want to spend $400 for the controller and software since he only has a few things to control, and no sophisticate programming requirements.

I found the Insteon controller with an Ethernet interface so the "software" is built in, and all you need is a we browser. The ads say will run X10. Also. Well, not true! There is an X10 manual on/off part, but all the programming is Insteon, i.e. you have to push the button on the Insteon device, and then the controller "Reads" the id of the device and then you can program it.

I was pretty po'd and researched the device to find many other people in the same boat.

I was messing around with it and noticed that there was the ability to customize the Insteon command on one page. Weird, there was an example of an X10 command!!

I started looking at the example codes, and detected a pattern in them, but it was really weird.

Here was the command: X10 A1A On command:           02636600P102636280

There were no hex digits, and what the hell was the P?

After researching  X10 commands on the web, I found that there is a 2 stage command, first the address, then the on or off or dim..

Looking at that number again:  I put in some blanks:         0263 6600 P1 0263 6280

How about assuming that P1 is a pause of duration 1? Sure enough, some of the documentation mentioned there might need to be a pause between the 2 commands.

Also, this 0263 looked like a command header.

I started researching the codes for the 1-16 and the A-P used for addressing an X10 item:

 A 1  6                                    
 B  2  E                                    
 C  3  2                                    
 D  4  A                                    
 E  5  1                                    
 F  6  9                                    
 G  7  5                                    
 H  8  D                                    
 I  9  7                                    
 J  10  F                                    
 K  11  3                                    
 L  12  B                                    
 M  13  0                                    
 N  14  8                                    
 O  15  4                                    
 P  16  C                                    

 Yes, I know, the encoding is crazy. There are several theories, but the codes were picked to make the protocol work better.

So now things seemed to make sense:

 X10 A1A On command:           0263 6600 P1 0263 6280
                                    ^^---||-------|------- A1
                                         ^^-------|------- pause
                                                  ^------- on

                               0263 6600 P1 0263 6380
                                                  ^------- off

                               0263 6700 P1  02636280

A2 on/off                      02636E00P102636280