v2.0.0
With the release of v2.0.0, all SmartBuildings API users can now control even more settings on individual thermostats, including comfort settings, configuration settings, access settings, and the schedule. Breaking changes include changes to residentMode, acMaintenanceReminder, heat/cool setpoints and introduction of a new v2 token endpoint. The newly released bulk endpoint /api/v2/thermostats/settings allows you to update configuration settings across up to 25 thermostats at once.
Here is an overview of the updates introduced in the v2.0.0 API. Please refer to the API reference for the full details.
Breaking Changes
Resident mode
Tenant mode has been renamed to resident mode, and the associated endpoints and payload fields have been updated.
PATCH /api/v2/thermostats/{thermostatId}/tenantModeis nowPATCH /api/v2/thermostats/{thermostatId}/residentMode.- Now takes a payload with an
isResidentModefield.
- Now takes a payload with an
GET /api/v2/thermostats/{thermostatId}/status- Now returns
isResidentModein the response payload.
- Now returns
POST /api/v2/thermostats/{buildingId}/thermostats- Now takes a payload with an
isResidentModefield.
- Now takes a payload with an
AC maintenance reminder field removed
AC maintenance reminders are not implemented on the thermostat, so the field has been removed from the API. HVAC maintenance reminders should be used instead.
GET /api/v2/thermostats/{thermostatId}/alertSettings
- Will no longer include
acMaintenanceReminderin the response payload.
PATCH /api/v2/thermostats/{thermostatId}/alertSettings
- Will no longer accept
acMaintenanceReminderin the request payload. To set maintenance reminders, include a configuration forhvacMaintenanceReminder.
Setpoints in heat and cool mode
Previously, the API returned different values for the heat and cool setpoints depending on the HVAC mode. This made it difficult to determine both setpoints after switching to auto mode, since the mode change can take a few seconds to be reflected in the API response. Now the true heat and cool setpoints are always returned, regardless of mode.
In v1, GET /api/v2/thermostats/{thermostatId}/status previously returned values as indicated below:
heat or auxHeatOnly mode:
{
...
"setPoint": {
"desiredHeat": <heat setpoint>,
"desiredCool": <heat setpoint>
}
}cool mode:
{
...
"setPoint": {
"desiredHeat": <cool setpoint>,
"desiredCool": <cool setpoint>
}
}auto mode:
{
...
"setPoint": {
"desiredHeat": <heat setpoint>,
"desiredCool": <cool setpoint>
}
}off mode:
{
...
"setPoint": {}
}
In v2, GET /api/v2/thermostats/{thermostatId}/status returns the following values no matter which mode
{
...
"setPoint": {
"desiredHeat": <heat setpoint>,
"desiredCool": <cool setpoint>
}
}What's New?
Token endpoint
GET /api/v2/token
- Token fetching should be updated to fetch from
/api/v2/token.
View Thermostat schedule endpoint
GET /api/v2/thermostats/{thermostatId}/schedule
- Displays what the weekly schedule looks like for the thermostat, to each half hour interval.
View Thermostat comfort settings endpoint
GET /api/v2/thermostats/{thermostatId}/comfortSettings
- Displays a named comfort setting for your thermostat.
- Comfort setting will contain
name,desiredHeat,desiredCool,fanHeat, andfanCool.
- Comfort setting will contain
View Thermostat configuration settings endpoint
GET /api/v2/thermostats/{thermostatId}/settings
- View heat/cool ranges and fan settings for the thermostat.
- Contains
heatRange/coolRangewithmin/maxvalues,holdAction,fanMinimumOnTime
- Contains
Create Thermostat comfort settings endpoint
POST /api/v2/thermostats/{thermostatId}/comfortSettings
- Create a new comfort setting to be used in the schedule.
- Comfort setting will contain
name,desiredHeat,desiredCool,fanHeat, andfanCool.
- Comfort setting will contain
Update Thermostat access settings endpoint
PATCH /api/v2/thermostats/{thermostatId}/accessControl
- Update access control settings for a thermostat.
- Can be toggled
trueorfalse- If
true, can provide a numeric 4 digitpasscode,settingscontaining booleans oftemperature,systemMode,schedule,vacation,other
- If
Update Thermostat configuration settings endpoint
PATCH /api/v2/thermostats/{thermostatId}/settings
- Update heat/cool ranges and fan settings for the thermostat.
- Contains
heatRange/coolRangewithmin/maxvalues,holdAction,fanMinimumOnTime
- Contains
Update Thermostat comfort settings endpoint
PATCH /api/v2/thermostats/{thermostatId}/comfortSettings
- Update an existing comfort setting.
- Editable fields are
name,desiredHeat,desiredCool,fanHeat, andfanCool.
- Editable fields are
Delete Thermostat comfort settings endpoint
DELETE /api/v2/thermostats/{thermostatId}/comfortSettings/{comfortSettingRef}
- Delete an existing comfort setting.
Update Thermostat schedule endpoint
PATCH /api/v2/thermostats/{thermostatId}/schedule
- Update your thermostat schedule with a provided range and comfort setting.
- Schedule is set by
days,firstTimeBlock,lastTimeBlock,comfortSettingRef
- Schedule is set by
Bulk update Thermostats configuration settings endpoint
PATCH /api/v2/thermostats/settings
- Bulk update the heat/cool ranges and fan settings for up to 25 thermostats.
- Contains
heatRange/coolRangewithmin/maxvalues,holdAction,fanMinimumOnTime
Update Thermostat building
PATCH /api/v2/thermostats/{thermostatId}
- Added ability to move a thermostat to a new building