Using a Non-Alarm Property Tag in Pipeline switch block

I am trying to send alarms to different Notification Blocks using a Switch. Is it possible to use any tag in the Switch Block vs an Alarm property tag, to send it to a different Notification Block? Below, I am using a tag that displays the current shift as a String that is active to send the alarms to ppl on that shift only. It doesn’t seem to be working as I had hoped. It does not return any alarms. We have another pipeline running in Tandem with the same notification block but different roster and it works. Any Ideas would be welcomed.

I don’t see anything obviously wrong with your setup, although I’m pretty sure you could replace your switch + repeated notification blocks with a single notification block - just use an expression roster where you read your current shift tag and return the name of the roster to use:
https://docs.inductiveautomation.com/display/DOC81/Notification+Block#NotificationBlock-Expression

@PGriffith, Thank you for your suggestion on using the expression roster. That one may be down the road in future notifications. I broke them up for ease of troubleshooting while I am learning. LOL. My concern is whether or not the expression I am using is valid for the switch block. The documentation in the manual shows that we should create an Associated Property inside of each Alarm tag to make the switch work properly. Ignition is so flexible, I assumed that any expression would be valid to use. If that is the case, then I must have something else going on…

I would absolutely expect your switch to work as it is - even if the expression failed (it shouldn’t, you definitely can read tags) the catch-all should still be going to the first roster.

How are you testing the pipeline? If it’s by modifying a tag’s value, do you have the ‘Notify Initial Events’ flag set, in the general alarming properties? Is the rest of the pipeline working up to this point?

Another strategy for debugging would be to inject script blocks that just use system.util.getLogger() to act as ‘printf debugging’ for the pipeline logic.

I have an existing pipeline that is using the same notification block set up with a different roster. We have existing alarms that show up using that notification block when that pipeline is enabled.

I am testing by using the same alarms, disabling the working pipeline, enabling the new pipeline and then saving the gateway.

@PGriffith, Thank you for confirming that my scripting was NOT the problem. I found where I was not pointing my alarms to the proper pipeline as it is a dynamic pipeline for different Alarms. Thank you again.

1 Like