POST Demand Management
URL: /demandManagement
Accessible by: Utility accounts only.
Demand Management (DM) permits a Utility to forecast and adjust the thermostat runtime dynamically with a 5 minute granularity per adjustment. Each DM object defines a single hour of a day with its 12 5-minute intervals which specify the temperature adjustment . The thermostat will apply this temperature adjustment on top of the user's program. A Hold set by the user will always override the DM adjustment, and the thermostat will honour the user set value. A list of DM objects may be provided in one call to configure the thermostat for any number of hours and days in the future.
The thermostat maintains only 1 DM configuration per hour, per day. The thermostat will retain 4 days (4 days * 24 hours = 96 messages) in memory at one time. When the buffer is full and a new DM message is received, the most distant (future) message will be dropped. Subsequent DM messages sent for an already defined hour will overwrite the existing series. To cancel a series for a specific hour, send all 0's in the series which will result in no adjustment being made for the whole hour.
The thermostat may choose not to honour DM temperature adjustment if it violates the equipment run-time minimums and maximums. If this occurs, the thermostat will send a 0 in the Runtime Report and ExtendedRuntime information.
Note: the only visible change on the thermostat itself would be a status message indicating a DM is in effect, the set point on the thermostat will not change. The Thermostat behaviour can be confirmed by getting the report data to what DM offset was in effect. See Runtime Report for more information
Request Properties
Property | Version | Type | Required | Description |
---|---|---|---|---|
selection | 1 | Selection | Yes | The selection criteria for update. |
dmList | 1 | DemandManagement [] | Yes | A list of demand management objects. |
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/demandManagement?format=json POST BODY: { "selection": { "selectionType":"managementSet", "selectionMatch":"/" }, "dmList": [ { "date":"2012-01-01", "hour": 5, "temperatureSeries": [20,20,20,0,0,0,0,-20,-20,-20,0,0] }, {"date":"2012-01-01", "hour": 6, "temperatureSeries": [0,0,20,20,0,0,0,0,0,-20,-20,-20] } ] }
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/demandManagement?format=json"
Example Response:
{ "status": { "code": 0, "message": "" } }