A good thermostat is one of the most consequential purchases a home automation geek like myself ever makes.  Given my inclinations I wanted a thermostat that:

  • was programmable
  • handled heating and cooling
  • had an API (Application Programming Interface)
  • had web access as well as local access
  • had some way of recording runtimes

The Venstar T5800 was the best product for my needs.  I’ve been using one for several years now and it has performed perfectly.  You can get the basic thermostat from Amazon for about $190.  For my purposes I had to add the wi-fi key which costs about $60.  Or you can get both on EBay for about $135.  Not cheap, but I’ve found it to be worth the cost.  The price includes an online account at Skyport which provides you with the ability to control and monitor the thermostat even if you never do any of the projects I’ll be covering.

The key feature that makes the Venstar so useful in my environment is the API.  It provides the ability to send commands and queries over the wifi connection to the Venstar from another computer.  Their examples and documentation, available at, are not particularly useful but they at least provide a starting point.  The sample programs they provide are for languages other than Perl, an oversight that I have fixed.  I’ve also found that integrating the Venstar with HCA hasn’t been particularly difficult.

There are 3 basic operations that I’ve made use of:

  • query info (section 3.1.1 of their documentation)
  • query runtimes (section 3.1.3)
  • control (section 3.2)

In the following sections I’ll beef up their documentation a little and cover my actual implementations.

As In Various and Sundry