Setpoint Rules  |  Alerts  |  Runtime Data  |  Sensor Data

Setpoint Rules

The ColorTouch API imposes several rules regarding setpoint values that are submitted to the thermostat. Any attempt to submit setpoint values via the API which violates these rules will result in an error being returned from the thermostat. The ColorTouch plugin attempts to reduce the likelihood of such errors (more, below), and in the event such an error occurs, creates an entry in the Indigo log.

  • Temperature setpoints must be within the temperature setpoint min/max values. The min and max values are adjustable only via the touchscreen. The plugin will automatically constrain any submitted temperature setpoints to be within the corresponding min and max.
  • When the System Mode is Auto (or being set to Auto), the Cool To setpoint must be greater than the Heat To setpoint by at least the value of the setpoint delta.
  • The Humidify setpoint must be between 0 and 60 percent, inclusive. These limits are not adjustable.
  • The Dehumidify setpoint must be between 25 and 99 percent, inclusive. These limits are not adjustable.
  • The plugin will automatically constrain any submitted humidty setpoints to be within the corresponding min and max.
  • The Dehumidify setpoint must be greater than the Humidify setpoint by at least 4 percentage points.

Alerts

The ColorTouch plugin provides access to three user-configurable Alerts/Reminders (Air Filter Alert, UV Lamp Alert, and Service Alert). Alerts are queried independently of thermostat status, and since they only become active after so many days or so many hours of runtime (that's the user-configurable part), the default polling interval for Alerts is hourly. For each Alert, the plugin provides a corresponding Device State which can, of course, be used to Trigger an appropriate response or notification.

 

Runtime Data

The ColorTouch plugin provides access to the thermostat’s Runtime data. Runtime data are not downloaded automatically, but must be explicitly downloaded using the Update Runtimes Action, which will download the current Runtime data and update the corresponding Device State, ctRuntimes. Each update is a JSON-encoded list of time-stamped records (python dictionaries) with the minutes of runtime for each stage; one record for each of the previous six (6) days, plus a partial record for today (from midnight last night, up to the second of the inquiry).

Below is an example record for a single day. The keys are self-explanatory, except perhaps for “fc”, which stands for “free cooling”. For more information about free cooling, see the ColorTouch Owners Manual and Installation Instructions booklet that came with the thermostat. Each value (except the timestamp, of course) represents the number of minutes of runtime in the preceding 24 hours — except in the case of the last record, whose timestamp will represent the second the query was received by the thermostat, in which case, the values represent the minutes of runtime since the end of the previous period right up to the second of the query.

Example record:
 
{"cool1": 63, "cool2": 0, "ts": "2015-02-23 00:00:00", "fc": 0, "heat2": 0, "heat1": 0, "aux2": 0, "aux1": 0}

The plugin also provides an additional action, Update External Runtimes Log, which downloads the same Runtime data then saves it to a comma-delimited text file in the folder specified during the Device’s configuration. Note that the final, partial record for the day of the query is omitted so that that log file will always contain only complete, 24-hour records. If the “Create ‘name’ subfolder” option was checked during configuration, a separate subfolder will be created using the Indigo Device Name. This is useful if you have created more than one ColorTouch Device, and wish to keep their log files stored separately. Each subsequent log file update will append new records (specifically avoiding duplicate entries) to the existing log file until the beginning of a new calendar year, at which time a new log file will be created. Log file names are formatted like this: runtimes-2015.csv.

 

Sensor Data

The ColorTouch plugin provides access to the thermostat’s sensor data. Sensor data are, of course, returned with every status update and the corresponding standard Indigo Thermostat Device States are automatically updated. However, the ColorTouch API provides for a separate query that downloads only sensor data, and nothing else. This sensor-only data must be explicitly downloaded using the Update Sensors Action, which will download the current Sensor data and update the corresponding Device State, ctSensors (see Device States, below). Each update is a JSON-encoded string containing a list of sensor names and current readings.

Below is an example record; the keys are self-explanatory. Note that the “hum” (humidity) property may be missing for the T5800, as it does not have a humidity sensor (plugin testing was done only with a T5900, and the API documentation doesn’t specify — T5800 users, pass along your experience, and I’ll update the documentation accordingly). Note also that if there is no external sensor connected, the value for the Remote temperature sensor will be 0.0.

Example record:

{"hum": 26, "name": "Thermostat", "temp": 72.0}, {"name": "Remote", "temp": 55.0}

 

The plugin also provides an additional action, Update External Sensors Log, which downloads the same sensor data then saves it to a comma-delimited text file in the folder specified during the Device’s configuration. If the “Create ‘name’ subfolder” option was checked during configuration, a separate subfolder will be created using the Indigo Device Name. This is useful if you have created more than one ColorTouch Device, and wish to keep their log files stored separately. Each subsequent log file update will append data to the existing log file until the beginning of a new calendar month, at which time a new log file will be created. Log file names are formatted like this: sensors-2015-02.csv.