![]() | ![]() | |
| Make/Model | Device Version | Connection Type |
| RCS/Serial RS-485 | N/A | Serial |
This driver controls the RCS Serial RS-485 family of thermostats. This driver was written against the TR40 but should be functional with the TR16 as well. This driver will probably not work with the TR36 and TR16 thermostats without modification, but should be an excellent starting point for a driver for those models.These thermostats provide dual mode operation (automatic switching from heating to cooling modes with independent set-points.) Three stage heating equipment and two stage cooling are supported. The thermostats also support messaging, and the CQC driver allows messages to be sent to the thermostat. A message waiting LED blinks when one or more unread messages are available at a thermostat panel.
The driver does not presently support reading or writing the programming schedules in the TR40 thermostats.
The RS-485 series thermostats communicate via (wait for it) an RS-485 serial bus. RS-485 supports significantly longer connections than RS232, and allows for multi-drop connections (more then one thermostat on a single set of wires). It is necessary to use an RS-485 serial converter to connect these thermostats directly to a PC; some versions of the TR40 require a converter that can provide 12v power. Verify if your thermostat controller has three or four terminals on the RS-485 connector to determine the requirements here. This driver was developed and tested with the RCS 8AH232 hub, which allows eight independent RS-485 channels to be connected to a single RS-232 port. This is an active converter which provides 12v power to each channel. The driver expects the RS-232 serial connection to run at 9600bps, 8 data bits, no parity, one stop bit, which is the default hardware settings at the RCS 8AH232.There can potentially be up to 254 distinct devices on the RS-485 bus, all of which pass their data back to the computer via the RS-232 converter/hub. The devices are differentiated by assigning them a unique address via the thermostat. The driver polls possible devices to determine which thermostats are connected. To allow the driver to startup promptly, the driver only attempts to find devices in the address range 1-15. All thermostats must fall in this range or the driver will not detect them.
Thermostats with overlapping network addresses will attempt to send on the bus at the same time and result in garbage output. If you experience any communication difficulties, verify the behavior of the thermostats with a terminal program by sending commands like “A=1 R=1” followed by a carriage return, where the ‘A’ parameter corresponds to an address number (the “R=1” requests the thermostat to return status). For extremely long runs or runs with lots of drops, make sure to install a terminating resistor as described in the RCS documentation.
This section lists the fields that the driver makes available. All fields are associated with individual thermostats, and the fields end with “StatX” where X indicates the address of the thermostat.
Name
Type
R/W
Description/Limits OutsideTempStatX
Int4
R/W
Provides the current air temperature at the outside air temperature, if one is connected to the thermostat. If an outside thermostat is NOT connected, this variable can be used to set the outside air temperature supplied from another CQC device for display at the thermostat. TempStatX
Int4
R
Provides the current air temperature at the thermostat, or at the thermostat’s remote sensor if one is connected. HeatSetpointStatX
Int4
R/W
Exposes the thermostat’s heating setpoint. CoolSetpointStatX
Int4
R/W
Exposes the thermostat’s cooling setpoint. RunScheduleStatX
Boolean
R/W
Exposes the thermostat’s schedule mode. A value of “True” means the thermostat will run the current program (“Run” mode.) A value of “False” means the thermostat will attempt to hold the current setpoint temperatures (“Hold” mode.) ModeStatX
String
R/W
Exposes the thermostat’s mode. Valid values are “AUTO” for combined heating and cooling, “HEAT” for heat only, “COOL” for cool only or “OFF” for off. FanModeStatX
Boolean
R/W
Exposes the thermostat’s fan mode. A value of “True” means the fan will run continuously (“Manual”) and a value of “False” indicates the fan will run only in conjunction with a heating or cooling call. HeatStage1StatX
Boolean
R
Indicates whether stage 1 heating is currently running. HeatStage2StatX
Boolean
R
Indicates whether stage 2 heating is currently running. HeatStage3StatX
Boolean
R
Indicates whether stage 3 heating is currently running. CoolStage1StatX
Boolean
R
Indicates whether stage 1 cooling is currently running. CoolStage2StatX
Boolean
R
Indicates whether stage 2 cooling is currently running. FanStatX
Boolean
R
Indicates whether the fan is running or not. VentDamperStatX
Boolean
R/W
Indicates and controls whether the fresh air damper relay is open or not. MinOffTimeStage1StatX
Boolean
R
Indicates whether the stage 1 heat or cooling mode is currently disabled due to the minimum off duration timer. MinOffTimeStage2StatX
Boolean
R
Indicates whether the stage 2 heat or cooling mode is currently disabled due to the minimum off duration timer. MinRunTimeStage1StatX
Boolean
R
Indicates whether the stage 1 heat or cooling mode is currently running due to the minimum on duration timer. MinRunTimeStage2StatX
Boolean
R
Indicates whether the stage 2 heat or cooling mode is currently running due to the minimum on duration timer. SyncTimeStatX
Boolean
W
Writing a value to this field will synchronize the thermostat’s clock with the PC. SendTextMessageStatX
String
W
Writing a string to this field will synchronize will send a new message to the keypad. The message must not exceed 80 characters. Sending a message of “#” will clear all messages at the keypad.