BACnet Device Scan

After the channel has been started, the device scan can be used to locate all of the devices connected to the network.

Using the Device Scan tab from the Admin Page, the Scan Network button can be selected to start the scan. There are options on this page to filter devices and limit the scan to a certain channel.

During commissioning the device scan is used to discover all BACnet devices on the network, to automatically create a corresponding deviceWISE device.

Only devices connected to the same segment, connected to a router on the same segment, or connected to a BBMD will be detected by the Device Scan method.

 

After the scan has been initiated the fields will be disabled, signaling that the search is in progress. The driver will broadcast BACnet WhoIs messages using the High Limit and Low Limit to locate devices. For each BACnet IAm message received, a deviceWISE device is created and started if the option to start is set. It is important to be cautious with the definition of the value of the High and Low limits, to avoid using unnecessary processing effort on the lookout of nonexistent devices.

The device scan can be limited to a single device or a range of devices using high and low limits.

When the fields are enabled, your search is complete and your devices can be found under the Devices menu. You can click on the Refresh button to check upon it's progress.

When clicking on Variables, under Devices it is possible to see every detail about the devices.

Name Type Count Readable Writable Mask
online BOOL 1 True False None
readProperty Supported BOOL 1 True False

None

readPropertyMultiple

Supported

BOOL 1 True False None
writeProperty Supported BOOL 1 True False None
writePropertyMultiple Supported BOOL 1 True False None
Vendor Id UINT4 1 True False None
Max APDU Length Accepted UINT4 1 True False None
Is Static Address BOOL 1 True False None
Router To Network STRING(64) 1 True False None
Address STRING(64) 1 True False None
device

ArrayOfObjectIdentifier

Structure

       
device.n ObjectIdentifier Structure        
device.n...          
analogInput ArrayOfObjectIdentifier Structure 1 True False  
analogOutput ArrayOfObjectIdentifier Structure 1 True False  
analogValue ArrayOfObjectIdentifier Structure        
binaryOutput ArrayOfObjectIdentifier Structure 1 True False  
binaryOutput.n.currentCommandPriority String(256)        
binaryOutput.n.description String(256)        
binaryOutput.n.eventState UINT4        
binaryOutput.n.objectIdentifier STRING(256)        
binaryOutput.n.objectName STRING(256)        
binaryOutput.n.objectType UINT4        
binaryOutput.n.outOfService BOOL        
binaryOutput.n.polarity UINT4        
binaryOutput.n.presentValue UINT4        
binaryOutput.n.priorityArray STRING(256)        
binaryOutput.n.relinquishDefault UINT4        
binaryOutput.n.statusFlags STRING(256)        
schedule ArrayOfObjectIdentifier Structure 1 True False None
calendar ArrayOfObjectIdentifier Structure 1 True False None
128 ArrayOfObjectIdentifier Structure 1 True False None
multistateValue ArrayOfObjectIdentifier Structure 1 True False None
group ArrayOfObjectIdentifier Structure        
loop ArrayOfObjectIdentifier Structure        
program ArrayOfObjectIdentifier Structure        

After the deviceWISE device starts, the variables are loaded automatically from a JSON file if it exists, otherwise a new JSON file will be generated by reading from all of the objects within the device.

The JSON Files represent the data model for the controller. They are stored and used thereafter to populate the variables within the device. The variables names are structured to represent the objects within the device and all properties of each object are represented by an unique variable.

Future starts of the deviceWISE device will read from the said file instead of running the discovery over the network.