Skip to content
© 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

Vertical Pipe

Vertical pipe SCADA symbol

The Vertical pipe widget represents a standard-length vertical pipe segment in a SCADA fluid system diagram. It visualizes fluid presence, flow state, direction, and leak conditions based on real-time device data.

  • Visualize fluid presence and flow state in real time.
  • Animate fluid flow in either direction at configurable speed.
  • Indicate leak conditions on the pipe.
  • Apply custom colors to fluid and pipe elements independently.
  • 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 Traditional SCADA fluid system widget bundle.
  4. Select the pipe widget for your use case.
  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. Each pipe 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 define what the widget displays, driven by real-time data from the connected device.

Parameter Default Description
Fluid presence Absent Whether fluid is present in the pipe: Present or Absent. See Data source configuration.
Flow presence Absent Whether fluid is flowing through the pipe: Present or Absent. See Data source configuration.
Flow direction Forward Direction of the fluid flow animation: Forward or Reverse. See Data source configuration.
Flow animation speed 1 Speed of the flow animation. 1 is normal speed, 0 disables animation, < 1 slower, > 1 faster. See Data source configuration.
Leak False Whether a leak is present on the pipe. See Data source configuration.

Applies to all parameters. 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
Fluid presence Present or Absent
Flow presence Present or Absent
Flow direction Forward or Reverse
Flow animation speed Any number — 1 for normal speed, 0 to stop, < 1 slower, > 1 faster.
Leak 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 getFlowStatus.
    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 state or flowActive.
    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 flowState or leakSensor.
    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 and pipe element colors.

Setting Description
Title Widget title displayed in the header. Supports entityName and entityLabel variables.
Card icon Icon shown in the widget header. Configure its size and color.
Fluid color Color of the fluid rendered inside the pipe.
Pipe color Color of the pipe structure itself.

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.

Widget shows no fluid state or incorrect state

Cause Solution
Action is set to Do nothing Open the parameter edit dialog, set the correct Action, and specify the attribute or time-series key.
Attribute or telemetry key mismatch Verify that the key name in the behavior configuration matches exactly what the device reports.
Target device is not connected Confirm that the selected device is online and actively sending data.

Flow animation does not play

Cause Solution
Flow animation speed is 0 Set Flow animation speed to a non-zero value (e.g. 1 for normal speed).
Flow presence is Absent Configure the Flow presence behavior to read from the device and verify the device reports an active flow state.
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

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.