Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ Adapter for BACnet

Configure data selection

  • Last UpdatedFeb 20, 2025
  • 4 minute read

In addition to the data source configuration, you need to provide a data selection configuration to specify the data you want the BACnet adapter to collect from the data sources.

Complete the following steps to configure the BACnet data selection.

  1. Use the PUT method in conjunction with the following REST endpoint to initialize the configuration:

    api/v1/configuration/<ComponentId>/DataSelection

  2. Using a text editor, create an empty text file.

  3. Copy and paste an example configuration for BACnet data selection into the file

  4. Update the example JSON parameters for your environment.

  5. Save the file. For example, as DataSelection.json.

  6. Open command line session. Change directory to the location of DataSelection.json.

  7. Enter the following cURL command (which uses the PUT method) to initialize data selection for your data source.

    If you installed the adapter to listen on a non-default port, update 5590 to the port number in use. Additionally, if you use a component ID other than BACnet1, update the endpoint with your chosen component ID.

    curl -d "@DataSelection.json" -H "Content-Type: application/json" -X PUT "http://localhost:5590/api/v1/configuration/BACnet1/DataSelection"

    Note: For a list of other REST operations you can perform, like updating or deleting a data source, see REST URLs section below .

Data selection parameters

The following parameters are available to configure BACnet data selection:

Parameter

Required

Type

Description

selected

Optional1

boolean

Use this field to select or clear a measurement.

To select an item, set to true and specify a scheduleId.

To remove an item, leave the field empty or set to false.

If not configured, the default value is false.

name

Optional

string

Name of the data item collected from the data source.

The default value is null and results in the streamId value being used also as a name.

streamId

Optional

string

The custom stream ID to create the streams. If not specified, the BACnet adapter generates a default stream ID based on the measurement configuration.

A properly configured custom stream ID follows these rules:

  • Is not case-sensitive

  • Can contain spaces

  • Cannot start with two underscores ("__")

  • Can contain a maximum of 100 characters

  • Cannot use the following characters:
    /:?#[]@!

    amp;'()\*+,;=%<>|

  • Cannot start or end with a period

  • Cannot contain consecutive periods

  • Cannot consist of only periods

dataFilterId

Optional

string

The ID of the data filter.

Note: If the specified dataFilterId does not exist, unfiltered data is sent until that dataFilterId is created.

deviceIPAddress

Required

string

Device IP address

deviceId

Required3

number

BACnet device instance number

objectType

Required3

string

Any of the types listed in the Principles of operation

objectId

Required3

number

BACnet object instance number

dataCollectionMode

Optional

string

Specifies the mode of data collection for the item. Must be one of Poll, SubscribeCov, or SubscribeCovProperty. Default value is Poll.

For more information, see Change of Value and Polled data stream.

covIncrement

Optional

number

For use only with SubscribeCovProperty in DataCollectionMode. Specifies the amount that the configured property must change in order for a new value to be sent by the device. If the value is empty, the COV increment to use is determined by the device. If set to 0, any change in value will result in a new data value being sent.

propertyIdentifier

Optional3

string

Specifies which property to collect from the BACnet object. If left empty, PresentValue is collected.

scheduleId

Optional1, 2

string

Specifies a schedule ID to which the data selection item is linked. This data item is collected on the scheduled interval if Selected is set to true.

For DataCollectionMode=Poll, this is the interval at which this property is requested from the device.

For DataCollectionMode=SubscribeCov or SubscribeCovProperty, this is the interval at which a re-subscription request is sent.

For more information on schedules, see Schedules.

1 Required for data flow.

2 If the configured scheduleId for an item is not valid, then no data will be collected for the item because it will never be scheduled.

3 If you specify the same combination of deviceId, objectType, objectId, and propertyIdentifier for multiple data selection items, it can result in data not being written to one or more streams. we recommend that the combination of those properties be unique for each data selection item.

Data selection examples

The following is an example of a valid BACnet data selection configuration with different data collection modes. Since the last item has Selected set to false, data will not be collected for it.

[

{

"selected": true,

"name": "10.12.112.40_14.AnalogInput90",

"streamId": "10.12.112.40_14.AnalogInput90",

"deviceIPAddress": "10.12.112.40",

"deviceId": 14,

"objectType": "AnalogInput",

"objectId": 90,

"dataCollectionMode": "Poll",

"scheduleId": "Schedule1"

},

{

"selected": true,

"name": "10.12.112.40_14.AnalogInput95",

"streamId": "10.12.112.40_14.AnalogInput95",

"deviceIPAddress": "10.12.112.40",

"deviceId": 14,

"objectType": "AnalogInput",

"objectId": 95,

"dataCollectionMode": "SubscribeCovProperty",

"propertyIdentifier": "PresentValue",

"covincrement": 0.5,

"scheduleId": "Schedule1"

},

{

"selected": false,

"name": "10.12.112.40_16.AnalogOutput70",

"streamId": "10.12.112.40_16.AnalogOutput70",

"deviceIPAddress": "10.12.112.40",

"deviceId": 16,

"objectType": "AnalogOutput",

"objectId": 70,

"dataCollectionMode": "SubscribeCov",

"scheduleId": "Schedule2"

}

]

REST URLs

Relative URL

HTTP verb

Action

api/v1/configuration/<ComponentId>/DataSelection

GET

Retrieves the data selection configuration, including all data selection items.

api/v1/configuration/<ComponentId>/DataSelection

PUT

Configures or updates the data selection configuration. The adapter starts collecting data for each data selection item when the following conditions are met:

- The data selection configuration PUT request is received.
- A data source configuration is active.

api/v1/configuration/<ComponentId>/DataSelection

POST

Allows new items to be appended to the data selection without having to pass the entire data selection.

api/v1/configuration/<ComponentId>/DataSelection

PATCH

Allows partial updates of configured data selection items.

Note: The request must be an array containing one or more data selection items. Each item in the array must include its StreamId.

api/v1/configuration/<ComponentId>/DataSelection

DELETE

Deletes the active data selection configuration. The adapter stops collecting data.

api/v1/configuration/<ComponentId>/DataSelection/<StreamId>

PUT

Updates or creates a new data selection item by StreamId. For new items, the adapter starts collecting data after the request is received.

api/v1/configuration/<ComponentId>/DataSelection/<StreamId>

DELETE

Deletes a data selection item from the configuration by StreamId. The adapter stops collecting data for the deleted item.

Note: Replace <Component> with the Id of your BACnet component. For example, BACnet1.

TitleResults for “How to create a CRG?”Also Available in