Alarm pipeline debug logs


I am having quite a lot of trouble getting my Alarm Notification Pipeline to work.
I am using an expression block which i fear is causing my pipeline to fail. But i don’t really know how to debug pipelines.

I basically have the following pipeline:

Start-> Splitter Out 1-> Expression -> Notification: Email roster 1
Splitter Out 2 -> Expression -> Notification: Email roster 2
Splitter Out 3 -> Expression -> Notification: Email roster 3

I noticed on the Status page of the Gateway (7.9), under Alarm Pipelines, there is a Pipeline Status and Logs tab. I’d like to know if my alarm is making it out of the expression block correctly or not.

Yes, the Logs tab for your pipeline is the best place to check the status of that pipeline. Before you go there, if you set the alarm.Notification.Pipeline.BlockEvaluationContext log to debug or trace, you’ll get very detailed information about what’s happening in that expression block. If you see a log message like “Following true flow.” or “Following false flow.”, that will let you know it made it out of the block, and which route out it’s taking.

[edit] Here’s an example of what you’ll see in the log when you set it to debug:

Ah yes, thanks. I just went to the Gateway Logs and discovered some nice error messages there. Should have thought about that sooner…
Currently getting a “Syntax Error” for that block.
For an “expression pipeline” what would the syntax be for reading a boolean tag to return either TRUE or FALSE?

I am currently using:

tag("MilkSilos/Bay " + {BayNum} + "/notCIPd"

Where ‘BayNum’ is a custom alarm property representing the Silo Bay number 1-4, which should give a TagPath of “MilkSilos/Bay 1/notCIPd” if the Alarm is coming from the “Bay 1” tag.

I’ve also tried using a Script pipeline block, but thats also not working, and is more complex anyway.

Try closing your tag( call - if you copied/pasted verbatim then you are only opening it and not closing it.

tag("MilkSilos/Bay " + {BayNum} + "/notCIPd")

Ah yes… sadly I spotted that just after I submitted my post… :blush:
Thanks, it seems to be evaluating without error now.

The debug log says its evaluating the three expression blocks… then it says “Following false flow”. but only once. How do i know which expression block is false and which is true?
I’m still not getting the emails which implies they are all evaluating false. But looking at the boolean tags i know at least one block should be evaluating true.

ah… got it! :thumb_left:
The reason it only said one message for “Following false flow” was because ALL THREE expressions were false.

The reason it was false, as i needed to add “[default]” to start of my tag path. to provide the Tag Provider for my tag read.

Now i get a log message saying “Following true flow” for the expression that is correct, and then “Following false flow” for the other two expression blocks.

Thanks for the help!