Skip to content
Stand with Ukraine flag

HP Dynamic Horizontal Scale

HP Dynamic horizontal scale SCADA symbol

This widget belongs to the General high-performance SCADA symbols bundle — a collection of versatile components for building interactive high-fidelity SCADA dashboards on ThingsBoard.

It renders a horizontal scale bar with an arrow pointer that moves to reflect the current sensor value within a defined range. Unlike the HP Simple horizontal scale, all four threshold boundaries — high critical, high warning, low warning, and low critical — are behavior parameters driven by live device data, so the warning and critical zones on the scale shift in real time as device attributes or telemetry change. An optional target marker shows a setpoint on the same scale.

Use it when threshold limits vary per device or installation — for example, temperature operating ranges stored as device attributes — in HVAC, water treatment, industrial automation, or building management systems.

  • Display a live sensor value as a pointer position on a horizontal scale.
  • Drive all four threshold boundaries (high critical, high warning, low warning, low critical) from live device data.
  • Optionally show a target or setpoint marker on the scale.
  • Toggle the visibility of each threshold zone independently.
  • Configure the scale range, value label, units, and decimal precision.
  • Set independent colors for the scale, warning zones, and critical zones.
  • Trigger a dashboard action when the widget symbol is clicked.
  • Receive state data from device attributes, time series, alarm status, or dashboard state.
  1. Open the dashboard and switch to edit mode.
  2. Click Add widget at the top, or the Add new widget icon in the center of the screen.
  3. Open the General high-performance SCADA symbols widget bundle.
  4. Select HP Dynamic horizontal scale.
  5. Configure the widget settings, then click Add.

The widget connects to a single data source: either a Device or an Entity alias that resolves to a device. This device provides the telemetry or attribute values used to drive the widget’s visual state.

The SCADA symbol defines the visual shape of the widget. The HP Dynamic horizontal scale widget has a pre-selected symbol from the General high-performance SCADA symbols bundle. To use a different symbol, click Browse SCADA symbol from gallery and choose one from the library, or upload your own.

Behavior parameters define what the widget displays and how it responds to user interaction, driven by real-time data from the connected device.

ParameterDefaultDescription
ValueUse time series 'temperature'The current sensor reading. The arrow pointer moves to the corresponding position on the scale. See Data source configuration.
High Critical state85Upper boundary of the critical zone. The scale segment from this value to the maximum is colored with the critical color. See Data source configuration.
High Warning state70Upper boundary of the warning zone. The scale segment from this value to High Critical state is colored with the warning color. See Data source configuration.
Low Warning state30Lower boundary of the warning zone. The scale segment from Low Critical state to this value is colored with the warning color. See Data source configuration.
Low Critical state15Lower boundary of the critical zone. The scale segment from the minimum to this value is colored with the critical color. See Data source configuration.
Target valueUse attribute 'target'Optional reference or setpoint value. When configured, a second marker appears on the scale at this position. See Data source configuration.
On clickDo nothingAction triggered when the user clicks the widget symbol. See Click action configuration.

Applies to On click. Select one action type from the list below.

  • Do nothing

    The symbol is clickable but performs no action. Use while testing styles or as a placeholder.

  • Navigate to new dashboard state

    Switches to a different view within the same dashboard, like opening a sensor details screen.

    ParameterDescription
    Target dashboard stateThe state to open (required).
    Open right dashboard layout (mobile view)Opens a side panel instead of replacing the view (mobile only).
    Set entity from widgetPasses the current entity to the target state.
    State entity parameter nameThe key the entity is passed under.
    Dashboard state display optionNormal (same view), In separate dialog (popup), or In popover (inline overlay).
  • Update current dashboard state

    Updates the context of the current view, like switching the selected device, without navigating away.

    ParameterDescription
    Target dashboard stateThe state to switch to (optional).
    Open right dashboard layout (mobile view)Opens a side panel on mobile.
    Set entity from widgetPasses the current entity to the updated state.
    State entity parameter nameThe key the entity is passed under.
  • Navigate to other dashboard

    Opens a completely different dashboard, like jumping from this system view to a global overview.

    ParameterDescription
    Target dashboardThe dashboard to open (required).
    Target dashboard stateThe specific view to open within that dashboard.
    Open in a new browser tabOpens the dashboard without leaving the current page.
    Set entity from widgetPasses the current entity to the other dashboard.
    State entity parameter nameThe key the entity is passed under.
  • Custom action

    Runs custom JavaScript on click to implement any behavior not covered by the built-in options. Use it to make HTTP requests, open custom dialogs, call other widget APIs, or interact with external services. The function receives: $event, widgetContext, entityId, entityName, additionalParams, entityLabel.

  • Custom action (with HTML template)

    Same as Custom action, but also renders a custom HTML panel or dialog when the symbol is clicked. The function receives an additional htmlTemplate parameter: $event, widgetContext, entityId, entityName, htmlTemplate, additionalParams, entityLabel.

    ParameterDescription
    ResourcesExternal scripts and styles loaded before the action runs.
    CSSStyling for the HTML template.
    HTMLLayout of the rendered dialog or panel.
    JSAction logic.
  • Mobile action

    Triggers a native device feature inside a ThingsBoard mobile app, like the camera or QR scanner.

    ParameterDescription
    Mobile action typeTake picture from gallery, Take photo, Open map directions, Open map location, Scan QR Code, Make phone call, Get phone location, Take screenshot, or Device provision.
  • Open URL

    Opens a website or external link when clicked.

    ParameterDescription
    URLThe address to open (required).
    Open in a new browser tabKeeps the current dashboard open while opening the link.

Applies to Value, High Critical state, High Warning state, Low Warning state, Low Critical state, and Target value. Click the edit icon next to a parameter to open its configuration dialog. When Action is set to Do nothing, the value is a fixed number:

ParameterValue
ValueNumeric value to display statically on the scale
High Critical stateNumeric threshold for the upper critical boundary
High Warning stateNumeric threshold for the upper warning boundary
Low Warning stateNumeric threshold for the lower warning boundary
Low Critical stateNumeric threshold for the lower critical boundary
Target valueNumeric value to use as a fixed target marker

For all other actions, the configuration dialog works the same way regardless of which parameter you are editing:

  • Execute RPC

    Read the parameter value from an RPC response.

    ParameterDescription
    MethodRPC method to call, like getTemperature or getHighCritical.
    Action result converterNone — uses the result value directly; Function — returns the value from your f(data) function.
    RPC request timeout (ms)How long to wait for a device response before timing out (Advanced settings).
    RPC request persistentStores and retries the command until the device comes online (Advanced settings).
  • Get attribute

    Read the parameter value from a device attribute.

    ParameterDescription
    Attribute scopeWhere the attribute is stored: Any, Client, Server, or Shared.
    Attribute keyAttribute name to read, like highCritical or target.
    Action result converterNone — uses the attribute value directly; Function — returns the value from your f(data) function.
  • Get time series

    Read the parameter value from the latest telemetry reading.

    ParameterDescription
    Time series keyTelemetry key to monitor, like temperature.
    Action result converterNone — uses the telemetry value directly; Function — returns the value from your f(data) function.
  • Get alarm status

    Set the parameter value based on alarm activity on the device.

    ParameterDescription
    Alarm severityWhich severity levels trigger the active state: Critical, Major, Minor, Warning, or Indeterminate.
    Alarm typesAny alarm, or a specific alarm type.
  • Get dashboard state id

    Set the parameter value based on which dashboard state is currently open.

    ParameterDescription
    Action result converterNone — uses the state name directly; Function — returns the value from your f(data) function.
  • Get dashboard state object

    Set the parameter value using the full dashboard state context; use this when you need to evaluate multiple state parameters at once.

    ParameterDescription
    Parse value functionA f(data) function that receives the current dashboard state object. Use data.id to read the active state name, or data.params to inspect state parameters.

The Appearance section controls the widget title, scale range, value display, label, units, threshold zone visibility, and colors.

SettingDefaultDescription
TitleHP Dynamic horizontal scaleWidget title displayed in the header. Supports entityName and entityLabel variables.
Card iconIcon shown in the widget header. Configure its size and color.
Min and max valueMin: 0, Max: 100The range of the scale. The pointer is positioned proportionally within this range.
ValueOnWhether to display the numeric value on the widget. Configure decimal precision, font, and color.
LabelOutdoorDescriptive text label shown alongside the scale. Configure its font and color.
Units°CUnit suffix shown on the scale. Configure its font and color.
Arrow colorGrayColor of the pointer arrow indicating the current value position.
TargetOffWhether to display the target marker on the scale. When enabled, configure its color.
Show High Critical scaleOnWhether to render the high critical zone on the scale.
Show High Warning scaleOnWhether to render the high warning zone on the scale.
Show Low Warning scaleOnWhether to render the low warning zone on the scale.
Show Low Critical stateOnWhether to render the low critical zone on the scale.
Scale colorLight blueBase color of the scale bar in the normal (non-threshold) zone.
Warning scale colorDefault: Gray, Active: OrangeColors for the warning zones: Default is used when the value is outside the zone, Active when the value is inside it.
Critical scale colorDefault: Gray, Active: RedColors for the critical zones: Default is used when the value is outside the zone, Active when the value is inside it.

The Card appearance section controls the widget container style.

SettingDefaultDescription
BackgroundTransparentCard background color.
Show card buttonsFullscreenButtons shown on the card when hovered.
Card border radius0pxRounding of card corners.
Card padding12pxInner spacing between the card edge and widget content.

Pointer does not move or is always at zero

CauseSolution
Value action is Do nothing with a zero or missing valueOpen the Value edit dialog and configure it to read from a device time series key or attribute.
Device is not sending telemetryConfirm the device is online and publishing the expected time series key.

Threshold zones do not appear or are in the wrong position

CauseSolution
Threshold parameters are set to Do nothing with default values that fall outside the scale rangeOpen each threshold edit dialog and configure it to read from a device attribute, or set the Do nothing value within the Min and max value range.
Zone visibility is disabledCheck that Show High Critical scale, Show High Warning scale, Show Low Warning scale, and Show Low Critical state are enabled in the Appearance section.

Target marker does not appear

CauseSolution
Target is disabled in AppearanceEnable the Target toggle in the Appearance section.
Target value action is Do nothing with a zero valueOpen the Target value edit dialog and configure it to read from an attribute or time series key.

This widget is used in the following ready-made solution template built on the General high-performance SCADA symbols bundle:

  • SCADA Swimming pool — a complete swimming pool monitoring dashboard that uses the HP Dynamic horizontal scale to display sensor readings with device-specific warning and critical thresholds.