There are cases where customers would like to know if certain devices in Niagara are down. In this case, it's difficult to tell since they all come in under one Haystack connector in FIN and it's not necessarily the status of the connector, but the devices in Niagara Network or BACnet Network etc. So to create a program to check if any of those devices are down would be to create a program that runs on a point from each device. That way if the one of those points is down, you'll know which device it is even though the connector is 'ok'. To set this up, follow the below steps.

First the user will tag one point from each device that they know won't change like being renamed or moved etc. The tag in our example is "deviceStatus.” In this case tag the choosen point as "deviceStatus" and "allowProgram".

 

Then create the program to run on the those points. It should look like something below.

 

Then create a new variable from the "Add Variable" from the right menu. We want to add the curStatus of the point. Then we use that in logic to trigger the alarm based on the status of the point.
Tag name = curStatus
On = Target
Data type = String
Is = Read Only

 

The example includes a “dis” variable so that the users will be able to know which connector it is in case they have multiple of them. The program is called "connStatusProgramPoint".

Below are screenshots of the program logic that the user can replicate. As well as a copy if they prefer to upload our examples. It also includes the dis, equipNavName, siteNavName, and navName variables so that the users will be able to know which site, floor, equip, and point it is in case they have multiple of them. The program is called "deviceStatusProgram".

deviceStatusProgram.zip

  

 

 

So all the user has to do if they upload the program is make sure the point is tagged correctly as mentioned above and it should work. Remember, only do one point per device.