Tag Archives: sensor

Space Heater Controlled by Z-Wave Thermostat

A Case Study in Home Automation

In lieu of actually writing a more comprehensive post about my foray into home automation, I decided to begin instead with something more simple: a problem, and its overly-complicated, but totally awesome solution.

My bot-so-smart source of warmth.

My not-so-smart source of warmth.

I currently depend on this heater to keep my basement dwelling habitable.  While the furnace that heats the upper levels sends a token amount of semi-warm air in my general direction, it doesn’t seem too concerned with my comfort.  So, like most people in this situation, I use a glorified toaster to stave off hypothermia.  Actually, “glorified” is being a bit generous – electric space heaters are basically toasters that can’t even handle the simple task of making toast.  Their sole purpose in life is to consume as many kWh as they can get away with and not trip a circuit breaker in the process.  In my experience, they often fail even at this.  In the same way that you would not expect a toaster to keep your room at a constant 70 degrees (while also browning your morning bagel), it soon became obvious that the “thermostat” knob on my space heater contained the functionally of a particularly bland toddler toy.  And so I turned to HomeSeer.

The Solution

"Smart" Thermostat - powered by Z-Wave

“Smart” Thermostat – powered by Z-Wave

How to get one’s thermostat to control not only the furnace, but also one (or more) remote space heaters?  The amature electrician might do something like this, wiring the two directly together, but I didn’t want “wiring” – I wanted wireless.  So the geek instead turned to Z-Wave (a wireless home automation protocol) and HomeSeer (automation software), attached the space heater to a GE 45604 appliance module, and set up some events to define the relationship between thermostat and heater.  Because HomeSeer constantly receives information about the status of the thermostat (current temperature, set point, operating mode etc…), it was easy enough to use these conditions to tell the heater when to turn on or off via the Z-Wave module it was plugged into:

  1. If thermostat is “heating” –> Turn space heater on.
  2. If  thermostat is “idle” –> Turn space heater off.


Really.  It was that simple.  The beauty of this simplicity, is that changing the set point using the buttons on the thermostat would also affect the space heater – no extra programming needed.  However, there was still the issue of occupancy.  I didn’t always want the space heater sucking its 1.5kW just because it was less than 70 degrees.  The first step to solving this issue was easy enough:

3. If time is between 11:00pm and 6:00am –> Remain off.

That solved the problem for the night hours, but what about when I was away from home?  This required a bit of trickery requiring my Android smartphone and Tasker.  I created a profile in Tasker that would detect when the phone was connected to the home’s Wi-Fi network.  As long as it remained connected, it would run a python script (using SL4A) every 5 minutes that activated a virtual device in HomeSeer.  This acted as a sort of “dead man’s switch”, as HomeSeer would only register me as being home if the aforementioned virtual device had been triggered within the last 10 minutes:

4. If “At Home” is ON –> Allow heater to be turned on

Any glitch in the process would result in the heater turning off, rather than remaining on – a measure of safety.

The Results

As you can see in the graphs below, this implementation allowed a very fine control of my room’s temperature – it fluctuates between 69 and 70 degrees just as it should with a set point of 70.

HomeSeer Interface with relevant devices displayed.

HomeSeer Interface with relevant devices displayed.

From the small amount of sensors in place – even if the 2 motion sensors are ignored – a wealth of data can be collected.  The room temperature for the past 24 hours can be displayed as a graph, as well as a comparison of outside versus inside temperatures from the past week (outside temp retrieved from online).  The total time the heater has been on during a given day or week can be logged, giving an accurate estimate of the electricity costs involved in running it.  I can also disable the bottom device, “Electric Heater TStat” if I want to temporarily unlink the two devices.

Hopefully this provides an interesting example of what can be done with even the most basic of Home Automation setups.  I’ll try to delve into this topic further in a later post; there are some really cool implementations of automation I’ve come across, as well as other “problems” of my own that I’ve managed to solve in interesting – if a bit over the top – ways.

My perspective on Automation

Have you ever worked or studied in a building with automated motion-sensing lights?  The kind that turn off after an absurdly short amount of time, forcing you to get up and make wild gestures, like some Native American performing a rain-dance; begging for electricity to make its return to the cold, fluorescent lights above?


How about using the “thermostats” in similar industrial settings – the kind that are conveniently placed in every room, yet seem to do nothing when you actually try to use them.  The ones at my school go as far as to paradoxically disobey commands, blowing a cold, air conditioned squall as soon as one dares to increase the setpoint to something above frigid.

Although I have since thwarted both of these sources of daily ire, finding the manufacturer’s  product manuals and methodically crippling the settings of the occupancy sensors that were at the root of their willful disobedience, the behavior of these “smart” appliances epitomize all that can go wrong when implementing Automation of any sort.

My Take

Automation is meant to save time and money, but should NEVER do so at the cost of convenience.  If you find yourself having to perform new or additional tasks after implementing a “smart” system, YOU’RE DOING IT WRONG.  As with most problems involving three different-but-related factors, you can pick any two to improve at the cost of the third. Want something that is both convenient and saves you time?  Expect to pay for it.

Using the automated lighting example, this solution would involve using a motion sensor to turn the lights ON only.  Thus, you would never have to use the light-switch – saving you time. The lights would never turn off when you didn’t want them to, maintaining convenience   Your electricity bill, however, would skyrocket.  It’s just not a perfect world.

Practically, the solution involves balancing the three factors, rather than pursuing just two of them and completely sacrificing the third.  Set a longer delay on the occupancy sensor before it turns off, and crank up the sensitivity to the point at which it can practically see you exhale a deep breath, or blink an eye.  It may still screw up, but not nearly as often.  The electric bill will still be higher, but only slightly.

Category: Technology | Tags: , ,