No description, website, or topics provided.
Switch branches/tags
Latest commit 7fccd6f Mar 16, 2016 @anyaelena anyaelena Explicit TLS version.

Building Agent BACnet Scraper

This library provides scanning and data scraping functionality for devices on a BACnet network. It provides standalone functionality but is intended to work with the Stateful BACnet Scraper application to provide modular and stateful discovery and scraping functionality.

Project funded by NREL's Commercial Building LDRD Project for Building Agent. Read more about Building Agent:


gradle is used for building the project. To build:

git clone
cd BACnet
gradle build


The -dev option is required. If the -databus option is not set to false, databus configuration (-k,-u,-U,-p) must be provided.

usage: Syntax: [-D <arg>] [-d <arg>] [-databus <arg>] [-f <arg>] [-F                              
       <arg>] [-i <arg>] [-k <arg>] [-l <arg>] [-M <arg>] [-m <arg>] [-p                          
       <arg>] [-s] [-S] [-T <arg>] [-t <arg>] [-U <arg>] [-u <arg>] [-v]                          
 -D,--device-id <arg>                 device ID to scan, exclusive of                             
                                      min-device-id and max-device-id                             
 -d,--dev <arg>                       Network device to use for                                   
                                      broadcasts, default: eth0                                   
 -databus,--databus-enabled <arg>     Enable writing to databus. default:                         
 -f,--filter-file <arg>               JSON filter file to use during                              
                                      scanning, default:                                          
 -F,--oid-file <arg>                  JSON oid file to use for the slave
                                      device configuration, default:
 -i,--id <arg>                        Device ID of this software, default:
 -k,--databus-key <arg>               Key for sending to Databus, default:
 -l,--logging-properties-file <arg>   File for loading logger
                                      configuration, default:
 -M,--max-device-id <arg>             Maximum device ID to scan for,
                                      default: -1
 -m,--min-device-id <arg>             Minimum device ID to scan for,
                                      default: -1
 -p,--databus-port <arg>              Databus port for sending to
                                      Database, default: 5502
 -s,--scan                            Enable scanning feature, default:
 -S,--slave-device                    Enable slave device feature,
                                      default: false
 -T,--slave-device-interval <arg>     Number of seconds between updates to
                                      slave device values, default: 10
 -t,--scan-interval <arg>             Amount of time (in ms) to wait
                                      between finishing one scan and
                                      starting another. default: 168
 -U,--databus-user <arg>              Databus username for sending to
                                      Database, default: robot-bacnet
 -u,--databus-url <arg>               Databus URL to send data to,
 -v,--verbose                         Verbose logging (Info Level).
                                      Default is warning and error
                                      logging. default: false
 -vv,--very-verbose                   Very verbose logging (All Levels).
                                      Default is warning and error
                                      logging. default: false

Slave Device

In addition to the scraping and scanning features, the tool can act as a BACnet slave device. See the --slave-device and --oid-file for more information.