Skip to content
Stand with Ukraine flag

Large Cylindrical Tank

Large cylindrical tank SCADA symbol

The Large cylindrical tank widget represents a large-capacity vertical cylindrical storage tank with fill level visualization and volume readout. Use it for high-volume liquid storage in industrial piping diagrams where a wide, prominent tank symbol is needed.

  • Display the current liquid volume as a visual fill level inside the tank symbol.
  • Show the exact volume value in a configurable value box with unit suffix.
  • Indicate warning and critical states with configurable fill and tick colors.
  • Animate a blinking effect when the tank is in critical state.
  • Add a measurement scale with configurable major and minor ticks in Percentage or Absolute format.
  • Trigger a dashboard action when the widget is clicked.
  • Read tank data from device attributes, time series, or alarm status.

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 tank 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. Each parameter supports the same set of actions — see Behavior configuration for the full list.

ParameterDefaultValuesDescription
Tank capacityUse attribute 'tankCapacity'numberTotal capacity of the tank. Used together with Current volume to compute the fill level.
Current volumeUse time series 'liquidVolume'numberCurrent volume of liquid in the tank.
Warning stateUse alarm statusTrue, FalseWhether the tank is in warning state. When True, the scale and ticks switch to warning colors.
Critical stateUse alarm statusTrue, FalseWhether the tank is in critical state. When True, the scale and ticks switch to critical colors.
Critical state animationFalseTrue, FalseWhether to enable blinking animation when the tank is in critical state.
On clickDo nothingAction triggered when the user clicks the widget.

Defines what happens when the user clicks the SCADA widget on the dashboard. Select one action type from the list below.

  • Do nothing

    The widget 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 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.

    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. 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 clicked.

    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.

    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 a parameter, click its edit icon. When Action is set to Do nothing, the Value options depend on which parameter you are configuring:

ParameterValue
Tank capacityAny number — the static tank capacity value.
Current volumeAny number — the static current volume value.
Warning stateTrue or False
Critical stateTrue or False
Critical state animationTrue 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 getVolume or getTankState.
    Action result converterNone — parameter value is taken directly from the result; Function — activated when your f(data) returns true.
    ’[parameter]’ when result isThe value or condition that activates this parameter (not shown for numeric parameters, which use the raw 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 tankCapacity.
    Action result converterNone — uses the result directly; Function — activated when your f(data) returns true.
    ’[parameter]’ when result isThe value or condition that activates this parameter (not shown for numeric parameters).
  • Get time series

    Read the parameter value from the latest telemetry reading.

    ParameterDescription
    Time series keyTelemetry key to monitor, like liquidVolume.
    Action result converterNone — uses the result directly; Function — activated when your f(data) returns true.
    ’[parameter]’ when result isThe value or condition that activates this parameter (not shown for numeric parameters).
  • 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.

The Appearance section controls the widget title, tank and fluid colors, volume display, and scale configuration.

SettingDefaultDescription
Title[Tank name]Widget title displayed in the header. Supports entityName and entityLabel variables.
Card iconIcon shown in the widget header. Configure its size and color.
Tank colorColor of the tank body.
Fluid colorTransparentColor of the liquid fill inside the tank.
Value boxEnabledShow or hide the current volume value display on the widget.
Value textFont and color for the value label. The Units field (default: gal) sets the unit suffix shown next to the value.
ScaleEnabledShows a measurement scale on the tank. Display format: Percentage (0–100%) or Absolute (actual volume units).
Enable units on scaleDisabledShow the unit label alongside scale tick values.
Transparent modeDisabledMake the tank body background transparent, showing only the fluid fill and scale.
Major ticksIntervals: 10Major tick marks on the scale. Configure the interval count and colors for Normal, Warning, and Critical states.
Minor ticksIntervals: 5Minor tick marks between major ticks. Configure the interval count and colors for Normal, Warning, and Critical states.

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.

Tank fill level does not change

CauseSolution
Current volume action is Do nothing with a static valueConfigure Current volume to read from a time series key (e.g. liquidVolume) or an attribute.
Tank capacity is not set or resolves to zeroEnsure Tank capacity is reading a valid numeric value greater than zero.
Target device is not connectedConfirm the selected device is online and actively sending data.

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.

Critical state animation does not play

CauseSolution
Critical state animation is set to FalseEnable it under Behavior or configure it to read from a device attribute or alarm.
Critical state is not activeThe animation only plays when Critical state is True.

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.