Skip to main content
Version: 4.2 (beta)

BACnetServer Utility

The BACnetServer Utility application allows you to show all defined objects and their properties and values. It also supports writing values to writable properties. Whenever a BACNetServer I/O server is defined in HSYCO, the BACnetServer Utility will appear among the applications of the manager.

When more than one BACnetServer I/O Server is defined, use the server selector at the top of the page to choose the one to browse. All the tables of the utility always refer to the selected I/O Server.

Objects

Create new objects by adding them in the Objects table. These will be considered 'Static' objects, so these ones are not removed when restarting HSYCO. Objects created through Events are 'Dynamic', these can't be deleted manually, they will be removed once HSYCO restarts. Each object can have a free text note, that you can edit at any time.

The Objects table also lists the built-in objects, that are always served and can't be created, edited or deleted:

  • the Device object, whose instance number is set by the deviceid option of the I/O Server
  • the Network Port object (instance 1), describing the datalink in use: the BACnet/IP port in IP mode, the SC port and the state of the hub in BACnet/SC mode
  • in BACnet/SC mode, four read-only File objects (instances 1 to 4), exposing the operational certificate, the two issuer certificates and the certificate signing request in PEM format

Created objects with no property value set at all are flagged with an icon in the first column of the table. Objects with a note also show an icon in the Notes column, with the text of the note as its tooltip.

Static objects are persisted in the bacnetservertopo.txt file.

Properties

Select an object row to select that object, and the browser will show all the properties (with their value) for that object instance. Properties that have no value set show the BACnet default value of the property, when one is defined; when there is no default either, they are shown as '...' and reading them returns a NULL value. The 'Copy DTP' button of each row copies the full name of the HSYCO datapoint of that property to the clipboard.

To manually update the values, simply press the Edit icon. Read-only properties, like the identification properties of the Device object or all the properties of the Network Port and File objects, have no Edit icon.

For the commandable object types (analogoutput, analogvalue, binaryoutput, binaryvalue, multistateoutput and multistatevalue), editing the Present Value also lets you choose the priority, from 1 to 16, defaulting to 16. The value is written to the corresponding slot of the priority array, and the Present Value is recalculated from the highest priority slot that is set, or from the Relinquish_Default property when no slot is set. The 16 priority array slots are listed as individual, read-only priorityarray[1] ... priorityarray[16] rows.

All writable properties (the ones highlighted in bold) can have a 'Linked Datapoint', that's just another HSYCO datapoint. Linking a BACnet property to a datapoint means that no BACnet datapoint will be created for that property, as its value is the value of the linked datapoint. The linked datapoint is read and written by the BACnet clients through this property, and any change of its value also triggers the COV notifications of the property. The links are persisted in the bacnetserverdatapoints.txt file.

All object's properties and values for the selected I/O Server can be seen and exported using the 'Export All Objects' button.

Subscriptions

All active Subscriptions can be seen from the 'Subscription' page, that shows all important information regarding each subscription, like when it started, its lifetime, covIncrement etc. Subscriptions created with the SubscribeCOVProperty service also show the monitored property; for the ones created with the SubscribeCOV service the monitored property is empty, as they monitor the Present Value and the Status Flags of the object. Expired subscriptions are removed from the list while the page is open.