Working with Widgets¶
A widget is a dashboard element that displays a specific type of data or provides functionality.
Widgets are used to:
- Visualise device data (telemetry and attributes)
- Remotely control devices (RPC)
- Work with alarms (create/view/acknowledge)
- Show static custom HTML content
- Widget types
IQFLOW provides five main widget types:
- Time series widgets. Show data over a selected time window. The window can be:
- Real time — a rolling interval such as the last 5 minutes or last 24 hours.
- Historical — a fixed, past interval.
Example: line, bar, or area chart widgets.
Note: Time series widgets are designed for telemetry (time series) rather than attributes.
- Latest values widgets. Display the most recent values of selected attributes or telemetry keys.
Examples: device model attribute, latest temperature reading.
- Control widgets. Send RPC commands to your devices.
Example: set a target temperature on a thermostat.
-
Alarm widgets. Display and manage alarms and notifications.
-
Static widgets. Present static content such as a floor plan or company information (including custom HTML).
Adding a widget to the dashboard¶
To learn how to add a new widget to a dashboard, please check this setup guide.
Widget settings¶
Widget configuration includes setting up one or more data sources (some widgets may have none), as well as configuring appearance, widget card parameters, actions, and layout.
When creating a widget, you can switch between Basic and Advanced modes using the toggle in the top‑right corner of the widget dialog.
Basic mode:¶
Use Basic mode for a quick start with a single data source and no extra filters. You’ll configure:
- the time window (or inherit it from the dashboard),
- the data source (entity alias or specific device),
- a minimal set of appearance options that depend on the widget type.
Advanced mode:¶
Advanced mode supports multiple data sources (when supported by the widget), filtering, and five configuration tabs for fine‑grained control: Data, Appearance, Widget card, Actions, and Layout.
Additional data source types are available in Advanced mode (widget‑dependent): Function, Entities count, and Alarms count.
Data settings¶
Widget time window:¶
The widget's time window defines the time interval and aggregation function used to fetch telemetry or alarm data.
By default, each widget uses its own time window. You can instead use the dashboard time window by enabling the corresponding option.
To hide the time-window selector from end users for this widget, turn off the Display time window option.
Learn more in the time window guide.
Data source types:¶
Widget data settings let you add one or multiple data sources.
The data source combines a data source type, an optional filter, and a list of data keys (attributes / telemetry). It defines which specific entity (or entities) the widget will pull data from to display.
Available types:
- Device — read data from a single, specific device.
- Entity — read data from entities resolved by an entity alias and optional filters.
- Function — generate data (e.g., random) to preview a widget without live telemetry.
- Entities count — show how many entities match an alias/filter.
- Alarms count — show how many alarms match selected filters.
Device as datasource¶
Use this to fetch telemetry from one device.
Example: Suppose you have a device that publishes indoor temperature values, and you want to show this data in a widget. Let's visualise it with the Thermometer scale widget.
- Open your dashboard and enter edit mode. Then click the "+ Add widget" icon at the top of the screen, or (if this is your first widget on this dashboard) click a large "Add new widget" sign in the middle of the screen to open the "Widgets bundle” dialog window;
- Select "Analogue gauge" widget bundle;
- Then select a "Thermometer scale" widget;
- The "Add Widget" dialog window will open. Select data source type - "Device" and select your device. Then add data key - "temperature". Click "Add" and save all changes; Thermometer scale widget is created.
Entity as datasource¶
Use this to fetch data from entities resolved by an entity alias (for example: all devices, devices by type, assets in a group, etc.).
Example: list all devices in an Entities table.
- Open your dashboard and enter edit mode. Then click the "+ Add widget" icon at the top of the screen, or (if this is your first widget on this dashboard) click a large "Add new widget" sign in the middle of the screen to open the "Widgets bundle” dialog window;
- Select "Tables" widget bundle;
- Then select an "Entities table" widget;
- The "Add Widget" dialog window will open. Select data source type - "Entity". Now, we need to create a new entity alias. Click "Create new" button in the entity alias row;
- In the opened Add alias dialog, enter an alias name, select filter type - "Entity type", and choose an entity type - "Device". Click "Add";
- Add data keys. Then click "Add" and save all changes;
- A widget has been added that displays all devices using an entity alias as the datasource.
Function as datasource¶
Use this when you don't have any data but want to test the widget's visualization.
Example: showing a random value on a Value card.
- Open your dashboard and enter edit mode. Then click the "+ Add widget" icon at the top of the screen, or (if this is your first widget on this dashboard) click a large "Add new widget" sign in the middle of the screen to open the "Widgets bundle” dialog window;
- Select a "Cards" widget bundle;
- Then select a "Value card" widget;
- The "Add Widget" dialog window will open. Navigate to the advanced functionality and select data source type - "Random". Then add a function - "Random" and click the "pencil" icon of the "Random" key to open data key configuration window;
- Change the label name to "temperature" and specify units. Click "Save";
- Click "Add" and save all changes;
- Created the value card widget which displays random value.