All posts tagged Thermostat

So you’re at the point where you want to add more functionality to your home automation system, or maybe you specifically only want a remote access Thermostat. There are a number of reasons to want this but the question is which one is the best choice? Which technology is the right choice?

Before we discuss that, I’ll list a few reasons why you might want a remotely accessible Thermostat:

  • Left for vacation, forgot to turn off heat or AC. In a pinch you can adjust this from your smartphone or a computer
  • Returning from vacation and would like to get your house to the proper temperature before you step in the door. Returning from a tropical paradise to a frigid dwelling isn’t fun.
  • You would like to record the usage of your thermostat to a file/database so that you can do a detailed analysis between usage and utilities bills. (if you’re the meticulous type)
  • You want the actions of your thermostat to be directly affected by the status of motion sensors in your house. Why heat if I’m not home? Why adhere to preprogrammed schedule if I come home early?
  • You’re not near your thermostat (perhaps on a different floor) but want to turn the heat up, or turn it down.
  • You want to extend the functionality of your thermostat by augmenting it with custom functions from a computer/server.

Now lets discuss which to choose. I for one, didn’t really do my homework before buying mine. I previously had an x10 lighting setup in my entire house so to me I thought well I have the x10 transmitter, logically I want an x10 thermostat like the one pictured here. It is an RCS tx15b. They don’t make these anymore, I purchased mine used off ebay. It works well as shown in my other videos, but there is some hackiness required to get functionality like bi-directional communication to work. It wasn’t the worst choice and will do fine for now, but ultimately for the price I paid I could have spent another $50 and got current gen technology with better features.

Aside from x10 thermostats, there are other home automation protocol controlled thermostats. Such as ones controlled by z-wave and insteon, but I recommend you avoid them all. The conclusion you should draw from this article is why hassle with proprietary protocols and the need to purchase a compatible transmitter when good ol’ WIFI will do best.

Not all WIFI thermostats are created equal

Disclaimer: I have never used any WIFI thermostat in my life. I have just read a lot in preparation for my next purchase. However statistically speaking there is a 92% chance that my opinions are facts. In the event of the other 8% please comment corrections, I’d rather be eventually right than incorrectly believe that I’m right.

  • Most WIFI t-stats do not allow you to access them via LAN, aka HTTP to an internal IP. MOST of them actually make you connect to their externally hosted site. So you’re never directly accessing the t-stat, rather the t-stat sends and receives commands to their website, and you as a client also connect to this website. This completely ruins the chance for hacking and customization. You want a t-stat that has a locally accessible web server
  • Most WIFI t-stats DO NOT offer any sort of API access, so that you can easily send commands and receive status via a custom script
  • Often from my research the more expensive thermostats are the ones that are the most locked down.

Having the above in mind my recommendation to you is to purchase a thermostat from The reason why is they satisfy all the concerns listed above.

Their thermostats offer:

  • A locally accessible web server
  • Open and full featured API access using REST (HTTP GETs)
  • Priced very reasonably.

Some might say they’re a little on the ugly side. But for the price and features I’ll take the ugly. This is the ct-30. It’s about $140 shipped and considering non-wifi thermostats with decent functionality are $100 – $300, this is a steal. The ct-80 is its big brother, it comes with many more features such as a humidistat. It’s quite a bit more expensive but I’d say worth the cash. 3M resells the ct-30, rebranded as the 3M filtrete, and honestly looks very ugly to me. I’d rather get the radio thermostat branded unit.

If you’re wondering why the API matters so much, let’s assume on Windows or preferably Linux, I want to request the thermostat’s temperature, and then send that data into a website, XBMC, a daily email report, or just log to a file or DB for statistical purposes. With a RESTful API, all you have to do is script a HTTP GET to http://IP/API?command. And the thermostat will respond with the data.

If words like API, Rest, HTTP GET and the like sound foreign to you, don’t worry it’s actually a very simple concept. The thermostat has a web server running on it, you make a request to a particular page on it’s server (via script or even browser), the server will respond with data after you make the request. This thermostat also has it’s own web user interface for configuring it. And has an iphone and android app.

My last note is you might be wondering, why do most WIFI t-stats use a hosted site instead of a local web server? The answer is ease of setup for the non-technically inclined, at the expense of flexibility. If your t-stat has a local only server, then you need to open up a port in your route/firewall and set up rules so that you can access it over the internet (aka from work, from cell phone).

So to combat this, instead of the t-stat hosting the server, the t-stat initiates an outbound connection from your home internet, to the manufacturers website, where it sends and receives data to/from that site. You then use an account you create with them to log in, view, and control your thermostat at home. This is pretty much identical to the concepts of accessing your web enabled printer over the internet if you happen to own a modern HP or Cannon printer for example.
For my uses, Yes I want to be able to access my t-stat controls from across the internet, but I also need to be able to access it directly/locally for customization.

A home automation App that I am developing in HTML5

Update with additional info

This slideshow requires JavaScript.

The plan for this app is to not only have an access anywhere, dynamic webUI, but to have an application on my phone, tablet(s) that feel native. Of course I’ll be using HTML5 with Jquery, I’ll also be using Webworks for the phone/tablet app.

Demonstrated in these videos:

  • Thermostat, capable of adjusting temperature and mode.
  • Fireplace control, mostly to be able turn off if paranoid.
  • Generic House Timer, which activates x10 door chimes. Good for various uses.
  • And of course lights. Currently I’m using a heavily modified version of iPHC(iPhone Home Controller). I will be writing this lights portion from scratch to suit my needs better.

Tools like this rely heavily on backend scripts I have running on my Linux server at home. However the concepts behind these scripts are very simple using the CLI interface on an x10 CM15a. The software/daemon I chose to use is Mochad.
In conclusion I’d like to drop a little disclaimer here. The UI is obviously a work in progress and I’m focusing on functionality first. Cleaning it up and making is look pro is an easier task.

Another video that’s a little blurry.