X10 is one way (old, standard) to do this.  It works by transmitting a couple of bits at each zero-crossing of the 60Hz house current.  IE, it works over your existing electrical lines.<p>I set up a system in my house, controlled partly by controllers in the switches themselves (push a button on a wall-mounted switch inside, it sends an X10 signal thru the house wiring to a listener in a box in the back yard).  Also controlled by an always-on computer which can turn off lights at given times, or respond to scripts, or pokes over the internet.<p>The potential is huge.  But the reality, with X10, can be a bummer.  At first the system worked quite well -- lights on and off at the correct time, good response to button presses.  But for reasons not clear at all, the system performance gets flaky.  I put in a repeater/phase coupler (e.g., <a href="http://www.smarthome.com/4823/Leviton-2-Phase-X10-Coupler-Repeater-HCA02-10E/p.aspx" rel="nofollow">http://www.smarthome.com/4823/Leviton-2-Phase-X10-Coupler-Re...</a>), changed out some of the off-brand switches with Leviton parts, etc.  This helped, but did not make the system solid.<p>This turns out to be unacceptable.  When you press a light switch, you need the light to come on (even if it's just a driveway light).  Nobody in the house but me has the patience to use the X10 switches any more.  But now, it would be a major pain to replace the X10 components because the cost and re-install time adds up.  (E.g., one X10 dimmer is about $70.  I have almost 10.  One multi-unit wall controller is about $50, and I have almost 10 of those too.)<p>I put this stuff in myself, but I don't think the problem was with the install.  I'm an EE, I'm used to lab work, and I'm familiar with the NEC for home wiring.<p>Perhaps a Zigbee, UPB, or Insteon system would be better.<p>My lessons learned: 
X10 doesn't work in my (modest-sized) house.
Don't commit to any home automation system without a long-term small-scale trial.
Don't use these components for critical tasks (like "turning on the heat so the pipes won't freeze", or "turning off the sprinkler system").