Skip to content

Cookie preferences

We use cookies for our own analytics and to see how our campaigns perform. We never sell your data. Necessary cookies keep the site working and cannot be switched off. See our Cookie Policy for details.

Security, load balancing and remembering your cookie choice.

Show us which pages people read and how they find the site, so we can improve it (Google Analytics).

Show us which of our ad campaigns bring visitors to the site (Google Ads).

© 2026 The ThingsBoard Authors
Try for free

ThingsBoard Cloud

Choose your data region

Your data stays in the region you choose, for residency and compliance. No credit card required.

Rather run it yourself? Install on your own servers

HP Heat Pump

HP Heat pump SCADA symbol

The HP Heat pump widget represents an industrial heat pump unit rendered as a front-facing assembly with a visible fan housing and motor casing. The widget combines monitoring and control: the current temperature reading is displayed directly on the widget face, and the on-widget arrow buttons let operators increment or decrement the temperature setpoint without leaving the dashboard. Use it in heating, ventilation, cooling, or refrigeration diagrams where real-time temperature visibility and quick setpoint adjustments are needed.

  • Display the current temperature reading on the widget face.
  • Animate the fan rotation when the heat pump is in the running state.
  • Let operators adjust the temperature setpoint using the on-widget up and down arrow buttons.
  • Configure the valid temperature range and step size for setpoint adjustments.
  • Indicate warning and critical states with configurable colors.
  • Animate a blinking effect when the heat pump is in warning or critical state.
  • Trigger separate dashboard actions when the widget is clicked in its warning state or critical state.
  • Trigger a general dashboard action when the widget symbol is clicked in any state.
  • 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 High-performance SCADA fluid system widget bundle.
  4. Select HP Heat pump.
  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 Heat pump widget has a pre-selected symbol from the High-performance SCADA fluid system 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.

Parameter Default Description
Running Use attribute 'running' Whether the heat pump is currently running. When True, the fan rotation animation plays. See Data source configuration.
Temperature Use time series 'temperature' The current temperature value displayed on the widget face. See Data source configuration.
Update temperature Add 'temperature' time series value: value Action triggered when the operator clicks the up (▲) or down (▼) arrow on the widget to adjust the temperature setpoint. See Update action configuration.

Warning state

Parameter Default Description
Warning Use alarm status Whether the heat pump is in warning state. See Data source configuration.
Warning click Do nothing Action triggered when the user clicks the widget symbol while it is in warning state. See Click action configuration.

Critical state

Parameter Default Description
Critical Use alarm status Whether the heat pump is in critical state. See Data source configuration.
Critical click Do nothing Action triggered when the user clicks the widget symbol while it is in critical state. See Click action configuration.
Parameter Default Description
Warning/Critical state animation False Whether to enable blinking animation when the heat pump is in warning or critical state. See Data source configuration.
On click Do nothing Action triggered when the user clicks the widget symbol in any non-alarm state. See Click action configuration.

Applies to Warning click, Critical click, and 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 device details screen.

    Parameter Description
    Target dashboard state The state to open (required).
    Open right dashboard layout (mobile view) Opens a side panel instead of replacing the view (mobile only).
    Set entity from widget Passes the current entity to the target state.
    State entity parameter name The key the entity is passed under.
    Dashboard state display option Normal (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.

    Parameter Description
    Target dashboard state The state to switch to (optional).
    Open right dashboard layout (mobile view) Opens a side panel on mobile.
    Set entity from widget Passes the current entity to the updated state.
    State entity parameter name The key the entity is passed under.
  • Navigate to other dashboard

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

    Parameter Description
    Target dashboard The dashboard to open (required).
    Target dashboard state The specific view to open within that dashboard.
    Open in a new browser tab Opens the dashboard without leaving the current page.
    Set entity from widget Passes the current entity to the other dashboard.
    State entity parameter name The 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.

    Parameter Description
    Resources External scripts and styles loaded before the action runs.
    CSS Styling for the HTML template.
    HTML Layout of the rendered dialog or panel.
    JS Action logic.
  • Mobile action

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

    Parameter Description
    Mobile action type Take 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.

    Parameter Description
    URL The address to open (required).
    Open in a new browser tab Keeps the current dashboard open while opening the link.

Applies to Update temperature. This action is triggered each time the operator clicks the up (▲) or down (▼) arrow button on the widget face to change the temperature setpoint. Select one action type from the list below.

  • Execute RPC

    Sends the updated temperature value to the device as an RPC command.

    Parameter Description
    Method RPC method to call, like setTemperature.
    Parameters Value — sends the new temperature directly;
    Function — sends a transformed value computed by your f(value) function;
    None — sends no parameter.
    RPC request timeout (ms) How long to wait for a device response before timing out (Advanced settings).
    RPC request persistent Stores and retries the command until the device comes online (Advanced settings).
  • Add time series

    Writes the updated temperature value as a new time series data point on the device.

    Parameter Description
    Time series key The telemetry key to write, like temperature.
    Value Value — writes the new temperature directly; Function — writes a transformed value computed by your f(value) function.
  • Set attribute

    Writes the updated temperature value to a device attribute.

    Parameter Description
    Attribute scope Where to write: Server, Shared, or Client.
    Attribute key Attribute name to write to, like temperatureSetpoint.
    Value Value — writes the new temperature directly; Function — writes a transformed value computed by your f(value) function.

Applies to Running, Temperature, Warning, Critical, and Warning/Critical state animation. Click the edit icon next to a parameter to open its configuration dialog. When Action is set to Do nothing, the Value options depend on which parameter you are configuring:

Parameter Value
Running True or False
Temperature Numeric value to display statically
Warning True or False
Critical True or False
Warning/Critical state animation True or False

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.

    Parameter Description
    Method RPC method to call, like getState or getTemperature.
    Action result converter None — parameter is activated when the result matches the value you specify;
    Function — parameter is activated when your f(data) returns true.
    ‘[parameter]’ when result is The value or condition that activates this parameter.
    RPC request timeout (ms) How long to wait for a device response before timing out (Advanced settings).
    RPC request persistent Stores and retries the command until the device comes online (Advanced settings).
  • Get attribute

    Read the parameter value from a device attribute.

    Parameter Description
    Attribute scope Where the attribute is stored: Any, Client, Server, or Shared.
    Attribute key Attribute name to read, like running or temperatureSetpoint.
    Action result converter None — parameter is activated when the attribute equals the value you specify;
    Function — parameter is activated when your f(data) returns true.
    ‘[parameter]’ when result is The value or condition that activates this parameter.
  • Get time series

    Read the parameter value from the latest telemetry reading.

    Parameter Description
    Time series key Telemetry key to monitor, like temperature or pumpRunning.
    Action result converter None — parameter is activated when the telemetry value equals what you specify;
    Function — parameter is activated when your f(data) returns true.
    ‘[parameter]’ when result is The value or condition that activates this parameter.
  • Get alarm status

    Activate the parameter when a specific alarm is active on the device.

    Parameter Description
    Alarm severity Which severity levels trigger the active state: Critical, Major, Minor, Warning, or Indeterminate.
    Alarm types Any alarm, or a specific alarm type.
  • Get dashboard state id

    Activate the parameter based on which dashboard state is currently open.

    Parameter Description
    Action result converter None — parameter is activated when the state name matches the text you enter;
    Function — parameter is activated when your f(data) returns true.
    ‘[parameter]’ when result is The state name or condition that activates this parameter.
  • Get dashboard state object

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

    Parameter Description
    Parse value function A 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.
    ‘[parameter]’ when result is The expected type and value that activates the parameter. Choose String, Integer, Double, Boolean (then select True or False), or JSON.

The Appearance section controls the widget title, pump state colors, alarm colors, and temperature display settings.

Setting Default Description
Title HP Heat pump Widget title displayed in the header. Supports entityName and entityLabel variables.
Card icon — Icon shown in the widget header. Configure its size and color.
Running color Green Heat pump color when in the running state.
Stopped color Gray Heat pump color when stopped (not running).
Warning color Orange Heat pump color when in warning state.
Critical color Red Heat pump color when in critical state.
Temperature min 10 Minimum value of the temperature setpoint range. Clicks below this value are ignored.
Temperature max 45 Maximum value of the temperature setpoint range. Clicks above this value are ignored.
Temperature step increment 1 How much each arrow button click changes the temperature setpoint.
Value text Blue Color of the temperature number shown on the widget face.
Value units °C Unit label appended to the displayed temperature value.
Value box background Off Whether to show a background fill behind the temperature value display.

The Card appearance section controls the widget container style.

Setting Default Description
Background Transparent Card background color.
Show card buttons Fullscreen Buttons shown on the card when hovered.
Card border radius 0px Rounding of card corners.
Card padding 12px Inner spacing between the card edge and widget content.

Fan shows no rotation animation when running

Cause Solution
Running action is set to Do nothing and value is False Open the Running edit dialog, set the correct Action, and specify the attribute key.
Target device is not connected Confirm that the selected device is online and actively sending data.

Temperature value is not displayed

Cause Solution
Temperature action is Do nothing and no static value is set Open the Temperature edit dialog and configure it to read from a time series key or attribute.
Device is not sending telemetry Confirm the device is online and publishing the expected time series key.

Arrow buttons do not update the temperature

Cause Solution
Update temperature is not configured Open the Update temperature edit dialog and select Execute RPC, Add time series, or Set attribute.
Temperature value is already at the min or max The widget clamps to the configured Temperature min / Temperature max range. Adjust these limits in the Appearance section if needed.

Warning or critical color does not appear

Cause Solution
Warning or Critical action is Do nothing and value is False Configure the state parameter to read from an alarm status or a device attribute.
Alarm is not active on the device Confirm that the device has an active alarm of the expected severity.

Warning click or Critical click does nothing

Cause Solution
The heat pump is not currently in the expected alarm state The Warning click handler only fires when the Warning state is active;
Critical click only fires when the Critical state is active. Verify the alarm is active on the device.
Action is set to Do nothing Open the Warning click or Critical click edit dialog and configure the desired navigation or action.
IoT Hub

Install the Swimming pool SCADA system Solution Template from the ThingsBoard IoT Hub to see this widget running in a complete, ready-to-use dashboard.

Browse the catalog

This widget is used in the following ready-made solution template built on the High-performance SCADA fluid system bundle:

  • SCADA Swimming pool — a complete swimming pool monitoring dashboard built with pump, valve, and gauge widgets from the High-performance SCADA fluid system bundle.