Skip to content
Stand with Ukraine flag

Entities table

The Entities table widget displays a list of entities — devices, assets, customers, or any other entity type — together with their latest attribute values, telemetry, or entity fields. It supports real-time updates, column sorting, pagination, full-text search, and configurable columns, making it ideal for system overviews, asset management, and device monitoring dashboards.

  1. Open the dashboard in edit mode. Click Add widget in the top toolbar, or click the Add new widget icon in the center of an empty dashboard.
  2. In the widget bundle selection dialog, find and click Tables.
  3. Select the Entities table widget.
  4. Configure the datasource, columns, and appearance, then click Add.

The widget configuration dialog has Basic and Advanced tabs. The Basic tab groups settings into: Datasource, Columns, Card appearance, and Actions.

Select the source of entity data for the table.

  • Device — displays data from a single device.
  • Entity alias — displays data for all entities matched by an entity alias. Use this to monitor multiple devices, assets, or other entity types at once.

Each column maps to a data key — an entity field (e.g. name, type), an attribute, or a telemetry key. For each column you configure:

FieldDescription
KeyData key name (e.g. temperature, active, name).
LabelColumn header text. Defaults to the key name.
UnitsOptional unit suffix shown after the value (e.g. °C, %).
DecimalsNumber of decimal places for numeric values.

Click Add column to add columns. Drag the handle on the right of any column row to reorder.

Click the gear icon on a column row to open the Data key configuration dialog. It has two tabs: General and Advanced.

General tab:

SettingDescription
KeyThe data key to display.
LabelColumn header label.
UnitsUnit suffix.
DecimalsDecimal places for numeric values.
AggregationAggregation applied to the key: None, Min, Max, Avg, Sum, or Count. When set to None, the latest value is displayed.
Use data post-processing functionJavaScript transform applied to the raw value before display.

Advanced tab:

SettingDescription
Custom header titleOverrides the column header text displayed in the table.
Column widthFixed width in pixels or percent (e.g. 120px, 20%). Default 0px = auto-width.
Default column visibilityVisible — always shown. Hidden — not displayed by default. Hidden in mobile mode — visible on desktop, hidden on mobile.
Column selection in “Columns to Display”Whether the user can toggle this column in the Columns to Display panel. When disabled, the column cannot be hidden by the user.
Include column in exportControls whether this column is included in CSV/Excel export output.
Disable sortingPrevents sorting by this column. Useful for columns with complex or non-numeric content.
Use cell style functionJavaScript function for per-cell styling. Signature: f(value, entity, ctx). Must return a CSS style object (e.g. { color: 'red', fontWeight: 'bold' }).
Use cell content functionJavaScript function for custom cell content rendering. Signature: f(value, entity, ctx). Return a formatted value or an HTML string. Enable Use cell content function on export to apply the same logic during data export.
SettingDescription
Card titleTitle text displayed in the widget header.
Card iconOptional icon shown next to the title.
Show card buttonsToolbar buttons: Search — full-text entity filter; Columns to display — column toggle panel; Data export — CSV/XLS export; Fullscreen — fullscreen view.
Text colorColor applied to all text within the widget.
Background colorWidget card background color.

The Entities table widget supports the following action sources:

Action sourceWhen triggered
Action cell buttonA button appended to the end of each row.
On cell clickUser clicks a specific cell.
On row clickUser clicks anywhere in a row.
On row double clickUser double-clicks a row.
Widget header buttonA button in the widget header, used for global actions such as adding or deleting entities.

See Widget Actions for the full list of action types and configuration options.

Example: Device list with status, temperature, and humidity

Section titled “Example: Device list with status, temperature, and humidity”

Goal: Display all devices with their name, type, connection status, and current temperature and humidity readings. The Active column shows a colored circle — green for connected devices, red for disconnected.

Prerequisites

Prepare several devices that send temperature and humidity as telemetry keys. The active connection status is provided automatically by ThingsBoard.

Step 1. Add the widget

Open your dashboard in edit mode. Click Add widget, select the Tables bundle, then choose Entities table.

Step 2. Configure the datasource

In the Datasource section, select Entity alias. Choose or create an alias to display all devices:

  • Alias name: All devices
  • Filter type: Entity list
  • Type: Device

Step 3. Configure columns

Click Add column for each of the following:

KeyLabelUnitsDecimals
nameName
typeType
activeActive0
temperatureTemperature°C1
humidityHumidity%1

Step 4. Style the “active” column

Click the gear icon on the active column row to open its Data key configuration dialog. Switch to the Advanced tab.

Enable “Use cell style function” and enter:

var color;
if (value === 'true') {
color = 'green';
} else {
color = 'red';
}
return {
color: color,
fontSize: '18px'
};

Enable “Use cell content function” and enter:

value = '⬤';
return value;

This replaces the raw true/false text with a large colored circle (⬤).

Step 5. Set the card title

In the Card appearance section, enable Card title and enter:

My devices

Set the font size to 18 px.

Step 6. Save

Click Add to place the widget on the dashboard. Resize and reposition it as needed, then click Save on the dashboard toolbar.

Result

The Entities table displays a live list of devices with:

  • a colored circle (🟢 green = active, 🔴 red = inactive) in the Active column;
  • current Temperature and Humidity values, updated in real time as new telemetry arrives.