O'Reilly Hacks
oreilly.comO'Reilly NetworkSafari BookshelfConferences Sign In/My Account | View Cart   
Book List Learning Lab PDFs O'Reilly Gear Newsletters Press Room Jobs  


 
Buy the book!
Smart Home Hacks
By Gordon Meyer
October 2004
More Info

How do these hacks stand up? Comment on a hack from the book by choosing the associated "Discuss" link below. You can also view the code from any of the hacks by clicking on the "Listing" or "Code" links. A number of hacks have been selected to be featured online in their entirety; you may view those hacks by clicking on the hack titles that are linked.

Jump to: A Foot in the Front Door  | Office  | Kitchen and Bath  | Bedroom  | Garage and Yard  | Security  | Advanced Techniques

A Foot in the Front Door

HACK
#1

Know the X10 Address
To send commands to X10 devices, you need to know their addresses. Here are the basics of deciding which addresses to use and how to set them.
[Discuss (0) | Link to this hack]

HACK
#2

Turn On a Light
If you're new to home automation, the best way to start is with a few lamp modules.
[Discuss (0) | Link to this hack]

HACK
#3

Master Your Appliances
If you want to automate a fan, coffeepot, or radio, use an appliance module. Thanks to their versatility, appliance modules are an integral component of a smart home.
[Discuss (0) | Link to this hack]

HACK
#4

Send X10 Commands
The computer you use for home automation often will be sending commands to your X10 devices. But when you want to send a command yourself, to turn on a light or change a setting, for instance, you'll need an X10 controller.
[Discuss (0) | Link to this hack]

HACK
#5

Send X10 Commands Wirelessly
Wireless remote controls are handy power tools for home automators, but you need to understand their quirks to get the most out of them.
[Discuss (0) | Link to this hack]

HACK
#6

Keep Watch with Motion Detectors
A key element in any smart home, motion detectors enable your system to react to you and your visitors as you move about your house.
[Discuss (0) | Link to this hack]

HACK
#7

Turn On the Lights When You Enter a Room
Here's an easy way to turn on the lights when you enter a room and have them turn off automatically after you leave. You don't even need a computer!
[Discuss (0) | Link to this hack]

HACK
#8

Turn On the Lights When They're Needed
Combining a computer-controlled home, motion detectors, and lamp modules can ensure that your lights come on only when you really need them.
The Code
[Discuss (0) | Link to this hack]

HACK
#9

Ring a Bell to Alert the House
The chime module provides an easy way to add audible alerts to your home automation system. Simply plug it in, and then tell it to sound off with a single command.
[Discuss (0) | Link to this hack]

HACK
#10

Sense What's Happening
Combine the Powerflash module with switches and sensors to monitor conditions in and around your home.
[Discuss (0) | Link to this hack]

HACK
#11

Control the Uncontrollable
The universal module is an important part of an advanced or intermediate home automation system. With it you can control things that don't have built-in X10 capability.
[Discuss (0) | Link to this hack]

HACK
#12

Groom Your Home for X10
The X10 method of sending signals over your home's power system is quite clever, but it's subject to interference from other electrical devices and any anomalies you have in your power system. With a little bit of effort and equipment, you can greatly improve the reliability of X10 in your home.
[Discuss (0) | Link to this hack]

HACK
#13

Set Addresses for Modules Without Dials
Some X10 modules don't have mechanical dials to set their addresses or other options. To configure these types of devices, you need to send commands over the power line.
[Discuss (0) | Link to this hack]

HACK
#14

Increase the Spousal Approval Factor
Living in a smart home requires, at the very least, tolerance from your family or housemates. If they're indulging your desire to create a home of the future, here are some tips for returning the favor by smoothing out some of the rough spots.
[Discuss (0) | Link to this hack]

HACK
#15

Unplug Your Computer
Using your computer to control your home makes your home smart. But don't overlook the benefits of a slightly less sophisticated approach.
[Discuss (0) | Link to this hack]

HACK
#16

Add a Brain to Your Smart Home
You don't need a computer to use X10, but you'll be missing out on many great techniques if you don't have one. Take your automation to the next level by letting your computer pilot your home.
[Discuss (0) | Link to this hack]

HACK
#17

Get to Know XTension
To implement many of the hacks in this book, you'll need to know some basic techniques for programming the XTension home automation application for Mac OS X.
[Discuss (0) | Link to this hack]

HACK
#18

Get to Know Indigo
Using the Indigo home automation application for Mac OS X requires some basic techniques that you'll need to know in order to implement many of the hacks in this book.
[Discuss (0) | Link to this hack]

HACK
#19

Get to Know HomeSeer
You'll need to know some basic techniques to using the HomeSeer home automation software for Windows in order to implement many of the hacks in this book.
[Discuss (0) | Link to this hack]

HACK
#20

Sync with the Sun
One of the best things about a smart home is that you never have to bother turning on lights when it starts to get dark or turning them off if you're an early riser and the sun is making them unnecessary.
[Discuss (0) | Link to this hack]

HACK
#21

Choose the Right Controller
To some extent, the home automation controller you use defines your system. It also determines which home automation software you choose because not all programs work with every controller.
[Discuss (0) | Link to this hack]

HACK
#22

Maintain an X10 Library
You'll save yourself some hassle, and the need to memorize esoterics, by keeping an up-to-date collection of X10 and related modules.
[Discuss (0) | Link to this hack]

HACK
#23

Shop for Secret X10 Devices
It's possible that you already have an X10 device or two in your home, and you don't even know it. In addition, sometimes you can find good deals on modules that work with X10 but don't admit it.
[Discuss (0) | Link to this hack]

HACK
#24

Welcome to the State Machine
Set up a simple state machine to keep track of key conditions and events in your home. Then, use this information to make your smart home even smarter.
[Discuss (0) | Link to this hack]

Office

HACK
#25

Remember Important Events
A truly smart home should be able to gently remind you of upcoming appointments, things you have to do, birthdays, and other events. This hack provides two different approaches to this common problem.
[Discuss (0) | Link to this hack]

HACK
#26

Keep the Lights On While You Work
Use only one motion detector to identify when a room is unoccupied and you might find yourself suddenly in the dark because you've been sitting a little too still.
[Discuss (0) | Link to this hack]

HACK
#27

Know Who's Calling
Combine telephone Caller ID and voicemail with your home automation system to keep track of phone calls, ensure you don't miss messages, and even control your computer remotely.
[Discuss (0) | Link to this hack]

HACK
#28

Broadcast Announcements to the Whole House
If you use the text-to-speech capabilities or recorded messages to provide announcements, you need a whole-house audio system that will enable you to hear the announcements everywhere. If your house isn't wired with speakers, you can use your existing telephone lines to provide a voice-quality public address system.
[Discuss (0) | Link to this hack]

HACK
#29

Announce Events with Recorded Announcements
If your computer doesn't have text-to-speech capabilities, or if it does and you're not satisfied with the quality of its voices, you can use prerecorded announcements instead.
[Discuss (0) | Link to this hack]

HACK
#30

Send Pager Messages
Although not as common as they once were (thanks to the cell phone), pagers remain useful for relaying messages from your smart home, particularly when you consider their long-lasting batteries, inexpensive nationwide coverage, and ability to receive signals where cell phone coverage is limited.
[Discuss (0) | Link to this hack]

HACK
#31

Broadcast Messages on Your Home Network
Macintosh users can use LanOSD to send lovely and unobtrusive onscreen messages to every computer on the network.
[Discuss (1) | Link to this hack]

HACK
#32

Control Your Printer from Afar
Have you ever noticed how your laser printer usually is switched off when you want to use it? This simple hack will save you from having to leave your comfy chair just to switch it on. Ahhh, Nerdvana.
[Discuss (0) | Link to this hack]

HACK
#33

Phone Your Home
Control your home automation system by picking up the phone and dialing a few numbers.
[Discuss (0) | Link to this hack]

HACK
#34

Control Your Home with Phlink
The Phlink Telephone Adapter for Mac OS X provides a way to control and monitor your home over the phone, and it's easy to integrate with Indigo.
[Discuss (0) | Link to this hack]

HACK
#35

Forward Phone Calls
The phone company's call forwarding options can be inconvenient to use, but with home automation techniques, you can get more value for your money.
[Discuss (0) | Link to this hack]

HACK
#36

Silence the House when You're on the Phone
Sometimes your smart home can seem dumb, such as when it starts making announcements or playing sounds while you're on the phone. Use this hack to teach it to know better.
[Discuss (0) | Link to this hack]

Kitchen and Bath

HACK
#37

Brew Your Morning Coffee
Controlling a coffeepot is the home automation equivalent to a programmer's "Hello World" application; everyone needs to try it at least once, even if you don't drink coffee.
[Discuss (0) | Link to this hack]

HACK
#38

Detect the Beer Thief
Motion detectors are useful not just for finding out when someone is present, they can also tell you when a person is meddling where he doesn't belong.
[Discuss (0) | Link to this hack]

HACK
#39

Install a Kitchen Terminal
As tempting as it might be to have a full-featured computer in every room of your home—even the kitchen and garage—if you have a home automation system, you can use small, dedicated terminals to accomplish many of the same tasks with less expense and clutter.
[Discuss (0) | Link to this hack]

HACK
#40

Install a Home TV Server
Add a TV tuner and software to your PC to create a server that makes live video from your home viewable in a web browser.
[Discuss (0) | Link to this hack]

HACK
#41

Control Your Heating Remotely
Replacing your existing thermostat with one that you can control by X10 commands enables you to control your home's temperature remotely.
[Discuss (0) | Link to this hack]

HACK
#42

Monitor the Refrigerator Door
Here's a solution to the problem of a refrigerator door left open too long.
[Discuss (0) | Link to this hack]

HACK
#43

Heat the Toilet Seat
Build your own heated toilet seat to take the edge off those cold winter mornings.
[Discuss (0) | Link to this hack]

HACK
#44

Detect Flooding
This do-it-yourself sensor inexpensively, yet effectively, alerts you to water leaks in your home.
[Discuss (0) | Link to this hack]

HACK
#45

Monitor the Litter Box
Keeping track of whether you need to empty the litter box provides a good way to learn several useful techniques for home automation.
[Discuss (0) | Link to this hack]

HACK
#46

Avoid Battery Memory Problems
Use home automation techniques to sensibly recharge your often-used battery-powered devices.
[Discuss (0) | Link to this hack]

Bedroom

HACK
#47

Educate Your Alarm Clock
Create a set-it-and-forget-it alarm clock for each individual in your home. It goes off only on workdays, and even can nag a reluctant riser to make sure she gets up.
[Discuss (0) | Link to this hack]

HACK
#48

Put the House to Sleep for the Night
When it's time to go to bed, have your house turn off all the lights, check to make sure things are secure, and ready your motion detectors to light the way should someone get up for a drink of water.
[Discuss (0) | Link to this hack]

HACK
#49

Lighting for Insomniacs
If you get up from bed in the middle of the night to get a drink, the only thing worse than feeling your way in the dark is turning on a bright light that might blind you and wake others. A better idea is to have your home automation system gently light your way, then turn everything back off a few minutes later.
[Discuss (0) | Link to this hack]

HACK
#50

Adjust Lights as the Sun Rises
Instead of turning on the lights at full brightness in the morning, have them come to a lower level that slowly decreases as sunrise approaches.
The Code
[Discuss (0) | Link to this hack]

HACK
#51

Simulate a Sunrise
Instead of getting jolted from sleep with a rude alarm, wake up gently by gradually increasing the brightness of your bedside lamp.
[Discuss (0) | Link to this hack]

HACK
#52

Motorize Your Window Blinds
An inexpensive motor and some clever pulley assemblies enable you to automate the opening and closing of window blinds.
[Discuss (0) | Link to this hack]

HACK
#53

Outdo Big Ben
The classic Westminster chimes ring forth from your home automation system.
The Code
[Discuss (0) | Link to this hack]

Garage and Yard

HACK
#54

Monitor Your Driveway
Use a couple of sensors in your yard to greet you when you get home and alert you to visitors when they pull up to your driveway.
[Discuss (0) | Link to this hack]

HACK
#55

Know If the Garage Door Is Open
Use a magnetic switch and a Powerflash module to keep track of the status of your garage door.
[Discuss (0) | Link to this hack]

HACK
#56

Control Your Garage Door
By combining multiple modules and techniques, an experienced automator can create the ultimate garage door automation solution.
[Discuss (0) | Link to this hack]

HACK
#57

Control Your Home from Your Car
Use the HomeLink wireless transmitter as a remote control for your home.
[Discuss (0) | Link to this hack]

HACK
#58

See Through Walls
A portable wireless video camera, combined with a portable TV, provides remote viewing for times when you really could use an extra set of eyes.
[Discuss (0) | Link to this hack]

HACK
#59

Use Indoor Modules in the Great Outdoors
Very few X10 modules are designed for outdoor use. Protecting the module from the weather is key to extending its life.
[Discuss (0) | Link to this hack]

HACK
#60

Control Outdoor Lighting
Controlling your outside architectural or garden lighting with a home automation system is much more flexible than using the simple timer that came with the lighting kit or was installed by your landscaper.
[Discuss (0) | Link to this hack]

HACK
#61

Track Fuel Consumption
Collecting information about fuel oil usage patterns can be straightforward, and when you know how much oil you're using, you can plan ahead and buy fuel when rates are lowest.
[Discuss (0) | Link to this hack]

HACK
#62

Know When the Mail Arrives
If you like to know when your mail has been delivered, to avoid needless trips to the curb or just to be sure you pick it up right away, here's an easy method to add a sensor to alert you to the delivery.
[Discuss (0) | Link to this hack]

HACK
#63

Mow the Lawn
Although a robotic lawnmower might be nice, a little wire and an old spool (and a lot of guts and common sense) can get you partway there.
[Discuss (0) | Link to this hack]

HACK
#64

Get the Weather
If you have an Internet connection, or your own personal weather station, two Macintosh programs make it a snap to use the information with your home automation system.
[Discuss (0) | Link to this hack]

HACK
#65

Safely Water the Garden
A simple circuit helps prevent sprinklers from turning on accidentally.
[Discuss (0) | Link to this hack]

HACK
#66

Foster Green Pastures with a Smart Sprinkler System
For the ultimate in automated watering of your lawn and garden, use a dedicated sprinkler controller.
[Discuss (0) | Link to this hack]

HACK
#67

Stop Watering During Rainstorms
Macintosh users can utilize weather information from the Internet to adjust lawn sprinkler schedules.
[Discuss (0) | Link to this hack]

HACK
#68

Adapt Sprinkler Schedules and Solar Water Heating to Available Sunlight
If you have a solar-assisted water heater, or if you want to adapt your garden watering schedule to the day's conditions, this hack will get you started in the right direction.
The Code
[Discuss (0) | Link to this hack]

Security

HACK
#69

Check for an Empty Home
If your home is unoccupied, your home automation system wants to know about it. But when you're in a hurry, it's easy to forget to set the alarm or otherwise tell the house it's on its own. This script uses your motion detectors to decide for itself.
[Discuss (0) | Link to this hack]

HACK
#70

Know Who's Home
Knowing who is at home is an essential building block for smart home automation. You can easily signal your house that you're leaving, and when you've come home, so that your automations can react accordingly.
[Discuss (0) | Link to this hack]

HACK
#71

Avoid False Intrusion Alarms
When your home automation software receives a signal from a motion detector, it's often useful to perform a few logical tests before deciding to sound an alarm.
[Discuss (0) | Link to this hack]

HACK
#72

Nobody Here but Us Ghosts
McGruff the Crime Dog says that one of the best ways to prevent your home from being burgled is to prevent thieves from figuring out you're not at home. A little home automation can convince nearly anyone that your home is occupied.
[Discuss (0) | Link to this hack]

HACK
#73

Send Notifications of Home Events
When significant events occur at home, such as a missed call or package delivery, have a message sent to your cell phone or email at work.
[Discuss (0) | Link to this hack]

HACK
#74

Who's There?
It's said that burglary is often a crime of opportunity. This hack discusses methods for using your home automation system to welcome visitors and convince prowlers to look elsewhere for an easier target.
[Discuss (0) | Link to this hack]

HACK
#75

Secure Your Construction Site
With some battery-operated security equipment and a little ingenuity, you can help protect a construction site from vandalism and theft.
[Discuss (0) | Link to this hack]

HACK
#76

Monitor Your Summer Home
A couple of specialized sensors and an auto-dialer can keep a watchful eye on an unattended home and notify you when something needs your attention.
[Discuss (0) | Link to this hack]

HACK
#77

Protect Outdoor Cameras
Build an inexpensive enclosure to protect your outdoor security cameras from the weather.
[Discuss (0) | Link to this hack]

HACK
#78

Know When Windows and Doors Are Open
The security modules from X10 Corporation, such as the window sensor, can't talk to X10 home automation equipment unless you use a wireless receiver to bridge the communications gap.
[Discuss (0) | Link to this hack]

HACK
#79

Bark like a Dog
You can protect your home with a real dog, or you can use the Robo-Dog to simulate one. And like any good dog, this module performs more than one trick.
[Discuss (0) | Link to this hack]

HACK
#80

Unite Your Alarm and Home Automation Systems
If you have both an alarm and a home automation system that aren't currently on speaking terms, you might be able to bridge the gap with minimal effort.
[Discuss (0) | Link to this hack]

HACK
#81

Instill Peace of Mind for the Elderly
If you have elderly relatives who you're concerned about, a few simple home automation techniques can bring you (and them) peace of mind.
[Discuss (0) | Link to this hack]

HACK
#82

Monitor Your Home with a Network Camera
If you have broadband network access at home, a standalone network camera is a great way to keep an eye on things. Your home automation system can manage the camera and save an occasional snapshot for later review.
The Code
[Discuss (0) | Link to this hack]

Advanced Techniques

HACK
#83

Improve the Response Time of Motion Detectors
Replacing your transceivers with a direct-to-computer wireless receiver greatly improves the response time from motion detectors.
[Discuss (0) | Link to this hack]

HACK
#84

Check for Dead Motion Detector Batteries
Instead of scurrying about the house checking the batteries in your various motion detectors, have a script do the checking for you.
The Code
[Discuss (0) | Link to this hack]

HACK
#85

Outsmart Motion Detectors
Motion detectors are an essential part of a smart home, but they have some limitations that make them less than perfect. However, with some clever positioning and scripting, you can overcome most of their quirks.
[Discuss (0) | Link to this hack]

HACK
#86

Improve X10 Reliability
The electrical environment in your home can be a pretty harsh place; it's filled with noise and connections that aren't conducive to the propagation of X10 commands. But with a little work, you can improve it greatly.
[Discuss (0) | Link to this hack]

HACK
#87

Avoid Common X10 Problems
When a problem arises, these handy tips will get you well on the road to resolving it quickly.
[Discuss (0) | Link to this hack]

HACK
#88

Streamline Your AppleScripts
If you use a Macintosh, you can simplify your scripts by adding your own commands to Indigo and XTension using a little-known AppleScript feature.
[Discuss (0) | Link to this hack]

HACK
#89

Harness Your Hamster to Power a Night Light
If your pet hamster drives you crazy with his nocturnal running-wheel marathons, you might as well have him power a night light that helps you find your way to the bathroom during the night.
[Discuss (0) | Link to this hack]

HACK
#90

Get More Out of Your Motion Detectors
A computer-based home automation system can derive useful information from even the simplest of X10 modules.
[Discuss (0) | Link to this hack]

HACK
#91

Track Home Events with iCal
Gain insight into your home's behavior by displaying events in calendar format.
[Discuss (0) | Link to this hack]

HACK
#92

Chart Home Automation Data
You can mine your home automation system for information about your home, but you need a way to save and view the data you're interested in.
[Discuss (0) | Link to this hack]

HACK
#93

Share Your Home Automation Mac with Other Users
Use Mac OS X's Fast User Switching to safely run your home on a computer that's also used for other tasks.
[Discuss (0) | Link to this hack]

HACK
#94

Remap X10 Addresses
If you've run out of house codes for your modules, or if you just need to rearrange a few addresses without redoing your entire system, this handy script will save you a lot of work.
[Discuss (0) | Link to this hack]

HACK
#95

Control Lights in a Group
Most home automation software enables you to define groups that contain many units so that you can control multiple devices at once. This is a handy feature, but sometimes you might want to control the entire group except for one or two members.
[Discuss (0) | Link to this hack]

HACK
#96

Block Units for Easier Scripting
XTension's ability to temporarily block commands for a unit provides an easy way to refine group handling.
[Discuss (0) | Link to this hack]

HACK
#97

Calculate Elapsed Time
If you want to know how much time has passed between events, such as how long it has been since the rain sensor was activated, or how many hours it has been since the motion detector in the library last sent a command, this technique will give you an answer in human-readable format.
The Code
[Discuss (0) | Link to this hack]

HACK
#98

Identify Trouble Spots
If you're serious about making X10 as reliable as possible, these tools and techniques will help you find problem areas.
[Discuss (0) | Link to this hack]

HACK
#99

Control Your Home from a Web Browser
If your home automation computer is tucked away in a closet or the garage, it can be inconvenient when you need to access it directly or add a new event. Set up web-based access, however, and you can take control from any computer in the house.
[Discuss (0) | Link to this hack]

HACK
#100

Which Way Did She Go?
Combine a few motion detectors and some simple logic to teach your home how to anticipate what you want to happen next.
[Discuss (0) | Link to this hack]


O'Reilly Home | Privacy Policy

© 2007 O'Reilly Media, Inc.
Website: | Customer Service: | Book issues:

All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners.