Skip to content
Stand with Ukraine flag

Time Series Chart

The Time series chart widget visualizes time-series telemetry as lines, bars, or a mix of both. It supports real-time updates, multiple series, dual Y axes, data aggregation, thresholds, and comparison mode — making it ideal for monitoring trends, analyzing performance changes, and detecting anomalies in energy, environmental, or industrial data.

  • Multiple data series with independent chart type (line or bar), colors, and Y axis assignments.
  • Real-time and history modes with configurable time window and data aggregation (average, sum, min, max).
  • Comparison overlay: plot the same series from a previous period (yesterday, last week, etc.) on top of current data.
  • Configurable thresholds as horizontal reference lines with labels and custom styles.
  • Legend with per-series statistics: min, max, average, total, and latest.
  • Line style options: smooth curves, stepped function, dashed or dotted, and area fill.
  • Bar width strategy for non-aggregated data: group bars side by side or render them separately.
  • Data zoom for inspecting narrow time ranges without changing the dashboard time window.
  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 Charts.
  3. Select the Time series chart widget.
  4. Configure the datasource, series, and appearance, then click Add.

All settings in this section use Basic mode — a quick-start configuration covering the essentials. For finer widget controls like custom tooltip functions and advanced axis formatting, switch to the Advanced tab.

The Basic tab groups settings into: Time window, Datasource, Series, Y axes, Thresholds, Appearance, Chart, X axis, Bar width strategy for non-aggregated data, Legend, Tooltip, Animation, and Card appearance.

Define the time interval to display, like Last 24 hours or Current week. Enable data aggregation to summarize values over specific intervals, like hourly averages. Learn more in the Time window guide.

Select the source of telemetry data:

  • Device — a specific device; shows telemetry series from this device over the configured time range.
  • Entity alias — a set of entities matched by an entity alias; use this to compare metrics from multiple devices on the same chart.

The widget supports two display modes: Series and Comparison.

Each data key is rendered as an independent line or bar. Add a key for each telemetry value to display, like voltage or frequency. Each series updates dynamically as new telemetry arrives.

Click the settings icon on a series row to open the Data key configuration dialog with General and Advanced tabs.

General tab:

SettingDescription
KeyTelemetry or attribute key name.
LabelLegend label for this series.
Chart typeLine — renders the series as a continuous line. Bar — renders the series as vertical bars.
UnitsUnit suffix, like V or Hz.
DecimalsDecimal places for displayed values.
ColorSeries color.
Use data post-processing functionOptional JavaScript transform applied to the raw value before display. Signature: f(value, latestData).

Advanced tab — Legend:

SettingDescription
Show in legendInclude this series in the chart legend.
Hidden by defaultSeries is rendered but hidden in the legend until toggled by the user.

Advanced tab — Y axis: Select which Y axis this series is plotted against.

Advanced tab — Line settings (applies when Chart type is Line):

SettingDescription
Show lineRender this series as a line.
Step lineDraw the line as a stepped function. Choose step position: Start, Middle, or End.
Smooth lineUse curved Bezier segments instead of straight lines.
Line typeLine dash style: Solid, Dashed, or Dotted.
Line widthStroke width in pixels.

Advanced tab — Points settings:

SettingDescription
Show pointsRender a marker at each data point.
Point labelDisplay the value as a label above or below the point. Configure label position and font.
Point label backgroundShow a background behind point labels.
Point shapeMarker shape: Empty circle, Rectangle, Diamond, etc.
Point sizeMarker diameter in pixels.

Advanced tab — Fill: Shade the area beneath the line. Options: None, Opacity (solid fill with transparency), Gradient.

Advanced tab — Tooltip value format function: Optional JavaScript function f(value, latestData) to format the value shown in the hover tooltip for this series.

Advanced tab — Comparison settings: Enable Show historical data for comparison to plot a comparison line from a previous time period alongside this series. Configure Comparison key label (auto or custom) and Comparison data color.

In Comparison mode, the widget overlays the same data keys from a previous time period on top of the current data — for example, today vs. yesterday or this week vs. last week. Each period is drawn as a separate line, making it easy to spot trends or anomalies across intervals.

Switch to the Comparison tab in the Series section to enable this mode. Each comparison entry has an interval dropdown, an X axis button, and a list of data keys (Show, Key, Label, Color).

Comparison interval options:

OptionDescription
Previous interval (default)Shifts the time window back by one full interval length.
Day agoCompares with the same period from 24 hours earlier.
Week agoCompares with the same period from 7 days earlier.
Month agoCompares with the same period from one month earlier.
Year agoCompares with the same period from one year earlier.
Custom intervalEnter a custom offset in milliseconds.

Comparison X axis settings — click the X axis button to configure how the comparison time axis is displayed:

SettingDescription
ShowDisplay the comparison X axis on the chart.
LabelText label for the comparison axis.
PositionTop or Bottom.
Tick labelsShow date/time labels on ticks. Configure font and color.
Show ticksRender tick marks on the axis.
Show lineRender the axis baseline.
Show split linesRender vertical grid lines for each tick.

Configure one or more Y axes to control vertical scaling and labeling. Each series can be assigned to a different axis via its Y axis field in the series settings. Click Add Y axis to add a new axis.

Each axis row shows the following columns:

ColumnDescription
IdUnique identifier used to assign series to this axis.
ShowToggle axis visibility on the chart.
LabelText label shown next to the axis.
PositionLeft or Right.
Min / MaxFixed scale bounds. Leave empty for auto-scaling.
UnitsUnit suffix for axis tick labels.
DecimalsDecimal places for tick label values.

Click the settings icon on an axis row to open the Y axis settings dialog:

SettingDescription
LabelText label with configurable font and color.
Tick labelsShow value labels on each tick. Configure font and color.
Show ticksRender tick marks on the axis line.
Show lineRender the axis baseline.
Show split linesRender horizontal grid lines across the chart for each tick.
Ticks intervalInterval between ticks. Auto derives it from the data range.
Split numberSuggested number of tick intervals. Auto lets the chart decide.

Scale limits — set explicit minimum and maximum bounds for the axis scale. Each bound has a Source:

SourceDescription
ConstantFixed numeric value entered directly.
KeyValue taken from a telemetry or attribute key of the current entity.
EntityValue taken from a specified entity’s attribute or telemetry key.

Add horizontal reference lines to mark safe, warning, or critical levels. Click Add threshold to add a row.

ColumnDescription
SourceConstant — a fixed numeric value. Entity — value pulled from an entity attribute or telemetry key.
Key / ValueThe numeric value (Constant) or the attribute/telemetry key name (Entity).
Y axisWhich Y axis the threshold is drawn against.
ColorThreshold line color.
UnitsUnit suffix displayed in the threshold label.
DecimalsDecimal places for the threshold label value.

Click the settings icon on a threshold row to open the Threshold settings dialog:

SettingDescription
LabelToggle to show a text label on the threshold line. Set position: Start, Middle, End, Inside start, Inside start top, or Inside start bottom. Configure font and color.
Label backgroundShow a filled background behind the label text.
Line colorColor of the threshold line.
Line typeDash style: Solid, Dashed, or Dotted.
Line widthStroke width in pixels.
Start symbolMarker at the left end of the line, like None or Arrow. Set symbol size.
End symbolMarker at the right end of the line, like None or Arrow. Set symbol size.

Controls the chart title displayed in the widget header.

SettingDescription
TitleText shown in the widget header. Configure font, size, weight, and color.
Card iconOptional icon displayed next to the title.

Controls interactive behavior and chart area layout.

SettingDescription
Data zoomEnable horizontal zoom for inspecting narrow time ranges without changing the dashboard time window.
GridAdjust padding inside the chart area.
Stack modeAccumulate multiple series on the same axis, useful for showing contribution totals.

Configure the horizontal time axis. Use the Show toggle to hide the axis entirely.

SettingDescription
LabelText label displayed along the axis. Configure font and color.
PositionBottom or Top.
Tick labelsShow date/time labels on each tick. Configure date format, font, and color.
Show ticksRender tick marks on the axis. Configure color.
Show lineRender the axis baseline. Configure color.
Show split linesRender vertical grid lines across the chart for each tick.

Bar width strategy for non-aggregated data

Section titled “Bar width strategy for non-aggregated data”

Controls how bar series are rendered when no data aggregation is applied.

OptionDescription
GroupBars for different series are placed side by side at each timestamp.
SeparateEach series renders its bars independently, allowing overlap.

Use the master toggle to show or hide the legend entirely.

SettingDescription
PositionLegend placement: Top, Bottom, Left, or Right.
Show valuesStatistics displayed per series: Min, Max, Average, Total, Latest. Multiple values can be enabled simultaneously.
LabelFont and color for series name labels.
ValueFont and color for statistic values.
Column titleFont and color for the column header row (visible when Show values is enabled).
Sort datakeys in legendSort series entries alphabetically.

Use the master toggle to show or hide the tooltip entirely.

SettingDescription
TriggerPoint — hover over a data point; Axis — hover anywhere on the chart shows values for all series at that timestamp.
DateToggle to show the timestamp. Select the date format and configure font and color.
Show date time intervalDisplay the time interval range in the tooltip header.
Hide zero valuesSuppress series entries with a value of zero from the tooltip.
Show total value in stack modeShow the summed total of all series when Stack mode is enabled.
LabelFont and color for series name labels in the tooltip.
ValueFont and color for value text in the tooltip.
Background colorTooltip background fill color.
Background blurBlur radius (px) applied to the tooltip background.

Use the master toggle to enable or disable chart animation. When enabled:

SettingDescription
Animation thresholdIf the number of data points exceeds this value (default 2000), animation is disabled to maintain performance.
Animation durationDuration of the initial load animation in milliseconds (default 500 ms).
Animation easingEasing function for the initial animation, like cubicOut.
Animation delayDelay before the initial animation starts, in milliseconds.
Update animation durationDuration of the animation when data updates arrive (default 300 ms).
Update animation easingEasing function for update animations.
Update animation delayDelay before update animations start, in milliseconds.
SettingDescription
BackgroundSolid color or image background for the card.
Show card buttonsEnable Fullscreen and Data export toolbar buttons.
Card border radiusCorner rounding in pixels.
Card paddingSpacing between content and card border.

The Time series chart supports the Widget header button action — a button placed in the widget header that triggers a configured action when clicked.

Goal: Display voltage and frequency telemetry from an Energy Meter device on the same chart for the last 24 hours with hourly aggregation — voltage as a line, frequency as bars, each on its own Y axis.

Prerequisites: A device named Energy Meter that sends voltage (V) and frequency (Hz) as telemetry keys.

Step 1. Add the widget. Open your dashboard in edit mode, click Add widget, select the Charts bundle, then choose Time series chart.

Step 2. Configure the time window. Set Period to Realtime — last 24 hours, Aggregation to Average, and Grouping interval to 1 hour.

Step 3. Configure the datasource. Set Datasource type to Device, then select Energy Meter.

Step 4. Add series. In the Series section, add two data keys:

KeyLabelChart typeY axisColorUnitsDecimals
voltageVoltageLinedefault#048AD3V2
frequencyFrequencyBaraxis1#A5D7A7Hz2

For the voltage key, open advanced settings, enable Smooth line, and set Line width to 3.

Step 5. Configure Y axes. Add two Y axes:

IDLabelPositionUnitsDecimals
defaultVoltage, VLeftV0
axis1Frequency, HzRightHz1

Step 6. Configure appearance and legend. In the Appearance section set Title to Voltage and Frequency, font size 20 px, weight 600. In the Legend section set Position to Top and enable Min, Max, Average.

Step 7. Configure tooltip. Optionally disable Show date time interval to keep the tooltip compact.

Step 8. Save. Click Add, resize and reposition as needed, then click Save on the dashboard toolbar.

Result: The chart displays a smooth blue line for voltage and green bars for frequency, both updated hourly over the last 24 hours. Each series uses its own Y axis: voltage on the left, frequency on the right. The legend shows min/max/avg statistics; the tooltip shows exact values at any hovered timestamp.

Widget shows no data

CauseSolution
Wrong data key nameConfirm the key name matches the telemetry key sent by the device. Key names are case-sensitive.
Incorrect datasource or entity aliasVerify the correct Device or Entity alias is selected. Open Entity aliases to confirm the alias resolves to results.
Device not sending dataOpen Devices → Latest telemetry and check for recent values. If empty, verify the device transport configuration and access token.
No telemetry in the selected time windowExtend the time range or switch to Realtime mode to confirm data exists.
Rule chain misconfigurationCheck that the Rule Chain has a Save time series node routing device telemetry to the database.
Datasource updated after importAfter importing a widget, update the datasource to point to your device and update data key names to match your device’s actual telemetry keys.

Data updates stop or show partial data

CauseSolution
Time window type mismatchUse Realtime for live monitoring, History for fixed date ranges.
Aggregation interval too largeReduce the grouping interval, like from 1 day to 1 hour, for finer granularity.
Browser time zone mismatchEnsure the dashboard and device use the same time zone.

A series does not appear on the chart

CauseSolution
Data key not addedOpen the Series section and confirm the telemetry key is added as a data key row.
Series hidden by defaultOpen the data key’s Advanced settings and disable Hidden by default.
Wrong Y axis assignmentCheck that the series is assigned to an existing Y axis ID.
Chart type mismatchVerify the Chart type for each series is set to the intended type (Line or Bar).