This repository consists of a control system (based on 1-wire technology) running on a ubuntu system
Ruby Shell
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


This project drives a one-wire system, as well as a furnace.
Currently, it supports one heating/cooling zone.

Currently, it uses the one-wire filesystem, and several libraries.
Required Gems:

* ActiveRecord, used to store the current settings and provide a
  historic record of those settings.

* Sinatra, haml used to support the web site.

* sqlite, used for the backing store for the activerecord database

*  One wire file system

* Several one-wire thermometers.  I use my own design, but you can buy
  them from

* Starling, a queue server originally written for twitter.

* rrdtool, a database for keeping the historic temperature data

* Some RJ45 cabling

* An adapter to connect to the 1-wire network.  I use the DS9490 USB
  to 1-wire RJ11 adapter.  Adapters for serial ports are also available.

* A cable with RJ11 on one end and RJ45 on the other

* A Power injector (also available from

For furnace control, other things may be needed.  I have a simple set
up with gas furnace, and external AC.  This is controlled by a 4 wire
thermostat.  However, apparently there are many kinds of furnace
controls, so it is definitely the case that one size does _NOT_ fit
all.  Also, bear in mind while wiring that "Many thermostats short
together Y and W when the fan switch is in the auto position."  On my
simple, 4 wire system, I had to wire the fan from the real thermostat
through the NC position of my fan relay so that when I switch the fan
on, the AC doesn't automatically come on.

Questions, comments, etc - email