As many of you know, I am a bit of a home automation nut, and for close to a decade I've been wiring and rewiring parts of my home, while tinkering with all sorts of gadgets (some very useful, some admittedly less so). Part of the appeal is the fun factor. But there is a very practical aspect to this as well.
For example, I have a large saltwater marine reef fish tank in my house (it sits in the wall between my office and the family room). A healthy reef tank needs reliable lighting, with different lights (and different intensities) at different times of the day - brightest simulated sunlight at midday, moonlights at night, and more. Water temperature needs to be monitored carefully, a sudden drastic rise in temperature is a surefire way to kill off soft corals (I know, I've had it happen). And more. And flipping all of those switches manually is a pain (especially with my travel schedule). And so the entire setup is automated. Daytime lights start to turn on at sunrise and are off by sunset, and moonlights are obviously the reverse. Temperature changes outside of a set range are immediately reported to me via SMS, and I can check the temperature from anywhere in the world at any time. Even water leaks or overflows (a real concern when you have close to three hundred gallons of water being pumped around your house) trigger immediate alarms and notification (and will soon automatically activate cutoff valves). You get the idea.
So, how does this all work? Over the years I have played with a variety of home automation technologies, but have ended up sticking with X10. If you've not run into X10 before, here's what you need to know. The technology has been around for over three decades, and it is popular because it is easy to use, very flexible, and pretty cheap, too.
X10 works by allowing you to send signals over your house electrical wiring. To turn a switch on or an outlet off, you simply send a message over the AC wiring specifying the switch or outlet address, and the instruction. The appeal of X10 is that it needs no special wiring or data lines or anything like that. X10 commands are sent over the same electrical lines that the devices are already connected to.
Obviously, to make this work, you need switches and outlets and devices that are X10 compatible, and there are lots of these. Using standard wall light switches as an example, you'd buy an X10 replacement light switch, remove the existing one, and replace it with the X10 equivalent. The light switch would still function locally as it did before, but now it could also accept instructions sent over the same AC wiring that the switch is using to power the lights.
Every X10 device on your network must have an address, and X10 addresses are 1 byte long (or technically 2 sets of 4 bits), so a maximum of 255 devices can be connected at any given time. X10 devices do not come with preset addresses, and at setup time you pick the address you want for each device (and multiple devices can actually be given the same address, which can be a blessing and a curse). A command sent over the wire is then sent as address + 4 bit instruction code (3 for on, 11 for off, 15 for dim, and so on). Commands are usually sent by other devices. For example, if you want a light switch in one part of your house to control a light elsewhere, instead of having to run new wiring (and setting up 3-way switching) you could have the new light switch set up to send commands to another light switch, essentially creating a remote control of sorts.
Many home automation setups use large collections of switches and outlets and more all connected to each other. But where things become more interesting is when a controller is added to the mix. A controller lets you execute scheduled events, run through scripts in response to an action, activate entire scenes all at once (press a button on the wall marked "movie night" and the curtains close, lights dim, projector drops from ceiling, fireplace turns on, outside lights turn off to dissuade visitors ... you get the idea).
Which is exactly how my fish tank setup (among other things) is automated. I have a wall mounted controller that is powered by an AC feed and also sends back signals over that same feed. It allows one touch control, execution of timed events, and more.
The key is that home automation technologies like X10 allow you to break out of the simple "click this and that happens" mould. Instead, you get to mix and match triggers and their actions, using an ever growing array of triggers, and actions only limited by your imagination. And the array of X10 devices is truly remarkable. There are the obvious things, like switches and outlets and plug-in pass-through modules and keypads, to less obvious things like thermostats and motion sensors and security system integrators and irrigation system controls, to slightly more obscure devices like gas and water valves and curtain/shade openers/closers, to all sorts of connectivity modules allowing connections to IP networks and RF and phone systems. And there's a whole lot more, too.
It's fun, it's easy, it's inexpensive, and it works. Usually.