OBIX API documentation version 1
http://cbmsstudio.com/1
CBMS Studio REST API
Welcome to the CBMS Studio REST API Documentation from cbmsstudio.com. The API provides an interface to the AAC-1000, AAC-1030, AAC-PI, AAC-WIN and AAC-LIN products from cbmsstudio.com for communicating to BACnet and Modbus Systems.
The OBIX API provides an easy way to integrate CBMS Studio products into Niagra or any other system that supports OBIX.
The following features of the OBIX Version 1.1 specification are supported
- Reading and Writing of values.
- Subscribing to real time data for returnin COV's using the OBIX Watch.
- Histories for returning time stamped data.
- Alarms for returning time stamped events.
Lobby
The Lobby object serves as the central entry point into the OBIX server, and lists the URIs for objects supported by the API.
Returns the OBIX lobby object.
get /obixj
Returns the OBIX lobby object.
The API's authentication uses BASIC Access Authentication as described in RFC2617 [RFC2617].
Headers
- Authorization: (string)
Basic authentication header
Example:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP status code 200
Returns the OBIX lobby object.
Body
Type: application/json
Example:
{
"obj": {
"name": "obixj",
"display": "Obix Lobby",
"href": "http://localhost:8080/obixj/",
"is": "obix:Lobby",
"ref": [
{
"name": "about",
"display": "About",
"is": "obix:About",
"href": "about/"
},
{
"name": "batch",
"display": "Batch Request",
"href": "batch/",
"in": "obix:BatchIn",
"out": "obix:BatchOut"
},
{
"name": "watchService",
"display": "Obix Watch Service",
"href": "watchService/",
"is": "obix:WatchService"
},
{
"name": "alarms",
"href": "alarms/",
"display": "Alarm Service",
"is": "obix:AlarmSubject"
},
{
"name": "histories",
"href": "histories/",
"display": "History Service"
},
{
"name": "app",
"display": "app",
"href": "app/",
"is": "/obix/def/sedona/sys:App /obix/def/sedona/sys:Component"
},
{
"name": "kits",
"display": "Obix Kits",
"href": "kits/",
"is": "obix:Kits"
} ]
}
}
Secured by basic
Application
The real time data from the Sedona application can be accessed from using methods for reading and writing to the components. Each component is identified by a path which is used in the uri to specifiy the component to access and has 1 or more slots which contain the data to read/write to. Some components contain actions which can be called from the API.
Returns the Sedona component slots, actions and children.
get /obixj/{path}
Returns the Sedona component slots, actions and children.
The API's authentication uses BASIC Access Authentication as described in RFC2617 [RFC2617].
URI Parameters
- path: required (string - minLength: 1 - maxLength: 64)
component path
Headers
- Authorization: (string)
Basic authentication header
Example:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP status code 200
Returns a Sedona Component, Slot or Action object.
Body
Type: application/json
Example:
{
"obj": {
"name": "demo",
"display": "demo",
"href": "http://localhost:8080/obixj/app/drivers/demo/",
"is": "/obix/def/sedona/sys:Folder /obix/def/sedona/sys:Component",
"ref": [
{
"name": "Random",
"display": "Random",
"href": "Random/",
"is": "/obix/def/sedona/cbmsUtil:Random /obix/def/sedona/cbmsControl:NumericPoint /obix/def/sedona/cbmsControl:Point /obix/def/sedona/sys:TimerComponent /obix/def/sedona/sys:Component"
},
{
"name": "bi",
"display": "bi",
"href": "bi/",
"is": "/obix/def/sedona/cbmsControl:BooleanConst /obix/def/sedona/cbmsControl:BooleanPoint /obix/def/sedona/cbmsControl:Point /obix/def/sedona/sys:TimerComponent /obix/def/sedona/sys:Component"
},
{
"name": "bo",
"display": "bo",
"href": "bo/",
"is": "/obix/def/sedona/cbmsControl:BooleanWritable /obix/def/sedona/cbmsControl:BooleanPoint /obix/def/sedona/cbmsControl:Point /obix/def/sedona/sys:TimerComponent /obix/def/sedona/sys:Component"
} ],
"int": [
{
"name": "meta",
"display": "meta",
"href": "meta/",
"is": "/obix/def/sedona/control:StatusNumeric",
"writable": "true",
"val": "1"
} ]
}
}
Secured by basic
A Component slot is where real time values are stored inside the application. Each slot within a component has a unique name and it can be written to if it is defined as writable.
The value is returned as a JSON object in the following format.
{
"<type>": {
"name": "slotName",
"display": "slotName",
"href": "http://SERVER_NAME/obixj/path/slotName/",
"is": "typeName",
"writable": "true",
"val": "50"
}
}
Where the
- bool: boolean value
- byte: unsigned 8-bit integer (as field or array only)
- short: unsigned 16-bit integer (as field or array only)
- int: signed 32-bit integer
- long: signed 64-bit integer
- real: 32-bit floating point
- double: 64-bit floating point
- str: string of ASCII characters terminated by 0 (like C string)
Reads the value of a component's slot.
Writes a value to a component's slot.
get /obixj/{path}/{slot}
Reads the value of a component's slot.
The API's authentication uses BASIC Access Authentication as described in RFC2617 [RFC2617].
URI Parameters
- path: required (string - minLength: 1 - maxLength: 64)
component path
- slot: required (string - minLength: 1 - maxLength: 64)
component slot name
Headers
- Authorization: (string)
Basic authentication header
Example:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP status code 200
Returns the value of the slot. Slots are used to hold values within a component
Body
Type: application/json
Example:
{
"int": {
"name": "scanPeriod",
"display": "scanPeriod",
"href": "http://localhost:8080/obixj/app/scanPeriod/",
"is": "/obix/def/sedona/control:StatusNumeric",
"writable": "true",
"val": "50"
}
}
Secured by basic
put /obixj/{path}/{slot}
Writes a value to a component's slot.
The API's authentication uses BASIC Access Authentication as described in RFC2617 [RFC2617].
URI Parameters
- path: required (string - minLength: 1 - maxLength: 64)
component path
- slot: required (string - minLength: 1 - maxLength: 64)
component slot name
Headers
- Authorization: (string)
Basic authentication header
Example:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Body
Type: application/json
Example:
{
"int": {
"name": "scanPeriod",
"writable": "true",
"val": "50"
}
}
HTTP status code 200
Returns the value of the slot. Slots are used to hold values within a component
Body
Type: application/json
Example:
{
"int": {
"name": "scanPeriod",
"display": "scanPeriod",
"href": "http://localhost:8080/obixj/app/scanPeriod/",
"is": "/obix/def/sedona/control:StatusNumeric",
"writable": "true",
"val": "50"
}
}
Secured by basic
A Component action slot is used to invoke a method within the application. For example "save" and "restart" are actions of the "app" component. Some actions require a value to be send in the body of the action.
Returns the component's action.
Calls a component's slot action.
get /obixj/{path}/{action}
Returns the component's action.
The API's authentication uses BASIC Access Authentication as described in RFC2617 [RFC2617].
URI Parameters
- path: required (string - minLength: 1 - maxLength: 64)
component path
- action: required (string - minLength: 1 - maxLength: 64)
component action name
Headers
- Authorization: (string)
Basic authentication header
Example:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP status code 200
Returns the action definition.
Body
Type: application/json
Example:
{
"op": {
"name": "save",
"display": "save",
"href": "http://localhost:8080/obixj/app/save/",
"is": "/obix/def/sedona/control:StatusString",
"in": "obix:Nil",
"out": "obix:Nil"
}
}
Secured by basic
post /obixj/{path}/{action}
Calls a component's slot action.
The API's authentication uses BASIC Access Authentication as described in RFC2617 [RFC2617].
URI Parameters
- path: required (string - minLength: 1 - maxLength: 64)
component path
- action: required (string - minLength: 1 - maxLength: 64)
component action name
Headers
- Authorization: (string)
Basic authentication header
Example:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Body
Type: application/json
Example:
{
"obj": {
"val": "null"
}
}
Secured by basic
Histories
Sedona Histories are stored within a database on the device. The history methods can be used to return time stamped data.
Returns a list of history databases with the application.
get /obixj/histories
Returns a list of history databases with the application.
The API's authentication uses BASIC Access Authentication as described in RFC2617 [RFC2617].
Headers
- Authorization: (string)
Basic authentication header
Example:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP status code 200
Returns the history databases
Body
Type: application/json
Example:
{
"obj": {
"name": "histories",
"href": "http://localhost:8080/obixj/histories/",
"display": "History Service",
"ref": [
{
"name": "db1",
"href": "db1/",
"display": "Obix History Database"
} ]
}
}
Secured by basic
Returns a list of histories with the database.
get /obixj/histories/{db}
Returns a list of histories with the database.
The API's authentication uses BASIC Access Authentication as described in RFC2617 [RFC2617].
URI Parameters
- db: required (string - minLength: 1 - maxLength: 64)
name of the database component
Headers
- Authorization: (string)
Basic authentication header
Example:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP status code 200
Returns the history databases
Body
Type: application/json
Example:
{
"obj": {
"name": "db1",
"href": "http://localhost:8080/obixj/histories/db1/",
"display": "Obix History Database",
"ref": [
{
"name": "cbms_drivers_demo_Random",
"display": "/drivers/demo/Random",
"href": "Random/",
"is": "obix:History"
} ]
}
}
Secured by basic
Returns a list of histories with the database.
get /obixj/histories/{db}/{history}
Returns a list of histories with the database.
The API's authentication uses BASIC Access Authentication as described in RFC2617 [RFC2617].
URI Parameters
- db: required (string - minLength: 1 - maxLength: 64)
name of the database component
- history: required (string - minLength: 1 - maxLength: 64)
name of the history component
Headers
- Authorization: (string)
Basic authentication header
Example:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP status code 200
Returns the history databases
Body
Type: application/json
Example:
{
"obj": {
"name": "cbms_drivers_demo_Random",
"display": "/drivers/demo/Random",
"href": "http://localhost:8080/obixj/histories/db1/Random/",
"is": "obix:History",
"int": [
{
"name": "count",
"val": "5"
} ],
"abstime": [
{
"name": "start",
"val": "2016-08-17T11:25:00.000+07:00",
"tz": "Asia/Bangkok"
},
{
"name": "end",
"val": "2016-08-17T11:45:00.000+07:00",
"tz": "Asia/Bangkok"
} ],
"op": [
{
"name": "query",
"href": "~historyQuery/",
"in": "obix:HistoryFilter",
"out": "obix:HistoryQueryOut"
} ],
"ref": [
{
"name": "unboundedQuery",
"href": "~historyQuery?limit=5"
},
{
"name": "today",
"href": "~historyQuery?start=2016-08-17T00:00:00.000+07:00&end=2016-08-17T11:45:00.000+07:00&limit=5"
},
{
"name": "last24Hours",
"href": "~historyQuery?start=2016-08-16T11:25:00.000+07:00&end=2016-08-17T11:45:00.000+07:00&limit=5"
},
{
"name": "yesterday",
"href": "~historyQuery?start=2016-08-16T00:00:00.000+07:00&end=2016-08-16T23:59:59.000+07:00&limit=5"
} ]
}
}
Secured by basic
Returns a list of values for that fall with the requested query parameters.
get /obixj/histories/{db}/{history}/~historyQuery
Returns a list of values for that fall with the requested query parameters.
The API's authentication uses BASIC Access Authentication as described in RFC2617 [RFC2617].
URI Parameters
- db: required (string - minLength: 1 - maxLength: 64)
name of the database component
- history: required (string - minLength: 1 - maxLength: 64)
name of the history component
Headers
- Authorization: (string)
Basic authentication header
Example:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Query Parameters
- start: required (string)
the start date time expressed in local time.
- end: required (string)
the end date time expressed in local time.
- limit: required (string)
the maximum number of records to return.
HTTP status code 200
Returns the history databases
Body
Type: application/json
Example:
{
"obj": {
"name": "yesterday",
"href": "http://localhost:8080/obixj/histories/db1/Random/~historyQuery/",
"is": "obix:HistoryQueryOut",
"in": "obix:HistoryFilter",
"out": "obix:HistoryQueryOut",
"list": [
{
"name": "data",
"of": "#RecordDef obix:HistoryRecord",
"obj": [
{
"abstime": [
{
"name": "timestamp",
"val": "2016-08-17T11:25:00.000+07:00",
"tz": "Asia/Bangkok"
} ],
"real": [
{
"name": "value",
"val": "470.999512"
} ]
},
{
"abstime": [
{
"name": "timestamp",
"val": "2016-08-17T11:30:00.000+07:00",
"tz": "Asia/Bangkok"
} ],
"real": [
{
"name": "value",
"val": "620.274719"
} ]
} ]
} ],
"int": [
{
"name": "count",
"val": "2"
} ],
"abstime": [
{
"name": "start",
"val": "2016-08-17T11:25:00.000+07:00",
"tz": "Asia/Bangkok"
},
{
"name": "end",
"val": "2016-08-17T11:30:00.000+07:00",
"tz": "Asia/Bangkok"
} ],
"obj": [
{
"is": "obix:HistoryRecord",
"href": "#RecordDef",
"abstime": [
{
"name": "timestamp",
"tz": "Asia/Bangkok"
} ],
"real": [
{
"name": "value"
} ]
} ]
}
}
Secured by basic
Alarms
Sedona Alarms are stored within a database on the device. The alarm methods can be used to return the alarms. The Alarm feed object is used inconjuction with the OBIX watch to return new alarms as they occur.
Returns a list of alarm databases.
get /obixj/alarms
Returns a list of alarm databases.
The API's authentication uses BASIC Access Authentication as described in RFC2617 [RFC2617].
Headers
- Authorization: (string)
Basic authentication header
Example:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP status code 200
Returns a list of alarm databases.
Body
Type: application/json
Example:
{
"obj": {
"name": "alarms",
"href": "http://localhost:8080/obixj/alarms/",
"display": "Alarm Service",
"is": "obix:AlarmSubject",
"ref": [
{
"name": "active",
"display": "Obix Alarm active",
"href": "active/",
"is": "obix:AlarmSubject"
},
{
"name": "feed",
"href": "~alarmFeed/",
"of": "obix:Alarm",
"in": "obix:AlarmFilter"
} ]
}
}
Secured by basic
Returns a list of alarm databases.
get /obixj/alarms/{db}
Returns a list of alarm databases.
The API's authentication uses BASIC Access Authentication as described in RFC2617 [RFC2617].
URI Parameters
- db: required (string - minLength: 1 - maxLength: 64)
name of the database component
Headers
- Authorization: (string)
Basic authentication header
Example:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP status code 200
Returns the alarm database.
Body
Type: application/json
Example:
{
"obj": {
"name": "active",
"display": "Obix Alarm active",
"href": "http://localhost:8080/obixj/alarms/active/",
"is": "obix:AlarmSubject",
"int": [
{
"name": "count",
"val": "1"
} ],
"op": [
{
"name": "query",
"href": "~alarmQuery/",
"in": "obix:AlarmFilter",
"out": "obix:AlarmQueryOut"
} ],
"ref": [
{
"name": "unboundedQuery",
"href": "~alarmQuery?limit=1"
} ]
}
}
Secured by basic
Returns a list of active alarms that fall with the requested query parameters.
get /obixj/alarms/{db}/~alarmQuery
Returns a list of active alarms that fall with the requested query parameters.
The API's authentication uses BASIC Access Authentication as described in RFC2617 [RFC2617].
URI Parameters
- db: required (string - minLength: 1 - maxLength: 64)
name of the database component
Headers
- Authorization: (string)
Basic authentication header
Example:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Query Parameters
- limit: required (string)
the maximum number of records to return.
HTTP status code 200
Returns a list of alarms
Body
Type: application/json
Example:
{
"obj": {
"name": "db",
"href": "http://localhost:8080/obixj/alarms/db/~alarmQuery/",
"is": "obix:AlarmQueryOut",
"in": "obix:AlarmFilter",
"out": "obix:AlarmQueryOut",
"int": [
{
"name": "count",
"val": "1"
} ],
"abstime": [
{
"name": "start",
"val": "2000-01-01T07:00:00.000+07:00",
"tz": "Asia/Bangkok"
},
{
"name": "end",
"val": "2016-08-19T15:27:44.000+07:00",
"tz": "Asia/Bangkok"
} ],
"list": [
{
"name": "data",
"of": "obix:Alarm",
"obj": [
{
"name": "alarm",
"is": "obix:Alarm obix:AckAlarm obix:PointAlarm obix:StatefulAlarm",
"href": "/obixj/alarms/drivers/demo/bi/",
"ref": [
{
"name": "source",
"href": "obixj/app/drivers/demo/bi/out/"
} ],
"str": [
{
"name": "ackUser",
"null": "true" null="true"
} ],
"op": [
{
"name": "ack",
"in": "obix:AckAlarmIn",
"out": "obix:AckAlarmOut",
"href": "obixj/alarms/~ackAlarm/drivers/demo/bi/"
} ],
"abstime": [
{
"name": "timestamp",
"val": "2016-08-19T08:27:09.000+00:00",
"tz": "Asia/Bangkok"
},
{
"name": "normalTimestamp",
"null": "true" null="true",
"tz": "Asia/Bangkok"
},
{
"name": "ackTimestamp",
"null": "true" null="true",
"tz": "Asia/Bangkok"
} ],
"str": [
{
"name": "msgText",
"val": "Alarm"
},
{
"name": "fromState",
"val": "normal"
},
{
"name": "toState",
"val": "offnormal"
} ],
"bool": [
{
"name": "alarmValue",
"val": "true"
} ]
} ]
} ]
}
}
Secured by basic
The alarm feed is used in conjuction with the watch to subscribe for alarms. To subscribe for alarms, post an add request to the API with the following body.
POST http://localhost:8080/obixj/watchService/watch0/add
BODY
{
"obj": {
"list": {
"uri": [
{ "val": "/obixj/alarms/~alarmFeed/" }
]
}
}
}
RESULTS BODY
{
"obj": {
"is": "obix:WatchOut",
"list": [
{
"name": "values",
"of": "obix:obj",
"feed": [
{
"name": "feed",
"href": "/obixj/alarms/~alarmFeed/",
"of": "obix:Alarm",
"in": "obix:AlarmFilter"
} ]
} ]
}
}
After adding the feed to the watch, call pollChanges to receive any new alarms as they occur.
Returns the alarm feed object. Used inconjuction with watch to return alarms.
get /obixj/alarms/~alarmFeed
Returns the alarm feed object. Used inconjuction with watch to return alarms.
The API's authentication uses BASIC Access Authentication as described in RFC2617 [RFC2617].
Headers
- Authorization: (string)
Basic authentication header
Example:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP status code 200
Returns the alarm feed object.
Body
Type: application/json
Example:
{
"feed": {
"name": "feed",
"href": "http://localhost:8080/obixj/alarms/~alarmFeed/",
"of": "obix:Alarm",
"in": "obix:AlarmFilter"
}
}
Secured by basic
Watch
The OBIX Watch is used to return COV's and Alarm from the application. The following methods are required to be called to receive COV's from the OBIX watch.
- Call make to create a new watch.
- Add the alarm feed to the watch.
- Add a component slot to the watch for every variable to be monitored.
- Periodically call pollChanges to receive an event when the point changes value or a new alarm occurs.
The watch will be removed 10 seconds (adjustable) after the last pollChanges request was made.
Returns a list of OBIX watch objects.
get /obixj/watchService
Returns a list of OBIX watch objects.
The API's authentication uses BASIC Access Authentication as described in RFC2617 [RFC2617].
Headers
- Authorization: (string)
Basic authentication header
Example:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP status code 200
Returns a list of alarm databases.
Body
Type: application/json
Example:
{
"obj": {
"name": "watchService",
"display": "Obix Watch Service",
"href": "http://localhost:8080/obixj/watchService/",
"is": "obix:WatchService",
"op": [
{
"name": "make",
"href": "make/",
"in": "obix:Nil",
"out": "obix:WatchOut",
"display": "make"
} ]
}
}
Secured by basic
Returns the make object.
Makes a new OBIX watch.
get /obixj/watchService/make
Returns the make object.
The API's authentication uses BASIC Access Authentication as described in RFC2617 [RFC2617].
Headers
- Authorization: (string)
Returns the make operation
Example:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP status code 200
Returns the alarm feed object.
Body
Type: application/json
Example:
{
"op": {
"name": "make",
"href": "http://localhost:8080/obixj/watchService/make/",
"in": "obix:Nil",
"out": "obix:WatchOut",
"display": "make"
}
}
Secured by basic
post /obixj/watchService/make
Makes a new OBIX watch.
The API's authentication uses BASIC Access Authentication as described in RFC2617 [RFC2617].
Headers
- Authorization: (string)
Returns a new OBIX watch
Example:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP status code 200
Returns the obext watch object.
Body
Type: application/json
Example:
{
"obj": {
"name": "watch1",
"display": "Watch",
"href": "http://localhost:8080/obixj/watchService/watch1/",
"is": "obix:Watch",
"reltime": [
{
"name": "lease",
"val": "PT10S",
"display": "lease",
"href": "lease/"
} ],
"op": [
{
"name": "add",
"display": "add",
"href": "add/",
"in": "obix:WatchIn",
"out": "obix:WatchOut"
},
{
"name": "remove",
"display": "remove",
"href": "remove/",
"in": "obix:WatchIn",
"out": "obix:Nil"
},
{
"name": "pollChanges",
"display": "pollChanges",
"href": "pollChanges/",
"in": "obix:Nil",
"out": "obix:WatchOut"
},
{
"name": "pollRefresh",
"display": "pollRefresh",
"href": "pollRefresh/",
"in": "obix:Nil",
"out": "obix:WatchOut"
},
{
"name": "delete",
"display": "delete",
"href": "delete/",
"in": "obix:Nil",
"out": "obix:Nil"
} ]
}
}
Secured by basic
Returns the watch object
get /obixj/watchService/{watch}
Returns the watch object
The API's authentication uses BASIC Access Authentication as described in RFC2617 [RFC2617].
URI Parameters
- watch: required (string - minLength: 1 - maxLength: 64)
name of the OBIX watch
Headers
- Authorization: (string)
Returns the make operation
Example:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP status code 200
Returns the alarm feed object.
Body
Type: application/json
Example:
{
"obj": {
"name": "watch1",
"display": "Watch",
"href": "http://localhost:8080/obixj/watchService/watch1/",
"is": "obix:Watch",
"reltime": [
{
"name": "lease",
"val": "PT10S",
"display": "lease",
"href": "lease/"
} ],
"op": [
{
"name": "add",
"display": "add",
"href": "add/",
"in": "obix:WatchIn",
"out": "obix:WatchOut"
},
{
"name": "remove",
"display": "remove",
"href": "remove/",
"in": "obix:WatchIn",
"out": "obix:Nil"
},
{
"name": "pollChanges",
"display": "pollChanges",
"href": "pollChanges/",
"in": "obix:Nil",
"out": "obix:WatchOut"
},
{
"name": "pollRefresh",
"display": "pollRefresh",
"href": "pollRefresh/",
"in": "obix:Nil",
"out": "obix:WatchOut"
},
{
"name": "delete",
"display": "delete",
"href": "delete/",
"in": "obix:Nil",
"out": "obix:Nil"
} ]
}
}
Secured by basic
Real time values stored in component slots can be subscribed to by adding the slot path to the watch. Alarms can also be subscribed by adding the path to the alarmsFeed to the watch.
Returns the add object.
Adds an item to the watch.
get /obixj/watchService/{watch}/add
Returns the add object.
The API's authentication uses BASIC Access Authentication as described in RFC2617 [RFC2617].
URI Parameters
- watch: required (string - minLength: 1 - maxLength: 64)
name of the OBIX watch
Headers
- Authorization: (string)
Basic authentication header
Example:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP status code 200
Returns the add object.
Body
Type: application/json
Example:
{
"op": {
"name": "add",
"display": "add",
"href": "http://localhost:8080/obixj/watchService/watch1/add/",
"in": "obix:WatchIn",
"out": "obix:WatchOut"
}
}
Secured by basic
post /obixj/watchService/{watch}/add
Adds an item to the watch.
The API's authentication uses BASIC Access Authentication as described in RFC2617 [RFC2617].
URI Parameters
- watch: required (string - minLength: 1 - maxLength: 64)
name of the OBIX watch
Headers
- Authorization: (string)
Basic authentication header
Example:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Body
Type: application/json
Example:
{
"obj": {
"list": {
"uri": [
{ "val": "/obixj/app/scanPeriod" },
{ "val": "/obixj/app/scanPeriodActual" }
]
}
}
}
HTTP status code 200
Returns the added list of values.
Body
Type: application/json
Example:
{
"obj": {
"is": "obix:WatchOut",
"list": [
{
"name": "values",
"of": "obix:obj",
"int": [
{
"name": "scanPeriod",
"display": "scanPeriod",
"href": "/obixj/app/scanPeriod/",
"is": "/obix/def/sedona/control:StatusNumeric",
"writable": "true",
"val": "50"
},
{
"name": "scanPeriodActual",
"display": "scanPeriodActual",
"href": "/obixj/app/scanPeriodActual/",
"is": "/obix/def/sedona/control:StatusNumeric",
"val": "50"
} ]
} ]
}
}
Secured by basic
Returns the remove object.
Removes an item from the watch.
get /obixj/watchService/{watch}/remove
Returns the remove object.
The API's authentication uses BASIC Access Authentication as described in RFC2617 [RFC2617].
URI Parameters
- watch: required (string - minLength: 1 - maxLength: 64)
name of the OBIX watch
Headers
- Authorization: (string)
Basic authentication header
Example:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP status code 200
Returns the remove object.
Body
Type: application/json
Example:
{
"nill": {
"val": "false"
}
}
Secured by basic
post /obixj/watchService/{watch}/remove
Removes an item from the watch.
The API's authentication uses BASIC Access Authentication as described in RFC2617 [RFC2617].
URI Parameters
- watch: required (string - minLength: 1 - maxLength: 64)
name of the OBIX watch
Headers
- Authorization: (string)
Basic authentication header
Example:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Body
Type: application/json
Example:
{
"obj": {
"list": {
"uri": [
{ "val": "/obixj/app/scanPeriod" },
{ "val": "/obixj/app/scanPeriodActual" }
]
}
}
}
HTTP status code 200
Returns the add object.
Body
Type: application/json
Example:
{
"obj": {
"null": "true"
}
}
Secured by basic
Calling the pollChanges method will return any values that have change since the last pollChanges was called. If the alarm feed has been added then any alarm generated after the last pollChanges was called will be returned.
Returns the pollChanges object.
Polls the watch for any changed items..
get /obixj/watchService/{watch}/pollChanges
Returns the pollChanges object.
The API's authentication uses BASIC Access Authentication as described in RFC2617 [RFC2617].
URI Parameters
- watch: required (string - minLength: 1 - maxLength: 64)
name of the OBIX watch
Headers
- Authorization: (string)
Basic authentication header
Example:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP status code 200
Returns the pollChanges object.
Body
Type: application/json
Example:
{
"op": {
"name": "pollChanges",
"display": "pollChanges",
"href": "http://localhost:8080/obixj/watchService/watch1/pollChanges/",
"in": "obix:Nil",
"out": "obix:WatchOut"
}
}
Secured by basic
post /obixj/watchService/{watch}/pollChanges
Polls the watch for any changed items..
The API's authentication uses BASIC Access Authentication as described in RFC2617 [RFC2617].
URI Parameters
- watch: required (string - minLength: 1 - maxLength: 64)
name of the OBIX watch
Headers
- Authorization: (string)
Basic authentication header
Example:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP status code 200
Returns the list of changed items.
Body
Type: application/json
Example:
{
"obj": {
"is": "obix:WatchOut",
"list": [
{
"name": "values",
"of": "obix:obj",
"int": [
{
"name": "scanPeriod",
"display": "scanPeriod",
"href": "/obixj/app/scanPeriod/",
"is": "/obix/def/sedona/control:StatusNumeric",
"writable": "true",
"val": "50"
},
{
"name": "scanPeriodActual",
"display": "scanPeriodActual",
"href": "/obixj/app/scanPeriodActual/",
"is": "/obix/def/sedona/control:StatusNumeric",
"val": "50"
} ]
} ]
}
}
Secured by basic
Returns the pollRefresh object.
Returns a null object.
get /obixj/watchService/{watch}/pollRefresh
Returns the pollRefresh object.
The API's authentication uses BASIC Access Authentication as described in RFC2617 [RFC2617].
URI Parameters
- watch: required (string - minLength: 1 - maxLength: 64)
name of the OBIX watch
Headers
- Authorization: (string)
Basic authentication header
Example:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP status code 200
Returns the pollRefresh object.
Body
Type: application/json
Example:
{
"op": {
"name": "pollRefresh",
"display": "pollRefresh",
"href": "http://localhost:8080/obixj/watchService/watch1/pollRefresh/",
"in": "obix:Nil",
"out": "obix:WatchOut"
}
}
Secured by basic
post /obixj/watchService/{watch}/pollRefresh
Returns a null object.
The API's authentication uses BASIC Access Authentication as described in RFC2617 [RFC2617].
URI Parameters
- watch: required (string - minLength: 1 - maxLength: 64)
name of the OBIX watch
Headers
- Authorization: (string)
Basic authentication header
Example:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP status code 200
Returns the current value of all items in the watch.
Body
Type: application/json
Example:
{
"obj": {
"is": "obix:WatchOut",
"list": [
{
"name": "values",
"of": "obix:obj",
"int": [
{
"name": "scanPeriod",
"display": "scanPeriod",
"href": "/obixj/app/scanPeriod/",
"is": "/obix/def/sedona/control:StatusNumeric",
"writable": "true",
"val": "50"
},
{
"name": "scanPeriodActual",
"display": "scanPeriodActual",
"href": "/obixj/app/scanPeriodActual/",
"is": "/obix/def/sedona/control:StatusNumeric",
"val": "50"
} ]
} ]
}
}
Secured by basic
Returns the delete object.
Deletes the watch.
get /obixj/watchService/{watch}/delete
Returns the delete object.
The API's authentication uses BASIC Access Authentication as described in RFC2617 [RFC2617].
URI Parameters
- watch: required (string - minLength: 1 - maxLength: 64)
name of the OBIX watch
Headers
- Authorization: (string)
Basic authentication header
Example:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP status code 200
Returns the delete object.
Body
Type: application/json
Example:
{
"op": {
"name": "delete",
"display": "delete",
"href": "http://localhost:8080/obixj/watchService/watch1/delete/",
"in": "obix:Nil",
"out": "obix:Nil"
}
}
Secured by basic
post /obixj/watchService/{watch}/delete
Deletes the watch.
The API's authentication uses BASIC Access Authentication as described in RFC2617 [RFC2617].
URI Parameters
- watch: required (string - minLength: 1 - maxLength: 64)
name of the OBIX watch
Headers
- Authorization: (string)
Basic authentication header
Example:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP status code 200
Returns a null object.
Body
Type: application/json
Example:
{
"obj": {
"null": "true"
}
}
Secured by basic
Returns the lease time as a reltime object. The default value is 10 seconds, the watch will be removed 10 seconds after the last pollChanges request is made
Sets the lease time for the object watch.
get /obixj/watchService/{watch}/lease
Returns the lease time as a reltime object. The default value is 10 seconds, the watch will be removed 10 seconds after the last pollChanges request is made
The API's authentication uses BASIC Access Authentication as described in RFC2617 [RFC2617].
URI Parameters
- watch: required (string - minLength: 1 - maxLength: 64)
name of the OBIX watch
Headers
- Authorization: (string)
Basic authentication header
Example:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP status code 200
Returns the reltime.
Body
Type: application/json
Example:
{
"reltime": {
"name": "lease",
"val": "PT10S",
"display": "lease",
"href": "http://localhost:8080/obixj/watchService/watch1/lease/"
}
}
Secured by basic
put /obixj/watchService/{watch}/lease
Sets the lease time for the object watch.
The API's authentication uses BASIC Access Authentication as described in RFC2617 [RFC2617].
URI Parameters
- watch: required (string - minLength: 1 - maxLength: 64)
name of the OBIX watch
Headers
- Authorization: (string)
Basic authentication header
Example:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Body
Type: application/json
Example:
{
"reltime": {
"name": "lease",
"val": "PT30S"
}
}
HTTP status code 200
Returns a reltime object.
Body
Type: application/json
Example:
{
"reltime": {
"name": "lease",
"val": "PT30S",
"display": "lease",
"href": "http://localhost:8080/obixj/watchService/watch1/lease/"
}
}