Schedule Service
The Schedule Service allows you to retrieve schedules, create new schedules, delete schedules, retrieve the number of current schedules. Only a single event can be created or modified for each REST request.
URI Definition
Method | URI and Fields | |||||||
GET
| /iap/sev/{schedule} | |||||||
Retrieves all schedules that the current user can read. Parameter
Query ParametersThe following optional parameters can be used in addition to those listed in Query Parameters.
Success ResponseCollection of Schedules. Examplehttps://localhost/iap/sev/*
https://localhost/iap/sev/*+name=+^lamp
RESPONSE
[
{
"id": 233,
"name": "event",
"customerId": 32,
"priority": 17,
"start": "2020-03-19",
"end": "2020-03-19",
"repeat": null,
"weekly": null,
"datapoints": [
"1/lon/1/LightSensor/2/nciLowLightAlarm",
"1/lon/1/LightSensor/2/nvoLuxLevel"
],
"tags": [
],
"stagger": 0,
"color": "#EEEEEE",
"metadata": {
"datapoints": [
{
"blockName": "LightSensor",
"blockIndex": "2",
"deviceName": "device",
"dpQualifier": "1/lon/1/LightSensor/2/nciLowLightAlarm",
"datapointName": "nciLowLightAlarm"
},
{
"blockName": "LightSensor",
"blockIndex": "2",
"deviceName": "device",
"dpQualifier": "1/lon/1/LightSensor/2/nvoLuxLevel",
"datapointName": "nvoLuxLevel"
}
],
"targetType": "datapoints",
"endDateType": "DATE",
"endingOffset": {
"isNegative": false
},
"repeatOption": "NO_REPEAT",
"startingOffset": {
"isNegative": false
},
"endingOffsetType": "LOCAL_TIME",
"startingOffsetType": "LOCAL_TIME"
},
"startingDate": "2020-03-19",
"startingTime": "04:00",
"endingDate": "2020-03-19",
"endingTime": "05:00",
"exceptions": [
{
"date": {
"ot": "date:single",
"day": 19,
"year": 2020,
"month": 3
},
"prio": 17,
"events": {
"04:00": "High",
"05:00": null
}
}
],
"presetName": "High"
}
] | ||||||||
/iap/sev/{schedule}/count | ||||||||
Returns the number of schedules that the current user can read. Parameter
Query ParametersThe following optional parameters can be used in addition to those listed in Query Parameters.
Success ResponseCount of schedule that current user is permitted to read. Examplehttps://localhost/iap/sev/*/count
https://localhost/iap/sev/*+name=+^lamp/count
RESPONSE
{
"value": 12
} | ||||||||
POST
| /iap/sev | |||||||
Creates a new schedule with the specified properties. Only a single event can be created at a time. Typically you will create events for the entire day for a datapoint. You can create an all day event at one priority (say priority 16) and add one or more other events at a higher priority (say priority 15). In this way you know what value a datapoint is supposed to be unless someone or another process relinquishes the priority or issues a request with the same or higher priority. Query ParametersThe following optional parameter can be used in addition to those listed in Query Parameters.
Request PayloadThe request payload must contain the ID of the customer owning the schedules to be created and the properties of the schedule to be created. Success ResponseSuccessfully created Schedule. ExamplePOST https://10.0.0.113/iap/sev?customerId=33
REQUEST PAYLOAD
{
"name":"Switch_10AM",
"color":"#70BF41",
"customerId":33,
"priority":"15",
"stagger":0,
"tags":[],
"start":"2022-02-15",
"startingDate":"2022-02-15",
"endingDate":"2022-02-15",
"startingTime":"10:00",
"endingTime":"11:00",
"datapoints":[
"17qam88/lon/3/Switch/0/nviSwitchFb",
"17qam88/lon/3/Switch/1/nviSwitchFb"
],
"datapointTypeRef":"SNVT_switch",
"localizedValue":{
"value":70,
"state":1
},
"value":null,
"repeat":{
"weekday":8
}
}
RESPONSE
{
"id":2631,
"name":"Switch_10AM",
"customerId":33,
"priority":15,
"start":"2022-02-15",
"repeat":{"weekday":8},
"weekly":{
"8":{
"10:00":{
"value":70,
"state":1
},
"11:00":null
}
},
"datapoints":[
"17qam88/lon/3/Switch/0/nviSwitchFb",
"17qam88/lon/3/Switch/1/nviSwitchFb"
],
"tags":[],
"stagger":0,
"color":"#70BF41",
"metadata":{
"repeatOption":"DAILY",
"datapoints":[
{
"deviceName":"MS-01",
"blockName":"Switch",
"blockIndex":1,
"dpQualifier":"17qam88/lon/3/Switch/1/nviSwitchFb",
"datapointName":"nviSwitchFb"
},
{
"deviceName":"MS-01",
"blockName":"Switch",
"blockIndex":0,
"dpQualifier":"17qam88/lon/3/Switch/0/nviSwitchFb",
"datapointName":"nviSwitchFb"
}
],
"targetType":"datapoints",
"startingOffset":{
"isNegative":false
},
"startingOffsetType":"LOCAL_TIME",
"endingOffset":{
"isNegative":false
},
"endingOffsetType":"LOCAL_TIME",
"endDateType":"NONE"
},
"datapointTypeRef":"SNVT_switch",
"startingDate":"2022-02-15",
"startingTime":"10:00",
"endingDate":"2022-02-15",
"endingTime":"11:00",
"exceptions":null,
"value":{
"value":70,
"state":1
},
"localizedValue":{
"value":70,
"state":1
}
} POST https://10.0.0.113/iap/sev?customerId=33
REQUEST PAYLOAD
{
"name":"nviLamp1",
"color":"#EC5D57",
"customerId":33,
"priority":17,
"stagger":0,
"tags":[],
"start":"2022-02-15",
"startingDate":"2022-02-15",
"endingDate":"2022-02-15",
"startingTime":"10:00",
"endingTime":"11:00",
"datapoints":[
"17qam88/lon/3/Lamp/1/nviLamp"
],
"datapointTypeRef":"SNVT_switch",
"localizedValue":{
"value":20,
"state":1
},
"value":null,
"repeat":null,
"end":"2022-02-15"
}POST https://10.0.0.113/iap/sev?customerId=33
REQUEST PAYLOAD
{
"name":"nviLamp0_All_day",
"color":"#B36AE2",
"customerId":33,
"priority":"16",
"stagger":0,
"tags":[],
"start":"2022-02-15",
"startingDate":"2022-02-15",
"startingTime":"00:00",
"endingDate":"2022-02-15",
"metadata":{
"allDay":true
},
"datapoints":[
"17qam88/lon/3/Lamp/0/nviLamp"
],
"datapointTypeRef":"SNVT_switch",
"localizedValue":{
"value":60,
"state":1
},
"value":null,
"repeat":null,
"end":"2022-02-15"
} POST https://10.0.0.113/iap/sev?customerId=33
REQUEST PAYLOAD
{
"name":"Lamp_weekend_9AM_endDate",
"color":"#0365C0",
"customerId":33,
"priority":"12",
"stagger":0,
"tags":[],
"start":"2022-02-16",
"startingDate":"2022-02-16",
"endingDate":"2022-02-16",
"startingTime":"11:00",
"endingTime":"12:00",
"datapoints":[
"17qam88/lon/3/Lamp/0/nviLamp"
],
"datapointTypeRef":"SNVT_switch",
"localizedValue":{
"value":55,
"state":1
},
"value":null,
"repeat":{
"weekday":10
},
"end":"2022-06-30"
} POST https://10.0.0.113/iap/sev?customerId=33
REQUEST PAYLOAD
{
"name":"Thur_ON_0800",
"color":"#70BF41",
"customerId":33,
"priority":17,
"stagger":0,
"tags":[],
"start":"2022-02-15",
"startingDate":"2022-02-15",
"endingDate":"2022-02-15",
"startingTime":"08:00",
"endingTime":"08:30",
"datapoints":[
"17qam88/lon/2/Digital Output/0/nviDO",
"17qam88/modbus/1/DO/0/DO_1"
],
"presetName":"on",
"value":null,
"repeat":{
"weekday":4
}
} POST https://10.0.0.113/iap/sev?customerId=33
REQUEST PAYLOAD
{
"name":"DayTime_Lamp_Off",
"color":"#DCBD23",
"customerId":33,
"priority":"12",
"stagger":0,
"tags":[],
"start":"2022-03-11",
"startingDate":"2022-03-11",
"endingDate":"2022-03-11",
"startingTime":"R00:15",
"endingTime":"00:15S",
"datapoints":[
"17qehie/lon/61/Lamp/0/nviLamp"
],
"datapointTypeRef":"SNVT_switch",
"localizedValue":{
"value":0,"state":0
},
"value":null,
"repeat":{
"weekday":8
}
} Set "start" is Wednesday (2023-05-31) and "end" is Friday (2023-06-02). "startingDate" and "endingDate" should be same as "start".
POST https://10.0.0.113/iap/sev?customerId=53
{
"desc":"One time Wed-Fri",
"timespec":"local",
"prio":16,
"effective":
{
"ot":"date:range",
"start":
{
"ot":"date:single",
"year":2023,
"month":5,
"day":31
},
"end":
{
"ot":"date:single",
"year":2023,
"month":6,
"day":2
}
},
"weekly":
{
"8":
{
"08:00":
{
"value":16,
"state":1
},
"09:00":null
}
},
"dp":
[
"~/dev/lon/4/if/Lamp/0/nviLamp"
],
"stagger":0,
"exceptions":null,
"mru":"2023-05-30 14:37:17.436 UTC"
} | ||||||||
PUT
| /iap/sev/{id} | |||||||
Updates an existing schedule with the specified properties. Parameters
Request PayloadThe request payload must contain the properties to be used to update the schedule. Success ResponseSuccessfully updated schedule. Examplehttps://localhost/iap/sev/1
REQUEST PAYLOAD
{
"customerId": 31,
"tags": [
],
"stagger": 0,
"presetName": "High",
"priority": 17,
"color": "#EEEEEE",
"name": "event2",
"datapoints": [
"1/lon/1/LightSensor/2/nciLowLightAlarm",
"1/lon/1/LightSensor/2/nvoLuxLevel"
],
"startingTime": "20:30",
"endingTime": "22:30",
"start": "2020-03-12",
"end": "2020-03-12",
"startingDate": "2020-03-12",
"endingDate": "2020-03-12"
}
RESPONSE
{
"id": 360,
"name": "event2",
"customerId": 32,
"priority": 17,
"start": "2020-03-12",
"end": "2020-03-12",
"repeat": null,
"weekly": null,
"datapoints": [
"1/lon/1/LightSensor/2/nciLowLightAlarm",
"1/lon/1/LightSensor/2/nvoLuxLevel"
],
"tags": [
],
"stagger": 0,
"color": "#EEEEEE",
"metadata": {
"repeatOption": "NO_REPEAT",
"datapoints": [
{
"deviceName": "device",
"blockName": "LightSensor",
"blockIndex": "2",
"dpQualifier": "1/lon/1/LightSensor/2/nciLowLightAlarm",
"datapointName": "nciLowLightAlarm"
},
{
"deviceName": "device",
"blockName": "LightSensor",
"blockIndex": "2",
"dpQualifier": "1/lon/1/LightSensor/2/nvoLuxLevel",
"datapointName": "nvoLuxLevel"
}
],
"targetType": "datapoints",
"startingOffset": {
"isNegative": false
},
"startingOffsetType": "LOCAL_TIME",
"endingOffset": {
"isNegative": false
},
"endingOffsetType": "LOCAL_TIME",
"endDateType": "DATE"
},
"startingDate": "2020-03-12",
"startingTime": "20:30",
"endingDate": "2020-03-12",
"endingTime": "22:30",
"exceptions": [
{
"date": {
"ot": "date:single",
"year": 2020,
"month": 3,
"day": 12
},
"events": {
"20:30": "High",
"22:30": null
},
"prio": 17
}
],
"presetName": "High"
} | ||||||||
/iap/sev/delete | ||||||||
Deletes the schedules with the specified IDs. If no Ids are specified, deletes all schedules. Request PayloadThe request payload must contain the IDs of the schedules to be deleted. Success ResponseResponse code 200 in case of success or an error code otherwise. Examplehttps://localhost/iap/sev/delete
RESPONSE
Response 200 |