Skip to content
Stand with Ukraine flag

Leak Sensor

Leak sensor SCADA symbol

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 leak detection sensor that changes color when a leak is detected and triggers a dashboard action when clicked.

  • Indicate the presence or absence of a leak with configurable default and leak colors.
  • Trigger a dashboard action when the widget symbol is clicked.
  • Receive leak 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. The Leak sensor 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.

ParameterDefaultValuesDescription
LeakUse time series 'leak'True, FalseWhether a leak is currently detected by the sensor.
On clickDo nothingAction triggered when the user clicks the widget symbol.

To configure the Leak parameter, click its edit icon. When Action is set to Do nothing, set Value to True (leak detected) or False (no leak).

For all other actions:

  • Execute RPC

    Read the leak state from an RPC response.

    ParameterDescription
    MethodRPC method to call, like getLeakState.
    Action result converterNone — leak state is activated when the result matches the value you specify; Function — leak state is activated when your f(data) returns true.
    ‘Leak’ when result isThe value or condition that activates the leak state.
    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 leak state from a device attribute.

    ParameterDescription
    Attribute scopeWhere the attribute is stored: Any, Client, Server, or Shared.
    Attribute keyAttribute name to read, like leak or leakDetected.
    Action result converterNone — leak state is activated when the attribute equals the value you specify; Function — leak state is activated when your f(data) returns true.
    ‘Leak’ when result isThe value or condition that activates the leak state.
  • Get time series

    Read the leak state from the latest telemetry reading.

    ParameterDescription
    Time series keyTelemetry key to monitor, like leak or leakSensor.
    Action result converterNone — leak state is activated when the telemetry value equals what you specify; Function — leak state is activated when your f(data) returns true.
    ‘Leak’ when result isThe value or condition that activates the leak state.
  • Get alarm status

    Activate the leak state 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 leak state based on which dashboard state is currently open.

    ParameterDescription
    Action result converterNone — leak state is activated when the state name matches the text you enter; Function — leak state is activated when your f(data) returns true.
    ‘Leak’ when result isThe state name or condition that activates the leak state.
  • Get dashboard state object

    Activate the leak state 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 true to activate the leak state.

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.

The Appearance section controls the widget title and sensor colors.

SettingDefaultDescription
TitleLeak sensorWidget title displayed in the header. Supports entityName and entityLabel variables.
Card iconIcon shown in the widget header. Configure its size and color.
Background colorTransparentBackground color of the widget area.
Default colorGreenSymbol color when no leak is detected.
Leak colorRedSymbol color when a leak is detected.

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.

Sensor color does not change when a leak is detected

CauseSolution
Leak action is set to Do nothing and value is FalseOpen the Leak edit dialog, set the correct Action, and specify the telemetry or attribute key.
Telemetry key mismatchVerify that the key name in the behavior configuration matches exactly what the device reports.
Target device is not connectedConfirm that the selected device is online and actively sending data.

Click action has no effect

CauseSolution
Action is set to Do nothingOpen the On click edit dialog and select the desired action type.
Target device is not setConfirm that a device or entity alias is selected as the data source.

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.