Wednesday, December 03, 2008    
Home My Books Blog ColdFusion About Me Back    

Calendar
<< Dec 2008 >>
S M T W T F S
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

Search

Categories
 • Acrobat (2) [RSS]
 • Adobe (71) [RSS]
 • AdobeMAX06 (45) [RSS]
 • AdobeMAX07 (59) [RSS]
 • AdobeMAX08 (57) [RSS]
 • AdobeMAX09 (1) [RSS]
 • AIR (148) [RSS]
 • Appearances (140) [RSS]
 • Books (69) [RSS]
 • CFEclipse (14) [RSS]
 • ColdFusion (1179) [RSS]
 • Data Services (20) [RSS]
 • Fish Tank (2) [RSS]
 • Flash (112) [RSS]
 • Flex (385) [RSS]
 • Home Automation (3) [RSS]
 • Jobs (101) [RSS]
 • JRun (13) [RSS]
 • Labs (29) [RSS]
 • LiveCycle (23) [RSS]
 • MAX (189) [RSS]
 • Regular Expressions (15) [RSS]
 • RIA (13) [RSS]
 • SQL (38) [RSS]
 • Stuff (506) [RSS]
 • Tips (CF Studio) (80) [RSS]
 • Tips (CF) (795) [RSS]
 • Tips (Dreamweaver) (91) [RSS]
 • Tips (Flex Builder) (2) [RSS]
 • Using CF (140) [RSS]
 • Wireless (100) [RSS]

Other BLOGs
 • Charlie Arehart
 • Lee Brimelow
 • Ray Camden
 • Christophe Coenraets
 • Sean Corfield
 • Mihai Corlan
 • Cornel Creanga
 • John Dowdell
 • Danny Dura
 • Enrique Duvos
 • Steven Erat
 • Kevin Hoyt
 • Serge Jespers
 • Adam Lehman
 • Duane Nickull
 • Miti Pricope
 • Andrew Shorten
 • Ryan Stewart
 • James Ward
 • Greg Wilson
 • Full As A Goog

RSS Feeds
 • Feed
 • Subscribe

Join my mailing list and find out about new books and other topics of interest.

Thoughts, ideas, tips, musings, and pontifications (not necessarily in that order) by Ben Forta ...
NOTE: This is my personal blog, and the opinions and statements voiced here are my own.

Viewing By Category : Home Automation / Main
September 4, 2008

My Favorite Home Automation Controller

In previous posts I discussed home automation using X10 and Insteon. There are other technologies out there, and I've tinkered with many of them, but my own system is all built using a combination of X10 and Insteon.

Home automation technologies are used for a variety of reasons and to solve a wide range of problems. For example, what if you wanted a way to turn your outside lights on and off from your bedroom upstairs, how could you do this? Traditionally you'd need to install a multi-way circuit adding another electrical switch in a new location and then running electrical wire to the new switch. The logic used to wire 3 (or more) way switches is pretty simple. Getting the electrical cable through the walls to the new location can be far less so. Using home automation technologies the task becomes a whole lot simpler. You can replace the existing light switch with one that can be controlled remotely, and then install a new light switch anywhere else in the house. The new light switch would not actually switch anything directly, it would be connected to the live electrical feed and likely have no load. Then you'd program the new light switch to remotely control the old one. Turn the new one on and a signal gets sent over the wire and triggers the actual light switch. Clean, simple, no messy wiring, and you'd be done for under $100. Remote control is actually a common use for home automation technologies. So much so that the vendors in this space all sell multiple switches in a single switch size and format, as many as 8 push buttons in the form factor of a regular light switch, and each can be programmed to do a different task.

But what if you want to do more? What if you want timers and scheduled events - things like turning on and off lights at sunrise and sunset, or turning on appliances at 8:00am, or faking random home activity when you are away? What if you want to automatically respond to events - things like turning on lights when a motion detector is activated, or turning off valves if water is detected in the basement, or shutting garage doors 15 minutes after they were opened if they were in fact left open? All of these, and more, require that a home automation controller be introduced into the mix.

Home automation controllers come in two primary forms, software and devices:

  • Home automation software runs on a computer in your home. You typically have the option of registering devices, clicking to trigger actions, drawing floor plans, writing programs or execution sequences, and more. The software needs a way to communicate with the actual home automation network, and so there is usually a connection (originally serial, now USB) that connects to a modem that plugs in to an outlet. Commands are transmitted via the modem, and events are routed back to the software when the occur. I've generally avoided software based controllers for the simple reason that I don't want to have to rely on a PC running at all times.
  • Home automation devices are just that, dedicated devices for home automation, all with ways to program them. Some plug into outlets and accept programs that are created using a computer and then uploaded via a USB connection (so the computer is needed at programming time but not at runtime). Others are wall mounted in double gang boxes and have their own power feeds and touch screen interfaces. Others have their own power supplies and integrated HTTP servers and are managed over a local LAN. And home automation controller devices are what I've been using for years.

My previous controller was a wonderful little touch screen device that installed into a regular double gang box. It required power from a plug in adapter, and transmitted data via a connected modem that plugged into another outlet. To use these I installed outlets inside of a wall, and mounted the touch screen in front of them. The device allowed me to touch any light to turn it on and off, activate scenes, and program times and schedules. It was an entirely self-contained X10 only controller, and it served me well for about 7 years, until the touch panel stopped responding to touch in some places, and it started to lose time, and more. So, time for a new controller, and this time one that supported Insteon as well.

I looked at several controller options, and the one I ended up installing is the ISY-99i from Universal Devices. This is an inexpensive and tiny device, but don't let its size deceive you - it is about as powerful a controller as I have ever run into.

The ISY-99i is a little black box with LEDs on the front and two CAT5 connectors on the back. One of the CAT5 connectors plugs into your home network, and the ISY-99i gets an IP address via DHCP on startup so that you can connect to it. The other CAT5 connector is used to plug the device into a PowerLinc Modem (PLM for short) which is used to both power the device and to send data over the electrical system.

Once powered up you simply use your web browser to access the ISY-99i to do all management and programming. The device features a simple web interface for basic on/off controls and the like, and a big old Java applet administrator for more control and management. Key features include:

  • Simple options for finding and adding devices, creating scenes, and more. And UI to click on any device to control it.
  • Support for Insteon, X10, and RF.
  • A very powerful (and simple to use) programming interface. You can define events (button pressed, scene activated, X10 signal received, etc.) and schedules (times, dates, days of week, sunrise/sunset, etc.), and then define the actions to perform if the conditions are true or false. The UI walks you through the process so no actual coding is needed. The programming constructs are simple and intuitive, but don't let that simplicity fool you. This is powerful stuff!
  • Ability to send notifications via e-mail and SMS.
  • Automatic NTP lookups, and locale specific calculations based on selected city or longitude and latitude (this is how it can determine sunrise and sunset, for example).
  • Newer versions of the firmware have added extensibility options, including a Web Services interface. Now that really opens things up. (More on this in a future post).

The ISY-99i also has perfected the process of applying firmware updates. (I've downgraded once, because one other device I was using required this, and since then have upgraded to the latest firmware). Just download the firmware ZIP file, go to the UI, upload it, and the device reboots and you're done. This is actually more important than you might think. As vendors release new hardware and devices, Insteon controllers like the ISY-99i often need updating to support them. Simple foolproof firmware updates are critical.

Universal Devices support has been superb. When I first installed the ISY-99i, I was running into some bizarre problems that ended up being caused by a faulty PLM - it was not their product that was at fault but they worked with me to figure it all out anyway. I've dealt with their support via e-mail, forums, and on the phone, and Universal Devices wins top marks for going above and beyond what can be expected for a device that costs just a few hundred dollars.

So, I've been using my ISY-99i for about a month. I have dozens of devices being controlled by it (both Insteon and X10), have created all sorts of programs and scheduled events (it is completely running my fish tank setup now). And thus far it's worked perfectly. (And yes, as you'd expect, I've already submitted lots of enhancement requests).

The ISY-99i is priced between $300 and $370 (there are several models with the key differences being the number of scenes and programs supported, and whether or not the device is an IR receiver itself).

So, power, simplicity, extensibility, price, support ... which is why this one is my new favorite home automation controller.

August 25, 2008

From X10 To Insteon

In my prior post I introduced the basics of home automation via X10. X10 is not a new standard and specification, it has actually been around since the 1970s. And over that time is has not evolved much, if at all. X10 is incredibly popular, because of its simplicity and extensibility and low cost.

But X10 also has some very real problems:

  • X10 signals are not 100% reliable and can be affected by other plugged-in devices. Erroneous and seemingly random signals are not uncommon, and are hard to truly eliminate.
  • X10 signals lose their strength over distances, so the bigger your house the less reliable the signals. You can buy repeaters and signal boosters, but these are not perfect.
  • X10 has a very limited address range, and if your next door neighbor gets into home automation you can end up bumping into each other. And the likelihood of this happening may be higher than you think. As such, you may need to install signal filtering on the AC feed to your house to block signals from passing in and out.
  • Getting X10 signals to pass between the two electrical phases in a typical U.S. AC installation can be rather painful. There are bridges that can help with this, but their installation is not for the feint of heart, and they don't seem to work perfectly.
  • But the biggest drawback to X10 is the poor error correction. X10 signals are kind of tossed over the wall, a broadcast, perhaps telling device F2 to turn on. But X10 does not provide a failsafe way to check that that the signal actually reached device F2, and that device F2 truly is on. So, while things usually work and work well, when they don't there is little you can do automatically or programatically.
Still, as already said X10 remains very popular because, well, for the most part it does indeed work. And it's cheap (at least to get started).

Over the years we've seen a variety of home automation technologies appear on the scene, and I've tinkered with most. But the one I've grown most impressed with, and have started to migrate to, is Insteon (created by SmartLabs). Insteon is relatively new (the first Insteon devices started appearing in mid-2005) and works much like X10 but with some very important differences:

  • Insteon never suffers from signal loss because all devices are repeaters, so the more complex and sophisticated your home automation network, the stronger the signal.
  • Insteon uses 3 byte device addresses, and devices have manufacturer defined addresses (a bit like NIC MAC addresses). So device addressing conflicts are a thing of the past.
  • Insteon is a dual-mesh specification, featuring AC signaling like X10, but also supporting RF.
  • Bridging the two AC phases with Insteon is easy, just plug one Access Point (a little white box) into any outlet on one phase and a second on any outlet on the other, and you're done. The Access Points have LEDs that will show you if they are wired correctly (on two different phases as opposed to the same phase), and you can just keep moving the second around until the LED indicates success. And as an added benefit, the Access Points act as signal repeaters and RF receivers. too.
  • Most importantly, error detection and correction is built in. Devices can be easily queried, and simply publish their current state, and signals are automatically retransmitted if they were not correctly received.
  • And best of all, Insteon is fully backwards compatible with X10. In fact, just about every Insteon device can also have an X10 address allowing them to respond to both signals, and most Insteon controllers can also send X10 commands, too. While not actually required by the Insteon specification, most Insteon device vendors seem to be providing X10 compatibility.
  • Insteon is also much faster than X10, and thus the "inst" in Insteon.

Insteon is installed and configured in much the same way as X10 is. To install an Insteon switch you'd simply remove the original switch and replace it with the Insteon equivalent. Same for outlets, and any other devices. Addresses do not need to be defined, as every device has a preconfigured address (that is usually on a label on the device itself). Controllers can query the entire home network and find new devices automatically. And devices also identify themselves so controllers can respond intelligently (so that, for example, a switch used for fluorescent lighting that does not support dimming can identify itself so that controllers know not to try to send it dimming commands).

The biggest limitation with Insteon right now is that there are far fewer devices available for it than there are for X10. But, with X10 backward compatibility, that is less of an issue. For new installations you can buy X10 devices (realizing that you'll not get the same level of functionality obviously). And for those of us with significant investments in X10 already, Insteon provides a vastly superior home automation network while not requiring tossing out any existing devices. (Of course, if you are anything like me, you'll find it hard to resist replacing those existing X10 devices once you get used to the richer functionality of their Insteon counterparts).

In other words, to me, Insteon feels like what X10 should have been in the first place, and is thus the heir apparent to X10.

To learn more, visit the Insteon links above. And for the largest selection of Insteon (and X10) devices, visit Smarthome (use the Insteon and X10 categories on the top left).

In future posts I'll highlight some of my favorite devices, including my new all time favorite home automation controller.

August 24, 2008

Home Automation Via X10

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.

  © Copyright 1997-2008 Ben Forta, All Rights Reserved