# BACnet/IP Device Connection Status

**URL:** <https://forum.inductiveautomation.com/t/bacnet-ip-device-connection-status/108429>\
**Category:** Ignition\
**Tags:** perspective, ignition81\
**Created:** [July 14, 2025, 1:44pm UTC](https://forum.inductiveautomation.com/t/bacnet-ip-device-connection-status/108429 "2025-07-14T13:44:50Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Shea\_Molthen](https://avatars.discourse-cdn.com/v4/letter/s/c37758/32.png) [@Shea\_Molthen](https://forum.inductiveautomation.com/u/Shea_Molthen)\
**Post date:** [July 14, 2025, 1:44pm UTC](https://forum.inductiveautomation.com/t/bacnet-ip-device-connection-status/108429/1 "2025-07-14T13:44:50Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [July 14, 2025, 1:47pm UTC](https://forum.inductiveautomation.com/t/bacnet-ip-device-connection-status/108429/2 "2025-07-14T13:47:23Z")

</div>

> [@Shea\_Molthen](#):
>
> Is tag() okay in expression tags?

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

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [July 14, 2025, 1:51pm UTC](https://forum.inductiveautomation.com/t/bacnet-ip-device-connection-status/108429/3 "2025-07-14T13:51:19Z")

</div>

> [@Shea\_Molthen](#):
>
> Read the quality from a tag that is connected to the device in question and alarm when that quality is bad

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.

> [@Shea\_Molthen](#):
>
> It doesn't appear that the BACnet/IP driver has [Diagnostics]/Connected

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.
