Smart Internet Programmable Thermostat
Contact Us
FAQ
Installation Notes
Blog
API
Home
API
Commands

The commands used for setting the mode and temperature are coolDD, heatDD and off. For example cool74 will set the mode to Cool and the setpoint to 74. The commands used for Fan Control are fanon (Fan ON) and fanauto (Fan AUTO).

Requesting thermostat status
  • Retrieve the challenge token from http://your_thermostat_ip:your_thermostat_port/api2/challenge.html
  • Calculate the MD5 hash for read + challenge token + device key. This hash is the signature you will use next.
  • Send an HTTP request to http://your_thermostat_ip:your_thermostat_port/api2/thermostat.xml?cmd=read&sig=signature

Sample response:


<status>
  <temp>70</temp>
  <setpoint>71</setpoint>
  <mode>heat</mode>
  <status>off</status>
  <fan_mode>auto</fan_mode>
  <fan_relay>off</fan_relay>
</status>
Sending commands

Assume without loss of generality that the command to be applied is cool74.

  • Retrieve the challenge token from http://your_thermostat_ip:your_thermostat_port/api2/challenge.html
  • Calculate the MD5 hash for cool74 + challenge token + device key. This hash is the signature you will use next.
  • Send an HTTP request to http://your_thermostat_ip:your_thermostat_port/api2/set.cgi?cmd=cool74&sig=signature
API using Basic Authentication
Requesting thermostat status

Using a web browser the thermostat status is returned by the following URL http://thermotstat_ip:7878/api/thermostat.xml. Also see a sample Python script for programatic access.

Sending commands

Using a web browser thermostat commands can be sent using URLs similar with the following http://thermotstat_ip:7878/api/set.cgi?cmd=cool61. Also see a sample Python script for programatic access.