Device Profiles
Device profiles let you centrally define and manage common settings for a group of similar devices — transport protocol, rule chain, alarm rules, calculated fields, firmware, and provisioning strategy. Instead of configuring each device individually, you define the profile once and assign it to as many devices as needed.
Managing Profiles
Section titled “Managing Profiles”Create a Profile
Section titled “Create a Profile”- Navigate to Profiles ⇾ Device profiles.
- Click + Add device profiles and select Create new device profile.
- Enter a Name (the only required field).
- Optionally configure the transport type, rule chain, queue, alarm rules, calculated fields, and provisioning.
- Click Add.
Edit a Profile
Section titled “Edit a Profile”- Click the profile name or the pencil icon.
- Update the desired settings across any tab.
- Click Apply changes.
Delete a Profile
Section titled “Delete a Profile”Click the trash icon next to the profile and confirm deletion.
Profile Details
Section titled “Profile Details”Clicking a profile opens a details panel with the following tabs:
| Tab | Contents |
|---|---|
| Details | Name, default rule chain, mobile dashboard, queue, default edge rule chain, assigned firmware and software, profile image, and description |
| Transport Configuration | Protocol-specific settings: authentication, payload format, topic filters |
| Calculated Fields | Formulas for computing derived metrics from device telemetry or attributes |
| Alarm Rules | Conditions, severity levels, and actions applied to all devices in this profile |
| Device Provisioning | Auto-registration methods, token generation, and provisioning strategies |
| Audit Logs | History of user actions performed on this profile |
| Version Control | Git-based export and restore for backup and collaboration |
Key Settings
Section titled “Key Settings”Transport Configuration
Section titled “Transport Configuration”The Transport type dropdown determines how devices in this profile communicate with ThingsBoard: Default (MQTT, HTTP, or CoAP with standard ThingsBoard payloads), MQTT (custom topics and payload format), CoAP, LWM2M, or SNMP. Changing it doesn’t migrate existing device credentials — devices already using incompatible credentials will need new ones for the new transport.
See How to Connect IoT Devices for a full comparison of protocols and links to each one’s API reference.
Default Rule Chain
Section titled “Default Rule Chain”By default, the Root Rule Chain processes all incoming messages and events for every device. As your system grows and you introduce different device types, the Root Rule Chain can become complex.
Assign a dedicated rule chain to a device profile to isolate processing logic — telemetry handling, lifecycle events, and state tracking — for that device type without overloading the Root Rule Chain.
Default Queue
Section titled “Default Queue”By default, all messages use the main queue. Assign a custom queue to isolate high-priority devices (e.g., fire alarms) from high-volume ones (e.g., water meters), or to apply different submit and processing strategies. See Queues for available delivery guarantees and configuration.
Alarm Rules
Section titled “Alarm Rules”Define conditions that apply to all devices in this profile — for example, trigger a Critical alarm when temperature exceeds 40 °C. Rules defined here are shared across every device using the profile. See Alarm Rules.
Calculated Fields
Section titled “Calculated Fields”Define formulas that compute derived metrics from telemetry or attributes — for example, converting a raw sensor reading to a different unit. Like Alarm Rules, calculated fields defined here are inherited by every device using the profile; a device-level calculated field runs alongside any profile-level one, not instead of it. See Calculated Fields.
Firmware and Software
Section titled “Firmware and Software”Assign a firmware or software package to roll it out to every device on this profile at once — a per-device assignment overrides the profile assignment for that device only. See OTA Updates for the full update flow and rollout controls.
Provisioning
Section titled “Provisioning”Control how new devices are created and authenticated when they first connect. See Configure Provisioning in a Device Profile.
Mobile Dashboard
Section titled “Mobile Dashboard”The dashboard the mobile app uses as the device details screen for devices on this profile. Unrelated to the per-user login dashboard covered in Dashboards.
Default Edge Rule Chain
Section titled “Default Edge Rule Chain”Only relevant if the tenant also runs ThingsBoard Edge; it’s the rule chain Edge instances use to process incoming data for devices on this profile.
Profile Changes and Existing Devices
Section titled “Profile Changes and Existing Devices”Editing a profile’s Rule Chain, Queue, Alarm Rules, or Calculated Fields immediately affects every device already assigned to that profile — there’s no need to touch individual devices. This is the main advantage of configuring these settings at the profile level instead of per device.
Moving a device to a different profile (in Edit Device) applies that profile’s rule chain, queue, alarm rules, and calculated fields going forward — it does not retroactively change alarms or calculated field results already generated under the previous profile.
Troubleshooting
Section titled “Troubleshooting”| Symptom | Cause | Fix |
|---|---|---|
| Device can’t connect after switching its profile | New profile uses a different transport type than the device’s current credentials support | Issue new, compatible credentials — see Manage Credentials |
| Alarm rule or calculated field doesn’t seem to run | It was added on the device instead of the profile (or vice versa) | Confirm which level the rule was created at — profile-level rules apply to every device on that profile, device-level rules apply only to that one device |
| Custom queue isn’t selectable when editing a profile | The queue hasn’t been created yet | Ask a System Administrator to configure the queue first — see Queues |
| Firmware assigned to a profile doesn’t reach a specific device | That device has its own direct firmware assignment, which overrides the profile | Check the device’s individual firmware assignment — see OTA Updates |
Where Device Profiles Are Used
Section titled “Where Device Profiles Are Used”- Devices — every device is assigned exactly one profile, inheriting its transport, rule chain, and alarm/calculated field configuration
- OTA Updates — assign firmware or software to every device on a profile at once
- Rule Engine — the profile’s rule chain and queue route and process telemetry from all its devices
- Alarm Rules and Calculated Fields — shared logic applied across every device using the profile
- REST API — query, create, and manage device profiles programmatically
Was this helpful?