Alarms & Alerts
Powoflow implements an ISA 18.2 compliant alarm management system. Define alarm rules using flexible JSONLogic conditions, monitor active alarms from a centralized dashboard, and track every state transition in a complete audit trail.
ISA 18.2 Alarm State Machine
Every alarm in Powoflow follows the ISA 18.2 standard state model. This ensures consistent, auditable alarm handling across your entire fleet.
Alarm States
| State | Description | Indicator |
|---|---|---|
| UNACK | Alarm is active and has not been acknowledged by an operator | Red — requires immediate attention |
| ACKED | Alarm has been acknowledged but the condition persists | Amber — operator is aware |
| SHELVED | Alarm is temporarily suppressed for a defined period | Grey — intentionally hidden |
| OUT_OF_SERVICE | Alarm is disabled and will not trigger | Muted — removed from monitoring |
State Transitions
acknowledge shelve
UNACK ──────────────→ ACKED ──────────→ SHELVED
↑ unshelve |
└──────────────────┘
ACKED ──────────────→ OUT_OF_SERVICE
out_of_service |
| return_to_service
↓
ACKED
| Transition | From | To | Description |
|---|---|---|---|
| Acknowledge | UNACK | ACKED | Operator confirms awareness of the alarm |
| Shelve | ACKED | SHELVED | Temporarily suppress the alarm (e.g., during planned maintenance) |
| Unshelve | SHELVED | ACKED | Restore a shelved alarm to active monitoring |
| Out of Service | ACKED | OUT_OF_SERVICE | Disable the alarm entirely |
| Return to Service | OUT_OF_SERVICE | ACKED | Re-enable a disabled alarm |
Only acknowledged alarms can be shelved or taken out of service. You must acknowledge an alarm before performing any other transition.
When an alarm condition clears while in the ACKED state, the alarm returns to normal automatically. Shelved and Out of Service alarms do not auto-clear — they must be manually returned to service first.
Creating Alarm Rules
Alarm rules define the conditions under which an alarm is triggered. Each rule is associated with a specific resource (asset, device, or sensor) and uses JSONLogic expressions for maximum flexibility.
Rule Configuration
| Field | Description | Required |
|---|---|---|
| Name | Human-readable alarm name | Yes |
| Resource | The asset or device this alarm monitors | Yes |
| Metric | The telemetry parameter to evaluate | Yes |
| Condition | JSONLogic expression defining the trigger | Yes |
| Severity | Alarm severity level | Yes |
| Priority | Operational priority for response | No |
| Description | Detailed explanation of the alarm and recommended response | No |
| Deadband | Hysteresis value to prevent alarm chatter | No |
JSONLogic Conditions
Alarm conditions are defined using JSONLogic, a portable rule format that supports comparisons, boolean logic, and arithmetic.
Example: High temperature alarm
{ ">": [{ "var": "temperature" }, 85] }
Example: Compound condition (high temp AND high vibration)
{
"and": [
{ ">": [{ "var": "temperature" }, 85] },
{ ">": [{ "var": "vibration" }, 12.5] }
]
}
Example: Rate of change
{ ">": [{ "var": "temperature_roc" }, 5] }
Use the rule validation endpoint to test your JSONLogic expression before saving. The validator checks syntax and confirms the referenced variables exist on the target resource.
Severity Levels
| Severity | Description | Typical Use |
|---|---|---|
| Critical | Immediate danger to equipment or personnel | Equipment trip, gas detection, fire |
| High | Significant process deviation requiring urgent action | Over-temperature, high vibration |
| Medium | Abnormal condition that should be investigated | Drifting parameter, minor leak |
| Low | Advisory notification | Maintenance reminder, approaching threshold |
Priority
Priority is separate from severity and indicates the operational response urgency:
- Emergency — drop everything, respond now
- Urgent — respond within the hour
- Normal — respond during the current shift
- Deferred — address at next opportunity
Alarm Summary Dashboard
The Alarm Summary provides a high-level overview of your alarm landscape with counts broken down by severity and state.
Summary Cards
The dashboard displays count cards showing:
- Total active alarms
- Alarms by severity (Critical, High, Medium, Low)
- Alarms by state (UNACK, ACKED, SHELVED, OUT_OF_SERVICE)
- Unacknowledged alarm count (highlighted for urgency)
Filters
Filter the alarm list by:
| Filter | Options |
|---|---|
| Severity | Critical, High, Medium, Low |
| State | UNACK, ACKED, SHELVED, OUT_OF_SERVICE |
| Resource | Select specific asset or device |
| Time range | Last hour, 24h, 7d, 30d, custom |
Active Alarms View
The Active Alarms view shows all currently triggered alarms in a sortable, filterable table. Each row includes:
- Alarm name and description
- Severity badge (color-coded)
- Current state
- Resource name and location
- Trigger time
- Duration (time since trigger)
- Current value vs. threshold
Bulk Actions
Select multiple alarms to perform bulk operations:
- Acknowledge all — acknowledge all selected UNACK alarms
- Shelve selected — shelve all selected ACKED alarms
Per-Resource Alarm Listing
When viewing an individual asset or device, the Alarms tab shows:
- All alarm rules configured for that resource
- Current state of each alarm
- Quick actions: acknowledge, shelve, edit rule
- Link to alarm history
This provides a focused view for operators working on a specific piece of equipment.
Alarm History & Audit Trail
Every alarm state transition is recorded in a permanent audit trail. The history view shows:
| Field | Description |
|---|---|
| Timestamp | When the transition occurred |
| Alarm | Alarm name and rule |
| From State | Previous state |
| To State | New state |
| User | Who performed the action (or "System" for auto-transitions) |
| Notes | Optional operator notes added during acknowledgment |
History Filters
- Filter by alarm, resource, user, state transition, or time range
- Export history to CSV for offline analysis
- Search by alarm name or resource
Alarm history is retained indefinitely and cannot be deleted. This ensures full auditability for regulatory compliance.
Push Notifications
Powoflow sends real-time push notifications for alarm state changes so operators are informed immediately, even when not actively viewing the dashboard.
Notification Triggers
| Event | Notification |
|---|---|
| New alarm triggered | Push notification with severity, resource, and current value |
| Alarm auto-cleared | Notification that the condition has returned to normal |
| Alarm shelve expired | Notification that a shelved alarm has been restored |
Notification Channels
- In-app — notification badge and toast in the Powoflow interface
- Browser push — desktop notification (requires browser permission)
- WebSocket — real-time updates to all connected clients
Configure notification preferences in Settings > Notifications to control which severity levels trigger push notifications and which channels are active.
Rule Validation
Before saving an alarm rule, use the validation endpoint to verify your configuration:
- Syntax check — confirms the JSONLogic expression is well-formed
- Variable check — confirms referenced metric variables exist on the target resource
- Threshold check — warns if the threshold is outside the normal operating range of the metric
Validation runs automatically when you save a rule in the UI. If validation fails, the rule is not saved and the specific error is displayed.