Skip to content
Jereme Haack edited this page Sep 12, 2014 · 1 revision

Table of Contents

Configuring BACnet sMAP driver

The device type specific configuration of the BACnet sMAP driver takes place in a CSV file specified in the sMAP configuration file. (See the register_config argument of the volttron.drivers.bacnet.BACnet in the sMAP config example here.) An example file can be found in the voltron repository at volttron/drivers/bacnet_example_config.csv

Most of the configuration file can be generated with the grab_bacnet_config.py utility. See AutoBacnetConfigGeneration.

If the target device is behind an IP to MS/TP router then Remote Station addressing will probably be needed for the driver to find the device.

If the device address is unknown then the bacnet_scan utility can be used to discover devices on a network.

Currently the driver provides no method to access array type properties even if the members of the array are of a supported type.

The CSV file should be comma delimited. An Excel spreadsheet converted to CSV should work fine, even with commas in the data.

The CSV file requires a header line with the following columns labeled in any order (without quotes):

PNNL Point Name

The name to used access the point. References to this point will use this name.

Units

Used for meta data when creating point information on the sMAP historian.

BACnet Object Type

A string representing what kind of BACnet standard object the point belongs to. Examples include:

  • analogInput
  • analogOutput
  • analogValue
  • binaryInput
  • binaryOutput
  • binaryValue
  • multiStateValue

Property

A string representing the name of the property belonging to the object. Usually this will be "presentValue".

Writable

Either TRUE or FALSE. Determines if the point can be written to. If TRUE an actuation point will be created in addition to the normal point representing periodically scraped data. Only points labeled TRUE can be accessed through the ActuatorAgent. Incorrectly labeled points will cause an error to be returned if the user attempts to write to the point.

Currently there the BACnet Driver will write at priority 16 (the lowest possible) when write requests are made.

Index

Object ID of the BACnet object.

Notes

Additional notes for the point.

Example

Additional columns may be added at the user discretion as long as they are labeled differently.

The following is a simple example:

Point Name PNNL Point Name Units Unit Details BACnet Object Type Property Writable Index Notes
Building1/FCB.Local Application.DA1-P SampleAnalogInput inchesOfWater -0.20 to 5.00 analogInput presentValue FALSE 3000108 Resolution: 0.001
Building1/FCB.Local Application.CLG-O SampleAnalogOutput percent 0.00 to 100.00 (default 0.0) analogOutput presentValue TRUE 3000107 Resolution: 0.1
Building1/Energy.OAT SampleAnalogValue days No limits. (default 70.0) analogValue presentValue FALSE 3000019
Building1/FCB.Local Application.LT-A SampleBinaryInput Enum 0-1 binaryInput presentValue FALSE 3000115 BinaryPV: 0=inactive, 1=active
Building1/FCB.Local Application.GEF-C SampleBinaryOutput Enum 0-1 (default 0) binaryOutput presentValue TRUE 3000114 BinaryPV: 0=inactive, 1=active
Building1/FCB.Local Application.TUNING-RESET SampleBinaryValue Enum 0-1 (default 0) binaryValue presentValue TRUE 3000129 BinaryPV: 0=inactive, 1=active
Building1/FCB.Local Application.APP-MODE SampleMultiStateValue State State count: 7 (default 7) multiStateValue presentValue FALSE 3000128 1=Cool Only, 2=Heat Only, 3=Fan Only, 4=Water Flush, 5=Purge, 6=Vent, 7=Auto
Clone this wiki locally