Home Automation

Note: if you find this information useful, you can support this site by following this link when you buy from Amazon.com.

RC-80 Omnistat Control

I have an RC-80 (sadly, not the backlit model) serial controlled thermostat that I got from Home Automation Inc. I purchased it from SmartHome. This is a nice device in that it is fully featured even when you do not have computer control of it, and I think the price is very good compared to other communicating thermostats (many of which cost much more than this and don't work as well stand-alone). The computer control just makes it easier to program all of the set points and keep the time in sync with the computer.

The thermostat is of the "current stealing" type, so normal 4 wire connection to the HVAC is usually all you need for basic operations. The serial connection is 4 wire, and I used a CAT-5 drop. I did used to have problems with my older HVAC, which could not provide enough current to the RC-80. When a call for heat came on, enough current was lost that the RC-80 would rest (and thus the furnace would fail to fire). HAI makes a device to provide 24V power outside of what the HVAC can do. My newer HVAC as no problem, so I have since removed the additional 24 volt power.

I whipped up a bit of code to control the RC-80 from my Mac. You're welcome to use the source code if you find it helpful. The only Mac specific things are the use of QuickTime for XML parsing (you can use xpat or some other standard library), the reading of the current time/day (whatever your OS provides), and the OS X style of looking up the path to the BSD serial port (you'll probably end up hard coding the serial path).

Note: this code is provided as is and should work for other models of the RC-XXX series of thermostats, but I of course have no way of testing this. I make no promises that you will find that the code functions, or that you might not damage your thermostat or HVAC system!

The code can read and write any of the registers on the device, has specific command line options to set the "outside" temp, to set the time of day, and to upload setpoints from an XML file. You can modify the code if you need to be able to control other registers within the device, but as with all of the installer settings, you need to know what you are doing in order to avoid possible damage to your HVAC system.

I use a Keyspan USB to serial converter to talk to the thermostat and it works quite well. The DB9 connection is made up as follows:
1. On the DB-9F connector: Connect pins 7 and 8 together. (RTS and CTS)
2. On the DB-9F connector: Connect pins 1, 6 and 4 together. (DCD, DTR and DSR)
3. Connect pin 4 of the DB-9F to the YELLOW wire on the thermostat plug (DTR)
4. Connect pin 3 of the DB-9F to the GREEN wire on the thermostat plug (TXD)
5. Connect pin 2 of the DB-9F to the RED wire on the thermostat plug (RXD)
6. Connect pin 5 of the DB-9F to the BLACK wire on the thermostat plug. (GND)

Download the source code here

What's New?
Poubelle Home
DarkSide of the Mac
Tom Dowdy Home
Life at the Other CIA
Home Automation
Links Page

Copyright 2006 Tom Dowdy
Comments? dowdy@poubelle.com