Skip to content
Stand with Ukraine flag

Entity cards with charts and alarms

  • Widget
  • 8 installs
  • v1.0.0
  • Aug 17, 2026
  • MIT license
  • v4.2+
Entity cards with charts and alarms

One card per entity on a grid that reflows with the widget. Latest data keys are listed as key and value; timeseries keys are drawn as a line or bar chart on the card, with a picker when there is more than one. An entity in alarm carries a badge and takes a stripe, a border or the whole card in the alarm color, and can be lifted to the top. Cards take your own actions, and an add tile can open a form. Server-side paging keeps a thousand devices as cheap as a dozen.

Widget Type
  • Timeseries
Category
  • Cards & Info
  • Tables & Lists
  • Charts & Graphs

Entity cards with charts

Displays one card per entity on a grid that reflows with the widget. Latest data keys are listed as key and value; timeseries keys are drawn as a chart on the card.

Features

  • One card per entity, with as many columns as the width allows or a fixed count
  • Latest keys as key and value rows, timeseries keys as a chart, split by the section they were added in
  • Line or bar chart with a value axis, a time axis, and a picker on each card when several keys are charted
  • Alarm marking as a left stripe, a full border, a card fill, or a badge alone, read for all time
  • Sorting by entity name or by alarm, worst severity first, switchable by the viewer
  • Pages that fit themselves to the widget, or all entities with the grid scrolling
  • Your own actions in each card’s title row, and an optional tile that fires an add action
  • Server-side paging, so only the page in view is fetched

Data keys

Both sections of the datasource are used, and which one a key sits in decides where it appears.

  • Latest data keys (attribute or timeseries) — listed inside the card as key and value. Labels, units and decimals are taken from the key itself.
  • Timeseries data keys (timeseries) — drawn on the chart. A key’s own color is used for its line.

Any key names work; the widget does not expect particular ones.

Alarm colors

An alarm is read for all time, not the dashboard timewindow. Cleared alarms never count, and a minimum severity can be set to ignore the noisy ones.

MarkingWhat the card shows
Stripea coloured edge down the left
Borderthe whole border in the alarm color
Backgroundthe card filled, with its text and chart switched to colors that sit on top
Badge onlynothing on the card itself

The badge beside the entity name is a separate setting, so it can be shown with any of the four.

Configuration

GroupNotable settings
LayoutColumns — 0 fits as many as the width allows, using the minimum card width. Spacing. The add tile, and whether it sits before the first card or after the last.
PagingSplit into pages, and how many per page — 0 fits as many as the height allows and refits when the dashboard is resized. Without pages, a cap on how many entities are loaded.
SortingThe order the cards start in, and whether the viewer can change it.
ChartLine, bars or none. Heading, smallest height, fill under the line, color, value axis, time axis, border, grid lines, and the text shown when a card lacks the chosen key.
CardBackground, border, corner radius.
EntityWhether the name is shown, label or name, its color and font.
AlarmsHow an alarm marks the card, its color, the text and chart colors used when the card is filled, minimum severity, and the badge with its icon and text.
KeysWhether keys that never reported are left out, the placeholder for an empty value, the decimal separator.
TextColors and fonts for key names and values.

Card height is not a setting: every card takes the height of the tallest, worked out from the configured keys and the chart, so a row is never ragged. If a card is shorter than its keys they scroll inside it, and if the cards do not fit the grid scrolls. Units and decimals come from the data keys, so they are set in one place.

The add tile counts as a card when the page is fitted to the widget, but never in the pager, which counts entities only.

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.