Connecting a Furnace to A Home Automation System

Although there are some commercial X10 compatible thermostats out there, they’re generally quite expensive, and they’re difficult to configure. What I wanted was an easy way to turn on and off the heat using my home automation system, without purchasing one of these thermostats.


X10 offers a solution to this problem in the form of a device called a thermostat setback controller. The device is designed to be mounted beneath a standard thermostat. When activated, it heats up, fooling the thermostat into thinking that the room is hotter than it really is. Theoretically, you could set your thermostat very high and then activate the setback controller when you wanted to turn the heat off.

To me, this seemed like a really clunky, inelegant solution to a simple problem. Instead of using a setback controller, I decided to find a way to electronically bypass the thermostat using X10.

WARNING: Before embarking on a project like this, think about whether you really want your furnace connected to your home automation system. While this method allows the thermostat to function normally when X10 control is not activated, the furnace will run continually when X10 is active, which means it could easily become dangerously hot if the X10 control was mistakenly triggered.

Also, all furnaces are different, so these methods could fail miserably, void your warranty, damage your furnace, violate electrical codes, or hurt you. You undertake this project at your own risk. If you do decide to automate your furnace, you must write some kind of routine in Powerhome that prevents the furnace from running for too long, either relying on timing or environmental data to limit furnace runtime.

Finding the Parts

Before you can bypass your thermostat, you need to figure out how it connects to your furnace. Even with newfangled digital thermostats, there is usually a pretty simple, two-wire connection to the furnace itself. Even with all their programmability, these thermostats are essentially glorified on/off switches. Personally, my thermostat is the old-school variety:
Basic Thermostat


To figure out what you’ll be connecting, start by following the wires from your thermostat to your furnace. Here’s what my connection looks like. In this picture, the wires for my X10 module are already connected (see below). Before, the two red wires that are in the wire nut were connected to the screw:
Furnace Thermostat Connections


Once you find where the connection takes place, unhook the thermostat wires from the wires or screws on the furnace. Use caution; most thermostats are 24 volts, which shouldn’t kill you, but it still not a good idea to touch the wires if you can avoid it.

If the thermostat wires connect to screws on the furnace, grab a short piece of wire and touch it to both screws. Wait about 3 minutes. The furnace should turn on. If there are wires coming from the furnace rather than screws, touch the wires together and wait. Again, the furnace should turn on. If there are multiple wires, try different combinations until you find two that when held together for about 3 minutes activate the furnace.

Bypassing the Thermostat

Now that you know which two wires the thermostat is connecting when it turns your heat on, all you have to do is create your own remotely controlled switch that connects and disconnects those wires. Your remote switch will do the same thing the thermostat does, but it will do is as the result of an X10 command instead of a change in room temperature.Luckily, X10 already produces a remote switch. It’s called a Universal Module. When triggered, it activates a relay, closing a switch for a period of time, or keeping it closed until an X10 off command is received. Get a universal module, then plug it into an extension cord and mount it near your furnace (I used tie raps to connect it to a pipe). It should look like this:

x10 Universal Module Configured for Furnace Control
Next, connect a wire to each of the contacts on the Universal Module. Then, set the module to Continuous and Relay Only:
contacts on an x10 universal module
Connect each of the wires from the Universal Module to a wire coming from the thermostat. Then, connect those two sets of two wires to the wires or screws that turn the furnace on. By connecting the thermostat and Universal Module together (in parallel) before connecting them to the furnace, you ensure that the thermostat will function normally when the X10 control is off. This annotated image shows how my connections ended up working out:
Annotated Image of Furnace Connections
Here is a diagram showing that connection:
Diagram of Furnace X10 Connection


Once you have all your connections made, make sure the thermostat is set very low. Wait 3 minutes. If the furnace comes on, something is hooked up wrong. If it does not, try pressing the On button the universal module. Wait 3 minutes. The furnace should turn on. Next, turn off the universal module and wait for the furnace to shut off. Turn the thermostat way up. The furnace should turn on. Finally, try turning the universal module on and off using X10. Within 3 minutes of receiving the On or Off command, the furnace should turn on or off.

Now all you have to do is create a furnace macro in Powerhome. You should also write a timed macro that prevents the furnace from running for too long. Personally, I have a timed macro that runs every hour. It loads data from my weather station (seeWeather/Environment Sensing) and turns off the furnace if the indoor temp gets too hot. My macro for turning the furnace on also checks indoor temperature before sending the X10 command–this prevents the furnace from coming on by mistake if the house is actually warm.

Scroll To Top