Skip to content
Stand with Ukraine flag

Alarms table

  • Widget
  • v1.0.0
  • Sep 1, 2026
  • MIT license
  • v4.2+ | Built-in
Alarms table

Displays alarms based on the defined time window and other filters. Allows the display of alarm fields, entity fields, attributes, and telemetry. Highly customizable via cell content functions and row style functions.

Widget Type
  • Alarm
Category
  • Tables & Lists
Use Cases
  • Industrial Automation
  • Smart Building
  • Predictive Maintenance

Who it’s for

Operators working through what is currently wrong — acknowledging what they have seen, clearing what they have fixed, assigning what belongs to someone else. This is the working surface of an operations dashboard, not a summary of it.

What it does

The Alarms table lists alarms matching the time window and filter, and lets them be acknowledged, cleared and assigned from the table itself. Columns can carry alarm fields, the originating entity’s fields, and its attributes and telemetry, so a row shows both the alarm and the context needed to judge it.

  • Alarms are worked, not just read — acknowledge, clear and assign are actions on the row rather than a separate screen.
  • Columns mix alarm data with entity data, so the device’s current reading sits beside the alarm it raised.
  • Alarm activity and details are available per row, giving the history behind a single alarm.
  • Selection allows several alarms to be handled together, which matters when one fault raises many.
  • A row style function colors rows from their own values, so severity or age is visible before anything is read.
  • Search, column selection and a filter let an operator narrow a busy table without the dashboard being edited.
  • The Alarms table shows the alarms its filter admits: it counts nothing, so a headline total belongs on the Alarm count card above it.

How to set up

Data keys

The Alarms table takes one column per data key, over the alarms the datasource’s filter admits.

KeyRoleTypeDescription
Alarm fieldsOne column eachEntity fieldSeverity, type, status, originator, created time and the rest of the alarm’s own fields.
Entity keysOne column eachTimeseriesThe originating entity’s attributes and telemetry, which is what puts the current reading beside the alarm.

Table

SettingDefaultEffect
Default sort order-createdTimeNewest first
Allow alarms acknowledgmentOnShows the acknowledge action
Allow alarms clearOnShows the clear action
Allow alarms assignmentOnLets alarms be assigned to a user
Display alarm detailsOnOpens the full alarm record
Display alarm activityOnShows the alarm’s history
Enable alarms selectionOnAllows several rows to be handled together
Enable alarm filterOnLets the operator narrow by status and severity
Default page size10Rows per page

Set the datasource’s alarm filter to the alarms this table is for. A table admitting every status is a log; one admitting active and unacknowledged alarms is a work queue, and only the second is something an operator can work to empty.

How to customize

  • To make severity visible before reading — turn on Use row style function and color rows by severity or age.
  • To put context beside the alarm — add the originating entity’s telemetry keys as columns.
  • To make it a read-only board — turn off acknowledgment, clear and assignment for a wall display nobody is signed in at.
  • To handle bulk faults — leave Enable alarms selection on so one incident’s alarms are cleared together.
  • To change what opens first — set the Default sort order, which defaults to newest first.
  • To fit the tile — set the Default page size and the page step settings so the pager lands on a whole number of visible rows.
  • To simplify a fixed board — turn off search, column selection and the filter.

Tips

  • Give the table an alarm filter that makes it a queue rather than a log. An operator can work through active and unacknowledged and see it empty; a table of every alarm ever raised offers no such signal and gets ignored.
  • Put the reading that caused the alarm in a column. Deciding whether an alarm is real usually means checking the current value, and a table that already shows it saves a round trip to another dashboard for every row.

Share Your Widget with the Community

Built a custom widget? Export it as a JSON from ThingsBoard and publish it to the IoT Hub through a simple 4-step wizard (Upload, Listing, Readme, Review & Submit). Share it with thousands of ThingsBoard developers worldwide and get featured in the catalog.