Developer Docs Updates - 07 July 2017

Reviving this category to keep people informed of Dev Docs updates… I’ll try and post in this category for any docs site update going forward.

(You can also watch the What’s New page on the docs site, but that’s not very efficient).

The developer documentation changes released today include a few changes to Thermostat-related capabilities. You can read about it on the What’s New page posted above.


Thank you so much, @Jim, for the updates!


Thanks for the update.

Is there any place where the expected operation of a Thermostat is documented? All these attributes - how are they expected to be implmented?

For example:

  • An HVAC system that supports both heat and cool, when set in Auto mode where the Thermostat can call for heat OR cool depending upon the current room temperature… what are the expected values of coolingSetpointRange, heatingSetpointRange and thermostatSetpointRange supposed to be?

  • So heating Range is 55-68 and cooling range is 72-85…current temperature is 70. What should thermostatSetpointRange be set to? 55-85?

  • If heating, does thermostatSetpointRange change to be just the heating range?

  • What exactly does thermostatSetpoint mean, and what does it imply in the SmartThings implementation? Is it supposed to be the current heating or cooling setpoint? What if neither heat nor cool is running? And what does this value impact - does it change the way the multi-attribute tile behaves?

  • For that matter, what is the heating/coolingSetpoint supposed to be: the temperature at which heat/cool demand will be placed, or the target temperature of the room (some thermostats, like the Ecobee, have a configurable allowance above/below the displayed setpoint before cool/heat demand is called).

  • For Fan Modes, since only On, Auto and Circulate are supported, how are you supposed to turn the fan off? By setting the Mode to “off” perhaps? But with some thermostats (e.g., Ecobee), the fan will still circulate even while the HVAC Mode is Off (if fanMinOnTime is non-zero).