Demand Response Enrollment and Event Issue Guide
This is an example process of enrolling a device into a program and executing a Demand Response Event on that device.
Enrollment
This guide assumes you've been through the OAuth2 Authorization Code flow with a Lyric account, and you've been able to obtain an OAuth2 Client Credentials Token.
Enrolling a user into a program.
Use your OAuth2 Client Credentials token in the Authorization header. Request:
curl -X PUT -H "Authorization: Bearer accessTokenHere" -H "userId: 123456" -H "Content-Type: application/json" -d "{"DeviceId": "LCC-00D02D64FC14", "DeviceMac": "00D02D64FC14", "LocationId": "1" }" api.honeywell.com/v1/demandresponse/enrollment?apikey={apikey}
Response snippet:
{
"Id": "c4029bb9-4549-43c2-9f42-b3e3bbba61ce",
"uri": "/Enrollment/c4029bb9-4549-43c2-9f42-b3e3bbba61ce"
}
Issue Event
Issue an event for list of devices
Request:
curl -X POST -H "Authorization: Bearer accessTokenHere" -H "Content-Type: application/json" -d "{ "startTime": "2017-01-19T09:48:02.9558319Z", "isOptOutable": true, "isLocallyOptOutable": true, "randomizationInterval": 0, "phase1": { "duration": "00:01:00", "heatDelta": 1.0 },"devices": [ "LCC-00D02D64FC14" ]}" api.honeywell.com/v1/demandresponse/event/{eventId}?apikey={apikey}
Request body example:
{
"startTime": "2017-01-19T09:48:02.9558319Z",
"isOptOutable": true,
"isLocallyOptOutable": true,
"randomizationInterval": 0,
"phase1": {
"duration": "00:01:00",
"heatDelta": 1.0
},
"devices": [
"LCC-00D02D64FC14"
]
}
This will run a Duty Cycle event for one minute for the DeviceIDs listed.
A successful response will look like:
{
"issuerId": "[your client id here]",
"eventId": "[your event id here]"
}