Download OpenAPI specification:Download
An application wraps a number of hooks and other resources which run within the same runtime environment.
Each application shares a number of pieces: Runtime: there is a single runtime for an application Hook: an application can have multiple hooks with different definitions and run modes. Files: the application directory can have files with code or arbitary data. Git URL: applications may be backed by a git repository Options: an application may define options to allow the user to configure settings without needing to edit the application code.
name | string |
pageSize | string |
pageCount | string |
{- "applications": [
- {
- "auth": {
- "anonymous": true,
- "apiKey": {
- "clientId": "string",
- "clientSecret": "string",
- "scopes": [
- "string"
]
}
}, - "compatibilityDate": "string",
- "description": "string",
- "files": [
- {
- "hash": "string",
- "mtime": "2019-08-24T14:15:22Z",
- "path": "string",
- "size": "string"
}
], - "gitUrl": "string",
- "hooks": [
- {
- "commandExpiration": {
- "nanos": 0,
- "seconds": "string"
}, - "entryPoint": "string",
- "error": {
- "message": "string",
- "stack": [
- "string"
]
}, - "id": "string",
- "invokeTimeout": {
- "nanos": 0,
- "seconds": "string"
}, - "lastRun": {
- "args": {
- "property1": "string",
- "property2": "string"
}, - "endTime": "2019-08-24T14:15:22Z",
- "error": {
- "message": "string",
- "stack": [
- "string"
]
}, - "hookId": "string",
- "message": "string",
- "pid": "string",
- "results": {
- "property1": {
- "endTime": "2019-08-24T14:15:22Z",
- "error": {
- "message": "string",
- "stack": [
- null
]
}, - "events": [
- {
- "data": null,
- "message": null,
- "ts": null
}
], - "invocationCount": "string",
- "returnData": {
- "@type": "string"
}, - "returnValue": "string",
- "state": 0
}, - "property2": {
- "endTime": "2019-08-24T14:15:22Z",
- "error": {
- "message": "string",
- "stack": [
- null
]
}, - "events": [
- {
- "data": null,
- "message": null,
- "ts": null
}
], - "invocationCount": "string",
- "returnData": {
- "@type": "string"
}, - "returnValue": "string",
- "state": 0
}
}, - "startTime": "2019-08-24T14:15:22Z",
- "state": 0,
- "trigger": 0,
- "version": "string"
}, - "mode": 0,
- "name": "string",
- "optionalLabels": [
- {
- "description": "string",
- "label": "string"
}
], - "points": {
- "annotations": [
- {
- "fieldName": "string",
- "layer": "string",
- "path": [
- {
- "sourceProperty": null,
- "targetProperty": null,
- "valueProperty": null
}
]
}
], - "globalVariables": [
- {
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "defaultValue": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": null
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}, - "label": "string",
- "uuid": "string",
- "value": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": null
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}
}
], - "groupFunction": "string",
- "groupVariables": [
- {
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "defaultValue": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": null
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}, - "label": "string",
- "uuid": "string",
- "value": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": null
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}
}
], - "groups": {
- "keys": [
- "string"
]
}, - "labelAttribute": "string",
- "layer": "string",
- "query": {
- "and": [
- { }
], - "field": {
- "layer": "string",
- "numeric": {
- "maxInfinity": true,
- "maxValue": 0,
- "minInfinity": true,
- "minValue": 0
}, - "property": "string",
- "text": "string",
- "wildcard": true
}, - "not": { },
- "or": [
- { }
], - "reference": {
- "property": "string",
- "query": { },
- "targetProperty": "string"
}
}
}, - "requiredClasses": [
- "string"
], - "requiredLabels": [
- {
- "description": "string",
- "label": "string"
}
], - "runtimeConfig": {
- "cpuLimit": 0,
- "lifetime": {
- "nanos": 0,
- "seconds": "string"
}, - "maxInstances": 0,
- "maxRequestsPerLifetime": 0,
- "memoryLimit": 0,
- "minInstances": 0
}, - "schedule": {
- "rrule": "string"
}, - "status": 0
}
], - "id": "string",
- "layer": {
- "componentOptions": [
- "string"
], - "componentTypes": [
- 0
], - "components": [
- "string"
], - "configuration": {
- "@type": "string"
}, - "defaultDisplayAttrs": [
- "string"
], - "defaultGroupingAttrs": [
- "string"
], - "description": "string",
- "driver": {
- "grpcService": "string",
- "hook": {
- "applicationId": "string",
- "readHookId": "string",
- "writeHookId": "string"
}, - "polled": true,
- "url": {
- "read": "string",
- "write": "string"
}
}, - "indexed": true,
- "kind": 0,
- "name": "string",
- "pointCount": "string",
- "structuredComponents": [
- {
- "name": "string",
- "options": [
- "string"
], - "type": 0
}
], - "suggestedExtractionAttrs": [
- "string"
], - "updateAttrMask": [
- "string"
]
}, - "minNfVersion": "string",
- "name": "string",
- "options": [
- {
- "choices": [
- {
- "boolean": true,
- "bytes": "string",
- "duration": {
- "nanos": 0,
- "seconds": "string"
}, - "real": 0,
- "signed": 0,
- "string": "string"
}
], - "defaultValue": {
- "boolean": true,
- "bytes": "string",
- "duration": {
- "nanos": 0,
- "seconds": "string"
}, - "real": 0,
- "signed": 0,
- "string": "string"
}, - "description": "string",
- "name": "string",
- "optionType": 0,
- "required": true,
- "secret": true,
- "validators": [
- {
- "durationValidator": {
- "maxValue": {
- "nanos": 0,
- "seconds": "string"
}, - "minValue": {
- "nanos": 0,
- "seconds": "string"
}
}, - "realValidator": {
- "maxValue": 0,
- "minValue": 0
}, - "signedValidator": {
- "maxValue": 0,
- "minValue": 0
}, - "stringValidator": {
- "regexp": "string"
}
}
], - "value": {
- "boolean": true,
- "bytes": "string",
- "duration": {
- "nanos": 0,
- "seconds": "string"
}, - "real": 0,
- "signed": 0,
- "string": "string"
}
}
], - "runtime": 0,
- "status": 0
}
], - "totalCount": "string"
}
Create a new application, which is a container for hooks.
If GitUrl
is set, this will clone the git repository and call
UpdateDependencies
on the result.
object (ApplicationAuth) | |
compatibilityDate | string |
description | string |
gitUrl | string |
id | string |
object (Layer) | |
minNfVersion | string |
name | string human name for the application |
Array of objects (ConfigurationOption) | |
runtime | integer <enum> |
{- "auth": {
- "anonymous": true,
- "apiKey": {
- "clientId": "string",
- "clientSecret": "string",
- "scopes": [
- "string"
]
}
}, - "compatibilityDate": "string",
- "description": "string",
- "gitUrl": "string",
- "id": "string",
- "layer": {
- "componentOptions": [
- "string"
], - "componentTypes": [
- 0
], - "components": [
- "string"
], - "configuration": {
- "@type": "string"
}, - "defaultDisplayAttrs": [
- "string"
], - "defaultGroupingAttrs": [
- "string"
], - "description": "string",
- "driver": {
- "grpcService": "string",
- "hook": {
- "applicationId": "string",
- "readHookId": "string",
- "writeHookId": "string"
}, - "polled": true,
- "url": {
- "read": "string",
- "write": "string"
}
}, - "indexed": true,
- "kind": 0,
- "name": "string",
- "pointCount": "string",
- "structuredComponents": [
- {
- "name": "string",
- "options": [
- "string"
], - "type": 0
}
], - "suggestedExtractionAttrs": [
- "string"
], - "updateAttrMask": [
- "string"
]
}, - "minNfVersion": "string",
- "name": "string",
- "options": [
- {
- "choices": [
- {
- "boolean": true,
- "bytes": "string",
- "duration": {
- "nanos": 0,
- "seconds": "string"
}, - "real": 0,
- "signed": 0,
- "string": "string"
}
], - "defaultValue": {
- "boolean": true,
- "bytes": "string",
- "duration": {
- "nanos": 0,
- "seconds": "string"
}, - "real": 0,
- "signed": 0,
- "string": "string"
}, - "description": "string",
- "name": "string",
- "optionType": 0,
- "required": true,
- "secret": true,
- "validators": [
- {
- "durationValidator": {
- "maxValue": {
- "nanos": 0,
- "seconds": "string"
}, - "minValue": {
- "nanos": 0,
- "seconds": "string"
}
}, - "realValidator": {
- "maxValue": 0,
- "minValue": 0
}, - "signedValidator": {
- "maxValue": 0,
- "minValue": 0
}, - "stringValidator": {
- "regexp": "string"
}
}
], - "value": {
- "boolean": true,
- "bytes": "string",
- "duration": {
- "nanos": 0,
- "seconds": "string"
}, - "real": 0,
- "signed": 0,
- "string": "string"
}
}
], - "runtime": 0
}
{- "id": "string"
}
InstallDependencies invokes a runtime-specific package manager to install any third-party dependencies into the runtime environment.
For the JavaScript runtime, it invokes npm install
and can be
used after updating the package.json
file to download new upstream dependencies.
Since the installation is performed within the Normal container, it must have access to the NPM repositories (or other repositories) for this to work.
applicationId required | string |
{ }
Update a hook with new settings.
A hooks settings include the points it is bound to, group settings, and run mode. Changes will not take effect until RestartApplication is called; or the application restarts for some other reason.
applicationId required | string |
object if not blank, running the hook will create a command context with the following expiration duration. Each time the hook is run, the context will be extended by this amount. | |
entryPoint | string the name of the file containing the hook definition |
object (RuntimeError) | |
id | string |
object timeout for calling StartHook. if the timeout expires before the hook run finishes, the runtime will be killed and restarted. | |
object the results of the last time the hook was run. | |
mode | integer <enum> run mode |
name | string name for what this does |
Array of objects (Label) | |
object bindings to input points | |
requiredClasses | Array of strings |
Array of objects (Label) maybe we can extract these from the source in some cases | |
object (HookRuntimeConfiguration) | |
object when to run the program. If set to nil, the hook will not run on a schedule. | |
status | integer <enum> |
{- "commandExpiration": {
- "nanos": 0,
- "seconds": "string"
}, - "entryPoint": "string",
- "error": {
- "message": "string",
- "stack": [
- "string"
]
}, - "id": "string",
- "invokeTimeout": {
- "nanos": 0,
- "seconds": "string"
}, - "lastRun": {
- "args": {
- "property1": "string",
- "property2": "string"
}, - "endTime": "2019-08-24T14:15:22Z",
- "error": {
- "message": "string",
- "stack": [
- "string"
]
}, - "hookId": "string",
- "message": "string",
- "pid": "string",
- "results": {
- "property1": {
- "endTime": "2019-08-24T14:15:22Z",
- "error": {
- "message": "string",
- "stack": [
- "string"
]
}, - "events": [
- {
- "data": {
- "@type": "string"
}, - "message": "string",
- "ts": "2019-08-24T14:15:22Z"
}
], - "invocationCount": "string",
- "returnData": {
- "@type": "string"
}, - "returnValue": "string",
- "state": 0
}, - "property2": {
- "endTime": "2019-08-24T14:15:22Z",
- "error": {
- "message": "string",
- "stack": [
- "string"
]
}, - "events": [
- {
- "data": {
- "@type": "string"
}, - "message": "string",
- "ts": "2019-08-24T14:15:22Z"
}
], - "invocationCount": "string",
- "returnData": {
- "@type": "string"
}, - "returnValue": "string",
- "state": 0
}
}, - "startTime": "2019-08-24T14:15:22Z",
- "state": 0,
- "trigger": 0,
- "version": "string"
}, - "mode": 0,
- "name": "string",
- "optionalLabels": [
- {
- "description": "string",
- "label": "string"
}
], - "points": {
- "annotations": [
- {
- "fieldName": "string",
- "layer": "string",
- "path": [
- {
- "sourceProperty": "string",
- "targetProperty": "string",
- "valueProperty": "string"
}
]
}
], - "globalVariables": [
- {
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "defaultValue": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": "string"
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}, - "label": "string",
- "uuid": "string",
- "value": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": "string"
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}
}
], - "groupFunction": "string",
- "groupVariables": [
- {
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "defaultValue": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": "string"
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}, - "label": "string",
- "uuid": "string",
- "value": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": "string"
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}
}
], - "groups": {
- "keys": [
- "string"
]
}, - "labelAttribute": "string",
- "layer": "string",
- "query": {
- "and": [
- { }
], - "field": {
- "layer": "string",
- "numeric": {
- "maxInfinity": true,
- "maxValue": 0,
- "minInfinity": true,
- "minValue": 0
}, - "property": "string",
- "text": "string",
- "wildcard": true
}, - "not": { },
- "or": [
- { }
], - "reference": {
- "property": "string",
- "query": { },
- "targetProperty": "string"
}
}
}, - "requiredClasses": [
- "string"
], - "requiredLabels": [
- {
- "description": "string",
- "label": "string"
}
], - "runtimeConfig": {
- "cpuLimit": 0,
- "lifetime": {
- "nanos": 0,
- "seconds": "string"
}, - "maxInstances": 0,
- "maxRequestsPerLifetime": 0,
- "memoryLimit": 0,
- "minInstances": 0
}, - "schedule": {
- "rrule": "string"
}, - "status": 0
}
{ }
{- "hook": {
- "commandExpiration": {
- "nanos": 0,
- "seconds": "string"
}, - "entryPoint": "string",
- "error": {
- "message": "string",
- "stack": [
- "string"
]
}, - "id": "string",
- "invokeTimeout": {
- "nanos": 0,
- "seconds": "string"
}, - "lastRun": {
- "args": {
- "property1": "string",
- "property2": "string"
}, - "endTime": "2019-08-24T14:15:22Z",
- "error": {
- "message": "string",
- "stack": [
- "string"
]
}, - "hookId": "string",
- "message": "string",
- "pid": "string",
- "results": {
- "property1": {
- "endTime": "2019-08-24T14:15:22Z",
- "error": {
- "message": "string",
- "stack": [
- "string"
]
}, - "events": [
- {
- "data": {
- "@type": "string"
}, - "message": "string",
- "ts": "2019-08-24T14:15:22Z"
}
], - "invocationCount": "string",
- "returnData": {
- "@type": "string"
}, - "returnValue": "string",
- "state": 0
}, - "property2": {
- "endTime": "2019-08-24T14:15:22Z",
- "error": {
- "message": "string",
- "stack": [
- "string"
]
}, - "events": [
- {
- "data": {
- "@type": "string"
}, - "message": "string",
- "ts": "2019-08-24T14:15:22Z"
}
], - "invocationCount": "string",
- "returnData": {
- "@type": "string"
}, - "returnValue": "string",
- "state": 0
}
}, - "startTime": "2019-08-24T14:15:22Z",
- "state": 0,
- "trigger": 0,
- "version": "string"
}, - "mode": 0,
- "name": "string",
- "optionalLabels": [
- {
- "description": "string",
- "label": "string"
}
], - "points": {
- "annotations": [
- {
- "fieldName": "string",
- "layer": "string",
- "path": [
- {
- "sourceProperty": "string",
- "targetProperty": "string",
- "valueProperty": "string"
}
]
}
], - "globalVariables": [
- {
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "defaultValue": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": "string"
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}, - "label": "string",
- "uuid": "string",
- "value": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": "string"
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}
}
], - "groupFunction": "string",
- "groupVariables": [
- {
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "defaultValue": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": "string"
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}, - "label": "string",
- "uuid": "string",
- "value": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": "string"
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}
}
], - "groups": {
- "keys": [
- "string"
]
}, - "labelAttribute": "string",
- "layer": "string",
- "query": {
- "and": [
- { }
], - "field": {
- "layer": "string",
- "numeric": {
- "maxInfinity": true,
- "maxValue": 0,
- "minInfinity": true,
- "minValue": 0
}, - "property": "string",
- "text": "string",
- "wildcard": true
}, - "not": { },
- "or": [
- { }
], - "reference": {
- "property": "string",
- "query": { },
- "targetProperty": "string"
}
}
}, - "requiredClasses": [
- "string"
], - "requiredLabels": [
- {
- "description": "string",
- "label": "string"
}
], - "runtimeConfig": {
- "cpuLimit": 0,
- "lifetime": {
- "nanos": 0,
- "seconds": "string"
}, - "maxInstances": 0,
- "maxRequestsPerLifetime": 0,
- "memoryLimit": 0,
- "minInstances": 0
}, - "schedule": {
- "rrule": "string"
}, - "status": 0
}
}
Start running a new copy of a hook with a new PID. Starting the program will fail if an existing program wite same unique_id is already running.
applicationId required | string |
hookId required | string |
groups | Array of strings if present, only run these groups. If empty, runs all groups. |
key | string |
value | string |
{- "key": "string",
- "value": "string"
}
{- "error": {
- "message": "string",
- "stack": [
- "string"
]
}, - "groups": [
- "string"
], - "pid": "string"
}
applicationId required | string |
hookId required | string |
applicationId | string |
hookId | string |
{- "applicationId": "string",
- "hookId": "string"
}
{- "globalVariables": [
- "string"
], - "groupVariables": {
- "property1": {
- "group": "string",
- "variables": [
- "string"
]
}, - "property2": {
- "group": "string",
- "variables": [
- "string"
]
}
}, - "groups": [
- "string"
]
}
applicationId required | string |
hookId required | string |
Array of objects (Annotation) annotations to be added to the point query. | |
Array of objects (Variable) program variables which are created once for the hook | |
groupFunction | string alternatively, a JavaScript function which performs the grouping. the function must have the following prototype: function groupFn(attrs : Map<string, string>): string each distinct value the function returns will form a group |
Array of objects (Variable) program variables which are created for each group | |
object list of attribute names making up the group key | |
labelAttribute | string name of the attribute containing point labels. points withough this attribute will be dropped |
layer | string layer to execute the query against |
object query for input points |
{- "annotations": [
- {
- "fieldName": "string",
- "layer": "string",
- "path": [
- {
- "sourceProperty": "string",
- "targetProperty": "string",
- "valueProperty": "string"
}
]
}
], - "globalVariables": [
- {
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "defaultValue": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": "string"
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}, - "label": "string",
- "uuid": "string",
- "value": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": "string"
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}
}
], - "groupFunction": "string",
- "groupVariables": [
- {
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "defaultValue": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": "string"
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}, - "label": "string",
- "uuid": "string",
- "value": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": "string"
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}
}
], - "groups": {
- "keys": [
- "string"
]
}, - "labelAttribute": "string",
- "layer": "string",
- "query": {
- "and": [
- { }
], - "field": {
- "layer": "string",
- "numeric": {
- "maxInfinity": true,
- "maxValue": 0,
- "minInfinity": true,
- "minValue": 0
}, - "property": "string",
- "text": "string",
- "wildcard": true
}, - "not": { },
- "or": [
- { }
], - "reference": {
- "property": "string",
- "query": { },
- "targetProperty": "string"
}
}
}
{- "groups": [
- "string"
], - "points": [
- {
- "group": "string",
- "point": {
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "cov": {
- "enabled": true,
- "threshold": 0
}, - "dataAttrs": {
- "max": 0,
- "median": 0,
- "min": 0
}, - "description": "string",
- "displayUnits": "string",
- "enum": {
- "values": [
- "string"
]
}, - "hplDriver": "string",
- "hpldata": {
- "@type": "string"
}, - "latestValue": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": "string"
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}, - "layer": "string",
- "name": "string",
- "parentName": "string",
- "parentUuid": "string",
- "period": {
- "nanos": 0,
- "seconds": "string"
}, - "pointType": 0,
- "protocolId": "string",
- "splitAttrs": [
- {
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "layer": "string"
}
], - "units": 0,
- "uuid": "string",
- "version": "string"
}
}
]
}
applicationId required | string |
hookId required | string |
applicationId | string |
hookId | string |
labels | Array of strings |
pageOffset | string |
pageSize | string |
{- "applicationId": "string",
- "hookId": "string",
- "labels": [
- "string"
], - "pageOffset": "string",
- "pageSize": "string"
}
{- "totalCount": "string",
- "variables": [
- {
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "cov": {
- "enabled": true,
- "threshold": 0
}, - "dataAttrs": {
- "max": 0,
- "median": 0,
- "min": 0
}, - "description": "string",
- "displayUnits": "string",
- "enum": {
- "values": [
- "string"
]
}, - "hplDriver": "string",
- "hpldata": {
- "@type": "string"
}, - "latestValue": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": "string"
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}, - "layer": "string",
- "name": "string",
- "parentName": "string",
- "parentUuid": "string",
- "period": {
- "nanos": 0,
- "seconds": "string"
}, - "pointType": 0,
- "protocolId": "string",
- "splitAttrs": [
- {
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "layer": "string"
}
], - "units": 0,
- "uuid": "string",
- "version": "string"
}
]
}
applicationId required | string |
hookId required | string |
applicationId | string |
group | string |
hookId | string |
pageOffset | string |
pageSize | string |
{- "applicationId": "string",
- "group": "string",
- "hookId": "string",
- "pageOffset": "string",
- "pageSize": "string"
}
{- "points": [
- {
- "group": "string",
- "point": {
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "cov": {
- "enabled": true,
- "threshold": 0
}, - "dataAttrs": {
- "max": 0,
- "median": 0,
- "min": 0
}, - "description": "string",
- "displayUnits": "string",
- "enum": {
- "values": [
- "string"
]
}, - "hplDriver": "string",
- "hpldata": {
- "@type": "string"
}, - "latestValue": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": "string"
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}, - "layer": "string",
- "name": "string",
- "parentName": "string",
- "parentUuid": "string",
- "period": {
- "nanos": 0,
- "seconds": "string"
}, - "pointType": 0,
- "protocolId": "string",
- "splitAttrs": [
- {
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "layer": "string"
}
], - "units": 0,
- "uuid": "string",
- "version": "string"
}
}
], - "totalCount": "string",
- "values": {
- "property1": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": "string"
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}, - "property2": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": "string"
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}
}
}
applicationId required | string |
hookId required | string |
applicationId | string |
globalVariables | Array of strings |
groupVariables | Array of strings |
hookId | string |
{- "applicationId": "string",
- "globalVariables": [
- "string"
], - "groupVariables": [
- "string"
], - "hookId": "string"
}
{ }
Query the log of hook invocations.
applicationId required | string these are filters for finding hook runs |
hookId required | string |
applicationId | string these are filters for finding hook runs |
endTime | string <date-time> |
hookId | string |
pageOffset | string |
pageSize | string |
startTime | string <date-time> |
state | integer <enum> |
{- "applicationId": "string",
- "endTime": "2019-08-24T14:15:22Z",
- "hookId": "string",
- "pageOffset": "string",
- "pageSize": "string",
- "startTime": "2019-08-24T14:15:22Z",
- "state": 0
}
{- "runs": [
- {
- "args": {
- "property1": "string",
- "property2": "string"
}, - "endTime": "2019-08-24T14:15:22Z",
- "error": {
- "message": "string",
- "stack": [
- "string"
]
}, - "hookId": "string",
- "message": "string",
- "pid": "string",
- "results": {
- "property1": {
- "endTime": "2019-08-24T14:15:22Z",
- "error": {
- "message": "string",
- "stack": [
- "string"
]
}, - "events": [
- {
- "data": {
- "@type": "string"
}, - "message": "string",
- "ts": "2019-08-24T14:15:22Z"
}
], - "invocationCount": "string",
- "returnData": {
- "@type": "string"
}, - "returnValue": "string",
- "state": 0
}, - "property2": {
- "endTime": "2019-08-24T14:15:22Z",
- "error": {
- "message": "string",
- "stack": [
- "string"
]
}, - "events": [
- {
- "data": {
- "@type": "string"
}, - "message": "string",
- "ts": "2019-08-24T14:15:22Z"
}
], - "invocationCount": "string",
- "returnData": {
- "@type": "string"
}, - "returnValue": "string",
- "state": 0
}
}, - "startTime": "2019-08-24T14:15:22Z",
- "state": 0,
- "trigger": 0,
- "version": "string"
}
], - "totalCount": "string"
}
applicationId required | string |
hookId required | string |
applicationId | string |
hookId | string |
{- "applicationId": "string",
- "hookId": "string"
}
{- "error": {
- "message": "string",
- "stack": [
- "string"
]
}, - "forwarder": {
- "running": true
}, - "pointsUpdatedTime": "2019-08-24T14:15:22Z",
- "queue": {
- "running": true
}, - "retry": {
- "attempts": 0,
- "running": true
}, - "runtimes": [
- {
- "env": [
- "string"
], - "error": {
- "message": "string",
- "stack": [
- "string"
]
}, - "pid": 0,
- "pointsCount": 0,
- "prepareTime": "2019-08-24T14:15:22Z",
- "request": {
- "commandId": "string",
- "group": "string",
- "pid": "string",
- "queuedTime": "2019-08-24T14:15:22Z",
- "startTime": "2019-08-24T14:15:22Z"
}, - "requestsCount": 0,
- "startTime": "2019-08-24T14:15:22Z",
- "state": 0
}
], - "scheduler": {
- "lastRun": "2019-08-24T14:15:22Z",
- "running": true,
- "schedule": "string"
}, - "status": 0,
- "totalCount": "string"
}
Restart application terminates any running runtime processes.
This should be called after writing new source files or calling InstallDependies to force the runtime to load the new source.
applicationId required | string |
{ }
applicationId required | string |
applicationId | string |
from | string <date-time> |
hooks | Array of strings |
object (ResampleOptions) | |
to | string <date-time> |
{- "applicationId": "string",
- "from": "2019-08-24T14:15:22Z",
- "hooks": [
- "string"
], - "resample": {
- "method": 0,
- "window": {
- "nanos": 0,
- "seconds": "string"
}
}, - "to": "2019-08-24T14:15:22Z"
}
{- "hooks": [
- {
- "hookId": "string",
- "values": [
- {
- "aborted": 0,
- "error": 0,
- "stopped": 0,
- "success": 0,
- "ts": "2019-08-24T14:15:22Z"
}
]
}
]
}
UpgradeApplication performs git pull
if the application's Git URL is configured.
WARNING: This is equivalent to performing a hard reset against the remote branchs, so any local changes to the source will be lost.
applicationId required | string |
applicationId | string |
{- "applicationId": "string"
}
{ }
UpdateApplication allows updating configuration options defined by the application.
The available options are returned in the body of GetApplications
.
id required | string |
object (ApplicationAuth) | |
object these set configuration values to no-default | |
gitUrl | string |
id | string |
object (Layer) | |
minNfVersion | string |
{- "auth": {
- "anonymous": true,
- "apiKey": {
- "clientId": "string",
- "clientSecret": "string",
- "scopes": [
- "string"
]
}
}, - "configuration": {
- "property1": {
- "boolean": true,
- "bytes": "string",
- "duration": {
- "nanos": 0,
- "seconds": "string"
}, - "real": 0,
- "signed": 0,
- "string": "string"
}, - "property2": {
- "boolean": true,
- "bytes": "string",
- "duration": {
- "nanos": 0,
- "seconds": "string"
}, - "real": 0,
- "signed": 0,
- "string": "string"
}
}, - "gitUrl": "string",
- "id": "string",
- "layer": {
- "componentOptions": [
- "string"
], - "componentTypes": [
- 0
], - "components": [
- "string"
], - "configuration": {
- "@type": "string"
}, - "defaultDisplayAttrs": [
- "string"
], - "defaultGroupingAttrs": [
- "string"
], - "description": "string",
- "driver": {
- "grpcService": "string",
- "hook": {
- "applicationId": "string",
- "readHookId": "string",
- "writeHookId": "string"
}, - "polled": true,
- "url": {
- "read": "string",
- "write": "string"
}
}, - "indexed": true,
- "kind": 0,
- "name": "string",
- "pointCount": "string",
- "structuredComponents": [
- {
- "name": "string",
- "options": [
- "string"
], - "type": 0
}
], - "suggestedExtractionAttrs": [
- "string"
], - "updateAttrMask": [
- "string"
]
}, - "minNfVersion": "string"
}
{ }
An application wraps a number of hooks and other resources which run within the same runtime environment.
Each application shares a number of pieces: Runtime: there is a single runtime for an application Hook: an application can have multiple hooks with different definitions and run modes. Files: the application directory can have files with code or arbitary data. Git URL: applications may be backed by a git repository Options: an application may define options to allow the user to configure settings without needing to edit the application code.
name required | string |
pageSize | string |
pageCount | string |
{- "applications": [
- {
- "auth": {
- "anonymous": true,
- "apiKey": {
- "clientId": "string",
- "clientSecret": "string",
- "scopes": [
- "string"
]
}
}, - "compatibilityDate": "string",
- "description": "string",
- "files": [
- {
- "hash": "string",
- "mtime": "2019-08-24T14:15:22Z",
- "path": "string",
- "size": "string"
}
], - "gitUrl": "string",
- "hooks": [
- {
- "commandExpiration": {
- "nanos": 0,
- "seconds": "string"
}, - "entryPoint": "string",
- "error": {
- "message": "string",
- "stack": [
- "string"
]
}, - "id": "string",
- "invokeTimeout": {
- "nanos": 0,
- "seconds": "string"
}, - "lastRun": {
- "args": {
- "property1": "string",
- "property2": "string"
}, - "endTime": "2019-08-24T14:15:22Z",
- "error": {
- "message": "string",
- "stack": [
- "string"
]
}, - "hookId": "string",
- "message": "string",
- "pid": "string",
- "results": {
- "property1": {
- "endTime": "2019-08-24T14:15:22Z",
- "error": {
- "message": "string",
- "stack": [
- null
]
}, - "events": [
- {
- "data": null,
- "message": null,
- "ts": null
}
], - "invocationCount": "string",
- "returnData": {
- "@type": "string"
}, - "returnValue": "string",
- "state": 0
}, - "property2": {
- "endTime": "2019-08-24T14:15:22Z",
- "error": {
- "message": "string",
- "stack": [
- null
]
}, - "events": [
- {
- "data": null,
- "message": null,
- "ts": null
}
], - "invocationCount": "string",
- "returnData": {
- "@type": "string"
}, - "returnValue": "string",
- "state": 0
}
}, - "startTime": "2019-08-24T14:15:22Z",
- "state": 0,
- "trigger": 0,
- "version": "string"
}, - "mode": 0,
- "name": "string",
- "optionalLabels": [
- {
- "description": "string",
- "label": "string"
}
], - "points": {
- "annotations": [
- {
- "fieldName": "string",
- "layer": "string",
- "path": [
- {
- "sourceProperty": null,
- "targetProperty": null,
- "valueProperty": null
}
]
}
], - "globalVariables": [
- {
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "defaultValue": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": null
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}, - "label": "string",
- "uuid": "string",
- "value": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": null
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}
}
], - "groupFunction": "string",
- "groupVariables": [
- {
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "defaultValue": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": null
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}, - "label": "string",
- "uuid": "string",
- "value": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": null
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}
}
], - "groups": {
- "keys": [
- "string"
]
}, - "labelAttribute": "string",
- "layer": "string",
- "query": {
- "and": [
- { }
], - "field": {
- "layer": "string",
- "numeric": {
- "maxInfinity": true,
- "maxValue": 0,
- "minInfinity": true,
- "minValue": 0
}, - "property": "string",
- "text": "string",
- "wildcard": true
}, - "not": { },
- "or": [
- { }
], - "reference": {
- "property": "string",
- "query": { },
- "targetProperty": "string"
}
}
}, - "requiredClasses": [
- "string"
], - "requiredLabels": [
- {
- "description": "string",
- "label": "string"
}
], - "runtimeConfig": {
- "cpuLimit": 0,
- "lifetime": {
- "nanos": 0,
- "seconds": "string"
}, - "maxInstances": 0,
- "maxRequestsPerLifetime": 0,
- "memoryLimit": 0,
- "minInstances": 0
}, - "schedule": {
- "rrule": "string"
}, - "status": 0
}
], - "id": "string",
- "layer": {
- "componentOptions": [
- "string"
], - "componentTypes": [
- 0
], - "components": [
- "string"
], - "configuration": {
- "@type": "string"
}, - "defaultDisplayAttrs": [
- "string"
], - "defaultGroupingAttrs": [
- "string"
], - "description": "string",
- "driver": {
- "grpcService": "string",
- "hook": {
- "applicationId": "string",
- "readHookId": "string",
- "writeHookId": "string"
}, - "polled": true,
- "url": {
- "read": "string",
- "write": "string"
}
}, - "indexed": true,
- "kind": 0,
- "name": "string",
- "pointCount": "string",
- "structuredComponents": [
- {
- "name": "string",
- "options": [
- "string"
], - "type": 0
}
], - "suggestedExtractionAttrs": [
- "string"
], - "updateAttrMask": [
- "string"
]
}, - "minNfVersion": "string",
- "name": "string",
- "options": [
- {
- "choices": [
- {
- "boolean": true,
- "bytes": "string",
- "duration": {
- "nanos": 0,
- "seconds": "string"
}, - "real": 0,
- "signed": 0,
- "string": "string"
}
], - "defaultValue": {
- "boolean": true,
- "bytes": "string",
- "duration": {
- "nanos": 0,
- "seconds": "string"
}, - "real": 0,
- "signed": 0,
- "string": "string"
}, - "description": "string",
- "name": "string",
- "optionType": 0,
- "required": true,
- "secret": true,
- "validators": [
- {
- "durationValidator": {
- "maxValue": {
- "nanos": 0,
- "seconds": "string"
}, - "minValue": {
- "nanos": 0,
- "seconds": "string"
}
}, - "realValidator": {
- "maxValue": 0,
- "minValue": 0
}, - "signedValidator": {
- "maxValue": 0,
- "minValue": 0
}, - "stringValidator": {
- "regexp": "string"
}
}
], - "value": {
- "boolean": true,
- "bytes": "string",
- "duration": {
- "nanos": 0,
- "seconds": "string"
}, - "real": 0,
- "signed": 0,
- "string": "string"
}
}
], - "runtime": 0,
- "status": 0
}
], - "totalCount": "string"
}
The BACnet V2 service provides full access to the BACnet confirmed-service application layer. All services defined in BACnet-2020 are supported, and are compiled directly from the specification, including types for standard objects and enumerations. This allows the sophisticated user to interact with nearly any standards compliant BACnet device using teh ConfirmedService endpoint.
object (DeviceAddress) DeviceAddress. Specifies the full network address of a BACnet device. | |
object (OperationOptions) Options that apply to the handling of a request within the stack. | |
object (ConfirmedServiceRequest) |
{- "deviceAddress": {
- "adr": "string",
- "bbmd": "string",
- "deviceId": 0,
- "mac": "string",
- "maxApdu": 0,
- "net": 0,
- "portId": 0
}, - "options": {
- "blockLowerPriority": true,
- "continueOnError": true,
- "priority": 0,
- "timeout": {
- "nanos": 0,
- "seconds": "string"
}, - "unmergeable": true
}, - "request": {
- "acknowledgeAlarm": {
- "acknowledgingProcessIdentifier": 0,
- "acknowledgmentSource": "string",
- "eventObjectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "eventStateAcknowledged": 0,
- "timeOfAcknowledgment": {
- "datetime": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "sequenceNumber": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "timestamp": {
- "datetime": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "sequenceNumber": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}
}, - "addListElement": {
- "listOfElements": {
- "@type": "string"
}, - "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "propertyArrayIndex": 0,
- "propertyIdentifier": 0
}, - "atomicReadFile": {
- "fileIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "recordAccess": {
- "fileStartRecord": "string",
- "requestedRecordCount": 0
}, - "streamAccess": {
- "fileStartPosition": "string",
- "requestedOctetCount": 0
}
}, - "atomicWriteFile": {
- "fileIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "recordAccess": {
- "fileRecordData": [
- "string"
], - "fileStartRecord": "string",
- "recordCount": 0
}, - "streamAccess": {
- "fileData": "string",
- "fileStartPosition": "string"
}
}, - "auditLogQuery": {
- "auditLog": {
- "instance": 0,
- "objectType": 0
}, - "queryParameters": {
- "bySource": {
- "operations": {
- "length": 0,
- "setBits": [
- 0
]
}, - "sourceDeviceAddress": {
- "macAddress": "string",
- "networkNumber": 0
}, - "sourceDeviceIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "sourceObjectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "successfulActionsOnly": true
}, - "byTarget": {
- "operations": {
- "length": 0,
- "setBits": [
- 0
]
}, - "successfulActionsOnly": true,
- "targetArrayIndex": 0,
- "targetDeviceAddress": {
- "macAddress": "string",
- "networkNumber": 0
}, - "targetDeviceIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "targetObjectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "targetPriority": 0,
- "targetPropertyIdentifier": 0
}
}, - "requestedCount": 0,
- "startAtSequenceNumber": 0
}, - "confirmedAuditNotification": {
- "notifications": [
- {
- "currentValue": {
- "@type": "string"
}, - "invokeId": 0,
- "operation": 0,
- "result": {
- "errorClass": 0,
- "errorCode": 0
}, - "sourceComment": "string",
- "sourceDevice": {
- "address": {
- "macAddress": "string",
- "networkNumber": 0
}, - "device": {
- "instance": 0,
- "objectType": 0
}
}, - "sourceObject": {
- "instance": 0,
- "objectType": 0
}, - "sourceTimestamp": {
- "datetime": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "sequenceNumber": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "sourceUserId": 0,
- "sourceUserRole": 0,
- "targetComment": "string",
- "targetDevice": {
- "address": {
- "macAddress": "string",
- "networkNumber": 0
}, - "device": {
- "instance": 0,
- "objectType": 0
}
}, - "targetObject": {
- "instance": 0,
- "objectType": 0
}, - "targetPriority": 0,
- "targetProperty": {
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0
}, - "targetTimestamp": {
- "datetime": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "sequenceNumber": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "targetValue": {
- "@type": "string"
}
}
]
}, - "confirmedCovNotification": {
- "initiatingDeviceIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "listOfValues": [
- {
- "priority": 0,
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0,
- "propertyValue": {
- "@type": "string"
}
}
], - "monitoredObjectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "subscriberProcessIdentifier": 0,
- "timeRemaining": 0
}, - "confirmedCovNotificationMultiple": {
- "initiatingDeviceIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "listOfCovNotifications": [
- {
- "listOfValues": [
- {
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0,
- "propertyValue": {
- "@type": "string"
}, - "timeOfChange": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}
], - "monitoredObjectIdentifier": {
- "instance": 0,
- "objectType": 0
}
}
], - "subscriberProcessIdentifier": 0,
- "timeRemaining": 0,
- "timestamp": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}
}, - "confirmedEventNotification": {
- "ackRequired": true,
- "eventObjectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "eventType": 0,
- "eventValues": {
- "accessEvent": {
- "accessCredential": {
- "deviceIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}
}, - "accessEvent": { },
- "accessEventTag": 0,
- "accessEventTime": {
- "datetime": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "sequenceNumber": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "authenticationFactor": {
- "formatClass": 0,
- "formatType": 0,
- "value": "string"
}, - "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "bufferReady": {
- "bufferProperty": {
- "deviceIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "propertyArrayIndex": 0,
- "propertyIdentifier": 0
}, - "currentNotification": 0,
- "previousNotification": 0
}, - "changeOfBitstring": {
- "referencedBitstring": {
- "length": 0,
- "setBits": [
- 0
]
}, - "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "changeOfCharacterstring": {
- "alarmValue": "string",
- "changedValue": "string",
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "changeOfDiscreteValue": {
- "newValue": {
- "boolean": true,
- "characterstring": "string",
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "datetime": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "enumerated": 0,
- "integer": "string",
- "objectidentifier": {
- "instance": 0,
- "objectType": 0
}, - "octetstring": "string",
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}, - "unsigned": 0
}, - "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "changeOfLifeSafety": {
- "newMode": 0,
- "newState": 0,
- "operationExpected": 0,
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "changeOfReliability": {
- "propertyValues": [
- {
- "priority": 0,
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0,
- "propertyValue": {
- "@type": "string"
}
}
], - "reliability": 0,
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "changeOfState": {
- "newState": {
- "accessCredentialDisable": 0,
- "accessCredentialDisableReason": 0,
- "accessEvent": 0,
- "action": 0,
- "auditLevel": 0,
- "auditOperation": 0,
- "authenticationStatus": 0,
- "backupState": 0,
- "bacnetIpMode": 0,
- "binaryLightingValue": 0,
- "binaryValue": 0,
- "booleanValue": true,
- "doorAlarmState": 0,
- "doorSecuredStatus": 0,
- "doorStatus": 0,
- "doorValue": 0,
- "escalatorFault": 0,
- "escalatorMode": 0,
- "escalatorOperationDirection": 0,
- "eventType": 0,
- "extendedValue": 0,
- "fileAccessMethod": 0,
- "integerValue": "string",
- "lifeSafetyMode": 0,
- "lifeSafetyOperation": 0,
- "lifeSafetyState": 0,
- "liftCarDirection": 0,
- "liftCarDoorCommand": 0,
- "liftCarDriveStatus": 0,
- "liftCarMode": 0,
- "liftFault": 0,
- "liftGroupMode": 0,
- "lightingInProgress": 0,
- "lightingOperation": 0,
- "lightingTransition": 0,
- "lockStatus": 0,
- "maintenance": 0,
- "networkNumberQuality": 0,
- "networkPortCommand": 0,
- "networkType": 0,
- "nodeType": 0,
- "notifyType": 0,
- "polarity": 0,
- "programChange": 0,
- "programState": 0,
- "protocolLevel": 0,
- "reasonForHalt": 0,
- "reliability": 0,
- "restartReason": 0,
- "shedState": 0,
- "silencedState": 0,
- "state": 0,
- "systemStatus": 0,
- "timerState": 0,
- "timerTransition": 0,
- "units": 0,
- "unsignedValue": 0,
- "writeStatus": 0,
- "zoneOccupancyState": 0
}, - "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "changeOfStatusFlags": {
- "presentValue": {
- "@type": "string"
}, - "referencedFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "changeOfTimer": {
- "expirationTime": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "initialTimeout": 0,
- "lastStateChange": 0,
- "newState": 0,
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}, - "updateTime": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}
}, - "changeOfValue": {
- "newValue": {
- "changedBits": {
- "length": 0,
- "setBits": [
- 0
]
}, - "changedValue": 0
}, - "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "commandFailure": {
- "commandValue": {
- "@type": "string"
}, - "feedbackValue": {
- "@type": "string"
}, - "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "complexEventType": {
- "priority": 0,
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0,
- "propertyValue": {
- "@type": "string"
}
}, - "doubleOutOfRange": {
- "deadband": 0,
- "exceededLimit": 0,
- "exceedingValue": 0,
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "extended": {
- "extendedEventType": 0,
- "parameters": [
- {
- "bitstring": {
- "length": 0,
- "setBits": [
- 0
]
}, - "boolean": true,
- "characterstring": "string",
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "double": 0,
- "enumerated": 0,
- "integer": "string",
- "null": true,
- "objectidentifier": {
- "instance": 0,
- "objectType": 0
}, - "octetstring": "string",
- "real": 0,
- "reference": {
- "deviceIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "propertyArrayIndex": 0,
- "propertyIdentifier": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}, - "unsigned": 0
}
], - "vendorId": 0
}, - "floatingLimit": {
- "errorLimit": 0,
- "referenceValue": 0,
- "setpointValue": 0,
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "outOfRange": {
- "deadband": 0,
- "exceededLimit": 0,
- "exceedingValue": 0,
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "signedOutOfRange": {
- "deadband": 0,
- "exceededLimit": "string",
- "exceedingValue": "string",
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "unsignedOutOfRange": {
- "deadband": 0,
- "exceededLimit": 0,
- "exceedingValue": 0,
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "unsignedRange": {
- "exceededLimit": 0,
- "exceedingValue": 0,
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}
}, - "fromState": 0,
- "initiatingDeviceIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "messageText": "string",
- "notificationClass": 0,
- "notifyType": 0,
- "priority": 0,
- "processIdentifier": 0,
- "timestamp": {
- "datetime": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "sequenceNumber": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "toState": 0
}, - "confirmedPrivateTransfer": {
- "serviceNumber": 0,
- "serviceParameters": {
- "@type": "string"
}, - "vendorId": 0
}, - "confirmedTextMessage": {
- "message": "string",
- "messageClass": {
- "character": "string",
- "numeric": 0
}, - "messagePriority": 0,
- "textMessageSourceDevice": {
- "instance": 0,
- "objectType": 0
}
}, - "createObject": {
- "listOfInitialValues": [
- {
- "priority": 0,
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0,
- "propertyValue": {
- "@type": "string"
}
}
], - "objectSpecifier": {
- "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "objectType": 0
}
}, - "deleteObject": {
- "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}
}, - "deviceCommunicationControl": {
- "enableDisable": 0,
- "password": "string",
- "timeDuration": 0
}, - "getEnrollmentSummary": {
- "acknowledgmentFilter": 0,
- "enrollmentFilter": {
- "processIdentifier": 0,
- "recipient": {
- "address": {
- "macAddress": "string",
- "networkNumber": 0
}, - "device": {
- "instance": 0,
- "objectType": 0
}
}
}, - "eventStateFilter": 0,
- "eventTypeFilter": 0,
- "notificationClassFilter": 0,
- "priorityFilter": {
- "maxPriority": 0,
- "minPriority": 0
}
}, - "getEventInformation": {
- "lastReceivedObjectIdentifier": {
- "instance": 0,
- "objectType": 0
}
}, - "lifeSafetyOperation": {
- "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "request": 0,
- "requestingProcessIdentifier": 0,
- "requestingSource": "string"
}, - "readProperty": {
- "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "propertyArrayIndex": 0,
- "propertyIdentifier": 0
}, - "readPropertyMultiple": {
- "listOfReadAccessSpecifications": [
- {
- "listOfPropertyReferences": [
- {
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0
}
], - "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}
}
]
}, - "readRange": {
- "byPosition": {
- "count": 0,
- "referenceIndex": 0
}, - "bySequenceNumber": {
- "count": 0,
- "referenceSequenceNumber": 0
}, - "byTime": {
- "count": 0,
- "referenceTime": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}
}, - "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "propertyArrayIndex": 0,
- "propertyIdentifier": 0
}, - "reinitializeDevice": {
- "password": "string",
- "reinitializedStateOfDevice": 0
}, - "removeListElement": {
- "listOfElements": {
- "@type": "string"
}, - "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "propertyArrayIndex": 0,
- "propertyIdentifier": 0
}, - "subscribeCov": {
- "issueConfirmedNotifications": true,
- "lifetime": 0,
- "monitoredObjectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "subscriberProcessIdentifier": 0
}, - "subscribeCovProperty": {
- "covIncrement": 0,
- "issueConfirmedNotifications": true,
- "lifetime": 0,
- "monitoredObjectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "monitoredPropertyIdentifier": {
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0
}, - "subscriberProcessIdentifier": 0
}, - "subscribeCovPropertyMultiple": {
- "issueConfirmedNotifications": true,
- "lifetime": 0,
- "listOfCovSubscriptionSpecifications": [
- {
- "listOfCovReferences": [
- {
- "covIncrement": 0,
- "monitoredProperty": {
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0
}, - "timestamped": true
}
], - "monitoredObjectIdentifier": {
- "instance": 0,
- "objectType": 0
}
}
], - "maxNotificationDelay": 0,
- "subscriberProcessIdentifier": 0
}, - "vtClose": {
- "listOfRemoteVtSessionIdentifiers": [
- 0
]
}, - "vtData": {
- "vtDataFlag": 0,
- "vtNewData": "string",
- "vtSessionIdentifier": 0
}, - "vtOpen": {
- "localVtSessionIdentifier": 0,
- "vtClass": 0
}, - "writeProperty": {
- "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "priority": 0,
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0,
- "propertyValue": {
- "@type": "string"
}
}, - "writePropertyMultiple": {
- "listOfWriteAccessSpecifications": [
- {
- "listOfProperties": [
- {
- "priority": 0,
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0,
- "propertyValue": {
- "@type": "string"
}
}
], - "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}
}
]
}
}
}
{- "SimpleAck": true,
- "abort": 0,
- "ack": {
- "atomicReadFile": {
- "endOfFile": true,
- "recordAccess": {
- "fileRecordData": [
- "string"
], - "fileStartRecord": "string",
- "returnedRecordCount": 0
}, - "streamAccess": {
- "fileData": "string",
- "fileStartPosition": "string"
}
}, - "atomicWriteFile": {
- "fileStartPosition": "string",
- "fileStartRecord": "string"
}, - "auditLogQuery": {
- "auditLog": {
- "instance": 0,
- "objectType": 0
}, - "noMoreItems": true,
- "records": [
- {
- "logRecord": {
- "logDatum": {
- "auditNotification": {
- "currentValue": {
- "@type": "string"
}, - "invokeId": 0,
- "operation": 0,
- "result": {
- "errorClass": 0,
- "errorCode": 0
}, - "sourceComment": "string",
- "sourceDevice": {
- "address": {
- "macAddress": null,
- "networkNumber": null
}, - "device": {
- "instance": null,
- "objectType": null
}
}, - "sourceObject": {
- "instance": 0,
- "objectType": 0
}, - "sourceTimestamp": {
- "datetime": {
- "date": null,
- "time": null
}, - "sequenceNumber": 0,
- "time": {
- "hour": null,
- "hundreth": null,
- "minute": null,
- "second": null
}
}, - "sourceUserId": 0,
- "sourceUserRole": 0,
- "targetComment": "string",
- "targetDevice": {
- "address": {
- "macAddress": null,
- "networkNumber": null
}, - "device": {
- "instance": null,
- "objectType": null
}
}, - "targetObject": {
- "instance": 0,
- "objectType": 0
}, - "targetPriority": 0,
- "targetProperty": {
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0
}, - "targetTimestamp": {
- "datetime": {
- "date": null,
- "time": null
}, - "sequenceNumber": 0,
- "time": {
- "hour": null,
- "hundreth": null,
- "minute": null,
- "second": null
}
}, - "targetValue": {
- "@type": "string"
}
}, - "logStatus": {
- "length": 0,
- "setBits": [
- 0
]
}, - "timeChange": 0
}, - "timestamp": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}
}, - "sequenceNumber": "string"
}
]
}, - "confirmedPrivateTransfer": {
- "resultBlock": {
- "@type": "string"
}, - "serviceNumber": 0,
- "vendorId": 0
}, - "createObject": {
- "instance": 0,
- "objectType": 0
}, - "getAlarmSummary": {
- "acknowledgedTransitions": {
- "length": 0,
- "setBits": [
- 0
]
}, - "alarmState": 0,
- "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}
}, - "getEnrollmentSummary": {
- "eventState": 0,
- "eventType": 0,
- "notificationClass": 0,
- "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "priority": 0
}, - "getEventInformation": {
- "listOfEventSummaries": [
- {
- "acknowledgedTransitions": {
- "length": 0,
- "setBits": [
- 0
]
}, - "eventEnable": {
- "length": 0,
- "setBits": [
- 0
]
}, - "eventPriorities": [
- 0
], - "eventState": 0,
- "eventTimestamps": [
- {
- "datetime": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "sequenceNumber": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}
], - "notifyType": 0,
- "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}
}
], - "moreEvents": true
}, - "readProperty": {
- "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "propertyArrayIndex": 0,
- "propertyIdentifier": 0,
- "propertyValue": {
- "@type": "string"
}
}, - "readPropertyMultiple": {
- "listOfReadAccessResults": [
- {
- "listOfResults": [
- {
- "propertyAccessError": {
- "errorClass": 0,
- "errorCode": 0
}, - "propertyArrayIndex": 0,
- "propertyIdentifier": 0,
- "propertyValue": {
- "@type": "string"
}
}
], - "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}
}
]
}, - "readRange": {
- "firstSequenceNumber": 0,
- "itemCount": 0,
- "itemData": {
- "@type": "string"
}, - "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "propertyArrayIndex": 0,
- "propertyIdentifier": 0,
- "resultFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "vtData": {
- "acceptedOctetCount": 0,
- "allNewDataAccepted": true
}, - "vtOpen": {
- "remoteVtSessionIdentifier": 0
}
}, - "error": {
- "acknowledgeAlarm": {
- "errorClass": 0,
- "errorCode": 0
}, - "addListElement": {
- "errorType": {
- "errorClass": 0,
- "errorCode": 0
}, - "firstFailedElementNumber": 0
}, - "atomicReadFile": {
- "errorClass": 0,
- "errorCode": 0
}, - "atomicWriteFile": {
- "errorClass": 0,
- "errorCode": 0
}, - "auditLogQuery": {
- "errorClass": 0,
- "errorCode": 0
}, - "confirmedAuditNotification": {
- "errorClass": 0,
- "errorCode": 0
}, - "confirmedCovNotification": {
- "errorClass": 0,
- "errorCode": 0
}, - "confirmedCovNotificationMultiple": {
- "errorClass": 0,
- "errorCode": 0
}, - "confirmedEventNotification": {
- "errorClass": 0,
- "errorCode": 0
}, - "confirmedPrivateTransfer": {
- "errorParameters": {
- "@type": "string"
}, - "errorType": {
- "errorClass": 0,
- "errorCode": 0
}, - "serviceNumber": 0,
- "vendorId": 0
}, - "confirmedTextMessage": {
- "errorClass": 0,
- "errorCode": 0
}, - "createObject": {
- "errorType": {
- "errorClass": 0,
- "errorCode": 0
}, - "firstFailedElementNumber": 0
}, - "deleteObject": {
- "errorClass": 0,
- "errorCode": 0
}, - "deviceCommunicationControl": {
- "errorClass": 0,
- "errorCode": 0
}, - "getAlarmSummary": {
- "errorClass": 0,
- "errorCode": 0
}, - "getEnrollmentSummary": {
- "errorClass": 0,
- "errorCode": 0
}, - "getEventInformation": {
- "errorClass": 0,
- "errorCode": 0
}, - "lifeSafetyOperation": {
- "errorClass": 0,
- "errorCode": 0
}, - "other": {
- "errorClass": 0,
- "errorCode": 0
}, - "readProperty": {
- "errorClass": 0,
- "errorCode": 0
}, - "readPropertyMultiple": {
- "errorClass": 0,
- "errorCode": 0
}, - "readRange": {
- "errorClass": 0,
- "errorCode": 0
}, - "reinitializeDevice": {
- "errorClass": 0,
- "errorCode": 0
}, - "removeListElement": {
- "errorType": {
- "errorClass": 0,
- "errorCode": 0
}, - "firstFailedElementNumber": 0
}, - "subscribeCov": {
- "errorClass": 0,
- "errorCode": 0
}, - "subscribeCovProperty": {
- "errorClass": 0,
- "errorCode": 0
}, - "subscribeCovPropertyMultiple": {
- "errorType": {
- "errorClass": 0,
- "errorCode": 0
}, - "firstFailedSubscription": {
- "errorType": {
- "errorClass": 0,
- "errorCode": 0
}, - "monitoredObjectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "monitoredPropertyReference": {
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0
}
}
}, - "vtClose": {
- "errorType": {
- "errorClass": 0,
- "errorCode": 0
}, - "listOfVtSessionIdentifiers": [
- 0
]
}, - "vtData": {
- "errorClass": 0,
- "errorCode": 0
}, - "vtOpen": {
- "errorClass": 0,
- "errorCode": 0
}, - "writeProperty": {
- "errorClass": 0,
- "errorCode": 0
}, - "writePropertyMultiple": {
- "errorType": {
- "errorClass": 0,
- "errorCode": 0
}, - "firstFailedWriteAttempt": {
- "arrayIndex": 0,
- "deviceId": {
- "instance": 0,
- "objectType": 0
}, - "objectId": {
- "instance": 0,
- "objectType": 0
}, - "propertyId": 0
}
}
}, - "reject": 0
}
{- "dst": {
- "adr": "string",
- "bbmd": "string",
- "deviceId": 0,
- "mac": "string",
- "maxApdu": 0,
- "net": 0,
- "portId": 0
}, - "pdu": {
- "abortPdu": {
- "abortReason": 0,
- "originalInvokeId": 0,
- "pduType": 0,
- "reserved": 0,
- "server": true
}, - "complexAckPdu": {
- "invokeId": 0,
- "moreFollows": true,
- "pduType": 0,
- "proposedWindowSize": 0,
- "reserved": 0,
- "segmentedMessage": true,
- "sequenceNumber": 0,
- "serviceAck": {
- "atomicReadFile": {
- "endOfFile": true,
- "recordAccess": {
- "fileRecordData": [
- "string"
], - "fileStartRecord": "string",
- "returnedRecordCount": 0
}, - "streamAccess": {
- "fileData": "string",
- "fileStartPosition": "string"
}
}, - "atomicWriteFile": {
- "fileStartPosition": "string",
- "fileStartRecord": "string"
}, - "auditLogQuery": {
- "auditLog": {
- "instance": 0,
- "objectType": 0
}, - "noMoreItems": true,
- "records": [
- {
- "logRecord": {
- "logDatum": {
- "auditNotification": {
- "currentValue": null,
- "invokeId": null,
- "operation": null,
- "result": null,
- "sourceComment": null,
- "sourceDevice": null,
- "sourceObject": null,
- "sourceTimestamp": null,
- "sourceUserId": null,
- "sourceUserRole": null,
- "targetComment": null,
- "targetDevice": null,
- "targetObject": null,
- "targetPriority": null,
- "targetProperty": null,
- "targetTimestamp": null,
- "targetValue": null
}, - "logStatus": {
- "length": null,
- "setBits": [ ]
}, - "timeChange": 0
}, - "timestamp": {
- "date": {
- "day": null,
- "month": null,
- "wday": null,
- "year": null
}, - "time": {
- "hour": null,
- "hundreth": null,
- "minute": null,
- "second": null
}
}
}, - "sequenceNumber": "string"
}
]
}, - "confirmedPrivateTransfer": {
- "resultBlock": {
- "@type": "string"
}, - "serviceNumber": 0,
- "vendorId": 0
}, - "createObject": {
- "instance": 0,
- "objectType": 0
}, - "getAlarmSummary": {
- "acknowledgedTransitions": {
- "length": 0,
- "setBits": [
- 0
]
}, - "alarmState": 0,
- "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}
}, - "getEnrollmentSummary": {
- "eventState": 0,
- "eventType": 0,
- "notificationClass": 0,
- "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "priority": 0
}, - "getEventInformation": {
- "listOfEventSummaries": [
- {
- "acknowledgedTransitions": {
- "length": 0,
- "setBits": [
- 0
]
}, - "eventEnable": {
- "length": 0,
- "setBits": [
- 0
]
}, - "eventPriorities": [
- 0
], - "eventState": 0,
- "eventTimestamps": [
- {
- "datetime": {
- "date": null,
- "time": null
}, - "sequenceNumber": 0,
- "time": {
- "hour": null,
- "hundreth": null,
- "minute": null,
- "second": null
}
}
], - "notifyType": 0,
- "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}
}
], - "moreEvents": true
}, - "readProperty": {
- "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "propertyArrayIndex": 0,
- "propertyIdentifier": 0,
- "propertyValue": {
- "@type": "string"
}
}, - "readPropertyMultiple": {
- "listOfReadAccessResults": [
- {
- "listOfResults": [
- {
- "propertyAccessError": {
- "errorClass": null,
- "errorCode": null
}, - "propertyArrayIndex": 0,
- "propertyIdentifier": 0,
- "propertyValue": {
- "@type": null
}
}
], - "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}
}
]
}, - "readRange": {
- "firstSequenceNumber": 0,
- "itemCount": 0,
- "itemData": {
- "@type": "string"
}, - "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "propertyArrayIndex": 0,
- "propertyIdentifier": 0,
- "resultFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "vtData": {
- "acceptedOctetCount": 0,
- "allNewDataAccepted": true
}, - "vtOpen": {
- "remoteVtSessionIdentifier": 0
}
}, - "serviceAckChoice": 0
}, - "confirmedRequestPdu": {
- "invokeId": 0,
- "maxApduLengthAccepted": 0,
- "maxSegmentsAccepted": 0,
- "moreFollows": true,
- "pduType": 0,
- "proposedWindowSize": 0,
- "reserved": 0,
- "segmentedMessage": true,
- "segmentedResponseAccepted": true,
- "sequenceNumber": 0,
- "serviceChoice": 0,
- "serviceRequest": {
- "acknowledgeAlarm": {
- "acknowledgingProcessIdentifier": 0,
- "acknowledgmentSource": "string",
- "eventObjectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "eventStateAcknowledged": 0,
- "timeOfAcknowledgment": {
- "datetime": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "sequenceNumber": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "timestamp": {
- "datetime": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "sequenceNumber": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}
}, - "addListElement": {
- "listOfElements": {
- "@type": "string"
}, - "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "propertyArrayIndex": 0,
- "propertyIdentifier": 0
}, - "atomicReadFile": {
- "fileIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "recordAccess": {
- "fileStartRecord": "string",
- "requestedRecordCount": 0
}, - "streamAccess": {
- "fileStartPosition": "string",
- "requestedOctetCount": 0
}
}, - "atomicWriteFile": {
- "fileIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "recordAccess": {
- "fileRecordData": [
- "string"
], - "fileStartRecord": "string",
- "recordCount": 0
}, - "streamAccess": {
- "fileData": "string",
- "fileStartPosition": "string"
}
}, - "auditLogQuery": {
- "auditLog": {
- "instance": 0,
- "objectType": 0
}, - "queryParameters": {
- "bySource": {
- "operations": {
- "length": 0,
- "setBits": [
- 0
]
}, - "sourceDeviceAddress": {
- "macAddress": "string",
- "networkNumber": 0
}, - "sourceDeviceIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "sourceObjectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "successfulActionsOnly": true
}, - "byTarget": {
- "operations": {
- "length": 0,
- "setBits": [
- 0
]
}, - "successfulActionsOnly": true,
- "targetArrayIndex": 0,
- "targetDeviceAddress": {
- "macAddress": "string",
- "networkNumber": 0
}, - "targetDeviceIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "targetObjectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "targetPriority": 0,
- "targetPropertyIdentifier": 0
}
}, - "requestedCount": 0,
- "startAtSequenceNumber": 0
}, - "confirmedAuditNotification": {
- "notifications": [
- {
- "currentValue": {
- "@type": "string"
}, - "invokeId": 0,
- "operation": 0,
- "result": {
- "errorClass": 0,
- "errorCode": 0
}, - "sourceComment": "string",
- "sourceDevice": {
- "address": {
- "macAddress": "string",
- "networkNumber": 0
}, - "device": {
- "instance": 0,
- "objectType": 0
}
}, - "sourceObject": {
- "instance": 0,
- "objectType": 0
}, - "sourceTimestamp": {
- "datetime": {
- "date": {
- "day": null,
- "month": null,
- "wday": null,
- "year": null
}, - "time": {
- "hour": null,
- "hundreth": null,
- "minute": null,
- "second": null
}
}, - "sequenceNumber": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "sourceUserId": 0,
- "sourceUserRole": 0,
- "targetComment": "string",
- "targetDevice": {
- "address": {
- "macAddress": "string",
- "networkNumber": 0
}, - "device": {
- "instance": 0,
- "objectType": 0
}
}, - "targetObject": {
- "instance": 0,
- "objectType": 0
}, - "targetPriority": 0,
- "targetProperty": {
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0
}, - "targetTimestamp": {
- "datetime": {
- "date": {
- "day": null,
- "month": null,
- "wday": null,
- "year": null
}, - "time": {
- "hour": null,
- "hundreth": null,
- "minute": null,
- "second": null
}
}, - "sequenceNumber": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "targetValue": {
- "@type": "string"
}
}
]
}, - "confirmedCovNotification": {
- "initiatingDeviceIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "listOfValues": [
- {
- "priority": 0,
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0,
- "propertyValue": {
- "@type": "string"
}
}
], - "monitoredObjectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "subscriberProcessIdentifier": 0,
- "timeRemaining": 0
}, - "confirmedCovNotificationMultiple": {
- "initiatingDeviceIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "listOfCovNotifications": [
- {
- "listOfValues": [
- {
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0,
- "propertyValue": {
- "@type": null
}, - "timeOfChange": {
- "hour": null,
- "hundreth": null,
- "minute": null,
- "second": null
}
}
], - "monitoredObjectIdentifier": {
- "instance": 0,
- "objectType": 0
}
}
], - "subscriberProcessIdentifier": 0,
- "timeRemaining": 0,
- "timestamp": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}
}, - "confirmedEventNotification": {
- "ackRequired": true,
- "eventObjectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "eventType": 0,
- "eventValues": {
- "accessEvent": {
- "accessCredential": {
- "deviceIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}
}, - "accessEvent": { },
- "accessEventTag": 0,
- "accessEventTime": {
- "datetime": {
- "date": {
- "day": null,
- "month": null,
- "wday": null,
- "year": null
}, - "time": {
- "hour": null,
- "hundreth": null,
- "minute": null,
- "second": null
}
}, - "sequenceNumber": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "authenticationFactor": {
- "formatClass": 0,
- "formatType": 0,
- "value": "string"
}, - "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "bufferReady": {
- "bufferProperty": {
- "deviceIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "propertyArrayIndex": 0,
- "propertyIdentifier": 0
}, - "currentNotification": 0,
- "previousNotification": 0
}, - "changeOfBitstring": {
- "referencedBitstring": {
- "length": 0,
- "setBits": [
- 0
]
}, - "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "changeOfCharacterstring": {
- "alarmValue": "string",
- "changedValue": "string",
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "changeOfDiscreteValue": {
- "newValue": {
- "boolean": true,
- "characterstring": "string",
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "datetime": {
- "date": {
- "day": null,
- "month": null,
- "wday": null,
- "year": null
}, - "time": {
- "hour": null,
- "hundreth": null,
- "minute": null,
- "second": null
}
}, - "enumerated": 0,
- "integer": "string",
- "objectidentifier": {
- "instance": 0,
- "objectType": 0
}, - "octetstring": "string",
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}, - "unsigned": 0
}, - "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "changeOfLifeSafety": {
- "newMode": 0,
- "newState": 0,
- "operationExpected": 0,
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "changeOfReliability": {
- "propertyValues": [
- {
- "priority": 0,
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0,
- "propertyValue": {
- "@type": null
}
}
], - "reliability": 0,
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "changeOfState": {
- "newState": {
- "accessCredentialDisable": 0,
- "accessCredentialDisableReason": 0,
- "accessEvent": 0,
- "action": 0,
- "auditLevel": 0,
- "auditOperation": 0,
- "authenticationStatus": 0,
- "backupState": 0,
- "bacnetIpMode": 0,
- "binaryLightingValue": 0,
- "binaryValue": 0,
- "booleanValue": true,
- "doorAlarmState": 0,
- "doorSecuredStatus": 0,
- "doorStatus": 0,
- "doorValue": 0,
- "escalatorFault": 0,
- "escalatorMode": 0,
- "escalatorOperationDirection": 0,
- "eventType": 0,
- "extendedValue": 0,
- "fileAccessMethod": 0,
- "integerValue": "string",
- "lifeSafetyMode": 0,
- "lifeSafetyOperation": 0,
- "lifeSafetyState": 0,
- "liftCarDirection": 0,
- "liftCarDoorCommand": 0,
- "liftCarDriveStatus": 0,
- "liftCarMode": 0,
- "liftFault": 0,
- "liftGroupMode": 0,
- "lightingInProgress": 0,
- "lightingOperation": 0,
- "lightingTransition": 0,
- "lockStatus": 0,
- "maintenance": 0,
- "networkNumberQuality": 0,
- "networkPortCommand": 0,
- "networkType": 0,
- "nodeType": 0,
- "notifyType": 0,
- "polarity": 0,
- "programChange": 0,
- "programState": 0,
- "protocolLevel": 0,
- "reasonForHalt": 0,
- "reliability": 0,
- "restartReason": 0,
- "shedState": 0,
- "silencedState": 0,
- "state": 0,
- "systemStatus": 0,
- "timerState": 0,
- "timerTransition": 0,
- "units": 0,
- "unsignedValue": 0,
- "writeStatus": 0,
- "zoneOccupancyState": 0
}, - "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "changeOfStatusFlags": {
- "presentValue": {
- "@type": "string"
}, - "referencedFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "changeOfTimer": {
- "expirationTime": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "initialTimeout": 0,
- "lastStateChange": 0,
- "newState": 0,
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}, - "updateTime": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}
}, - "changeOfValue": {
- "newValue": {
- "changedBits": {
- "length": 0,
- "setBits": [
- null
]
}, - "changedValue": 0
}, - "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "commandFailure": {
- "commandValue": {
- "@type": "string"
}, - "feedbackValue": {
- "@type": "string"
}, - "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "complexEventType": {
- "priority": 0,
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0,
- "propertyValue": {
- "@type": "string"
}
}, - "doubleOutOfRange": {
- "deadband": 0,
- "exceededLimit": 0,
- "exceedingValue": 0,
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "extended": {
- "extendedEventType": 0,
- "parameters": [
- {
- "bitstring": {
- "length": null,
- "setBits": [ ]
}, - "boolean": true,
- "characterstring": "string",
- "date": {
- "day": null,
- "month": null,
- "wday": null,
- "year": null
}, - "double": 0,
- "enumerated": 0,
- "integer": "string",
- "null": true,
- "objectidentifier": {
- "instance": null,
- "objectType": null
}, - "octetstring": "string",
- "real": 0,
- "reference": {
- "deviceIdentifier": null,
- "objectIdentifier": null,
- "propertyArrayIndex": null,
- "propertyIdentifier": null
}, - "time": {
- "hour": null,
- "hundreth": null,
- "minute": null,
- "second": null
}, - "unsigned": 0
}
], - "vendorId": 0
}, - "floatingLimit": {
- "errorLimit": 0,
- "referenceValue": 0,
- "setpointValue": 0,
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "outOfRange": {
- "deadband": 0,
- "exceededLimit": 0,
- "exceedingValue": 0,
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "signedOutOfRange": {
- "deadband": 0,
- "exceededLimit": "string",
- "exceedingValue": "string",
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "unsignedOutOfRange": {
- "deadband": 0,
- "exceededLimit": 0,
- "exceedingValue": 0,
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "unsignedRange": {
- "exceededLimit": 0,
- "exceedingValue": 0,
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}
}, - "fromState": 0,
- "initiatingDeviceIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "messageText": "string",
- "notificationClass": 0,
- "notifyType": 0,
- "priority": 0,
- "processIdentifier": 0,
- "timestamp": {
- "datetime": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "sequenceNumber": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "toState": 0
}, - "confirmedPrivateTransfer": {
- "serviceNumber": 0,
- "serviceParameters": {
- "@type": "string"
}, - "vendorId": 0
}, - "confirmedTextMessage": {
- "message": "string",
- "messageClass": {
- "character": "string",
- "numeric": 0
}, - "messagePriority": 0,
- "textMessageSourceDevice": {
- "instance": 0,
- "objectType": 0
}
}, - "createObject": {
- "listOfInitialValues": [
- {
- "priority": 0,
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0,
- "propertyValue": {
- "@type": "string"
}
}
], - "objectSpecifier": {
- "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "objectType": 0
}
}, - "deleteObject": {
- "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}
}, - "deviceCommunicationControl": {
- "enableDisable": 0,
- "password": "string",
- "timeDuration": 0
}, - "getEnrollmentSummary": {
- "acknowledgmentFilter": 0,
- "enrollmentFilter": {
- "processIdentifier": 0,
- "recipient": {
- "address": {
- "macAddress": "string",
- "networkNumber": 0
}, - "device": {
- "instance": 0,
- "objectType": 0
}
}
}, - "eventStateFilter": 0,
- "eventTypeFilter": 0,
- "notificationClassFilter": 0,
- "priorityFilter": {
- "maxPriority": 0,
- "minPriority": 0
}
}, - "getEventInformation": {
- "lastReceivedObjectIdentifier": {
- "instance": 0,
- "objectType": 0
}
}, - "lifeSafetyOperation": {
- "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "request": 0,
- "requestingProcessIdentifier": 0,
- "requestingSource": "string"
}, - "readProperty": {
- "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "propertyArrayIndex": 0,
- "propertyIdentifier": 0
}, - "readPropertyMultiple": {
- "listOfReadAccessSpecifications": [
- {
- "listOfPropertyReferences": [
- {
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0
}
], - "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}
}
]
}, - "readRange": {
- "byPosition": {
- "count": 0,
- "referenceIndex": 0
}, - "bySequenceNumber": {
- "count": 0,
- "referenceSequenceNumber": 0
}, - "byTime": {
- "count": 0,
- "referenceTime": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}
}, - "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "propertyArrayIndex": 0,
- "propertyIdentifier": 0
}, - "reinitializeDevice": {
- "password": "string",
- "reinitializedStateOfDevice": 0
}, - "removeListElement": {
- "listOfElements": {
- "@type": "string"
}, - "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "propertyArrayIndex": 0,
- "propertyIdentifier": 0
}, - "subscribeCov": {
- "issueConfirmedNotifications": true,
- "lifetime": 0,
- "monitoredObjectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "subscriberProcessIdentifier": 0
}, - "subscribeCovProperty": {
- "covIncrement": 0,
- "issueConfirmedNotifications": true,
- "lifetime": 0,
- "monitoredObjectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "monitoredPropertyIdentifier": {
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0
}, - "subscriberProcessIdentifier": 0
}, - "subscribeCovPropertyMultiple": {
- "issueConfirmedNotifications": true,
- "lifetime": 0,
- "listOfCovSubscriptionSpecifications": [
- {
- "listOfCovReferences": [
- {
- "covIncrement": 0,
- "monitoredProperty": {
- "propertyArrayIndex": null,
- "propertyIdentifier": null
}, - "timestamped": true
}
], - "monitoredObjectIdentifier": {
- "instance": 0,
- "objectType": 0
}
}
], - "maxNotificationDelay": 0,
- "subscriberProcessIdentifier": 0
}, - "vtClose": {
- "listOfRemoteVtSessionIdentifiers": [
- 0
]
}, - "vtData": {
- "vtDataFlag": 0,
- "vtNewData": "string",
- "vtSessionIdentifier": 0
}, - "vtOpen": {
- "localVtSessionIdentifier": 0,
- "vtClass": 0
}, - "writeProperty": {
- "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "priority": 0,
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0,
- "propertyValue": {
- "@type": "string"
}
}, - "writePropertyMultiple": {
- "listOfWriteAccessSpecifications": [
- {
- "listOfProperties": [
- {
- "priority": 0,
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0,
- "propertyValue": {
- "@type": null
}
}
], - "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}
}
]
}
}
}, - "errorPdu": {
- "error": {
- "acknowledgeAlarm": {
- "errorClass": 0,
- "errorCode": 0
}, - "addListElement": {
- "errorType": {
- "errorClass": 0,
- "errorCode": 0
}, - "firstFailedElementNumber": 0
}, - "atomicReadFile": {
- "errorClass": 0,
- "errorCode": 0
}, - "atomicWriteFile": {
- "errorClass": 0,
- "errorCode": 0
}, - "auditLogQuery": {
- "errorClass": 0,
- "errorCode": 0
}, - "confirmedAuditNotification": {
- "errorClass": 0,
- "errorCode": 0
}, - "confirmedCovNotification": {
- "errorClass": 0,
- "errorCode": 0
}, - "confirmedCovNotificationMultiple": {
- "errorClass": 0,
- "errorCode": 0
}, - "confirmedEventNotification": {
- "errorClass": 0,
- "errorCode": 0
}, - "confirmedPrivateTransfer": {
- "errorParameters": {
- "@type": "string"
}, - "errorType": {
- "errorClass": 0,
- "errorCode": 0
}, - "serviceNumber": 0,
- "vendorId": 0
}, - "confirmedTextMessage": {
- "errorClass": 0,
- "errorCode": 0
}, - "createObject": {
- "errorType": {
- "errorClass": 0,
- "errorCode": 0
}, - "firstFailedElementNumber": 0
}, - "deleteObject": {
- "errorClass": 0,
- "errorCode": 0
}, - "deviceCommunicationControl": {
- "errorClass": 0,
- "errorCode": 0
}, - "getAlarmSummary": {
- "errorClass": 0,
- "errorCode": 0
}, - "getEnrollmentSummary": {
- "errorClass": 0,
- "errorCode": 0
}, - "getEventInformation": {
- "errorClass": 0,
- "errorCode": 0
}, - "lifeSafetyOperation": {
- "errorClass": 0,
- "errorCode": 0
}, - "other": {
- "errorClass": 0,
- "errorCode": 0
}, - "readProperty": {
- "errorClass": 0,
- "errorCode": 0
}, - "readPropertyMultiple": {
- "errorClass": 0,
- "errorCode": 0
}, - "readRange": {
- "errorClass": 0,
- "errorCode": 0
}, - "reinitializeDevice": {
- "errorClass": 0,
- "errorCode": 0
}, - "removeListElement": {
- "errorType": {
- "errorClass": 0,
- "errorCode": 0
}, - "firstFailedElementNumber": 0
}, - "subscribeCov": {
- "errorClass": 0,
- "errorCode": 0
}, - "subscribeCovProperty": {
- "errorClass": 0,
- "errorCode": 0
}, - "subscribeCovPropertyMultiple": {
- "errorType": {
- "errorClass": 0,
- "errorCode": 0
}, - "firstFailedSubscription": {
- "errorType": {
- "errorClass": 0,
- "errorCode": 0
}, - "monitoredObjectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "monitoredPropertyReference": {
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0
}
}
}, - "vtClose": {
- "errorType": {
- "errorClass": 0,
- "errorCode": 0
}, - "listOfVtSessionIdentifiers": [
- 0
]
}, - "vtData": {
- "errorClass": 0,
- "errorCode": 0
}, - "vtOpen": {
- "errorClass": 0,
- "errorCode": 0
}, - "writeProperty": {
- "errorClass": 0,
- "errorCode": 0
}, - "writePropertyMultiple": {
- "errorType": {
- "errorClass": 0,
- "errorCode": 0
}, - "firstFailedWriteAttempt": {
- "arrayIndex": 0,
- "deviceId": {
- "instance": 0,
- "objectType": 0
}, - "objectId": {
- "instance": 0,
- "objectType": 0
}, - "propertyId": 0
}
}
}, - "errorChoice": 0,
- "originalInvokeId": 0,
- "pduType": 0,
- "reserved": 0
}, - "rejectPdu": {
- "originalInvokeId": 0,
- "pduType": 0,
- "rejectReason": 0,
- "reserved": 0
}, - "segmentAckPdu": {
- "actualWindowSize": 0,
- "negativeAck": true,
- "originalInvokeId": 0,
- "pduType": 0,
- "reserved": 0,
- "sequenceNumber": 0,
- "server": true
}, - "simpleAckPdu": {
- "invokeId": 0,
- "pduType": 0,
- "reserved": 0,
- "serviceAckChoice": 0
}, - "unconfirmedRequestPdu": {
- "pduType": 0,
- "reserved": 0,
- "serviceChoice": 0,
- "serviceRequest": {
- "iAm": {
- "iAmDeviceIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "maxApduLengthAccepted": 0,
- "segmentationSupported": 0,
- "vendorId": 0
}, - "iHave": {
- "deviceIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "objectName": "string"
}, - "timeSynchronization": {
- "time": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}
}, - "unconfirmedAuditNotification": {
- "notifications": [
- {
- "currentValue": {
- "@type": "string"
}, - "invokeId": 0,
- "operation": 0,
- "result": {
- "errorClass": 0,
- "errorCode": 0
}, - "sourceComment": "string",
- "sourceDevice": {
- "address": {
- "macAddress": "string",
- "networkNumber": 0
}, - "device": {
- "instance": 0,
- "objectType": 0
}
}, - "sourceObject": {
- "instance": 0,
- "objectType": 0
}, - "sourceTimestamp": {
- "datetime": {
- "date": {
- "day": null,
- "month": null,
- "wday": null,
- "year": null
}, - "time": {
- "hour": null,
- "hundreth": null,
- "minute": null,
- "second": null
}
}, - "sequenceNumber": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "sourceUserId": 0,
- "sourceUserRole": 0,
- "targetComment": "string",
- "targetDevice": {
- "address": {
- "macAddress": "string",
- "networkNumber": 0
}, - "device": {
- "instance": 0,
- "objectType": 0
}
}, - "targetObject": {
- "instance": 0,
- "objectType": 0
}, - "targetPriority": 0,
- "targetProperty": {
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0
}, - "targetTimestamp": {
- "datetime": {
- "date": {
- "day": null,
- "month": null,
- "wday": null,
- "year": null
}, - "time": {
- "hour": null,
- "hundreth": null,
- "minute": null,
- "second": null
}
}, - "sequenceNumber": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "targetValue": {
- "@type": "string"
}
}
]
}, - "unconfirmedCovNotification": {
- "initiatingDeviceIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "listOfValues": [
- {
- "priority": 0,
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0,
- "propertyValue": {
- "@type": "string"
}
}
], - "monitoredObjectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "subscriberProcessIdentifier": 0,
- "timeRemaining": 0
}, - "unconfirmedCovNotificationMultiple": {
- "initiatingDeviceIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "listOfCovNotifications": [
- {
- "listOfValues": [
- {
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0,
- "propertyValue": {
- "@type": null
}, - "timeOfChange": {
- "hour": null,
- "hundreth": null,
- "minute": null,
- "second": null
}
}
], - "monitoredObjectIdentifier": {
- "instance": 0,
- "objectType": 0
}
}
], - "subscriberProcessIdentifier": 0,
- "timeRemaining": 0,
- "timestamp": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}
}, - "unconfirmedEventNotification": {
- "ackRequired": true,
- "eventObjectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "eventType": 0,
- "eventValues": {
- "accessEvent": {
- "accessCredential": {
- "deviceIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}
}, - "accessEvent": { },
- "accessEventTag": 0,
- "accessEventTime": {
- "datetime": {
- "date": {
- "day": null,
- "month": null,
- "wday": null,
- "year": null
}, - "time": {
- "hour": null,
- "hundreth": null,
- "minute": null,
- "second": null
}
}, - "sequenceNumber": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "authenticationFactor": {
- "formatClass": 0,
- "formatType": 0,
- "value": "string"
}, - "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "bufferReady": {
- "bufferProperty": {
- "deviceIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "propertyArrayIndex": 0,
- "propertyIdentifier": 0
}, - "currentNotification": 0,
- "previousNotification": 0
}, - "changeOfBitstring": {
- "referencedBitstring": {
- "length": 0,
- "setBits": [
- 0
]
}, - "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "changeOfCharacterstring": {
- "alarmValue": "string",
- "changedValue": "string",
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "changeOfDiscreteValue": {
- "newValue": {
- "boolean": true,
- "characterstring": "string",
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "datetime": {
- "date": {
- "day": null,
- "month": null,
- "wday": null,
- "year": null
}, - "time": {
- "hour": null,
- "hundreth": null,
- "minute": null,
- "second": null
}
}, - "enumerated": 0,
- "integer": "string",
- "objectidentifier": {
- "instance": 0,
- "objectType": 0
}, - "octetstring": "string",
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}, - "unsigned": 0
}, - "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "changeOfLifeSafety": {
- "newMode": 0,
- "newState": 0,
- "operationExpected": 0,
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "changeOfReliability": {
- "propertyValues": [
- {
- "priority": 0,
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0,
- "propertyValue": {
- "@type": null
}
}
], - "reliability": 0,
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "changeOfState": {
- "newState": {
- "accessCredentialDisable": 0,
- "accessCredentialDisableReason": 0,
- "accessEvent": 0,
- "action": 0,
- "auditLevel": 0,
- "auditOperation": 0,
- "authenticationStatus": 0,
- "backupState": 0,
- "bacnetIpMode": 0,
- "binaryLightingValue": 0,
- "binaryValue": 0,
- "booleanValue": true,
- "doorAlarmState": 0,
- "doorSecuredStatus": 0,
- "doorStatus": 0,
- "doorValue": 0,
- "escalatorFault": 0,
- "escalatorMode": 0,
- "escalatorOperationDirection": 0,
- "eventType": 0,
- "extendedValue": 0,
- "fileAccessMethod": 0,
- "integerValue": "string",
- "lifeSafetyMode": 0,
- "lifeSafetyOperation": 0,
- "lifeSafetyState": 0,
- "liftCarDirection": 0,
- "liftCarDoorCommand": 0,
- "liftCarDriveStatus": 0,
- "liftCarMode": 0,
- "liftFault": 0,
- "liftGroupMode": 0,
- "lightingInProgress": 0,
- "lightingOperation": 0,
- "lightingTransition": 0,
- "lockStatus": 0,
- "maintenance": 0,
- "networkNumberQuality": 0,
- "networkPortCommand": 0,
- "networkType": 0,
- "nodeType": 0,
- "notifyType": 0,
- "polarity": 0,
- "programChange": 0,
- "programState": 0,
- "protocolLevel": 0,
- "reasonForHalt": 0,
- "reliability": 0,
- "restartReason": 0,
- "shedState": 0,
- "silencedState": 0,
- "state": 0,
- "systemStatus": 0,
- "timerState": 0,
- "timerTransition": 0,
- "units": 0,
- "unsignedValue": 0,
- "writeStatus": 0,
- "zoneOccupancyState": 0
}, - "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "changeOfStatusFlags": {
- "presentValue": {
- "@type": "string"
}, - "referencedFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "changeOfTimer": {
- "expirationTime": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "initialTimeout": 0,
- "lastStateChange": 0,
- "newState": 0,
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}, - "updateTime": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}
}, - "changeOfValue": {
- "newValue": {
- "changedBits": {
- "length": 0,
- "setBits": [
- null
]
}, - "changedValue": 0
}, - "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "commandFailure": {
- "commandValue": {
- "@type": "string"
}, - "feedbackValue": {
- "@type": "string"
}, - "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "complexEventType": {
- "priority": 0,
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0,
- "propertyValue": {
- "@type": "string"
}
}, - "doubleOutOfRange": {
- "deadband": 0,
- "exceededLimit": 0,
- "exceedingValue": 0,
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "extended": {
- "extendedEventType": 0,
- "parameters": [
- {
- "bitstring": {
- "length": null,
- "setBits": [ ]
}, - "boolean": true,
- "characterstring": "string",
- "date": {
- "day": null,
- "month": null,
- "wday": null,
- "year": null
}, - "double": 0,
- "enumerated": 0,
- "integer": "string",
- "null": true,
- "objectidentifier": {
- "instance": null,
- "objectType": null
}, - "octetstring": "string",
- "real": 0,
- "reference": {
- "deviceIdentifier": null,
- "objectIdentifier": null,
- "propertyArrayIndex": null,
- "propertyIdentifier": null
}, - "time": {
- "hour": null,
- "hundreth": null,
- "minute": null,
- "second": null
}, - "unsigned": 0
}
], - "vendorId": 0
}, - "floatingLimit": {
- "errorLimit": 0,
- "referenceValue": 0,
- "setpointValue": 0,
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "outOfRange": {
- "deadband": 0,
- "exceededLimit": 0,
- "exceedingValue": 0,
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "signedOutOfRange": {
- "deadband": 0,
- "exceededLimit": "string",
- "exceedingValue": "string",
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "unsignedOutOfRange": {
- "deadband": 0,
- "exceededLimit": 0,
- "exceedingValue": 0,
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "unsignedRange": {
- "exceededLimit": 0,
- "exceedingValue": 0,
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}
}, - "fromState": 0,
- "initiatingDeviceIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "messageText": "string",
- "notificationClass": 0,
- "notifyType": 0,
- "priority": 0,
- "processIdentifier": 0,
- "timestamp": {
- "datetime": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "sequenceNumber": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "toState": 0
}, - "unconfirmedPrivateTransfer": {
- "serviceNumber": 0,
- "serviceParameters": {
- "@type": "string"
}, - "vendorId": 0
}, - "unconfirmedTextMessage": {
- "message": "string",
- "messageClass": {
- "character": "string",
- "numeric": 0
}, - "messagePriority": 0,
- "textMessageSourceDevice": {
- "instance": 0,
- "objectType": 0
}
}, - "utcTimeSynchronization": {
- "time": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}
}, - "whoAmI": {
- "modelName": "string",
- "serialNumber": "string",
- "vendorId": 0
}, - "whoHas": {
- "limits": {
- "deviceInstanceRangeHighLimit": 0,
- "deviceInstanceRangeLowLimit": 0
}, - "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "objectName": "string"
}, - "whoIs": {
- "deviceInstanceRangeHighLimit": 0,
- "deviceInstanceRangeLowLimit": 0
}, - "writeGroup": {
- "changeList": [
- {
- "channel": 0,
- "overridingPriority": 0,
- "value": {
- "bitstring": {
- "length": 0,
- "setBits": [
- null
]
}, - "boolean": true,
- "characterstring": "string",
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "double": 0,
- "enumerated": 0,
- "integer": "string",
- "lightingCommand": {
- "fadeTime": 0,
- "operation": 0,
- "priority": 0,
- "rampRate": 0,
- "stepIncrement": 0,
- "targetLevel": 0
}, - "null": true,
- "objectidentifier": {
- "instance": 0,
- "objectType": 0
}, - "octetstring": "string",
- "real": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}, - "unsigned": 0
}
}
], - "groupNumber": 0,
- "inhibitDelay": true,
- "writePriority": 0
}, - "youAre": {
- "deviceIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "deviceMacAddress": "string",
- "modelName": "string",
- "serialNumber": "string",
- "vendorId": 0
}
}
}
}, - "src": {
- "adr": "string",
- "bbmd": "string",
- "deviceId": 0,
- "mac": "string",
- "maxApdu": 0,
- "net": 0,
- "portId": 0
}
}
{- "deviceAddress": {
- "adr": "string",
- "bbmd": "string",
- "deviceId": 0,
- "mac": "string",
- "maxApdu": 0,
- "net": 0,
- "portId": 0
}, - "request": {
- "iAm": {
- "iAmDeviceIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "maxApduLengthAccepted": 0,
- "segmentationSupported": 0,
- "vendorId": 0
}, - "iHave": {
- "deviceIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "objectName": "string"
}, - "timeSynchronization": {
- "time": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}
}, - "unconfirmedAuditNotification": {
- "notifications": [
- {
- "currentValue": {
- "@type": "string"
}, - "invokeId": 0,
- "operation": 0,
- "result": {
- "errorClass": 0,
- "errorCode": 0
}, - "sourceComment": "string",
- "sourceDevice": {
- "address": {
- "macAddress": "string",
- "networkNumber": 0
}, - "device": {
- "instance": 0,
- "objectType": 0
}
}, - "sourceObject": {
- "instance": 0,
- "objectType": 0
}, - "sourceTimestamp": {
- "datetime": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "sequenceNumber": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "sourceUserId": 0,
- "sourceUserRole": 0,
- "targetComment": "string",
- "targetDevice": {
- "address": {
- "macAddress": "string",
- "networkNumber": 0
}, - "device": {
- "instance": 0,
- "objectType": 0
}
}, - "targetObject": {
- "instance": 0,
- "objectType": 0
}, - "targetPriority": 0,
- "targetProperty": {
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0
}, - "targetTimestamp": {
- "datetime": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "sequenceNumber": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "targetValue": {
- "@type": "string"
}
}
]
}, - "unconfirmedCovNotification": {
- "initiatingDeviceIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "listOfValues": [
- {
- "priority": 0,
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0,
- "propertyValue": {
- "@type": "string"
}
}
], - "monitoredObjectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "subscriberProcessIdentifier": 0,
- "timeRemaining": 0
}, - "unconfirmedCovNotificationMultiple": {
- "initiatingDeviceIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "listOfCovNotifications": [
- {
- "listOfValues": [
- {
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0,
- "propertyValue": {
- "@type": "string"
}, - "timeOfChange": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}
], - "monitoredObjectIdentifier": {
- "instance": 0,
- "objectType": 0
}
}
], - "subscriberProcessIdentifier": 0,
- "timeRemaining": 0,
- "timestamp": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}
}, - "unconfirmedEventNotification": {
- "ackRequired": true,
- "eventObjectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "eventType": 0,
- "eventValues": {
- "accessEvent": {
- "accessCredential": {
- "deviceIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}
}, - "accessEvent": { },
- "accessEventTag": 0,
- "accessEventTime": {
- "datetime": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "sequenceNumber": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "authenticationFactor": {
- "formatClass": 0,
- "formatType": 0,
- "value": "string"
}, - "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "bufferReady": {
- "bufferProperty": {
- "deviceIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "propertyArrayIndex": 0,
- "propertyIdentifier": 0
}, - "currentNotification": 0,
- "previousNotification": 0
}, - "changeOfBitstring": {
- "referencedBitstring": {
- "length": 0,
- "setBits": [
- 0
]
}, - "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "changeOfCharacterstring": {
- "alarmValue": "string",
- "changedValue": "string",
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "changeOfDiscreteValue": {
- "newValue": {
- "boolean": true,
- "characterstring": "string",
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "datetime": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "enumerated": 0,
- "integer": "string",
- "objectidentifier": {
- "instance": 0,
- "objectType": 0
}, - "octetstring": "string",
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}, - "unsigned": 0
}, - "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "changeOfLifeSafety": {
- "newMode": 0,
- "newState": 0,
- "operationExpected": 0,
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "changeOfReliability": {
- "propertyValues": [
- {
- "priority": 0,
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0,
- "propertyValue": {
- "@type": "string"
}
}
], - "reliability": 0,
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "changeOfState": {
- "newState": {
- "accessCredentialDisable": 0,
- "accessCredentialDisableReason": 0,
- "accessEvent": 0,
- "action": 0,
- "auditLevel": 0,
- "auditOperation": 0,
- "authenticationStatus": 0,
- "backupState": 0,
- "bacnetIpMode": 0,
- "binaryLightingValue": 0,
- "binaryValue": 0,
- "booleanValue": true,
- "doorAlarmState": 0,
- "doorSecuredStatus": 0,
- "doorStatus": 0,
- "doorValue": 0,
- "escalatorFault": 0,
- "escalatorMode": 0,
- "escalatorOperationDirection": 0,
- "eventType": 0,
- "extendedValue": 0,
- "fileAccessMethod": 0,
- "integerValue": "string",
- "lifeSafetyMode": 0,
- "lifeSafetyOperation": 0,
- "lifeSafetyState": 0,
- "liftCarDirection": 0,
- "liftCarDoorCommand": 0,
- "liftCarDriveStatus": 0,
- "liftCarMode": 0,
- "liftFault": 0,
- "liftGroupMode": 0,
- "lightingInProgress": 0,
- "lightingOperation": 0,
- "lightingTransition": 0,
- "lockStatus": 0,
- "maintenance": 0,
- "networkNumberQuality": 0,
- "networkPortCommand": 0,
- "networkType": 0,
- "nodeType": 0,
- "notifyType": 0,
- "polarity": 0,
- "programChange": 0,
- "programState": 0,
- "protocolLevel": 0,
- "reasonForHalt": 0,
- "reliability": 0,
- "restartReason": 0,
- "shedState": 0,
- "silencedState": 0,
- "state": 0,
- "systemStatus": 0,
- "timerState": 0,
- "timerTransition": 0,
- "units": 0,
- "unsignedValue": 0,
- "writeStatus": 0,
- "zoneOccupancyState": 0
}, - "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "changeOfStatusFlags": {
- "presentValue": {
- "@type": "string"
}, - "referencedFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "changeOfTimer": {
- "expirationTime": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "initialTimeout": 0,
- "lastStateChange": 0,
- "newState": 0,
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}, - "updateTime": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}
}, - "changeOfValue": {
- "newValue": {
- "changedBits": {
- "length": 0,
- "setBits": [
- 0
]
}, - "changedValue": 0
}, - "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "commandFailure": {
- "commandValue": {
- "@type": "string"
}, - "feedbackValue": {
- "@type": "string"
}, - "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "complexEventType": {
- "priority": 0,
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0,
- "propertyValue": {
- "@type": "string"
}
}, - "doubleOutOfRange": {
- "deadband": 0,
- "exceededLimit": 0,
- "exceedingValue": 0,
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "extended": {
- "extendedEventType": 0,
- "parameters": [
- {
- "bitstring": {
- "length": 0,
- "setBits": [
- 0
]
}, - "boolean": true,
- "characterstring": "string",
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "double": 0,
- "enumerated": 0,
- "integer": "string",
- "null": true,
- "objectidentifier": {
- "instance": 0,
- "objectType": 0
}, - "octetstring": "string",
- "real": 0,
- "reference": {
- "deviceIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "propertyArrayIndex": 0,
- "propertyIdentifier": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}, - "unsigned": 0
}
], - "vendorId": 0
}, - "floatingLimit": {
- "errorLimit": 0,
- "referenceValue": 0,
- "setpointValue": 0,
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "outOfRange": {
- "deadband": 0,
- "exceededLimit": 0,
- "exceedingValue": 0,
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "signedOutOfRange": {
- "deadband": 0,
- "exceededLimit": "string",
- "exceedingValue": "string",
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "unsignedOutOfRange": {
- "deadband": 0,
- "exceededLimit": 0,
- "exceedingValue": 0,
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}, - "unsignedRange": {
- "exceededLimit": 0,
- "exceedingValue": 0,
- "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}
}
}, - "fromState": 0,
- "initiatingDeviceIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "messageText": "string",
- "notificationClass": 0,
- "notifyType": 0,
- "priority": 0,
- "processIdentifier": 0,
- "timestamp": {
- "datetime": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "sequenceNumber": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}, - "toState": 0
}, - "unconfirmedPrivateTransfer": {
- "serviceNumber": 0,
- "serviceParameters": {
- "@type": "string"
}, - "vendorId": 0
}, - "unconfirmedTextMessage": {
- "message": "string",
- "messageClass": {
- "character": "string",
- "numeric": 0
}, - "messagePriority": 0,
- "textMessageSourceDevice": {
- "instance": 0,
- "objectType": 0
}
}, - "utcTimeSynchronization": {
- "time": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}
}, - "whoAmI": {
- "modelName": "string",
- "serialNumber": "string",
- "vendorId": 0
}, - "whoHas": {
- "limits": {
- "deviceInstanceRangeHighLimit": 0,
- "deviceInstanceRangeLowLimit": 0
}, - "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "objectName": "string"
}, - "whoIs": {
- "deviceInstanceRangeHighLimit": 0,
- "deviceInstanceRangeLowLimit": 0
}, - "writeGroup": {
- "changeList": [
- {
- "channel": 0,
- "overridingPriority": 0,
- "value": {
- "bitstring": {
- "length": 0,
- "setBits": [
- 0
]
}, - "boolean": true,
- "characterstring": "string",
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "double": 0,
- "enumerated": 0,
- "integer": "string",
- "lightingCommand": {
- "fadeTime": 0,
- "operation": 0,
- "priority": 0,
- "rampRate": 0,
- "stepIncrement": 0,
- "targetLevel": 0
}, - "null": true,
- "objectidentifier": {
- "instance": 0,
- "objectType": 0
}, - "octetstring": "string",
- "real": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}, - "unsigned": 0
}
}
], - "groupNumber": 0,
- "inhibitDelay": true,
- "writePriority": 0
}, - "youAre": {
- "deviceIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "deviceMacAddress": "string",
- "modelName": "string",
- "serialNumber": "string",
- "vendorId": 0
}
}
}
BACnet Service, version 1
The BACnet Service provides access to certain popular BACnet services at a low level of abstraction. However, unlike the BACnet V2 service, certain operations may be executed using equivalent operations in order to improve network performance. For instance, ReadProperty requests may be merged and executed using the ReadProperty-Multiple service if the underlying device support it.
Read a file using the AtomicReadFile service
This function will return a stream of chunks of up to max_apdu
size from the
file specified in the request. The offset
and length
parameters can be used
to perform partial reads on the file.
Only the stream access mode is supported.
The client must concatinate the resulting file by appending each chunk to a file
object (ObjectIdentifier) | |
object (AtomicReadFileRequest_RecordAccess) | |
object (AtomicReadFileRequest_StreamAccess) |
{- "fileIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "recordAccess": {
- "fileStartRecord": "string",
- "requestedRecordCount": 0
}, - "streamAccess": {
- "fileStartPosition": "string",
- "requestedOctetCount": 0
}
}
{- "data": "string",
- "end": true,
- "error": {
- "errorClass": 0,
- "errorCode": 0
}
}
Execute a ReadProperty request against a BACnet device. This may
be merged with other pending reads into a ReadPropMultiple
.
deviceAddress.mac | string <bytes> |
deviceAddress.net | integer <uint32> |
deviceAddress.adr | string <bytes> |
deviceAddress.maxApdu | integer <uint32> |
deviceAddress.deviceId | integer <uint32> if this is null we will use the wildcard |
deviceAddress.bbmd | string <bytes> |
deviceAddress.portId | integer <uint32> the id of the network port the device is on. 0 = the default port (usually BACnet/IP) |
objectId.objectType | integer <enum> |
objectId.instance | integer <uint32> |
propertyId | integer <enum> property name |
arrayIndex | integer <uint32> array index, or null if not included. |
options.timeout.seconds | string Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years |
options.timeout.nanos | integer <int32> Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 |
options.unmergeable | boolean certain operations (reads) may be merged; set to false if you don't want this to happen. |
options.priority | integer <int32> priority level for scheduling. higher number is lower priority (like nice values) |
options.continueOnError | boolean if an operation has multiple components (like a ReadPropertyMultiple), wheather to return partial results and try on error. |
options.blockLowerPriority | boolean if true, cause other lower-priority operations to fail while this operation is being executed. |
useFutureValues | boolean |
{- "error": {
- "errorClass": 0,
- "errorCode": 0
}, - "futureValue": {
- "@type": "string"
}, - "property": {
- "arrayIndex": 0,
- "deviceId": {
- "instance": 0,
- "objectType": 0
}, - "objectId": {
- "instance": 0,
- "objectType": 0
}, - "propertyId": 0
}, - "value": {
- "array": [
- { }
], - "bitString": {
- "length": 0,
- "setBits": [
- 0
]
}, - "boolean": true,
- "characterString": "string",
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "double": 0,
- "enumerated": 0,
- "null": true,
- "objectId": {
- "instance": 0,
- "objectType": 0
}, - "octetString": "string",
- "real": 0,
- "signed": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}, - "unsigned": 0
}
}
Execute a ReadProperty request against a BACnet device. This may
be merged with other pending reads into a ReadPropMultiple
.
object (ObjectIdentifier) | |
propertyArrayIndex | integer <uint32> |
propertyIdentifier | integer <enum> |
{- "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "propertyArrayIndex": 0,
- "propertyIdentifier": 0
}
{- "error": {
- "errorClass": 0,
- "errorCode": 0
}, - "futureValue": {
- "@type": "string"
}, - "property": {
- "arrayIndex": 0,
- "deviceId": {
- "instance": 0,
- "objectType": 0
}, - "objectId": {
- "instance": 0,
- "objectType": 0
}, - "propertyId": 0
}, - "value": {
- "array": [
- { }
], - "bitString": {
- "length": 0,
- "setBits": [
- 0
]
}, - "boolean": true,
- "characterString": "string",
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "double": 0,
- "enumerated": 0,
- "null": true,
- "objectId": {
- "instance": 0,
- "objectType": 0
}, - "octetString": "string",
- "real": 0,
- "signed": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}, - "unsigned": 0
}
}
Read a list of properties from a single device.
This function does not map 1-1 onto BACnet operations; reads may be merged with other pending reads, split up due to APDU limits on the device or return cached data.
deviceAddress.mac | string <bytes> |
deviceAddress.net | integer <uint32> |
deviceAddress.adr | string <bytes> |
deviceAddress.maxApdu | integer <uint32> |
deviceAddress.deviceId | integer <uint32> if this is null we will use the wildcard |
deviceAddress.bbmd | string <bytes> |
deviceAddress.portId | integer <uint32> the id of the network port the device is on. 0 = the default port (usually BACnet/IP) |
options.timeout.seconds | string Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years |
options.timeout.nanos | integer <int32> Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 |
options.unmergeable | boolean certain operations (reads) may be merged; set to false if you don't want this to happen. |
options.priority | integer <int32> priority level for scheduling. higher number is lower priority (like nice values) |
options.continueOnError | boolean if an operation has multiple components (like a ReadPropertyMultiple), wheather to return partial results and try on error. |
options.blockLowerPriority | boolean if true, cause other lower-priority operations to fail while this operation is being executed. |
useFutureValues | boolean |
{- "error": {
- "errorClass": 0,
- "errorCode": 0
}, - "values": [
- {
- "error": {
- "errorClass": 0,
- "errorCode": 0
}, - "futureValue": {
- "@type": "string"
}, - "property": {
- "arrayIndex": 0,
- "deviceId": {
- "instance": 0,
- "objectType": 0
}, - "objectId": {
- "instance": 0,
- "objectType": 0
}, - "propertyId": 0
}, - "value": {
- "array": [
- { }
], - "bitString": {
- "length": 0,
- "setBits": [
- 0
]
}, - "boolean": true,
- "characterString": "string",
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "double": 0,
- "enumerated": 0,
- "null": true,
- "objectId": {
- "instance": 0,
- "objectType": 0
}, - "octetString": "string",
- "real": 0,
- "signed": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}, - "unsigned": 0
}
}
]
}
Read a list of properties from a single device.
This function does not map 1-1 onto BACnet operations; reads may be merged with other pending reads, split up due to APDU limits on the device or return cached data.
object (DeviceAddress) DeviceAddress. Specifies the full network address of a BACnet device. | |
object (OperationOptions) Options that apply to the handling of a request within the stack. | |
Array of objects (ObjectPropertyReference) a list of object and property referneces we want to read. in the BACnet RPM spec these are nested; but we flatten them out for simplicity. | |
useFutureValues | boolean |
{- "deviceAddress": {
- "adr": "string",
- "bbmd": "string",
- "deviceId": 0,
- "mac": "string",
- "maxApdu": 0,
- "net": 0,
- "portId": 0
}, - "options": {
- "blockLowerPriority": true,
- "continueOnError": true,
- "priority": 0,
- "timeout": {
- "nanos": 0,
- "seconds": "string"
}, - "unmergeable": true
}, - "readProperties": [
- {
- "arrayIndex": 0,
- "deviceId": {
- "instance": 0,
- "objectType": 0
}, - "objectId": {
- "instance": 0,
- "objectType": 0
}, - "propertyId": 0
}
], - "useFutureValues": true
}
{- "error": {
- "errorClass": 0,
- "errorCode": 0
}, - "values": [
- {
- "error": {
- "errorClass": 0,
- "errorCode": 0
}, - "futureValue": {
- "@type": "string"
}, - "property": {
- "arrayIndex": 0,
- "deviceId": {
- "instance": 0,
- "objectType": 0
}, - "objectId": {
- "instance": 0,
- "objectType": 0
}, - "propertyId": 0
}, - "value": {
- "array": [
- { }
], - "bitString": {
- "length": 0,
- "setBits": [
- 0
]
}, - "boolean": true,
- "characterString": "string",
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "double": 0,
- "enumerated": 0,
- "null": true,
- "objectId": {
- "instance": 0,
- "objectType": 0
}, - "octetString": "string",
- "real": 0,
- "signed": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}, - "unsigned": 0
}
}
]
}
Perform a ReadRange request against the specified object; usually the Log_Buffer property of a Trend Log.
Only reading by absolution position or sequence nber are supported.
object (ReadRangeRequest_ByPosition) | |
object (ReadRangeRequest_BySequenceNumber) | |
object (ReadRangeRequest_ByTime) | |
object (ObjectIdentifier) | |
propertyArrayIndex | integer <uint32> |
propertyIdentifier | integer <enum> |
{- "byPosition": {
- "count": 0,
- "referenceIndex": 0
}, - "bySequenceNumber": {
- "count": 0,
- "referenceSequenceNumber": 0
}, - "byTime": {
- "count": 0,
- "referenceTime": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}
}, - "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "propertyArrayIndex": 0,
- "propertyIdentifier": 0
}
{- "error": {
- "errorClass": 0,
- "errorCode": 0
}, - "firstSequence": 0,
- "itemCount": 0,
- "records": [
- {
- "logDatum": {
- "anyValue": {
- "@type": "string"
}, - "bitstringValue": {
- "length": 0,
- "setBits": [
- 0
]
}, - "booleanValue": true,
- "enumeratedValue": 0,
- "failure": {
- "errorClass": 0,
- "errorCode": 0
}, - "integerValue": "string",
- "logStatus": {
- "length": 0,
- "setBits": [
- 0
]
}, - "nullValue": true,
- "realValue": 0,
- "timeChange": 0,
- "unsignedValue": 0
}, - "statusFlags": {
- "length": 0,
- "setBits": [
- 0
]
}, - "timestamp": {
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}
}
}
]
}
Send a Who-Is request on the configured network, and stream the discovered devices until the timeout expires.
deviceInstanceRangeHighLimit | integer <uint32> |
deviceInstanceRangeLowLimit | integer <uint32> |
{- "deviceInstanceRangeHighLimit": 0,
- "deviceInstanceRangeLowLimit": 0
}
{- "deviceAddress": {
- "adr": "string",
- "bbmd": "string",
- "deviceId": 0,
- "mac": "string",
- "maxApdu": 0,
- "net": 0,
- "portId": 0
}
}
Send a WhoIsRouter request, and stream back replies until the timeout expires.
mac | string <bytes> optional, MAC to send the request two. if not set, sent to broadcast |
net | integer <uint32> optional, DNET if set |
object (OperationOptions) Options that apply to the handling of a request within the stack. |
{- "mac": "string",
- "net": 0,
- "options": {
- "blockLowerPriority": true,
- "continueOnError": true,
- "priority": 0,
- "timeout": {
- "nanos": 0,
- "seconds": "string"
}, - "unmergeable": true
}
}
{- "mac": "string",
- "nets": [
- 0
]
}
Write a single property. You may get an error if the right type is not used.
object (ObjectIdentifier) | |
priority | integer <uint32> |
propertyArrayIndex | integer <uint32> |
propertyIdentifier | integer <enum> |
object (GoogleProtobufAny) Contains an arbitrary serialized message along with a @type that describes the type of the serialized message. |
{- "objectIdentifier": {
- "instance": 0,
- "objectType": 0
}, - "priority": 0,
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0,
- "propertyValue": {
- "@type": "string"
}
}
{- "error": {
- "errorClass": 0,
- "errorCode": 0
}
}
The command service provides higher-level access to underlying device operations, including generic "Read" and "Write" operations. These operations encapsulate much of the device-specific code required in order to interact with field devices, such as retrieving BACnet network addresses from the Point service and submitting valid BACnet requests.
The command service also supports grouping multiple operations into command operations. Grouping operations allow Normal to perform expiration and reversion of write operations after a period of time, either by clearing an element in a priority array; or by writing back the original value.
GetCommands returns a list of active commands.
pageOffset | string |
pageSize | string |
{- "commands": [
- {
- "activeWrites": [
- {
- "anyValue": {
- "@type": "string"
}, - "bacnetOptions": {
- "priority": 0,
- "propertyIdentifier": 0,
- "propertyIdentifierZero": true
}, - "options": {
- "driverOptions": {
- "bacnetOptions": {
- "priority": 0,
- "propertyIdentifier": 0,
- "propertyIdentifierZero": true
}, - "operationPriority": 0,
- "options": {
- "@type": "string"
}
}, - "truncateFloats": true
}, - "point": {
- "layer": "string",
- "uuid": "string"
}, - "systemPriority": "string",
- "ts": "2019-08-24T14:15:22Z",
- "value": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": "string"
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}
}
], - "expiresAt": "2019-08-24T14:15:22Z",
- "id": "string",
- "name": "string",
- "startedAt": "2019-08-24T14:15:22Z"
}
], - "totalCount": "string"
}
Start command initiates a new command for a set of points.
object alternatively, use a duration | |
expiresAt | string <date-time> timestamp after which the writes should be undone |
name | string caller-provided name for the command. starting a command with an in-use name results in an error to provide a form of locking |
{- "duration": {
- "nanos": 0,
- "seconds": "string"
}, - "expiresAt": "2019-08-24T14:15:22Z",
- "name": "string"
}
{- "expiresAt": "2019-08-24T14:15:22Z",
- "id": "string"
}
Array of objects (PointRead) |
{- "reads": [
- {
- "options": {
- "driverOptions": {
- "bacnetOptions": {
- "priority": 0,
- "propertyIdentifier": 0,
- "propertyIdentifierZero": true
}, - "operationPriority": 0,
- "options": {
- "@type": "string"
}
}
}, - "point": {
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "cov": {
- "enabled": true,
- "threshold": 0
}, - "dataAttrs": {
- "max": 0,
- "median": 0,
- "min": 0
}, - "description": "string",
- "displayUnits": "string",
- "enum": {
- "values": [
- "string"
]
}, - "hplDriver": "string",
- "hpldata": {
- "@type": "string"
}, - "latestValue": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": "string"
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}, - "layer": "string",
- "name": "string",
- "parentName": "string",
- "parentUuid": "string",
- "period": {
- "nanos": 0,
- "seconds": "string"
}, - "pointType": 0,
- "protocolId": "string",
- "splitAttrs": [
- {
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "layer": "string"
}
], - "units": 0,
- "uuid": "string",
- "version": "string"
}
}
]
}
{- "errors": [
- {
- "error": {
- "errorClass": 0,
- "errorCode": 0
}, - "uuid": "string"
}
], - "results": [
- {
- "hplValue": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": "string"
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}, - "uuid": "string",
- "value": {
- "@type": "string"
}
}
]
}
Returns a steram of "raw" actions (reads and writes) which were initiated by the comman subsystem. This forms an audit log of
layer | string |
uuid | string |
version | string |
limit | integer <uint32> |
wait | boolean |
commandIds | Array of strings |
{- "action": 0,
- "commandId": "string",
- "error": {
- "@type": "string"
}, - "point": {
- "layer": "string",
- "uuid": "string"
}, - "ts": "2019-08-24T14:15:22Z",
- "value": {
- "@type": "string"
}, - "version": "string"
}
{- "writes": [
- {
- "options": {
- "driverOptions": {
- "bacnetOptions": {
- "priority": 0,
- "propertyIdentifier": 0,
- "propertyIdentifierZero": true
}, - "operationPriority": 0,
- "options": {
- "@type": "string"
}
}, - "truncateFloats": true
}, - "point": {
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "cov": {
- "enabled": true,
- "threshold": 0
}, - "dataAttrs": {
- "max": 0,
- "median": 0,
- "min": 0
}, - "description": "string",
- "displayUnits": "string",
- "enum": {
- "values": [
- "string"
]
}, - "hplDriver": "string",
- "hpldata": {
- "@type": "string"
}, - "latestValue": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": "string"
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}, - "layer": "string",
- "name": "string",
- "parentName": "string",
- "parentUuid": "string",
- "period": {
- "nanos": 0,
- "seconds": "string"
}, - "pointType": 0,
- "protocolId": "string",
- "splitAttrs": [
- {
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "layer": "string"
}
], - "units": 0,
- "uuid": "string",
- "version": "string"
}, - "value": {
- "any": {
- "@type": "string"
}, - "normalized": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": "string"
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}
}
}
]
}
{- "errors": [
- {
- "error": {
- "errorClass": 0,
- "errorCode": 0
}, - "uuid": "string"
}
]
}
id required | string |
id | string |
name | string |
{- "id": "string",
- "name": "string"
}
{- "command": {
- "activeWrites": [
- {
- "anyValue": {
- "@type": "string"
}, - "bacnetOptions": {
- "priority": 0,
- "propertyIdentifier": 0,
- "propertyIdentifierZero": true
}, - "options": {
- "driverOptions": {
- "bacnetOptions": {
- "priority": 0,
- "propertyIdentifier": 0,
- "propertyIdentifierZero": true
}, - "operationPriority": 0,
- "options": {
- "@type": "string"
}
}, - "truncateFloats": true
}, - "point": {
- "layer": "string",
- "uuid": "string"
}, - "systemPriority": "string",
- "ts": "2019-08-24T14:15:22Z",
- "value": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": "string"
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}
}
], - "expiresAt": "2019-08-24T14:15:22Z",
- "id": "string",
- "name": "string",
- "startedAt": "2019-08-24T14:15:22Z"
}
}
GetConfiguration
Return the current configuration of the BACnet integration. This includes things like the list of available network interfaces.
{- "automaticDiscoveryPeriod": {
- "nanos": 0,
- "seconds": "string"
}, - "backgroundScansEnabled": true,
- "datalink": 0,
- "debug": true,
- "deviceInstance": 0,
- "deviceName": "string",
- "ip": {
- "availableInterfaces": [
- {
- "addresses": [
- "string"
], - "name": "string"
}
], - "bbmdAddress": "string",
- "bbmdPort": 0,
- "bbmdStatus": 0,
- "bbmdTtl": 0,
- "debug": true,
- "deviceInstance": 0,
- "deviceName": "string",
- "ethernetEnabled": true,
- "localBcastAddress": "string",
- "localIfAddress": "string",
- "localIfname": "string",
- "port": 0
}, - "sc": {
- "ca": "string",
- "cert": "string",
- "key": "string",
- "url": "string"
}, - "virtualNetworkNumber": 0
}
SetConfiguration
This can be used to change the default network interface, port, or configure a BBMD.
object if non-zero, NF will perform a global whois-based discovery each interval to find any additional devices | |
backgroundScansEnabled | boolean when enabled, NF will rescan any devices if their |
datalink | integer <enum> |
debug | boolean debug logging enabled |
deviceInstance | integer <uint32> instance number of the local device (device id) |
deviceName | string prop_object_name for the local device object |
object (SetIPConfigurationRequest) | |
object (SCConfiguration) | |
virtualNetworkNumber | integer <uint32> virtual network number |
{- "automaticDiscoveryPeriod": {
- "nanos": 0,
- "seconds": "string"
}, - "backgroundScansEnabled": true,
- "datalink": 0,
- "debug": true,
- "deviceInstance": 0,
- "deviceName": "string",
- "ip": {
- "bbmdAddress": "string",
- "bbmdDisable": true,
- "bbmdPort": 0,
- "bbmdTtl": 0,
- "debug": true,
- "deviceInstance": 0,
- "deviceName": "string",
- "ethernetEnabled": true,
- "localIfname": "string",
- "port": 0
}, - "sc": {
- "ca": "string",
- "cert": "string",
- "key": "string",
- "url": "string"
}, - "virtualNetworkNumber": 0
}
{ }
GetLocalObjects
GetLocalObjects returns a list of all "local" objects available on the gateway, with the exception of the Device object (which can't be edited through this interface).
Each object consists of an object type / instance number as well as a list of property values which have been configured.
localDeviceInstanceOffset | integer <int32> local device instance offset 0 for NF device -1 to retrieve all objects |
{- "objects": [
- {
- "localDeviceInstanceOffset": 0,
- "objectId": {
- "instance": 0,
- "objectType": 0
}, - "props": [
- {
- "priority": 0,
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0,
- "propertyValue": {
- "@type": "string"
}
}
], - "uuid": "string"
}
]
}
UpdateLocalObject
UpdateLocalObject allows you to change the value of a property on an existing object; or to create a new property.
Any updates to standard properties (like name or present-value) are type checked; it is an error to try to write an invalid type to one of these properties.
localDeviceInstanceOffset | integer <uint32> |
object (ObjectId) | |
Array of objects (PropertyValue) | |
uuid | string |
{- "localDeviceInstanceOffset": 0,
- "objectId": {
- "instance": 0,
- "objectType": 0
}, - "props": [
- {
- "priority": 0,
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0,
- "propertyValue": {
- "@type": "string"
}
}
], - "uuid": "string"
}
{- "object": {
- "localDeviceInstanceOffset": 0,
- "objectId": {
- "instance": 0,
- "objectType": 0
}, - "props": [
- {
- "priority": 0,
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0,
- "propertyValue": {
- "@type": "string"
}
}
], - "uuid": "string"
}
}
CreateLocalObject
CreateLocalObject creates a new object on the BACnet server instance controlled by NF. Local objects are persistent and available to other devices on the network.
In order to create an object, you must provide an BACnet object
type, and any required properties. Supported object types are
OBJECT_ANALOG_VALUE
, OBJECT_BINARY_VALUE
, and
OBJECT_MULTI_STATE_VALUE
.
When creating an object, you must provide any mandatory property
values; for instance, for analog inputs, PROP_NAME
and
PROP_UNITS
are both mandatory. Certain other properties
required by the BACnet specification (like PROP_OUT_OF_SERVICE
)
will be added by default if you don't provide them.
Any mandatory or optional arguments must have the correct type --
for instance, the PRESENT_VALUE
of an analog value must be of
type real
.
localDeviceInstanceOffset | integer <uint32> |
object if instance is zero a new instance will be allocated | |
Array of objects (PropertyValue) | |
uuid | string |
{- "localDeviceInstanceOffset": 0,
- "objectId": {
- "instance": 0,
- "objectType": 0
}, - "props": [
- {
- "priority": 0,
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0,
- "propertyValue": {
- "@type": "string"
}
}
], - "uuid": "string"
}
{- "objectId": {
- "instance": 0,
- "objectType": 0
}, - "uuid": "string"
}
DeleteLocalObject
DeleteLocalObject removes the specified object from the object database
object_id.object_type required | string |
object_id.instance required | string |
objectId.objectType | integer <enum> |
objectId.instance | integer <uint32> |
localDeviceInstanceOffset | integer <uint32> |
{ }
{- "changeKind": 0,
- "localDeviceInstanceOffset": 0,
- "objectId": {
- "instance": 0,
- "objectType": 0
}, - "props": [
- {
- "priority": 0,
- "propertyArrayIndex": 0,
- "propertyIdentifier": 0,
- "propertyValue": {
- "@type": "string"
}
}
], - "ts": "2019-08-24T14:15:22Z",
- "uuid": "string",
- "version": "string"
}
uuid | string |
{- "uuid": "string"
}
{ }
{- "connections": [
- {
- "address": "string",
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "connectionUuid": "string",
- "metadataTimestamp": "2019-08-24T14:15:22Z",
- "name": "string",
- "profileUuid": "string",
- "status": 0,
- "statusMessage": "string",
- "unitId": 0
}
]
}
object (DeviceConnection) |
{- "connection": {
- "address": "string",
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "connectionUuid": "string",
- "metadataTimestamp": "2019-08-24T14:15:22Z",
- "name": "string",
- "profileUuid": "string",
- "status": 0,
- "statusMessage": "string",
- "unitId": 0
}
}
{- "connectionUuid": "string"
}
content | boolean set to true to retrieve register maps |
{- "profiles": [
- {
- "endianness": 0,
- "highWordFirst": true,
- "profileName": "string",
- "registers": [
- {
- "address": 0,
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "dataType": 0,
- "name": "string",
- "offset": 0,
- "registerType": 0,
- "scaleFactor": 0,
- "units": "string"
}
], - "uuid": "string"
}
]
}
object (DeviceProfile) |
{- "profile": {
- "endianness": 0,
- "highWordFirst": true,
- "profileName": "string",
- "registers": [
- {
- "address": 0,
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "dataType": 0,
- "name": "string",
- "offset": 0,
- "registerType": 0,
- "scaleFactor": 0,
- "units": "string"
}
], - "uuid": "string"
}
}
{ }
{- "variables": [
- {
- "boolean": true,
- "description": "string",
- "duration": {
- "nanos": 0,
- "seconds": "string"
}, - "file": "string",
- "float": 0,
- "id": "string",
- "integer": "string",
- "isAdvanced": true,
- "isDefault": true,
- "isEmpty": true,
- "name": "string",
- "optionGroup": "string",
- "optionName": "string",
- "section": "string",
- "string": "string"
}
]
}
Array of objects (EnvironmentVariable) |
{- "variables": [
- {
- "boolean": true,
- "description": "string",
- "duration": {
- "nanos": 0,
- "seconds": "string"
}, - "file": "string",
- "float": 0,
- "id": "string",
- "integer": "string",
- "isAdvanced": true,
- "isDefault": true,
- "isEmpty": true,
- "name": "string",
- "optionGroup": "string",
- "optionName": "string",
- "section": "string",
- "string": "string"
}
]
}
{- "errors": [
- {
- "error": "string",
- "id": "string"
}
]
}
{- "authority": "string",
- "clientid": "string",
- "domain": "string",
- "enableAuth": true,
- "favIcon": "string",
- "footerText": "string",
- "license": {
- "expiresAt": "2019-08-24T14:15:22Z",
- "issuedAt": "2019-08-24T14:15:22Z",
- "licenseId": "string",
- "machineId": "string",
- "name": "string",
- "services": [
- {
- "expiresAt": "2019-08-24T14:15:22Z",
- "name": "string"
}
], - "sku": "string",
- "userId": "string"
}, - "logo": "string",
- "machineInfo": "string",
- "provider": 0,
- "scopes": "string",
- "services": [
- {
- "details": "string",
- "name": "string",
- "status": 0,
- "statusTime": "2019-08-24T14:15:22Z"
}
], - "siteName": "string",
- "thumbnail": "string",
- "version": "string"
}
Point Service
The point service is the main interface into the configuration state stored on the device. It provides:
Array of objects (PointAggregator) aggregators to apply | |
attrs | Array of strings attributes to group by |
layer | string |
object optional query to filter rows |
{- "aggregators": [
- {
- "field": "string",
- "type": 0
}
], - "attrs": [
- "string"
], - "layer": "string",
- "query": {
- "and": [
- { }
], - "field": {
- "layer": "string",
- "numeric": {
- "maxInfinity": true,
- "maxValue": 0,
- "minInfinity": true,
- "minValue": 0
}, - "property": "string",
- "text": "string",
- "wildcard": true
}, - "not": { },
- "or": [
- { }
], - "reference": {
- "property": "string",
- "query": { },
- "targetProperty": "string"
}
}
}
{- "values": [
- {
- "keys": [
- "string"
], - "values": [
- {
- "characterString": "string",
- "list": [
- "string"
], - "null": true,
- "real": 0,
- "signed": 0,
- "unsigned": 0
}
]
}
]
}
GetDistinctAttrs
Return a list of distinct values and counts for the given list of attributes. For instance, you can use this to generate a list of filters, or find all of the different object names, vendors, or software revisions. The attributes do not need to be indexed in the layer.
If a query
is provided, perform a database scan to compute
attribute counts instead of using the precomputed values. This
may be slow but allows more advanced use cases.
attrs | Array of strings |
query | string |
structuredQuery.field.property | string |
structuredQuery.field.text | string |
structuredQuery.field.numeric.minValue | number <double> |
structuredQuery.field.numeric.minInfinity | boolean |
structuredQuery.field.numeric.maxValue | number <double> |
structuredQuery.field.numeric.maxInfinity | boolean |
structuredQuery.field.layer | string |
structuredQuery.field.wildcard | boolean |
structuredQuery.reference.property | string |
structuredQuery.reference.targetProperty | string |
structuredQuery.reference.query.field.property | string |
structuredQuery.reference.query.field.text | string |
structuredQuery.reference.query.field.numeric.minValue | number <double> |
structuredQuery.reference.query.field.numeric.minInfinity | boolean |
structuredQuery.reference.query.field.numeric.maxValue | number <double> |
structuredQuery.reference.query.field.numeric.maxInfinity | boolean |
structuredQuery.reference.query.field.layer | string |
structuredQuery.reference.query.field.wildcard | boolean |
structuredQuery.reference.query.reference.property | string |
structuredQuery.reference.query.reference.targetProperty | string |
layer | string |
queryLayer | string |
pageOffset | string |
pageSize | string |
{- "attrs": [
- {
- "counts": [
- 0
], - "key": "string",
- "totalCount": 0,
- "values": [
- "string"
]
}
]
}
attributes | Array of strings list of attribute names to copy |
object if present, update the COV settings | |
indexLayer | string layer to perform search query against. if blank, the input layer is used. |
inputLayer | string layer to read values from. may be a base layer |
mappedAttributes | Array of strings if present, a list of corresponding attribute names to map in the output layer |
outputLayer | string layer to write values to. may be a base layer |
object if present, update the matching points with this period | |
query | string the copy operation is applied to all points matching the query or in the list of uuids |
object any attributes set here will be set to the static value in the map instead of the input layer value. if all attributes are in the map, the input layer is ignored and may be blank, and only the output layer is written to. this can be used, for instance, to set an attribute to a constant text string based on a query, or to clear an attribute. | |
object (Query) | |
uuids | Array of strings any UUIDs specified in this list are also consider matched. |
{- "attributes": [
- "string"
], - "cov": {
- "enabled": true,
- "threshold": 0
}, - "indexLayer": "string",
- "inputLayer": "string",
- "mappedAttributes": [
- "string"
], - "outputLayer": "string",
- "period": {
- "nanos": 0,
- "seconds": "string"
}, - "query": "string",
- "staticAttributes": {
- "property1": "string",
- "property2": "string"
}, - "structuredQuery": {
- "and": [
- { }
], - "field": {
- "layer": "string",
- "numeric": {
- "maxInfinity": true,
- "maxValue": 0,
- "minInfinity": true,
- "minValue": 0
}, - "property": "string",
- "text": "string",
- "wildcard": true
}, - "not": { },
- "or": [
- { }
], - "reference": {
- "property": "string",
- "query": { },
- "targetProperty": "string"
}
}, - "uuids": [
- "string"
]
}
{- "updateCount": 0
}
GetData
GetData queries the time series data available on the device. Note the default retention period for in-memory data is one week.
layer | string Not used starting from 3.0 |
uuids | Array of strings |
from.seconds | string Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive. |
from.nanos | integer <int32> Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive. |
to.seconds | string Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive. |
to.nanos | integer <int32> Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive. |
window.seconds | string Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years |
window.nanos | integer <int32> Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 |
method | integer <enum> |
errorData | boolean if true, return data from the error series and not the data series |
count | integer <int32> |
reverse | boolean |
{- "data": [
- {
- "uuid": "string",
- "values": [
- {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": "string"
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}
]
}
]
}
AddPointsData
This endpoint adds timeseries and error data to the stream.
Array of objects (Error) | |
isAsync | boolean |
layer | string Not used starting from 3.0 |
uuid | string |
Array of objects (Value) |
{- "errors": [
- {
- "errorClass": 0,
- "errorCode": 0
}
], - "isAsync": true,
- "layer": "string",
- "uuid": "string",
- "values": [
- {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": "string"
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}
]
}
{- "success": true,
- "taskUuid": "string"
}
layer | string layer to export |
structuredQuery.field.property | string |
structuredQuery.field.text | string |
structuredQuery.field.numeric.minValue | number <double> |
structuredQuery.field.numeric.minInfinity | boolean |
structuredQuery.field.numeric.maxValue | number <double> |
structuredQuery.field.numeric.maxInfinity | boolean |
structuredQuery.field.layer | string |
structuredQuery.field.wildcard | boolean |
structuredQuery.reference.property | string |
structuredQuery.reference.targetProperty | string |
structuredQuery.reference.query.field.property | string |
structuredQuery.reference.query.field.text | string |
structuredQuery.reference.query.field.numeric.minValue | number <double> |
structuredQuery.reference.query.field.numeric.minInfinity | boolean |
structuredQuery.reference.query.field.numeric.maxValue | number <double> |
structuredQuery.reference.query.field.numeric.maxInfinity | boolean |
structuredQuery.reference.query.field.layer | string |
structuredQuery.reference.query.field.wildcard | boolean |
structuredQuery.reference.query.reference.property | string |
structuredQuery.reference.query.reference.targetProperty | string |
masks.attrIncludeMask | Array of strings applies to attributes: if blank |
masks.attrExcludeMask | Array of strings |
masks.fieldMask | Array of strings applies to proto fields |
masks.fieldExcludeMask | Array of strings |
format | integer <enum> format |
{- "downloadPath": "string"
}
GetDistinctAttrKeys
Return a list of distinct attribute keys, and the number of points which have each attribute set to a non-blank value in the given layer.
If the attribute list is passed, counts are only returned for the requested key names.
attrs | Array of strings |
query | string |
structuredQuery.field.property | string |
structuredQuery.field.text | string |
structuredQuery.field.numeric.minValue | number <double> |
structuredQuery.field.numeric.minInfinity | boolean |
structuredQuery.field.numeric.maxValue | number <double> |
structuredQuery.field.numeric.maxInfinity | boolean |
structuredQuery.field.layer | string |
structuredQuery.field.wildcard | boolean |
structuredQuery.reference.property | string |
structuredQuery.reference.targetProperty | string |
structuredQuery.reference.query.field.property | string |
structuredQuery.reference.query.field.text | string |
structuredQuery.reference.query.field.numeric.minValue | number <double> |
structuredQuery.reference.query.field.numeric.minInfinity | boolean |
structuredQuery.reference.query.field.numeric.maxValue | number <double> |
structuredQuery.reference.query.field.numeric.maxInfinity | boolean |
structuredQuery.reference.query.field.layer | string |
structuredQuery.reference.query.field.wildcard | boolean |
structuredQuery.reference.query.reference.property | string |
structuredQuery.reference.query.reference.targetProperty | string |
layer | string |
queryLayer | string |
pageOffset | string |
pageSize | string |
{- "attrs": [
- {
- "counts": [
- 0
], - "key": "string",
- "totalCount": 0,
- "values": [
- "string"
]
}
]
}
{- "layers": [
- {
- "componentOptions": [
- "string"
], - "componentTypes": [
- 0
], - "components": [
- "string"
], - "configuration": {
- "@type": "string"
}, - "defaultDisplayAttrs": [
- "string"
], - "defaultGroupingAttrs": [
- "string"
], - "description": "string",
- "driver": {
- "grpcService": "string",
- "hook": {
- "applicationId": "string",
- "readHookId": "string",
- "writeHookId": "string"
}, - "polled": true,
- "url": {
- "read": "string",
- "write": "string"
}
}, - "indexed": true,
- "kind": 0,
- "name": "string",
- "pointCount": "string",
- "structuredComponents": [
- {
- "name": "string",
- "options": [
- "string"
], - "type": 0
}
], - "suggestedExtractionAttrs": [
- "string"
], - "updateAttrMask": [
- "string"
]
}
], - "totalCount": "string"
}
CreateLayer
Create a new layer of either kind (BASE
or UNION
). The layer
request should be complete with the name and kind of the layer,
if it should be indexed, and the names of any component fields or sublayers.
object (Layer) |
{- "layer": {
- "componentOptions": [
- "string"
], - "componentTypes": [
- 0
], - "components": [
- "string"
], - "configuration": {
- "@type": "string"
}, - "defaultDisplayAttrs": [
- "string"
], - "defaultGroupingAttrs": [
- "string"
], - "description": "string",
- "driver": {
- "grpcService": "string",
- "hook": {
- "applicationId": "string",
- "readHookId": "string",
- "writeHookId": "string"
}, - "polled": true,
- "url": {
- "read": "string",
- "write": "string"
}
}, - "indexed": true,
- "kind": 0,
- "name": "string",
- "pointCount": "string",
- "structuredComponents": [
- {
- "name": "string",
- "options": [
- "string"
], - "type": 0
}
], - "suggestedExtractionAttrs": [
- "string"
], - "updateAttrMask": [
- "string"
]
}
}
{ }
DeleteLayer
Delete a layer from the system. If delete_points
is false,
only the name of the layer and associated indexes will be
removed; however any underlying points and timeseries will be
left. If delete_points
is true, any point metadata and
timeseries associated with the layer will also be removed, and
the count of deleted points returned to the client.
name required | string |
{ }
GetLayers
Return the list of available layers.
name required | string |
{- "layers": [
- {
- "componentOptions": [
- "string"
], - "componentTypes": [
- 0
], - "components": [
- "string"
], - "configuration": {
- "@type": "string"
}, - "defaultDisplayAttrs": [
- "string"
], - "defaultGroupingAttrs": [
- "string"
], - "description": "string",
- "driver": {
- "grpcService": "string",
- "hook": {
- "applicationId": "string",
- "readHookId": "string",
- "writeHookId": "string"
}, - "polled": true,
- "url": {
- "read": "string",
- "write": "string"
}
}, - "indexed": true,
- "kind": 0,
- "name": "string",
- "pointCount": "string",
- "structuredComponents": [
- {
- "name": "string",
- "options": [
- "string"
], - "type": 0
}
], - "suggestedExtractionAttrs": [
- "string"
], - "updateAttrMask": [
- "string"
]
}
], - "totalCount": "string"
}
DeletePoints
Remove the point object and any underlying data from the system. This does not remove data from the update log.
layers | Array of strings points will be deleted in these layers. you can only delete points from a base layer. if the list is empty, the point will be deleted in all payers |
uuids | Array of strings delete these uuids |
indexLayer | string delete points matching this query |
structuredQuery.field.property | string |
structuredQuery.field.text | string |
structuredQuery.field.numeric.minValue | number <double> |
structuredQuery.field.numeric.minInfinity | boolean |
structuredQuery.field.numeric.maxValue | number <double> |
structuredQuery.field.numeric.maxInfinity | boolean |
structuredQuery.field.layer | string |
structuredQuery.field.wildcard | boolean |
structuredQuery.reference.property | string |
structuredQuery.reference.targetProperty | string |
structuredQuery.reference.query.field.property | string |
structuredQuery.reference.query.field.text | string |
structuredQuery.reference.query.field.numeric.minValue | number <double> |
structuredQuery.reference.query.field.numeric.minInfinity | boolean |
structuredQuery.reference.query.field.numeric.maxValue | number <double> |
structuredQuery.reference.query.field.numeric.maxInfinity | boolean |
structuredQuery.reference.query.field.layer | string |
structuredQuery.reference.query.field.wildcard | boolean |
structuredQuery.reference.query.reference.property | string |
structuredQuery.reference.query.reference.targetProperty | string |
{- "deleteCount": "string"
}
GetPoints
Perform a search for points using the full-text search. In
order to be in the search index, the layer must configure the
index. You may retrieve these using GetLayers
.
For instance, the BACnet layer hpl:bacnet:1
indexes the
following fields:
uuid
attr_device_id
BACnet device idattr_type
BACnet object typeattr_instance
BACnet object instanceattr_prop_units
BACnet units (numeric enum value)attr_prop_object_name
BACnet object nameattr_prop_description
BACnet descriptionperiod
polling rate, in secondsArray of objects (Annotation) | |
layer | string which layer to query the index on |
object (PointMask) | |
pageOffset | string pagination options |
pageSize | string |
query | string text query to search for in the database deprecated in 1.6; use structured_query instead |
responseFormat | integer <enum> |
resultLayer | string if set, only return results which are from this layer. this impacts the behavior of the pagination fields, since since these are applied first during the query lookup. However, it can be used to query keys which appear in multiple layers without duplicates |
object (Sort) | |
sortField | string |
sortOrder | string |
object (Query) |
{- "annotations": [
- {
- "fieldName": "string",
- "layer": "string",
- "path": [
- {
- "sourceProperty": "string",
- "targetProperty": "string",
- "valueProperty": "string"
}
]
}
], - "layer": "string",
- "masks": {
- "attrExcludeMask": [
- "string"
], - "attrIncludeMask": [
- "string"
], - "fieldExcludeMask": [
- "string"
], - "fieldMask": [
- "string"
]
}, - "pageOffset": "string",
- "pageSize": "string",
- "query": "string",
- "responseFormat": 0,
- "resultLayer": "string",
- "sort": {
- "field": "string",
- "layer": "string",
- "order": "string"
}, - "sortField": "string",
- "sortOrder": "string",
- "structuredQuery": {
- "and": [
- { }
], - "field": {
- "layer": "string",
- "numeric": {
- "maxInfinity": true,
- "maxValue": 0,
- "minInfinity": true,
- "minValue": 0
}, - "property": "string",
- "text": "string",
- "wildcard": true
}, - "not": { },
- "or": [
- { }
], - "reference": {
- "property": "string",
- "query": { },
- "targetProperty": "string"
}
}
}
{- "points": [
- {
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "cov": {
- "enabled": true,
- "threshold": 0
}, - "dataAttrs": {
- "max": 0,
- "median": 0,
- "min": 0
}, - "description": "string",
- "displayUnits": "string",
- "enum": {
- "values": [
- "string"
]
}, - "hplDriver": "string",
- "hpldata": {
- "@type": "string"
}, - "latestValue": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": "string"
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}, - "layer": "string",
- "name": "string",
- "parentName": "string",
- "parentUuid": "string",
- "period": {
- "nanos": 0,
- "seconds": "string"
}, - "pointType": 0,
- "protocolId": "string",
- "splitAttrs": [
- {
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "layer": "string"
}
], - "units": 0,
- "uuid": "string",
- "version": "string"
}
], - "totalCount": "string"
}
UpdatePoints
Create or update points objects. If verion is nil, will be treated as a create and will fail if the uuid already exists. if the version is not nil, will succeed only if the database version matches the version provided.
One common use case of this is to configure polling, by editing the "period" field.
isAsync | boolean |
Array of objects (Point) Update points in the database. The UUID is mandatory. Other fields will be updated if not null. |
{- "isAsync": true,
- "points": [
- {
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "cov": {
- "enabled": true,
- "threshold": 0
}, - "dataAttrs": {
- "max": 0,
- "median": 0,
- "min": 0
}, - "description": "string",
- "displayUnits": "string",
- "enum": {
- "values": [
- "string"
]
}, - "hplDriver": "string",
- "hpldata": {
- "@type": "string"
}, - "latestValue": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": "string"
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}, - "layer": "string",
- "name": "string",
- "parentName": "string",
- "parentUuid": "string",
- "period": {
- "nanos": 0,
- "seconds": "string"
}, - "pointType": 0,
- "protocolId": "string",
- "splitAttrs": [
- {
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "layer": "string"
}
], - "units": 0,
- "uuid": "string",
- "version": "string"
}
]
}
{- "results": [
- {
- "newVersion": "string",
- "success": true,
- "taskUuid": "string",
- "uuid": "string"
}
]
}
GetPointsById
Lookup points by UUID. The reply format is the same as GetPoints, but pagination and sorting are not supported.
layer | string |
uuids | Array of strings |
responseFormat | integer <enum> |
masks.attrIncludeMask | Array of strings applies to attributes: if blank |
masks.attrExcludeMask | Array of strings |
masks.fieldMask | Array of strings applies to proto fields |
masks.fieldExcludeMask | Array of strings |
{- "points": [
- {
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "cov": {
- "enabled": true,
- "threshold": 0
}, - "dataAttrs": {
- "max": 0,
- "median": 0,
- "min": 0
}, - "description": "string",
- "displayUnits": "string",
- "enum": {
- "values": [
- "string"
]
}, - "hplDriver": "string",
- "hpldata": {
- "@type": "string"
}, - "latestValue": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": "string"
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}, - "layer": "string",
- "name": "string",
- "parentName": "string",
- "parentUuid": "string",
- "period": {
- "nanos": 0,
- "seconds": "string"
}, - "pointType": 0,
- "protocolId": "string",
- "splitAttrs": [
- {
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "layer": "string"
}
], - "units": 0,
- "uuid": "string",
- "version": "string"
}
], - "totalCount": "string"
}
GetPoints
Perform a search for points using the full-text search. In
order to be in the search index, the layer must configure the
index. You may retrieve these using GetLayers
.
For instance, the BACnet layer hpl:bacnet:1
indexes the
following fields:
uuid
attr_device_id
BACnet device idattr_type
BACnet object typeattr_instance
BACnet object instanceattr_prop_units
BACnet units (numeric enum value)attr_prop_object_name
BACnet object nameattr_prop_description
BACnet descriptionperiod
polling rate, in secondslayer | string which layer to query the index on |
resultLayer | string if set, only return results which are from this layer. this impacts the behavior of the pagination fields, since since these are applied first during the query lookup. However, it can be used to query keys which appear in multiple layers without duplicates |
query | string text query to search for in the database deprecated in 1.6; use structured_query instead |
structuredQuery.field.property | string |
structuredQuery.field.text | string |
structuredQuery.field.numeric.minValue | number <double> |
structuredQuery.field.numeric.minInfinity | boolean |
structuredQuery.field.numeric.maxValue | number <double> |
structuredQuery.field.numeric.maxInfinity | boolean |
structuredQuery.field.layer | string |
structuredQuery.field.wildcard | boolean |
structuredQuery.reference.property | string |
structuredQuery.reference.targetProperty | string |
structuredQuery.reference.query.field.property | string |
structuredQuery.reference.query.field.text | string |
structuredQuery.reference.query.field.numeric.minValue | number <double> |
structuredQuery.reference.query.field.numeric.minInfinity | boolean |
structuredQuery.reference.query.field.numeric.maxValue | number <double> |
structuredQuery.reference.query.field.numeric.maxInfinity | boolean |
structuredQuery.reference.query.field.layer | string |
structuredQuery.reference.query.field.wildcard | boolean |
structuredQuery.reference.query.reference.property | string |
structuredQuery.reference.query.reference.targetProperty | string |
responseFormat | integer <enum> |
masks.attrIncludeMask | Array of strings applies to attributes: if blank |
masks.attrExcludeMask | Array of strings |
masks.fieldMask | Array of strings applies to proto fields |
masks.fieldExcludeMask | Array of strings |
pageOffset | string pagination options |
pageSize | string |
sortField | string |
sortOrder | string |
sort.field | string |
sort.order | string |
sort.layer | string |
{- "points": [
- {
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "cov": {
- "enabled": true,
- "threshold": 0
}, - "dataAttrs": {
- "max": 0,
- "median": 0,
- "min": 0
}, - "description": "string",
- "displayUnits": "string",
- "enum": {
- "values": [
- "string"
]
}, - "hplDriver": "string",
- "hpldata": {
- "@type": "string"
}, - "latestValue": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": "string"
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}, - "layer": "string",
- "name": "string",
- "parentName": "string",
- "parentUuid": "string",
- "period": {
- "nanos": 0,
- "seconds": "string"
}, - "pointType": 0,
- "protocolId": "string",
- "splitAttrs": [
- {
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "layer": "string"
}
], - "units": 0,
- "uuid": "string",
- "version": "string"
}
], - "totalCount": "string"
}
RenamePoint
Change the UUID of a point, preserving all time series data. ObservePointsUpdate will send consumers an update record with the old and new UUIDs; however, Not all consumers may expect this so this can be what disruptive.
layer | string |
newUuid | string |
oldUuid | string |
{- "layer": "string",
- "newUuid": "string",
- "oldUuid": "string"
}
{ }
GetDataSummary
Look up statistics about the data storted for a point.
layer | string |
uuids | Array of strings |
from.seconds | string Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive. |
from.nanos | integer <int32> Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive. |
to.seconds | string Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive. |
to.nanos | integer <int32> Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive. |
bucketEdges | Array of numbers <float> [ items <float > ] if not empty, bucket edges for the histogram. can be used to use the same edges for all points in the request |
bucketCount | integer <uint32> |
{- "summaries": [
- {
- "binCounts": [
- 0
], - "binEdges": [
- 0
], - "count": 0,
- "dataType": 0,
- "distinctCount": 0,
- "first": "2019-08-24T14:15:22Z",
- "last": "2019-08-24T14:15:22Z",
- "max": 0,
- "mean": 0,
- "median": 0,
- "min": 0,
- "uuid": "string"
}
]
}
layer | string |
Array of objects (Tag) | |
uuids | Array of strings |
{- "layer": "string",
- "tags": [
- {
- "key": "string",
- "tag": "string"
}
], - "uuids": [
- "string"
]
}
{ }
AddTags
Add tags allows you to edit tag fields without implementing the read-modify-write update on the client. A tag field is any key which holds a comma-separated list of tag values. For instance, you can have a field named "haystack" with the value "air,sensor". When set as a tag field, NF will interpret that field as having tags "air" and "sensor", instead of as one value.
Using AddTags to update this field allow you to maniulate these tags directly, to avoid adding duplicate copies of tag values.
layer | string |
Array of objects (Tag) | |
uuids | Array of strings |
{- "layer": "string",
- "tags": [
- {
- "key": "string",
- "tag": "string"
}
], - "uuids": [
- "string"
]
}
{ }
ObserveDataUpdates
Streaming method for obtaining values. This can be used either for real-time use or for reliably archiving readings.
Although it is possible to construct a timeseries from this data, this interface is primarily designed to stream all data to another database. The default retention period for this interface is one month, and data are stored sequentially on disk.
If withMetadata
is set, each data point will also include the
point object's metadata. An important detail is that the
metadata is not logged at the time of data collection, but
retrieved when the value is sent to the consumer; so metadata
changes may not be accurately reflected. If this will cause a
problem, consumers should also consume ObservePointsUpdates
to
identify when metadata has changed.
layer | string |
uuids | Array of strings |
version | string |
limit | integer <int32> |
wait | boolean weather to wait for new records |
withMetadata | boolean if point metadata should be included with each reply value. |
structuredQuery.field.property | string |
structuredQuery.field.text | string |
structuredQuery.field.numeric.minValue | number <double> |
structuredQuery.field.numeric.minInfinity | boolean |
structuredQuery.field.numeric.maxValue | number <double> |
structuredQuery.field.numeric.maxInfinity | boolean |
structuredQuery.field.layer | string |
structuredQuery.field.wildcard | boolean |
structuredQuery.reference.property | string |
structuredQuery.reference.targetProperty | string |
structuredQuery.reference.query.field.property | string |
structuredQuery.reference.query.field.text | string |
structuredQuery.reference.query.field.numeric.minValue | number <double> |
structuredQuery.reference.query.field.numeric.minInfinity | boolean |
structuredQuery.reference.query.field.numeric.maxValue | number <double> |
structuredQuery.reference.query.field.numeric.maxInfinity | boolean |
structuredQuery.reference.query.field.layer | string |
structuredQuery.reference.query.field.wildcard | boolean |
structuredQuery.reference.query.reference.property | string |
structuredQuery.reference.query.reference.targetProperty | string |
{- "layer": "string",
- "point": {
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "cov": {
- "enabled": true,
- "threshold": 0
}, - "dataAttrs": {
- "max": 0,
- "median": 0,
- "min": 0
}, - "description": "string",
- "displayUnits": "string",
- "enum": {
- "values": [
- "string"
]
}, - "hplDriver": "string",
- "hpldata": {
- "@type": "string"
}, - "latestValue": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": "string"
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}, - "layer": "string",
- "name": "string",
- "parentName": "string",
- "parentUuid": "string",
- "period": {
- "nanos": 0,
- "seconds": "string"
}, - "pointType": 0,
- "protocolId": "string",
- "splitAttrs": [
- {
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "layer": "string"
}
], - "units": 0,
- "uuid": "string",
- "version": "string"
}, - "type": 0,
- "uuid": "string",
- "value": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": "string"
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}, - "version": "string"
}
ObserveErrorUpdates
Streaming method for reading back errors encountered during polling. Errors are stored sequentially on disk, and the default retention period is one month.
layer | string |
uuids | Array of strings |
version | string |
limit | integer <int32> |
wait | boolean weather to wait for new records |
withMetadata | boolean |
structuredQuery.field.property | string |
structuredQuery.field.text | string |
structuredQuery.field.numeric.minValue | number <double> |
structuredQuery.field.numeric.minInfinity | boolean |
structuredQuery.field.numeric.maxValue | number <double> |
structuredQuery.field.numeric.maxInfinity | boolean |
structuredQuery.field.layer | string |
structuredQuery.field.wildcard | boolean |
structuredQuery.reference.property | string |
structuredQuery.reference.targetProperty | string |
structuredQuery.reference.query.field.property | string |
structuredQuery.reference.query.field.text | string |
structuredQuery.reference.query.field.numeric.minValue | number <double> |
structuredQuery.reference.query.field.numeric.minInfinity | boolean |
structuredQuery.reference.query.field.numeric.maxValue | number <double> |
structuredQuery.reference.query.field.numeric.maxInfinity | boolean |
structuredQuery.reference.query.field.layer | string |
structuredQuery.reference.query.field.wildcard | boolean |
structuredQuery.reference.query.reference.property | string |
structuredQuery.reference.query.reference.targetProperty | string |
{- "error": {
- "errorClass": 0,
- "errorCode": 0
}, - "layer": "string",
- "point": {
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "cov": {
- "enabled": true,
- "threshold": 0
}, - "dataAttrs": {
- "max": 0,
- "median": 0,
- "min": 0
}, - "description": "string",
- "displayUnits": "string",
- "enum": {
- "values": [
- "string"
]
}, - "hplDriver": "string",
- "hpldata": {
- "@type": "string"
}, - "latestValue": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": "string"
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}, - "layer": "string",
- "name": "string",
- "parentName": "string",
- "parentUuid": "string",
- "period": {
- "nanos": 0,
- "seconds": "string"
}, - "pointType": 0,
- "protocolId": "string",
- "splitAttrs": [
- {
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "layer": "string"
}
], - "units": 0,
- "uuid": "string",
- "version": "string"
}, - "uuid": "string",
- "version": "string"
}
ObservePointsUpdates
Streaming method for obtaining a stream of changes to the object database. Each record contains the old and new version of the object, which can be compared. For new objects, the "old" field is nil; while for deleted objects, the "new" field is nil.
When used with the REST API, the version, limit, and wait
parameters can be used to read chunks of the change log. The
first version is always 0-0
, and so the log can be read back in
chunks by starting with this version and then providing the last
version received until no more records are obtained. By default
the method returns records starting at the current head of the
log.
version
the version number to begin reading atlayer
only return data from this layerlimit
how many changes to write to the stream before closing the connection.wait
if the consumer should wait for new records once the head of the log is encountered. Not recommended for use with the REST api.layer | string only include updates for a particular layer |
uuids | Array of strings only include updates for a set of uuids |
version | string only retrieve changes since this version |
limit | integer <int32> how many records to send before closing the connection. if zero, never close the connection. |
wait | boolean whether to wait for new records |
structuredQuery.field.property | string |
structuredQuery.field.text | string |
structuredQuery.field.numeric.minValue | number <double> |
structuredQuery.field.numeric.minInfinity | boolean |
structuredQuery.field.numeric.maxValue | number <double> |
structuredQuery.field.numeric.maxInfinity | boolean |
structuredQuery.field.layer | string |
structuredQuery.field.wildcard | boolean |
structuredQuery.reference.property | string |
structuredQuery.reference.targetProperty | string |
structuredQuery.reference.query.field.property | string |
structuredQuery.reference.query.field.text | string |
structuredQuery.reference.query.field.numeric.minValue | number <double> |
structuredQuery.reference.query.field.numeric.minInfinity | boolean |
structuredQuery.reference.query.field.numeric.maxValue | number <double> |
structuredQuery.reference.query.field.numeric.maxInfinity | boolean |
structuredQuery.reference.query.field.layer | string |
structuredQuery.reference.query.field.wildcard | boolean |
structuredQuery.reference.query.reference.property | string |
structuredQuery.reference.query.reference.targetProperty | string |
{- "fields": [
- "string"
], - "layers": [
- "string"
], - "new": {
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "cov": {
- "enabled": true,
- "threshold": 0
}, - "dataAttrs": {
- "max": 0,
- "median": 0,
- "min": 0
}, - "description": "string",
- "displayUnits": "string",
- "enum": {
- "values": [
- "string"
]
}, - "hplDriver": "string",
- "hpldata": {
- "@type": "string"
}, - "latestValue": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": "string"
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}, - "layer": "string",
- "name": "string",
- "parentName": "string",
- "parentUuid": "string",
- "period": {
- "nanos": 0,
- "seconds": "string"
}, - "pointType": 0,
- "protocolId": "string",
- "splitAttrs": [
- {
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "layer": "string"
}
], - "units": 0,
- "uuid": "string",
- "version": "string"
}, - "old": {
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "cov": {
- "enabled": true,
- "threshold": 0
}, - "dataAttrs": {
- "max": 0,
- "median": 0,
- "min": 0
}, - "description": "string",
- "displayUnits": "string",
- "enum": {
- "values": [
- "string"
]
}, - "hplDriver": "string",
- "hpldata": {
- "@type": "string"
}, - "latestValue": {
- "boolean": true,
- "characterString": "string",
- "double": 0,
- "meta": {
- "@type": "string"
}, - "null": true,
- "octetString": "string",
- "real": 0,
- "signed": 0,
- "ts": "2019-08-24T14:15:22Z",
- "unsigned": 0
}, - "layer": "string",
- "name": "string",
- "parentName": "string",
- "parentUuid": "string",
- "period": {
- "nanos": 0,
- "seconds": "string"
}, - "pointType": 0,
- "protocolId": "string",
- "splitAttrs": [
- {
- "attrs": {
- "property1": "string",
- "property2": "string"
}, - "layer": "string"
}
], - "units": 0,
- "uuid": "string",
- "version": "string"
}, - "ts": "2019-08-24T14:15:22Z",
- "version": "string"
}
The BACnet scan services performs device discovery for the BACnet subsystem. This includes network and device scans, periodic rescans, the tracking of device database state, and managing the import of objects into the points database.
{- "renamed": [
- {
- "newAttrs": {
- "property1": "string",
- "property2": "string"
}, - "newHpldata": {
- "@type": "string"
}, - "newUuid": "string",
- "oldAttrs": {
- "property1": "string",
- "property2": "string"
}, - "oldHpldata": {
- "@type": "string"
}, - "oldUuid": "string",
- "renamedAt": "2019-08-24T14:15:22Z"
}
], - "totalCount": "string"
}
Renaming a BACnet devices creates a mapping from [old device UUID] to [new device UUID], causing points with the same type an instance number to receive the same uuid as they would have on the previous device.
newUuid | string the device uuid |
oldUuid | string the old device uuid |
updateNewPoints | boolean if we should find all points with uuids based on the old namespace and update them to point at the new namespace. |
{- "newUuid": "string",
- "oldUuid": "string",
- "updateNewPoints": true
}
{- "pointsRenamed": "string"
}
Restart jobs is a simple way to resubmit jobs which may have failed / been canceled.
A new job is created with the same arguments as the original job had.
ids | Array of integers <uint32> [ items <uint32 > ] |
{- "ids": [
- 0
]
}
{- "ids": [
- 0
]
}
Retrieve jobs which have been submitted by StartJob
The StartJob request message allows a client to sort, filter and paginate the jobs based on Job ID.
statusFilter | integer <enum> |
idFilter | integer <uint32> |
parentIdFilter | integer <uint32> |
typeFilter | string |
deviceFilter | string |
full | boolean |
sortField | string supports id, status, queued_at, |
sortOrder | string ASC or DESC |
pageOffset | string |
pageSize | string |
{- "results": [
- {
- "autoImport": true,
- "autoPoll": {
- "nanos": 0,
- "seconds": "string"
}, - "clientId": "string",
- "device": {
- "autoScan": true,
- "autoScanNewOnly": true,
- "ifMissing": 0,
- "objectTypes": [
- 0
], - "properties": [
- 0
], - "targets": [
- {
- "deviceInstanceRangeHighLimit": 0,
- "deviceInstanceRangeLowLimit": 0
}
]
}, - "deviceResult": [
- {
- "deviceAddress": {
- "adr": "string",
- "bbmd": "string",
- "deviceId": 0,
- "mac": "string",
- "maxApdu": 0,
- "net": 0,
- "portId": 0
}, - "isNew": true,
- "renamedDeviceUuid": "string",
- "scannedAt": "2019-08-24T14:15:22Z",
- "scannedProps": {
- "property1": {
- "array": [
- { }
], - "bitString": {
- "length": 0,
- "setBits": [
- 0
]
}, - "boolean": true,
- "characterString": "string",
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "double": 0,
- "enumerated": 0,
- "null": true,
- "objectId": {
- "instance": 0,
- "objectType": 0
}, - "octetString": "string",
- "real": 0,
- "signed": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}, - "unsigned": 0
}, - "property2": {
- "array": [
- { }
], - "bitString": {
- "length": 0,
- "setBits": [
- 0
]
}, - "boolean": true,
- "characterString": "string",
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "double": 0,
- "enumerated": 0,
- "null": true,
- "objectId": {
- "instance": 0,
- "objectType": 0
}, - "octetString": "string",
- "real": 0,
- "signed": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}, - "unsigned": 0
}
}, - "uuid": "string"
}
], - "id": 0,
- "imported": true,
- "network": {
- "autoScan": true,
- "autoScanNewOnly": true,
- "dadrs": "string",
- "dnets": "string",
- "ifMissing": 0,
- "mstpBaseDeviceId": 0,
- "objectTypes": [
- 0
], - "operationTimeout": {
- "nanos": 0,
- "seconds": "string"
}, - "ports": "string",
- "scanLimit": 0,
- "scanMstp": true,
- "subnet": "string"
}, - "object": {
- "ifMissing": 0,
- "objectTypes": [
- 0
], - "properties": [
- 0
], - "target": {
- "adr": "string",
- "bbmd": "string",
- "deviceId": 0,
- "mac": "string",
- "maxApdu": 0,
- "net": 0,
- "portId": 0
}
}, - "objectCount": {
- "property1": 0,
- "property2": 0
}, - "objectResult": [
- {
- "errorProps": {
- "property1": {
- "errorClass": 0,
- "errorCode": 0
}, - "property2": {
- "errorClass": 0,
- "errorCode": 0
}
}, - "objectId": {
- "instance": 0,
- "objectType": 0
}, - "scannedAt": "2019-08-24T14:15:22Z",
- "scannedProps": {
- "property1": {
- "array": [
- { }
], - "bitString": {
- "length": 0,
- "setBits": [
- 0
]
}, - "boolean": true,
- "characterString": "string",
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "double": 0,
- "enumerated": 0,
- "null": true,
- "objectId": {
- "instance": 0,
- "objectType": 0
}, - "octetString": "string",
- "real": 0,
- "signed": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}, - "unsigned": 0
}, - "property2": {
- "array": [
- { }
], - "bitString": {
- "length": 0,
- "setBits": [
- 0
]
}, - "boolean": true,
- "characterString": "string",
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "double": 0,
- "enumerated": 0,
- "null": true,
- "objectId": {
- "instance": 0,
- "objectType": 0
}, - "octetString": "string",
- "real": 0,
- "signed": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}, - "unsigned": 0
}
}, - "uuid": "string"
}
], - "parentId": 0,
- "status": 0,
- "statusMessage": "string",
- "timestamps": {
- "finishedAt": "2019-08-24T14:15:22Z",
- "queuedAt": "2019-08-24T14:15:22Z",
- "runAt": "2019-08-24T14:15:22Z"
}
}
], - "totalCount": "string"
}
Add a new job to the Job queue. Only one of the device, object, or network scans must be specified.
autoImport | boolean |
object (Duration) A Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". It is related to Timestamp in that the difference between two Timestamp values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately +-10,000 years. # Examples Example 1: Compute Duration from two Timestamps in pseudo code. Timestamp start = ...; Timestamp end = ...; Duration duration = ...; duration.seconds = end.seconds - start.seconds; duration.nanos = end.nanos - start.nanos; if (duration.seconds < 0 && duration.nanos > 0) { duration.seconds += 1; duration.nanos -= 1000000000; } else if (duration.seconds > 0 && duration.nanos < 0) { duration.seconds -= 1; duration.nanos += 1000000000; } Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. Timestamp start = ...; Duration duration = ...; Timestamp end = ...; end.seconds = start.seconds + duration.seconds; end.nanos = start.nanos + duration.nanos; if (end.nanos < 0) { end.seconds -= 1; end.nanos += 1000000000; } else if (end.nanos >= 1000000000) { end.seconds += 1; end.nanos -= 1000000000; } Example 3: Compute Duration from datetime.timedelta in Python. td = datetime.timedelta(days=3, minutes=10) duration = Duration() duration.FromTimedelta(td) # JSON Mapping In JSON format, the Duration type is encoded as a string rather than an object, where the string ends in the suffix "s" (indicating seconds) and is preceded by the number of seconds, with nanoseconds expressed as fractional seconds. For example, 3 seconds with 0 nanoseconds should be encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should be expressed in JSON format as "3.000000001s", and 3 seconds and 1 microsecond should be expressed in JSON format as "3.000001s". | |
clientId | string |
object (DeviceScanJob) Device Scan Jobs find BACnet servers (device objects) on the network and obtain a basic set of properties from them. | |
object (NetworkScanJob) One must be somewhat careful since it is easy enough to simulate a denial of service attack with this tool. | |
object (ObjectScanJob) Object Scan Jobs look at existing BACnet servers and read out their object list. | |
parentId | integer <uint32> |
{- "autoImport": true,
- "autoPoll": {
- "nanos": 0,
- "seconds": "string"
}, - "clientId": "string",
- "device": {
- "autoScan": true,
- "autoScanNewOnly": true,
- "ifMissing": 0,
- "objectTypes": [
- 0
], - "properties": [
- 0
], - "targets": [
- {
- "deviceInstanceRangeHighLimit": 0,
- "deviceInstanceRangeLowLimit": 0
}
]
}, - "network": {
- "autoScan": true,
- "autoScanNewOnly": true,
- "dadrs": "string",
- "dnets": "string",
- "ifMissing": 0,
- "mstpBaseDeviceId": 0,
- "objectTypes": [
- 0
], - "operationTimeout": {
- "nanos": 0,
- "seconds": "string"
}, - "ports": "string",
- "scanLimit": 0,
- "scanMstp": true,
- "subnet": "string"
}, - "object": {
- "ifMissing": 0,
- "objectTypes": [
- 0
], - "properties": [
- 0
], - "target": {
- "adr": "string",
- "bbmd": "string",
- "deviceId": 0,
- "mac": "string",
- "maxApdu": 0,
- "net": 0,
- "portId": 0
}
}, - "parentId": 0
}
{- "autoImport": true,
- "autoPoll": {
- "nanos": 0,
- "seconds": "string"
}, - "clientId": "string",
- "device": {
- "autoScan": true,
- "autoScanNewOnly": true,
- "ifMissing": 0,
- "objectTypes": [
- 0
], - "properties": [
- 0
], - "targets": [
- {
- "deviceInstanceRangeHighLimit": 0,
- "deviceInstanceRangeLowLimit": 0
}
]
}, - "deviceResult": [
- {
- "deviceAddress": {
- "adr": "string",
- "bbmd": "string",
- "deviceId": 0,
- "mac": "string",
- "maxApdu": 0,
- "net": 0,
- "portId": 0
}, - "isNew": true,
- "renamedDeviceUuid": "string",
- "scannedAt": "2019-08-24T14:15:22Z",
- "scannedProps": {
- "property1": {
- "array": [
- { }
], - "bitString": {
- "length": 0,
- "setBits": [
- 0
]
}, - "boolean": true,
- "characterString": "string",
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "double": 0,
- "enumerated": 0,
- "null": true,
- "objectId": {
- "instance": 0,
- "objectType": 0
}, - "octetString": "string",
- "real": 0,
- "signed": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}, - "unsigned": 0
}, - "property2": {
- "array": [
- { }
], - "bitString": {
- "length": 0,
- "setBits": [
- 0
]
}, - "boolean": true,
- "characterString": "string",
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "double": 0,
- "enumerated": 0,
- "null": true,
- "objectId": {
- "instance": 0,
- "objectType": 0
}, - "octetString": "string",
- "real": 0,
- "signed": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}, - "unsigned": 0
}
}, - "uuid": "string"
}
], - "id": 0,
- "imported": true,
- "network": {
- "autoScan": true,
- "autoScanNewOnly": true,
- "dadrs": "string",
- "dnets": "string",
- "ifMissing": 0,
- "mstpBaseDeviceId": 0,
- "objectTypes": [
- 0
], - "operationTimeout": {
- "nanos": 0,
- "seconds": "string"
}, - "ports": "string",
- "scanLimit": 0,
- "scanMstp": true,
- "subnet": "string"
}, - "object": {
- "ifMissing": 0,
- "objectTypes": [
- 0
], - "properties": [
- 0
], - "target": {
- "adr": "string",
- "bbmd": "string",
- "deviceId": 0,
- "mac": "string",
- "maxApdu": 0,
- "net": 0,
- "portId": 0
}
}, - "objectCount": {
- "property1": 0,
- "property2": 0
}, - "objectResult": [
- {
- "errorProps": {
- "property1": {
- "errorClass": 0,
- "errorCode": 0
}, - "property2": {
- "errorClass": 0,
- "errorCode": 0
}
}, - "objectId": {
- "instance": 0,
- "objectType": 0
}, - "scannedAt": "2019-08-24T14:15:22Z",
- "scannedProps": {
- "property1": {
- "array": [
- { }
], - "bitString": {
- "length": 0,
- "setBits": [
- 0
]
}, - "boolean": true,
- "characterString": "string",
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "double": 0,
- "enumerated": 0,
- "null": true,
- "objectId": {
- "instance": 0,
- "objectType": 0
}, - "octetString": "string",
- "real": 0,
- "signed": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}, - "unsigned": 0
}, - "property2": {
- "array": [
- { }
], - "bitString": {
- "length": 0,
- "setBits": [
- 0
]
}, - "boolean": true,
- "characterString": "string",
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "double": 0,
- "enumerated": 0,
- "null": true,
- "objectId": {
- "instance": 0,
- "objectType": 0
}, - "octetString": "string",
- "real": 0,
- "signed": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}, - "unsigned": 0
}
}, - "uuid": "string"
}
], - "parentId": 0,
- "status": 0,
- "statusMessage": "string",
- "timestamps": {
- "finishedAt": "2019-08-24T14:15:22Z",
- "queuedAt": "2019-08-24T14:15:22Z",
- "runAt": "2019-08-24T14:15:22Z"
}
}
Get a stream of object scan deltas.
This interface returns a stream of scan results with the changes (created/updated/deleted) devices and objects provided. This makes it easy to build visualizations and other interfaces which track the network state over time. The stream is closed after all scans have been sent.
The first record for a device / object is guaranteed to be a create so you can replicate the current state of the network by replaying these deltas.
version | string If set, start scanning for deltas at a particular scan version |
sinceTime.seconds | string Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive. |
sinceTime.nanos | integer <int32> Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive. |
deviceId | Array of integers <uint32> [ items <uint32 > ] filter object scans to only include the set of included device ids. |
objectOnly | boolean only send object deltas |
deviceOnly | boolean only send device deltas |
{- "deviceDelta": {
- "createdDevices": [
- {
- "deviceAddress": {
- "adr": "string",
- "bbmd": "string",
- "deviceId": 0,
- "mac": "string",
- "maxApdu": 0,
- "net": 0,
- "portId": 0
}, - "isNew": true,
- "renamedDeviceUuid": "string",
- "scannedAt": "2019-08-24T14:15:22Z",
- "scannedProps": {
- "property1": {
- "array": [
- { }
], - "bitString": {
- "length": 0,
- "setBits": [
- 0
]
}, - "boolean": true,
- "characterString": "string",
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "double": 0,
- "enumerated": 0,
- "null": true,
- "objectId": {
- "instance": 0,
- "objectType": 0
}, - "octetString": "string",
- "real": 0,
- "signed": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}, - "unsigned": 0
}, - "property2": {
- "array": [
- { }
], - "bitString": {
- "length": 0,
- "setBits": [
- 0
]
}, - "boolean": true,
- "characterString": "string",
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "double": 0,
- "enumerated": 0,
- "null": true,
- "objectId": {
- "instance": 0,
- "objectType": 0
}, - "octetString": "string",
- "real": 0,
- "signed": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}, - "unsigned": 0
}
}, - "uuid": "string"
}
], - "missingDevices": [
- {
- "deviceAddress": {
- "adr": "string",
- "bbmd": "string",
- "deviceId": 0,
- "mac": "string",
- "maxApdu": 0,
- "net": 0,
- "portId": 0
}, - "isNew": true,
- "renamedDeviceUuid": "string",
- "scannedAt": "2019-08-24T14:15:22Z",
- "scannedProps": {
- "property1": {
- "array": [
- { }
], - "bitString": {
- "length": 0,
- "setBits": [
- 0
]
}, - "boolean": true,
- "characterString": "string",
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "double": 0,
- "enumerated": 0,
- "null": true,
- "objectId": {
- "instance": 0,
- "objectType": 0
}, - "octetString": "string",
- "real": 0,
- "signed": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}, - "unsigned": 0
}, - "property2": {
- "array": [
- { }
], - "bitString": {
- "length": 0,
- "setBits": [
- 0
]
}, - "boolean": true,
- "characterString": "string",
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "double": 0,
- "enumerated": 0,
- "null": true,
- "objectId": {
- "instance": 0,
- "objectType": 0
}, - "octetString": "string",
- "real": 0,
- "signed": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}, - "unsigned": 0
}
}, - "uuid": "string"
}
], - "modifiedDevices": [
- {
- "deviceAddress": {
- "adr": "string",
- "bbmd": "string",
- "deviceId": 0,
- "mac": "string",
- "maxApdu": 0,
- "net": 0,
- "portId": 0
}, - "isNew": true,
- "renamedDeviceUuid": "string",
- "scannedAt": "2019-08-24T14:15:22Z",
- "scannedProps": {
- "property1": {
- "array": [
- { }
], - "bitString": {
- "length": 0,
- "setBits": [
- 0
]
}, - "boolean": true,
- "characterString": "string",
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "double": 0,
- "enumerated": 0,
- "null": true,
- "objectId": {
- "instance": 0,
- "objectType": 0
}, - "octetString": "string",
- "real": 0,
- "signed": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}, - "unsigned": 0
}, - "property2": {
- "array": [
- { }
], - "bitString": {
- "length": 0,
- "setBits": [
- 0
]
}, - "boolean": true,
- "characterString": "string",
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "double": 0,
- "enumerated": 0,
- "null": true,
- "objectId": {
- "instance": 0,
- "objectType": 0
}, - "octetString": "string",
- "real": 0,
- "signed": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}, - "unsigned": 0
}
}, - "uuid": "string"
}
], - "scanTime": "2019-08-24T14:15:22Z",
- "uuid": "string"
}, - "jobId": 0,
- "objectDelta": {
- "createdObjects": [
- {
- "errorProps": {
- "property1": {
- "errorClass": 0,
- "errorCode": 0
}, - "property2": {
- "errorClass": 0,
- "errorCode": 0
}
}, - "objectId": {
- "instance": 0,
- "objectType": 0
}, - "scannedAt": "2019-08-24T14:15:22Z",
- "scannedProps": {
- "property1": {
- "array": [
- { }
], - "bitString": {
- "length": 0,
- "setBits": [
- 0
]
}, - "boolean": true,
- "characterString": "string",
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "double": 0,
- "enumerated": 0,
- "null": true,
- "objectId": {
- "instance": 0,
- "objectType": 0
}, - "octetString": "string",
- "real": 0,
- "signed": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}, - "unsigned": 0
}, - "property2": {
- "array": [
- { }
], - "bitString": {
- "length": 0,
- "setBits": [
- 0
]
}, - "boolean": true,
- "characterString": "string",
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "double": 0,
- "enumerated": 0,
- "null": true,
- "objectId": {
- "instance": 0,
- "objectType": 0
}, - "octetString": "string",
- "real": 0,
- "signed": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}, - "unsigned": 0
}
}, - "uuid": "string"
}
], - "deletedObjects": [
- {
- "errorProps": {
- "property1": {
- "errorClass": 0,
- "errorCode": 0
}, - "property2": {
- "errorClass": 0,
- "errorCode": 0
}
}, - "objectId": {
- "instance": 0,
- "objectType": 0
}, - "scannedAt": "2019-08-24T14:15:22Z",
- "scannedProps": {
- "property1": {
- "array": [
- { }
], - "bitString": {
- "length": 0,
- "setBits": [
- 0
]
}, - "boolean": true,
- "characterString": "string",
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "double": 0,
- "enumerated": 0,
- "null": true,
- "objectId": {
- "instance": 0,
- "objectType": 0
}, - "octetString": "string",
- "real": 0,
- "signed": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}, - "unsigned": 0
}, - "property2": {
- "array": [
- { }
], - "bitString": {
- "length": 0,
- "setBits": [
- 0
]
}, - "boolean": true,
- "characterString": "string",
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "double": 0,
- "enumerated": 0,
- "null": true,
- "objectId": {
- "instance": 0,
- "objectType": 0
}, - "octetString": "string",
- "real": 0,
- "signed": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}, - "unsigned": 0
}
}, - "uuid": "string"
}
], - "modifiedObjects": [
- {
- "errorProps": {
- "property1": {
- "errorClass": 0,
- "errorCode": 0
}, - "property2": {
- "errorClass": 0,
- "errorCode": 0
}
}, - "objectId": {
- "instance": 0,
- "objectType": 0
}, - "scannedAt": "2019-08-24T14:15:22Z",
- "scannedProps": {
- "property1": {
- "array": [
- { }
], - "bitString": {
- "length": 0,
- "setBits": [
- 0
]
}, - "boolean": true,
- "characterString": "string",
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "double": 0,
- "enumerated": 0,
- "null": true,
- "objectId": {
- "instance": 0,
- "objectType": 0
}, - "octetString": "string",
- "real": 0,
- "signed": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}, - "unsigned": 0
}, - "property2": {
- "array": [
- { }
], - "bitString": {
- "length": 0,
- "setBits": [
- 0
]
}, - "boolean": true,
- "characterString": "string",
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "double": 0,
- "enumerated": 0,
- "null": true,
- "objectId": {
- "instance": 0,
- "objectType": 0
}, - "octetString": "string",
- "real": 0,
- "signed": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}, - "unsigned": 0
}
}, - "uuid": "string"
}
], - "scanTime": "2019-08-24T14:15:22Z",
- "target": {
- "adr": "string",
- "bbmd": "string",
- "deviceId": 0,
- "mac": "string",
- "maxApdu": 0,
- "net": 0,
- "portId": 0
}, - "uuid": "string"
}, - "version": "string"
}
Listen to a stream of completed jobs.
This interface returns a stream of jobs which have ended (either succeded or failed). This allows downstream clients to synchronize object databases with this system without missing any records.
The call returns onces all available scans have been sent.
version | string Sync token to only request new jobs. If nil or empty, will return all jobs available (since the beginning of time). Since the job stream may expire jobs due to memory pressures you may not be sure this is all jobs; use GetJobs. |
limit | integer <int32> |
wait | boolean |
full | boolean |
{- "job": {
- "autoImport": true,
- "autoPoll": {
- "nanos": 0,
- "seconds": "string"
}, - "clientId": "string",
- "device": {
- "autoScan": true,
- "autoScanNewOnly": true,
- "ifMissing": 0,
- "objectTypes": [
- 0
], - "properties": [
- 0
], - "targets": [
- {
- "deviceInstanceRangeHighLimit": 0,
- "deviceInstanceRangeLowLimit": 0
}
]
}, - "deviceResult": [
- {
- "deviceAddress": {
- "adr": "string",
- "bbmd": "string",
- "deviceId": 0,
- "mac": "string",
- "maxApdu": 0,
- "net": 0,
- "portId": 0
}, - "isNew": true,
- "renamedDeviceUuid": "string",
- "scannedAt": "2019-08-24T14:15:22Z",
- "scannedProps": {
- "property1": {
- "array": [
- { }
], - "bitString": {
- "length": 0,
- "setBits": [
- 0
]
}, - "boolean": true,
- "characterString": "string",
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "double": 0,
- "enumerated": 0,
- "null": true,
- "objectId": {
- "instance": 0,
- "objectType": 0
}, - "octetString": "string",
- "real": 0,
- "signed": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}, - "unsigned": 0
}, - "property2": {
- "array": [
- { }
], - "bitString": {
- "length": 0,
- "setBits": [
- 0
]
}, - "boolean": true,
- "characterString": "string",
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "double": 0,
- "enumerated": 0,
- "null": true,
- "objectId": {
- "instance": 0,
- "objectType": 0
}, - "octetString": "string",
- "real": 0,
- "signed": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}, - "unsigned": 0
}
}, - "uuid": "string"
}
], - "id": 0,
- "imported": true,
- "network": {
- "autoScan": true,
- "autoScanNewOnly": true,
- "dadrs": "string",
- "dnets": "string",
- "ifMissing": 0,
- "mstpBaseDeviceId": 0,
- "objectTypes": [
- 0
], - "operationTimeout": {
- "nanos": 0,
- "seconds": "string"
}, - "ports": "string",
- "scanLimit": 0,
- "scanMstp": true,
- "subnet": "string"
}, - "object": {
- "ifMissing": 0,
- "objectTypes": [
- 0
], - "properties": [
- 0
], - "target": {
- "adr": "string",
- "bbmd": "string",
- "deviceId": 0,
- "mac": "string",
- "maxApdu": 0,
- "net": 0,
- "portId": 0
}
}, - "objectCount": {
- "property1": 0,
- "property2": 0
}, - "objectResult": [
- {
- "errorProps": {
- "property1": {
- "errorClass": 0,
- "errorCode": 0
}, - "property2": {
- "errorClass": 0,
- "errorCode": 0
}
}, - "objectId": {
- "instance": 0,
- "objectType": 0
}, - "scannedAt": "2019-08-24T14:15:22Z",
- "scannedProps": {
- "property1": {
- "array": [
- { }
], - "bitString": {
- "length": 0,
- "setBits": [
- 0
]
}, - "boolean": true,
- "characterString": "string",
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "double": 0,
- "enumerated": 0,
- "null": true,
- "objectId": {
- "instance": 0,
- "objectType": 0
}, - "octetString": "string",
- "real": 0,
- "signed": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}, - "unsigned": 0
}, - "property2": {
- "array": [
- { }
], - "bitString": {
- "length": 0,
- "setBits": [
- 0
]
}, - "boolean": true,
- "characterString": "string",
- "date": {
- "day": 0,
- "month": 0,
- "wday": 0,
- "year": 0
}, - "double": 0,
- "enumerated": 0,
- "null": true,
- "objectId": {
- "instance": 0,
- "objectType": 0
}, - "octetString": "string",
- "real": 0,
- "signed": 0,
- "time": {
- "hour": 0,
- "hundreth": 0,
- "minute": 0,
- "second": 0
}, - "unsigned": 0
}
}, - "uuid": "string"
}
], - "parentId": 0,
- "status": 0,
- "statusMessage": "string",
- "timestamps": {
- "finishedAt": "2019-08-24T14:15:22Z",
- "queuedAt": "2019-08-24T14:15:22Z",
- "runAt": "2019-08-24T14:15:22Z"
}
}, - "version": "string"
}
The Device Status service monitors the error rates of devices, and provides device health statistics to consumers.
layer | string |
errorFilter | integer <enum> only return devices with a particular error status |
returnTimeseries | boolean return the error timeseries in addition to the current values |
sortField | string possibilities are last_alive or current_error_rate |
sortOrder | string |
pageOffset | string |
pageSize | string |
{- "errorHistory": [
- {
- "greenCount": 0,
- "redCount": 0,
- "ts": "2019-08-24T14:15:22Z",
- "yellowCount": 0
}
], - "results": [
- {
- "currentErrorRate": 0,
- "currentErrorStatus": 0,
- "deviceId": "string",
- "deviceName": "string",
- "deviceUuid": "string",
- "errorStatuses": [
- 0
], - "errorTimestamps": [
- "2019-08-24T14:15:22Z"
], - "lastAlive": "2019-08-24T14:15:22Z",
- "layer": "string",
- "ts": "2019-08-24T14:15:22Z",
- "up": true
}
], - "totalCount": "string"
}
layer | string |
deviceUuid | string |
window.seconds | string Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years |
window.nanos | integer <int32> Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 |
{- "deviceErrors": [
- {
- "deviceId": "string",
- "deviceName": "string",
- "deviceUuid": "string",
- "errorCount": "string",
- "errorRate": 0,
- "errorStatus": 0,
- "layer": "string"
}
], - "errorCounts": {
- "property1": "string",
- "property2": "string"
}
}