Diagnostic Object

From BACnet Wiki
Revision as of 13:40, 18 October 2023 by BACnetEd (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This is a proof-of-concept project in preparation for submitting a new "BACnet Diagnostic Object" proposal to the BACnet Steering Committee

There is a discussion group at the BACnet Forum

See the Wiki overview of Diagnostic Features, and related Diagnostic Services

BACnet Diagnostic Object (one per device)
Property Req New Datatype Description
BACnet Stack Vendor ID O Unsigned Different to the Vendor ID of the device itself if 3rd party stack
BACnet Stack Library Version O Y String This is the version of the 3rd party library
BACnet Stack Version R Y String OEM may modify the above, this needs to be versioned. Else if OEM custom, that version
Controller Firmware Version R N String This is the version of controllers 'business logic'
Application Version O N String This is the version of user configurable programs, scripts or logic'
BTL Certificate # O Y String
BTL Issue Date O Y BACnetDate

Initial Ideas


  • Duplicate Device ID detected
  • Looped Route (Jen’s words)


  • RAM %
  • Program memory %
  • CPU load %
  • Temperature
  • Certificate expiration dates
  • An array/list of strings (and values) to display error messages
  • - repetition count
  • - priority
  • - non-repeating
  • - suppressible
  • - ack required
  • - delete (once, forever)
  • - filters (same as suppressible?)
  • - features similar to existing alarms/event buffers/remote destinations (code-share)
  • ESE ?
  • flasherr ?
  • Enforced version numbering (including bug/feature/eng/market)


  • Debug / production mode at runtime
  • Debug verbosity levels
  • ‘C or ‘F system-wide
  • Developer mode flag (with password?)


  • High-water queue usage
  • Duplicate Network Numbers
  • Broadcast storm (loop) detected / suppressed (Circular Route Detection)
  • Monitoring remote connections (devices)
  • Attempts made
  • Passes / fails / MTTR etc.

General Datalink

  • Messages per second (minute/hour)
  • queue sizes, high-water, choked/ message rate

IP Datalinks

  • Duplicate IP address
  • Netmask Error

MS/TP Datalinks

  • Measure Tusage (token handling time)


  • Enhanced Monitoring and Troubleshooting: A standardized way to monitor the health and status of devices, systems, and networks. It allows for real-time visibility into potential issues, which can aid in troubleshooting and reducing downtime.
  • Proactive Maintenance: By collecting and analyzing diagnostic data, building managers can identify issues before they escalate into significant problems. This proactive approach to maintenance can minimize disruptions, extend the lifespan of equipment, and reduce repair costs.
  • Integration and Interoperability: BACnet is designed to facilitate interoperability between various building automation systems and devices. By defining a standardized diagnostic object, different devices and systems can share diagnostic information more effectively, regardless of the manufacturer.
  • Reduced Downtime: Swift identification and resolution of issues through diagnostic data can significantly reduce downtime of critical systems, leading to improved operational continuity and tenant satisfaction.