X10 is an international and open standard for communication between electronic devices used for home automation. It was pretty much the first such technology on the market and is thus widely available and at mass-market prices.
The existing household electrical wiring (mains sockets and lighting) is used to send digital data between X10 devices. The data is encoded onto a 120kHz carrier which is transmitted as bursts during the zero crossing points of the 50 or 60Hz alternating current waveform. One bit is transmitted at each zero crossing and the zero crossing is used to improve signal to noise ratios.
To allow the operation of wireless keypads, remote switches, etc., a radio protocol is also defined. This operates at a frequency of 310MHz in the U.S. and 433MHz in Europe. The wireless devices send data packets that are very similar to ordinary X10 power line control packets. A radio receiver provides a bridge which translates the radio packets into ordinary X10 power line control packets.
X10 is at the cheaper end of the market when it comes to home automation but, it does have its uses. It's also not as reliable as some of the later and more expensive technologies. Aside from its price, it is fairly easy to retrospectively fit into your existing home. One of the downsides to this technology is the relatively low number of devices (16 per house, though you can use more than one house code) that you can install in a single home. Another disadvantage is that you cannot interogate the status of most X10 modules.
A key requirement for us was to have our Home Control System (HCS) computer be able to control all of the lighting and devices in the home. This can be achieved using a USB or serial port connection to an X10 Computer Interface. Some of these also allow autonomous operation by loading a program or macros onto the controller.
There are plenty of home automation software packages out there that can control X10 components but, these will always be a compromise in our view. The main reason behind us wanting to write our own Home Control System (HCS), was to provide the flexibility and control that we required and a user interface that better met our needs.
X10 & Java Programming
There are plenty of Java programming resources out on the web, with libraries and classes to control the complete range of X10 products. In fact the biggest challenge we encountered in integrating X10 technology into our current home, was that these libraries are often too comprehensive, making them large and quite complex to use. As you will see from our various X10 projects, we resorted to writing our own code, based upon the X10 protocol.
You would think it would be easy to control lights in your home using X10 equipment but it it is not necessarily the case. AS an example we looked at controlling the light in our hallway. There are limitations on how the modules can be wired into your home and their also limitations on the type of loads that they can control.
There are currently no X10 double switches available on the market. There are also no 2-way switching modules. This is a major restriction and should be noted before embarking on an X10 installation. We would also question the look and style of the devices on the market. All of the wall switches we have seen could not be described as stylish and are 'functional' in appearance.
The LW10U wall switch/dimmer is designed to replace exisitng wall switches that control room lights. It must be used for incandescant lights only between 60W and 300W. A Neutral connection is not required for this module so it should easily replace your existing light switch.
The AW10U switch looks just like the LW10U but, it is an appliance module that can control any type of load: resistive 10A, motor 3A or incandescent up to 2000W. A red LED on the front of the switch illuminates to indicate that the module is switched on.
A neutral connection is required for the installation of this module. It is unusual for a UK houses to have a neutral connection at a light switch but, it is normal to have a neutral at water boiler switches, etc.
You can get bayonet modules that sit between your exisitng bulb socket and the light bulb. There are so many flaws with this concept and product though:
An appliance module is basically a device that you plug into a mains wall socket (which must be left on). You then plug the device you want to control into this module. Each module has an address which can be set using dials on the front or via a more complex method. There are some limitations in using these modules. They do not like very small loads (e.g. night lights) and can leak volatge causing them to stay on. We have also found them to then switch fully on after a short time period. They are also noisy in operation.
This Marmitek appliance module is an example of one that we have used in our current home. It provides an on/off function (i.e. it is not dimmable) to control a lamp, heater, fan, coffee maker, etc. It is designed to operate with 240V ac loads of up to 500W (incandescent lamps and halogen light) or 230W (motors) or 3600W (resistive loads).
You can get wired versions of these modules, which are designed for a more permanent installation, e.g. garden lighting control.
2nd Generation Appliance Modules
These are an updated version of the module above, fixing many of the issue we have experienced.
To set the X10 address using any X10 transmitter, just press and hold the button in for about 5 seconds until the LED lights. On an X10 transmitter or controller, send the address you want the unit to be (e.g. A1 On~) and the module learns this address for good.
This unit now features a manual override button on the front, an LED to indicate on/off status and is compatible with very low wattage LED lights (no voltage leak like there is with X10 AM12U).
They also look a lot nicer!
These are basically an appliance module but with less power switching capability and the ability to dim the attached lamp.
The module has a minimum rating of 60W, and a maximum rating of 300W. It should only ever be used to control incandescent, or 12V halogen lamps.
We don't think X10 is really suitable for home automation. It is an interesting and cheap entry level technology but, it is not reliable enough.