Skip to content
© 2026 The ThingsBoard Authors
Try for free

ThingsBoard Cloud

Choose your data region

Your data stays in the region you choose, for residency and compliance. No credit card required.

Rather run it yourself? Install on your own servers

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.
Connection Condition
Success Message processed; alarm rules evaluated. Original message forwarded unchanged.
Alarm Created Generated message about a newly created alarm.
Alarm Updated Generated message about an alarm update (details changed).
Alarm Severity Updated Generated message about an alarm severity change.
Alarm Cleared Generated message about an alarm being cleared.
Failure Unexpected 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 }
}
}