For years I’ve had a thermostat project sitting on the back burner. The key features I wanted to build into it were:
- Ability to set the thermostat from our phones
- Support for remote sensors so the thermostat can use temperatures from around the house
- Logging of all the temperature sensors as well as the runtimes for the furnace, air conditioner and fan.
- Advanced programming capabilities such as: in the summer if it’s hot upstairs but cool downstairs, just run the fan more to circulate the air.
I’ve seen some Arduino-based custom thermostat projects and figured it was doable, but it never bubbled to the top of my list.
Procrastination paid off because now there are some great thermostats on the market and one of them hits almost all of my required features: the ecobee3.
The biggest thing that held me back from installing something like this before was the wiring to our thermostat. All of these new wifi models require a common (“C”) wire which provides power. There are some hacks you can do to make one of the wires perform double duty and the ecobee3 even comes with the kit, but I really wanted it done “correctly.” So when Dad and Mom were visiting last week, I descended into the crawl space while Dad helped from on top and we fished a new line through the walls. We left the old wire bundle in place so I now have 11 wires running to my thermostat (4 in the old bundle plus 7 in the new.) I’ll never need more than 5 but whatever, I’m future proof.
Setup was a breeze and it even told me that I had one wire connected incorrectly. The touchscreen on the thermostat walked me through connecting to the wifi and basic setup. I also connected the remote sensor and placed it upstairs in our bedroom.
I jumped onto the web interface and looked at the myriad of ways that I could customize the scheduling and also added the apps to our phones. (There is a beautiful Windows Phone app available and I’m sure they have Android and iOS too.) It’s so nice to program a thermostat by clicking around in a browser window instead of punching buttons on a little device. The default software has lots of nice features such as “use the upstairs thermometer to control things at night” and “run the fan extra when the difference between the two thermometers is greater than normal”.
Another big reason for buying this specific unit is that it has a nice API. I spent some of my free time in the next few days writing a program to download all of the data from the thermostat and upload it to my SQL Azure database. That database now has information about furnace, air conditioner, and fan runtimes as well as individual sensor temperature and humidity values. It’s all recorded every 5 minutes so I will have tons of data to play with. The API also means that I could theoretically do fancier things like write a program to text message us if we should open the windows in the house or turn the furnace back up when we drive within 15 minutes of the house after being gone.
At $240, it’s a chunk of money to pay for a thermostat but if you’re at all interested in tinkering with this stuff, it’s a great product. I think it will shave some money off our bills too so we’ll recoup some of that cost, but mostly it’s just fun!