Monitoring and Controlling your Proliphix thermostat with Ruby

It’s been 2 years since I got my Proliphix thermostat, and while I did some early hacking on it, largely the whole effort just sat around for the last 2 years.  However, with the fun of connecting up my weather sensors, I went back in this weekend and beat the code into a much more sane interface.

Thermostat.rb 1.1.1 was released yesterday.  It provides a concise interface to the Proliphix web services API.  An example of the usage is something like:

  thermostat = Thermostat.new("hostname", "admin", "password")

  # get the current temperature
  current_temp = thermostat.temp

  # get the current setback heat value
  current_target_temp = thermostat.heat_to

  # set the thermostat to 69F (units are set in the thermostat)
  thermostat.heat_to = 69

I’ve got support under the covers for everything in the Proliphix API. I’ve only mapped about 1/2 of it to the user visible interface, starting with all the functions I’ve tended to need or use.  I was a good little agile developer and built unit tests for everything here.  Using the new module, I added the thermostat to my homegraph code, with some pretty reasonable results:

All this is released under the MIT license.

One thought on “Monitoring and Controlling your Proliphix thermostat with Ruby”

  1. I’ve just ordered a Proliphix thermostat and went looking for ruby interfacing. I’m very pleased to have found your site! I’ll be giving your gem a try as soon as I get the thermostat installed. Thanks for putting in this effort for folks like me who can’t really code (but can hack an ugly Ruby script together).

    🙂

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s