-
Notifications
You must be signed in to change notification settings - Fork 1
BacnetDriver
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):
The name to used access the point. References to this point will use this name.
Used for meta data when creating point information on the sMAP historian.
A string representing what kind of BACnet standard object the point belongs to. Examples include:
- analogInput
- analogOutput
- analogValue
- binaryInput
- binaryOutput
- binaryValue
- multiStateValue
A string representing the name of the property belonging to the object. Usually this will be "presentValue".
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.
Object ID of the BACnet object.
Additional notes for the point.
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 |