Alert rules
A rule is a scope, a condition and a severity. Scope is a single point, one component, or a class of equipment across a site or the whole organization. The condition is an AND/OR tree of leaves; each leaf names a point by role (“Room Differential Pressure” on whichever component is in scope) or by id, and an operator.
| Value kind | Operators |
|---|---|
| Numeric | gt gte lt lte eq neq between outside changes_by |
| Boolean | is_on is_off changes_to_on changes_to_off |
| Enum | is is_not changes_to |
| Any point | offline stale status_alert status_warning |
| Meters | exceeds_per rate_gte |
sustain_minutes keeps a rule from firing on a single sample; throttle_minutes keeps it from firing again while the condition persists. Every shipped rule carries a basis: the standard, design value or site procedure its threshold comes from, in the operator's language, so an engineer can argue with the number rather than guess where it came from.
Monitors
A monitor reads a window of a point's history, or a derived series, on a schedule and reduces it to one number the threshold applies to.
| Evaluation | Answers |
|---|---|
value | An aggregate over the window: last, average, minimum, maximum, sum, 95th or 5th percentile |
change, percent-change | Movement across the window |
rate | Least-squares gradient per day: the week-scale trend |
forecast | Days until the trend reaches a service limit; no countdown when the trend is flat or moving away |
anomaly | Z-score against the point's own hour-of-week baseline, so unusual means unusual for a Tuesday at 06:00 |
staleness | A sensor still reporting but no longer moving |
What makes an alert trustworthy
- M-of-N: a status changes only after a set number of breaches in the last few evaluations.
- Recovery threshold: a deadband distinct from the alert threshold, so a monitor sitting on its limit does not alternate.
- Occupied hours only: a warm zone at 03:00 is the setback working, not a fault.
- Cascade suppression: a child monitor stays quiet while its roll-up owns the event.
- No-data is a status: a monitor that cannot evaluate says so rather than reporting OK.
Notification
Alerts are delivered in-app and, when a delivery endpoint is configured, by email. A notification that could not be sent is recorded as queued with the reason; it is never recorded as sent.