Tag in Alarm Status?

Is there any way to add a column in the Alarm Status object to show the name of the Tag? Without this, it is hard to know what tag is generating an alarm

The alarm status object has helpers that can retrieve any of the 23 alarm properties, which include the qualified path:

alarm.getSource().getParentPath()

If I'm querying the alarm, and I need to get the actual tag path in order to grab tag values, I do this:

alr = system.alarm.queryStatus(all_properties=[('EventId', '=', UUID)])
tagPath =  str(alr[0].getSource().getParentPath()).replace('prov:','[').replace(':/tag:',']')
tag = system.tag.readBlocking([tagPath])

This approach can be adapted to almost any usage case.

Thanks for the reply. I am not sure how I would use that to add a Tag column to the Alarm Status.

Are you talking about the alarm status table? If you right click on the header, all 23 alarm properties can be added as a column including the source property.

The source path does contain the tag, but it is buried in a long list of info the operator does not want to see. The operator wants to know which tag/loop the alarm came from.


That makes sense. Adding a custom column to the alarm status table can be done, but it is not simple and requires significant scripting.

Perhaps the tag name could be put in the label, and the label column could be used.

As noted in the documentation here:

https://docs.inductiveautomation.com/display/DOC81/Alarm+Journal#AlarmJournal-TableDefinitions

The display path is expected to be the sanitized version of the source (path). If you leave it blank, Ignition will show the simple tag path. If you supply a value, you are expected to supply an operator-friendly path. You've apparently broken that expectation by putting the alarm name in the display path and leaving the alarm name the generic "Alarm". Hmm?

Phil, I can always count on you for candor.
"You've apparently broken that expectation by putting the alarm name in the display path and leaving the alarm name the generic "Alarm""

Incorrect. The DISPLAY PATH is showing the alarm detail (the nature of the alarm, such as "Hi", "Lo", "Failed to start", etc). The NAME and LABEL columns have "Alarm" in them.

The fix is shown in the attached images. Linking LABEL to the {itemName} gives you the Ignition tag name without all the rest of the path info.


1 Like

I'm not disputing what you've done, or that the Label can serve that purpose, but I'm questioning why your alarm is named "Alarm" instead of having a name that provides the detail you want. Then display path can serve its intended purpose (which is why it has "Path" in it column name).

Are all of your alarms named "Alarm" ? Seems kind of useless when everything in that table is an alarm.

I am using Flintium, which uses "Alarm" for the Name attribute in its UDT definition. Flintium is mighty nice for PlantPAX objects

Fork it, fix it, and send a pull request, perhaps?