POST Update Thermostats
URL: /thermostat
Accessible by: Smart, EMS accounts only.
Updating thermostats is performed with a POST request. This request permits the modification of any writable Thermostat or sub-object property. Thermostats may be updated by their writeable properties directly or through the Thermostat Functions.
Updating using Thermostat Properties
By including the Thermostat object in the request, any writable property may be directly updated in the thermostat. Some thermostat child objects are read-only due to either complexity in their configuration for which the thermostat functions have been created to support, or the object is not modifiable outside the physical thermostat (i.e. devices, wifi, etc.)
Updating using Thermostat Functions
Thermostats may also be updated using Thermostat Functions. Thermostat Functions provide a way to make more complex updates to a thermostat than just setting one or more properties. The functions emulate much of the same functionality found on the thermostat itself, such as setting a hold, for example. An update request may contain any number of functions in the request. Each function will be applied in the order they are listed in the request.
Request Properties
Property | Version | Type | Required | Description |
---|---|---|---|---|
selection | 1 | Selection | Yes | The selection criteria for update. |
thermostat | 1 | Thermostat | No | The thermostat object with properties to update. |
functions | 1 | Function [] | No | The list of functions to perform on all selected thermostats. |
Response Properties
Property | Version | Type | Description |
---|---|---|---|
status | 1 | Status | The api response code. |
Example Request:
The thermostat update example POSTs an update for all of the Smart user's registered thermostats and deletes a Vacation event called "My vacation" using the Delete Vacation function.
Request Body
NOTE: Request body is not encoded for example purposes.
HEADERS: Content-Type: application/json;charset=UTF-8 Authorization: Bearer Rc7JE8P7XUgSCPogLOx2VLMfITqQQrjg REQUEST: POST https://api.ecobee.com/1/thermostat?format=json POST BODY: { "functions": [ { "type":"deleteVacation", "params":{ "name":"My vacation" } } ], "selection": { "selectionType":"registered", "selectionMatch":"" }, "thermostat": { "settings":{ "hvacMode":"off" } } }
Sample API Call
curl -s --request POST --data-urlencode @json.txt -H "Content-Type: application/json;charset=UTF-8" -H "Authorization: Bearer ACCESS_TOKEN" "https://api.ecobee.com/1/thermostat?format=json"
Example Response:
{ "status": { "code": 0, "message": "" } }