POST Issue Demand Response
URL: /demandResponse
Accessible by: Utility accounts only.
Demand Response events may be issued to a set of thermostats in order to adjust their program. Demand Response events are either optional or mandatory. Mandatory events may not be cancelled by the user and must run their course. For additional functionality of the Demand Response, see the Event object.
Request Properties
Property | Version | Type | Required | Description |
---|---|---|---|---|
selection | 1 | Selection | Yes | The selection criteria for update. |
operation | 1 | String | Yes | The type of request. Always "create". |
demandResponse | 1 | DemandResponse | Yes | The demand response object to create. |
Required Event Object Properties
The following DemandResponse.event properties are also required for the embedded Event object. See DemandResponse . Ensure these properties are all set. Additional properties may also be set, they are not required.
Note that the start/end date/time for the event must be in thermostat time and are not specified in UTC.
Required Properties |
---|
DemandResponse.event.name - maximum length of 12 characters |
DemandResponse.event.type - typically demandResponse but possible values are: hold, demandResponse, sensor, switchOccupancy, vacation, quickSave, today |
DemandResponse.event.startDate - must have length of 10 in format YYYY-MM-DD |
DemandResponse.event.startTime - must have length of 8 in format HH:MM:SS |
DemandResponse.event.endDate - must have length of 10 in format YYYY-MM-DD |
DemandResponse.event.endTime - must have length of 8 in format HH:MM:SS |
DemandResponse.event.isTemperatureAbsolute or DemandResponse.event.isTemperatureRelative |
Response Properties
Property | Version | Type | Description |
---|---|---|---|
demandResponseRef | 1 | String | The unique demand response reference ID. |
status | 1 | Status | The api response code. |
Example Request:
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/demandResponse?format=json POST BODY: { "selection": { "selectionType":"managementSet", "selectionMatch":"/" }, "operation":"create", "demandResponse":{ "name":"myDR", "message":"This is a DR!", "event": { "heatHoldTemp":790, "endTime":"11:37:18", "endDate":"2011-01-10", "name":"apiDR", "type":"useEndTime", "coolHoldTemp":790, "startDate":"2011-01-09" "startTime":"11:37:18", "isTemperatureAbsolute":true } } }
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/demandResponse?format=json"
Example Response:
{ "status": { "code": 0, "message": "" } }