Skip to content
Stand with Ukraine flag

Device Profile

Use this node to evaluate the alarm rules defined in a device’s profile against every incoming message and automatically create, update, or clear alarms — for example, triggering a High Temperature alarm when a device’s telemetry exceeds a threshold defined in its profile, or clearing the alarm when values return to normal. This node is the standard entry point for device profile–based alarm management.

  • Persist state of alarm rules — when enabled, alarm rule evaluation state is written to the database on each message that matches a condition. This ensures duration-based and repeating conditions survive server restarts. Without persistence, a 10-minute duration alarm resets to 0 on restart.
  • Fetch state of alarm rules — controls when state is loaded from the database:
    • Enabled: states are preloaded at node startup for all known devices.
    • Disabled: states are loaded on-demand when the first message from a device arrives.
  1. Load the device profile associated with the message originator.
  2. Extract all alarm rules from the profile.
  3. Evaluate each alarm rule against the incoming message.
  4. Based on the evaluation result, create, update, or clear alarms as needed.
  5. Generate alarm lifecycle messages (one per affected alarm). The data of each generated message represents the alarm state after changes were applied.
  6. If Persist state is enabled and the message matched at least one alarm condition, persist the current evaluation state to the database.
  7. Route the original message (unchanged) via Success.
ConnectionCondition
SuccessMessage processed; alarm rules evaluated. Original message forwarded unchanged.
Alarm CreatedGenerated message about a newly created alarm.
Alarm UpdatedGenerated message about an alarm update (details changed).
Alarm Severity UpdatedGenerated message about an alarm severity change.
Alarm ClearedGenerated message about an alarm being cleared.
FailureUnexpected error during alarm rule evaluation or processing.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "TbDeviceProfileNodeConfiguration",
"type": "object",
"properties": {
"persistAlarmRulesState": { "type": "boolean", "default": false },
"fetchAlarmRulesStateOnStart": { "type": "boolean", "default": false }
}
}