Overview

Compound event detectors are used to detect conditions among multiple events at the same time. Instead of only noting when a value is too high or low, a device is in a given state, or if it is a given day of the week, compound detectors allow you to define logical relationships among all of these things. For example, you can detect situations when a value is too high or low and another device is in a given state, but not on a given day of the week.

Compound detectors act as detectors of logical conditions among existing simple detectors. As such, all of the simple detectors that you want to build relationships among must already exist. See Event Detectors and Scheduled Events for more information.

Note that although there are many event types, only point event detectors and scheduled events may be used in the construction of compound event detectors.

Compound detector list

To add a new compound detector, click the icon. To edit an existing detector, click the detector's name in the "Compound event detectors" list.

Editing compound detectors details

The detector's name is used to visually reference the detector during alarm conditions, or as the source for an event handler. It is recommended that a unique name be used for each detector, but it is not required.

The Alarm level determines whether the detector raises an alarm when active, and if so the severity of the alarm. See the general help page for information on Alarms.

Selecting Return to normal determines if the alarm raised when the detector is active is automatically returned to normal when the detector becomes inactive. If Return to normal is not selected, any alarms raised will need to be manually acknowledged.

A compound detector can be Disabled so that it does not run. This can be useful if you do not wish to delete the detector, but also do not currently want it enabled. Also, the system may automatically disable a detector if the point detectors or scheduled events that it depends upon are deleted or disabled.

To save a compound detector, click the icon at the top right. To delete an existing detector, click the icon.

Condition building

Conditions are logical statements built from existing simple detectors (i.e. point detectors or scheduled events). Typical logical operators are used to define the overall condition, including and (&&), or (||), and not (!). Symbols are used instead of words in order to avoid ambiguity. Parentheses may be used to group sections of the statement.

Point detectors and scheduled events are referenced using a shorthand derived from a type indicator ("P" for point detector, "S" for scheduled event), and the internal identification number of the item. For convenience, the list of all available simple detectors is provided in a tree below the compound detector details. The detector names are suffixed with the shorthand id that will be used. Clicking on the detector name will cause the identifier to be inserted into the condition statement at the current cursor location.

Clicking the icon causes the condition statement to be validated.

Operator precedence

Logical operators have the following order of precedence: parentheses, not, and, or. For more information on precedence rules, see the "Mathematical precedence" section here.