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

Show code sample in:
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": ""
	}
}
   			 

Back To Top