BACnet/IP Device Connection Status

It doesn't appear that the BACnet/IP driver has [Diagnostics]/Connected so I'm thinking of other ways to determine the connection status of a device for alarm purposes. My thoughts are:

  1. Read the quality from a tag that is connected to the device in question and alarm when that quality is bad
  2. Reference the [System]Gateway/Devices/{device name}/Status tag. It appears it's "Initialized" when good and "Uninitialized" when bad

Option 2 leads me to another question - indirectly referencing another tag. I know I can use the tag() function, however, I avoid that in Perspective in favor of indirect tag bindings. Is tag() okay in expression tags?

Thanks

Yes. That's it's sole remaining appropriate use.

1 Like

Do this.

A BACnet device is "initialized" once it has established communication with the target and finished its browsing and whatever else it needs. It remains initialized after that, regardless of whether it's actually successfully communicating.

Because BACnet/IP uses UDP, a connectionless protocol, you are never "connected".

At any given time the best indicator is that you are currently are getting responses from the device, which is why you should pick an arbitrary tag to treat as your indicator.