Skip to content
Stand with Ukraine flag

Right Heat Pump

Right heat pump SCADA symbol

The Right heat pump widget renders a heat pump with pipe connectors and controls positioned on the right side of the symbol. It displays the current temperature, animates the fan when the pump is running, and exposes a power button and temperature setpoint controls for direct device interaction from the dashboard.

This widget belongs to the Traditional SCADA fluid system bundle — a collection of pipe segments, fittings, valves, pumps, and gauges designed for building fluid system diagrams on ThingsBoard dashboards. It represents a heat pump with a temperature display, fan rotation animation, a power button for remote start/stop control, and color-coded warning and critical states.

  • Display the current temperature value with a configurable range and step-increment controls.
  • Animate the fan rotation when the pump is in the running state.
  • Start or stop the pump remotely using the on-widget power button.
  • Update the temperature setpoint directly from the dashboard using the up/down controls.
  • Indicate warning and critical states with configurable colors.
  • Animate a blinking effect when the pump is in critical state.
  • Trigger a dashboard action when the widget symbol is clicked.
  • Receive state data from device attributes, time series, alarm status, or dashboard state.

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. Each heat pump widget has a pre-selected symbol from the Traditional 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 control what the widget displays and what actions it sends to the connected device. See Read parameter configuration and Write parameter configuration for the full configuration details.

ParameterDefaultValuesDescription
RunningUse attribute 'running'True, FalseWhether the pump is currently running. When True, the fan rotation animation plays.
TemperatureUse time series 'temperature'numberCurrent temperature value displayed in the value box.
Update temperatureAdd 'temperature' time series value: valueAction sent to the device when the user adjusts the temperature setpoint using the up/down controls.
RunSet 'running' attribute to: trueAction sent to the device when the user clicks the power button to start the pump.
StopSet 'running' attribute to: falseAction sent to the device when the user clicks the power button to stop the pump.
Warning stateUse alarm statusTrue, FalseWhether the pump is in warning state.
Critical stateUse alarm statusTrue, FalseWhether the pump is in critical state.
Critical state animationFalseTrue, FalseWhether to enable blinking animation when the pump is in critical state.
Rotation animation speed1numberSpeed of the fan rotation animation. 1 is normal speed, 0 disables animation, < 1 — slower animation, > 1 — faster animation.
On clickDo nothingAction triggered when the user clicks the widget symbol.

Defines what happens when the user clicks the SCADA symbol on the dashboard. 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.

    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 alarms view.

    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.

To configure Running, Temperature, Warning state, or Critical state, click the parameter’s edit icon. When Action is set to Do nothing, the Value field accepts:

ParameterValue
RunningTrue or False
TemperatureAny number — displayed in the value box until the device sends data.
Warning stateTrue or False
Critical stateTrue 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.

    ParameterDescription
    MethodRPC method to call, like getState or getTemperature.
    Action result converterNone — parameter is activated when the result matches the value you specify; Function — parameter is activated when your f(data) returns true.
    ’[parameter]’ when result isThe value or condition that activates this parameter (not shown for Temperature, which uses the raw numeric result).
    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 running or temperature.
    Action result converterNone — parameter is activated when the attribute equals the value you specify; Function — parameter is activated when your f(data) returns true.
    ’[parameter]’ when result isThe value or condition that activates this parameter (not shown for Temperature, which uses the raw numeric result).
  • Get time series

    Read the parameter value from the latest telemetry reading.

    ParameterDescription
    Time series keyTelemetry key to monitor, like temperature or running.
    Action result converterNone — parameter is activated when the telemetry value equals what you specify; Function — parameter is activated when your f(data) returns true.
    ’[parameter]’ when result isThe value or condition that activates this parameter (not shown for Temperature, which uses the raw numeric result).
  • Get alarm status

    Activate the parameter when a specific alarm is active 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

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

    ParameterDescription
    Action result converterNone — 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 isThe 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.

    ParameterDescription
    Parse value functionWrite a f(data) function that returns the parameter value.

Update temperature, Run, and Stop define what is sent to the device when the user interacts with the widget controls. Click the parameter’s edit icon to configure it.

  • Execute RPC

    Call an RPC method on the device.

    ParameterDescription
    MethodRPC method name, like setState or setTemperature.
    ParametersValue — pass the current control value as the parameter; Function — write a f(value) function that converts the value to the RPC payload; None — send no parameters.
    RPC request timeout (ms)How long to wait before timing out (Advanced settings).
    RPC request persistentStores and retries the command until the device comes online (Advanced settings).
  • Set attribute

    Write a value to a device attribute.

    ParameterDescription
    Attribute scopeTarget scope: Server or Shared.
    Attribute keyAttribute name to write, like running or temperature.
    ValueConstant — send a fixed value (supports Boolean, number, or string types); Function — write a f(value) function to compute the value from the current control value.
  • Add time series

    Write a value to a device time series key.

    ParameterDescription
    Time series keyTelemetry key to write, like temperature or setpoint.
    ValueConstant — send a fixed value; Function — write a f(value) function to compute the value from the current control value.

The Appearance section controls the widget title, temperature display, control styling, and pump state colors.

SettingDefaultDescription
TitleWidget nameWidget title displayed in the header. Supports entityName and entityLabel variables.
Card iconIcon shown in the widget header. Configure its size and color.
Temperature min10Minimum value of the temperature setpoint range.
Temperature max45Maximum value of the temperature setpoint range.
Temperature step increment1Step size applied when the user clicks the up or down control.
Value textBlackColor and font of the temperature value label.
Value units°CUnits label shown next to the temperature value. Toggle to show or hide.
Value box backgroundTransparentBackground color of the temperature value box.
Power button background (Enabled)GreenBackground color of the power button when the pump is running.
Power button background (Disabled)TransparentBackground color of the power button when the pump is stopped.
Running colorGreenPump color when in the running state.
Stopped colorGrayPump color when stopped (not running).
Warning colorOrangePump color when in warning state.
Critical colorRedPump color when in critical state.
Heat pump colorTransparentBase color of the heat pump body.
Pipe colorTransparentColor of the pipe connectors attached to the pump.

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.

Fan shows no rotation animation when running

CauseSolution
Running action is set to Do nothing and value is FalseOpen the Running edit dialog, set the correct Action, and specify the attribute key.
Rotation animation speed is 0Set Rotation animation speed to a non-zero value (e.g. 1 for normal speed).
Target device is not connectedConfirm that the selected device is online and actively sending data.

Power button does not start or stop the pump

CauseSolution
Run or Stop action is misconfiguredOpen the Run or Stop edit dialog and verify the attribute key, scope, and value match the device’s expected format.
Target device is not connectedConfirm that the selected device is online and reachable.

Warning or critical color does not appear

CauseSolution
Warning state or Critical state action is Do nothing and value is FalseConfigure the state parameter to read from an alarm status or a device attribute.
Alarm is not active on the deviceConfirm that the device has an active alarm of the expected severity.

These widgets are used in the following ready-made solution templates built on the Traditional SCADA fluid system bundle:

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