Alert (BAnalyticAlert)

This component processes the configured algorithm (Boolean result) to determine if nodes are in an alert condition, which may also generate an alarm.
Figure 57.   Alerts properties
Image

There are multiple ways to view an alert’s properties once you expand Config > Services > AnalyticService > Alerts.

  • Double-click the Alerts folder (this opens the Analytic Alert Manager), and double-click the alert row in the table (this opens the Edit window).
  • Double-click the Alerts folder (this opens the Analytic Alert Manager), and double-click the Property Sheet icon (Image) in the Views column.
  • Right-click the alert and click Views > Property Sheet
  • Double-click the alert (this opens the Alert Nodes View), and click the Property Sheet button at the bottom of the window.
Property Value Description
Enabled true or false Activates (true) and deactivates (false) use of the object (network, device, point, component, table, schedule, descriptor, etc.).
Status read-only Reports the condition of the entity or process at last polling.

{ok} indicates that the component is licensed and polling successfully.

{down} indicates that the last check was unsuccessful, perhaps because of an incorrect property, or possibly loss of network connection.

{disabled} indicates that the Enable property is set to false.

{fault} indicates another problem. Refer to Fault Cause for more information.

Fault Cause read-only Indicates the reason why a system object (network, device, component, extension, etc.) is not working (in fault). This property is empty unless a fault exists.
Roots ORD Beginning from the root of the Nav tree, this property defines the ORD from which to start scanning for alert conditions. The framework eliminates nodes listed in the Exclusions property before it evaluates each node for an alert condition.
Exclusions ORD Identifies the nodes (and their subtree) to exclude when scanning for points to monitor.
Node Filter optional NEQL predicate Limits which components to process the alert against in conjunction with Roots and Exclusions. Typically, you use marker tags, such as n:device, hs:ahu, hs:vav, etc. to only process the alert against a device, floor or building.
Node Count read-only For the selected roots, and taking into consideration the exclusions, displays the total number of nodes that are part of the calculation. Use this information to confirm that the result of a formula looks reasonable.
Alert Count read-only number Out of all nodes (Node Count) that could be in an alert state, this property reports the total number of nodes that are in an alert state.
Data tag or algorithm name Specifies the an algorithm (or tag) used to retrieve data.

The purpose of an alert is to detect a fault condition (Boolean value result). In most cases, you would pick an algorithm that has a Boolean result when configuring this property for an alert. Algorithms with a numeric or enum value greater than zero are considered true and less than zero are considered false.

This is how output from one algorithm becomes the input data source to another algorithm. The prefix for algorithms is alg:.

Data Filter optional NEQL predicate Identifies data sources in the subtree of the request node. When a predicate accepts a node that contains the desired data, the system does not search the node’s subtree for additional values (including the root node).
Time Range drop-down list Defines the beginning and end of a period of time over which to count the number of occurrences or weight. If the alert depends on a certain number of occurrences or weight over time, this property is required, otherwise, it is optional.
Aggregation value ( defaults to First) Configures the default function to apply when the analytic request combines values from multiple data sources into a single value. This applies to both value and trend requests.

If aggregation is not enabled in the binding/settings window, the aggregation value defined in the Data Definition applies to all chart bindings, reports and tables.

And returns the logical “and” of Boolean values.

Avg returns the statistical mean, which is determined by calculating the sum of all values and dividing by the number of values.

Count returns the total number or quantity of values in a combination. If you request this value on a binding in a PX view, the system counts the number of values based on the properties defined by the data source block and the algorithm’s Property Sheet.

First returns the first value in the combination.

Last returns the last value in the combination.

Max returns the highest value in the combination.

Median returns the value in the middle of a sorted combination—the number that separates the higher half from the lower half.

Min returns the lowest value in the combination.

Mode returns the statistically most frequently occurring number in the combination.

Or returns the logical “or” of Boolean values.

Range returns the statistical difference between the largest and smallest values in the combination.

Sum adds together all values in the combination resulting in a single value.

Load Factor returns the average value divided by peak value.

Std Dev returns the standard deviation of the values in the combination.

Interval optional drop-down list (defaults to the optimal number of records on reports) Refers to the BInterval component, which the framework uses to identify the time between values in a trend (time series). When specified, a rollup is required, which causes the system to combine all values that fall into a single interval.

Options range from None to a Year.

Above the drop-down list, the Use This Value check box turns on and off the check box next to Interval in the Settings window (you access this window by clicking the Edit button (Image), followed by clicking the Settings button (Image) on the chart). The availability of this check box provides an easy way for a user to enable and disable the use of intervals in chart calculations.

Rollup value (when configured in the Data Definition, defaults to First, when configured elsewhere, defaults to the value as defined in the Data Definition) Configures the default function to apply when the analytic request needs to rollup records from a single data source into less granular records.

If rollup is not enabled in the binding/settings window, the rollup value configured in the Data Definition applies to all chart bindings, reports and tables.

And returns the logical “and” of Boolean values.

Avg returns the statistical mean, which is determined by calculating the sum of all values and dividing by the number of values.

Count returns the total number or quantity of values in a combination. If you request this value on a binding in a PX view, the system counts the number of values based on the properties defined by the data source block and the algorithm’s Property Sheet.

First returns the first value in the combination.

Last returns the last value in the combination.

Max returns the highest value in the combination.

Median returns the value in the middle of a sorted combination—the number that separates the higher half from the lower half.

Min returns the lowest value in the combination.

Mode returns the statistically most frequently occurring number in the combination.

Or returns the logical “or” of Boolean values.

Range returns the statistical difference between the largest and smallest values in the combination.

Sum adds together all values in the combination resulting in a single value.

Std Dev calculates the standard deviation of the values in the combination.

Load Factor calculates the average divided by peak (Max) value.

Totalize true (default) or false Turns on (true) and off (false) value accumulation.

By default, the framework totalizes (accumulates) all consumption history values in charts, tables and reports. To prevent cumulative values, disable this property (set it to false).

Alert Mode drop-down list Defines the alert condition to use when you specify a time range. The alarm is raised within poller time when the time range is not specified. To configure an alert at a different time, specify a time range using one of these options.:

Occurrences identifies the number of times an algorithm must output a result of “true” over the configured time range for there to be an alert condition.

Runtime Seconds identifies the number of seconds an algorithm must maintain a result of “true” over the configured time range for there to be an alert condition.

Runtime Minutes identifies the number of minutes an algorithm must maintain a result of “true” over the configured time range for there to be an alert condition.

Runtime Hours identifies the number of hours an algorithm must maintain a result of “true” over the configured time range for there to be an alert condition.

Cost read-only Calculates the total cost by multiplying the cost of the alert by the Alert Mode. For example, if Alert Mode is Runtime Minutes, the total cost is the cost-per-minute multiplied by the number of minutes the algorithm maintained a result of true. This value indicates the severity of the alert.
Poller drop-down list Schedules alert evaluation.
Related Data read-only Lists the algorithm specified by the Data property and any inputs (tag, tag group, or algorithm names).

To populate this property, right-click the alert and click Actions > Find Related Data.

Description string Provides additional context regarding the alert.
Alarm true or false (default) Configures the alert to generate an alarm record (true) or not to generate the record (false).
Alarm Class drop-down list (defaults to Medium) Specifies the alarm routing option for the component.

Replace provides a selection list of a local alarm classes, from which to select one to use for all alarms received from this device.

Use Existing routes alarms from this remote station to any matching alarm class, that is, one with an identical name as that in each alarm record. If the program finds no local matching alarm class, it uses the station's default alarm class.

Prepend adds leading text (as specified) to the incoming alarm class string, then routes it to any local matching alarm class in the station.

Append adds trailing text (as specified) to the incoming alarm class string, then routes it to any local matching alarm class in the station.

Alarm Data BFormat Defines the data to add to the alarm data facets of the alarm record. The framework resolves the BFormats at alarm record creation time. BFormats must begin with the alert or node token to access the corresponding entity.
Alarm Message BFormat Creates a message value for the alarm record. The framework resolves the BFormats when requested. BFormats must begin with the alert or node token to access the corresponding entity.
Source Name BFormat Displays the name in an alarm record that identifies the source of the alarm.
Missing Data Strategy additional properties Configures how the framework handles missing data in a series when processing analytic requests and one or more records are missing for an interval. It applies when even a single record for an interval is missing. It does not apply to value requests.

Refer to Missing Data Strategy

Alarm data BFormat syntax

When the alert generates an alarm record, the framework resolves and stores in the applicable BAlarmRecord property BFormat syntaxes from the Alarm Data (facet keys with string values), Alarm Message and Source Name properties. The base object it uses for these BFormat syntaxes is either the alert or the node (BINavNode), which the alert is being processed against.

The Alarm Message’s property BFormat resolves at the time the framework creates and stores the alarm record as a BFormat in the alarmData.msgText facet key. An alarm console or alarm recipient resolves the BFormat again, this time against the BAlarmRecord. Since the BFormat text resolves twice, to have it display a single percentage symbol (%) in the alarm console message text, you must enter quadruple percentage symbols (%%%%) in the Alarm Message property.

BFormat examples

BFormat Description
%alert.name% Identifies the slot name of the alert object. Do not use %alert.message%.
%node.parent.displayName% Identifies the display name of the parent for the node that is going into alert.
%node.name% Resolves the name of the component in the hierarchy tree. The name of a component might include escaped characters, such as “hierarchy:/Campus/station$3a$7ch$3acafb,” which may not be easily human readable.
%node.navDisplayName% Resolves the display name of the component in the hierarchy tree, such as Building1.
%node.navOrd.resolve.component.slotPath% Resolves the component in the station and displays the slot path, such as slot:/AnalyticsPlayground/Campus/Building1.
%node.navOrd.resolve.component.parent.displayName% Resolves the parent component in the station and returns the display name, such as Campus. The parent of the component in the station may be different from its parent in the hierarchy tree.

Actions

Action Description
Find Related Data If the alert data include an algorithm, the system recursively scans the algorithm and all of its data sources and adds all IDs to the Related Data property.