Hi guys, this is a pretty basic question but I haven't managed to find the answer in the help file so I thought I'd see if you could point me in the right direction... I have setup a number of DPE's with 5 alert ranges;
HighHigh
High
Good Range
Low
LowLow
The problem that I am having is that whenever a signal goes into e.g. lowlow I get two alarms in my alarm banner, one indicating that DPE X has gone into Low and another indicating that the same DPE has gone into LowLow. I would like to show only the alert with the highest alert class (priority) assigned to it; so if DPE goes into LowLow, this is the only alert that I am interested in as long as the signal remains in this range. How can I do this?
Showing only the alert of highest priority
- aorange
- Posts:147
- Joined: Thu Nov 04, 2010 10:07 am
Re: Showing only the alert of highest priority
I think I've spotted my mistake... I am using continuous alert ranges rather than discrete =/
- aorange
- Posts:147
- Joined: Thu Nov 04, 2010 10:07 am
Re: Showing only the alert of highest priority
hmm that didn't quite do it either... I don't want the alert to be re-announced when it transgresses from a high-high state back to a high state.
Any suggestions?
Any suggestions?
- mweber
- Posts:42
- Joined: Mon Aug 02, 2010 11:23 am
Re: Showing only the alert of highest priority
Hi,
am I right that you dont use the standard AES but want to do some scripting aomewhere else?
If it is so, you could connect to the _alart_hdl attributes (not an alert connect but a normal connect) for example _act_state or _act_state_color (like our wizard).
This should give you the desired behaviour.
best regards
Markus
P.S.: please correct me if you are planning to do something different...
am I right that you dont use the standard AES but want to do some scripting aomewhere else?
If it is so, you could connect to the _alart_hdl attributes (not an alert connect but a normal connect) for example _act_state or _act_state_color (like our wizard).
This should give you the desired behaviour.
best regards
Markus
P.S.: please correct me if you are planning to do something different...
- aorange
- Posts:147
- Joined: Thu Nov 04, 2010 10:07 am
Re: Showing only the alert of highest priority
Hi Markus, I am still using the standard AES functionality which has proved perfectly adequate for the kind of events that we are monitoring. In the future, we may resort to generating our alarms elsewhere as we are moving towards an early even recognition approach which involves a great deal of situational awareness and combining of different inputs to infer a root cause rather than simply flag up its effect.
For now though, it would be great if I could show only the alert range of the highest priority in the alert banner and hide any lower ranges. Is that possible?
For now though, it would be great if I could show only the alert range of the highest priority in the alert banner and hide any lower ranges. Is that possible?
- mweber
- Posts:42
- Joined: Mon Aug 02, 2010 11:23 am
Re: Showing only the alert of highest priority
Hi,
the only thing that comes close to your use case is a filter on the "Filter Status" tab:
"One row for Came and Went" with that you will get rid of some lines in the AES.
(but of course that not what you asked for...)
Unfortunately when there are different value ranges with different alerts, there is no such thing as conditional filters to hide one alarm if the other occurs.
The only way how you could get the desired behaviour is to use an additional CTRL-script - for example:
On the AES you have to use the setting "Threshold filter" (on the "Filter types"-tab
Inside a CTRL script you could connect to those alert-dps where you want to have this behaviour. (QueryConnectSingle with SELECT ALERT ...)
then you will get a callback whenever there is a new alarm event happening
for a new alert (came direction) you will have to check now if there is already an alarm from the same dp
if it is so then you could use a dpSetAlert to set the "force_filter" flag for that old (lower prio) alarm instance
that it the alert screen will then not show the filtered ones because of the filter setting "threshold filter".
Dont forget to show the alert instance again when the higher prio alert is gone (or maybe also if it gets acknowledged) - just set the force filtered again to false.
best regards
Markus
P.S.: make sure that the query connect will not cause any significant performance issues in the event manager!
(but I dont know how many dp the project contain, how many alerts and how you do the query - maybe you need only some alerts inside the query...)
the only thing that comes close to your use case is a filter on the "Filter Status" tab:
"One row for Came and Went" with that you will get rid of some lines in the AES.
(but of course that not what you asked for...)
Unfortunately when there are different value ranges with different alerts, there is no such thing as conditional filters to hide one alarm if the other occurs.
The only way how you could get the desired behaviour is to use an additional CTRL-script - for example:
On the AES you have to use the setting "Threshold filter" (on the "Filter types"-tab
Inside a CTRL script you could connect to those alert-dps where you want to have this behaviour. (QueryConnectSingle with SELECT ALERT ...)
then you will get a callback whenever there is a new alarm event happening
for a new alert (came direction) you will have to check now if there is already an alarm from the same dp
if it is so then you could use a dpSetAlert to set the "force_filter" flag for that old (lower prio) alarm instance
that it the alert screen will then not show the filtered ones because of the filter setting "threshold filter".
Dont forget to show the alert instance again when the higher prio alert is gone (or maybe also if it gets acknowledged) - just set the force filtered again to false.
best regards
Markus
P.S.: make sure that the query connect will not cause any significant performance issues in the event manager!
(but I dont know how many dp the project contain, how many alerts and how you do the query - maybe you need only some alerts inside the query...)