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.
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
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:
- If thermostat is “heating” –> Turn space heater on.
- 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.
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.
bryan flake
January 14, 2015 at 10:49 am
I had no idea that a remote space heater could be “tied” to the central heating source? This could add a significant amount of comfort to my life. I have circulation problems and I am cold all the time. Rigging a portable space heater to the house is a brilliant idea. Like you, I just have to figure out how to do it.
http://www.allianceheatingandcoolingllc.com/
Scot M
September 19, 2015 at 10:27 am
Great idea and well implemented! How did you get the heater to turn on once it was off? All of the heaters I have include a saftey feature that turns the heater off when the power supply shuts off. When power comes back on, the heater doesn’t turn on. Thanks.
Innominate
September 20, 2015 at 9:10 pm
The particular heater I used (cheap, $10 model) had no such feature. The best it could do was turn itself off via a spring switch if tipped over. You’d either have to get one like this (noise and aesthetics aside, 1500W of heat is 1500W of heat) or disable it.
Tony
November 9, 2015 at 5:57 pm
Nice write up! I did have a question though. If you were turning on and off your space heater based on your house temp at the thermostat (I assume main floor, how does that accurately adjust for heat where your space heater is located? Do you have a second zone temp sensor in the basement where your heater is? I have a similar scenario that I have pondered, as I have a trane zwave thermostat in my middle floor and my basement office (finished space, but open to the rest of the unfinished basement) is often very cold in the winter months. I have also noticed that on days where the sun is out all day, (lots of windows upstairs) its even colder in the basement because the sun is helping maintain a warmer temp on the main floor and therefore not running the furnace as much. For that reason I would think that in my house i really need an additional temp sensor attached to the zwave thermostat and then maybe I could use a variation of you setup to tie the 2nd sensor to the GE appliance module in programming. thanks for your post!
Innominate
November 9, 2015 at 6:14 pm
Essentially just used the thermostat (also a trane) as a glorified temp sensor, as it is not currently connected to the main HVAC. As you said, it is best to have a temp sensor nearby the area you are heating.
Tony
November 10, 2015 at 8:55 am
ok that makes sense now.. I was thinking that was your main thermostat. I currently am using the nexia platform for remote thermostat control, so it will be interesting to see if it has enough customization to pull off what im thinking. I have noticed a few sensors on their supported list so will likely look at one of those to improve my chances. thanks for the inspiration!