User Guide
ViewStat Programming Protocol
3
ViewStat Communicating Thermostat - Programming Protocol Reference Guide
Multiple Commands
Explicit commands, to one particular thermostat, can be issued and acted upon with no more than
20 milliseconds between each command. Responses must be received before moving to the next
thermostat to issue commands. Global commands can also be issued with no more than 20
milliseconds between commands if the Command Response (
CR) has been set to Quiet (SN CR=Q)
or Silent (
SN CR=S). Responses, stationed in a buffer awaiting the opportunity to be sent, can
create a backlog and cause incoming commands to be disregarded. If global commands are to be
sent with the Command Response set to Normal (
SN CR=N), then the amount of time between any
set of two commands (the two commands must be separated by 20 milliseconds) must be 265
milliseconds times the "Number of Thermostats on the Network".
TIP: If responses are desired to a large number of commands, set the Command Response to Quiet,
send the commands (either globally or explicitly), then query individual thermostats (explicitly).
Return the command response to Normal when done. As an example consider a 64 thermostat
system. Now suppose the mode, fan, heat setting, cool setting and hold status were to be changed
on each thermostat. Further suppose that verification that all of these changes had been made were
required, and in addition the current temperature and remote temperature values were to be queried.
Using global commands, with the Command Response set to Normal, 17 seconds would be
required between each command. Five commands and two queries would be required (7 total
commands) requiring a total time of approximately two minutes.
Sending five commands and seven queries to each thermostat explicitly would require
approximately 37 seconds.
To maximize communication speed consider the following:
1. Communicate at 19200 baud
2. Do not skip addresses on the thermostat network unless absolutely necessary.
Global Command Sequence: Explicit Command Sequence
SN M=A SN CR=Q
SN F=A SN M=A
SN SH=70 SN F=A
SN SC=75 SN SH=70
SN HOLD=OFF SN SC=75
SN T? SN HOLD=OFF
SN OT? SN1 M?
SN1 F?
SN1 SH?
SN1 SC?
SN1 HOLD?
SN1 T?
SN1 OT?
SN2 M?
:
SN64 OT?
SN CR=N