Right Drain Pipe

The Right drain pipe widget represents a horizontal pipe segment with the drain outlet on the right end. It indicates leak conditions based on real-time device data.
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 connects to a device and indicates leak conditions through its SCADA symbol.
Key capabilities
Section titled “Key capabilities”- Indicate leak conditions on a drain pipe segment in real time.
- Trigger a dashboard action when the symbol is clicked.
- Apply custom colors to fluid and pipe elements independently.
- Receive leak state data from device attributes, time series, alarm status, or dashboard state.
Target device
Section titled “Target device”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.
SCADA symbol
Section titled “SCADA symbol”The SCADA symbol defines the visual shape of the widget. Each drain 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
Section titled “Behavior”Behavior parameters define what the widget displays and how it reacts to user interaction.
On click
Section titled “On click”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.
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
htmlTemplateparameter:$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.
Controls when the leak visual appears on the drain pipe symbol. Select one action type from the list below.
-
Do nothing
Set the leak state manually. No live data needed.
Parameter Description Value True — always show the leak; False — always hide it. -
Execute RPC
Detect a leak based on an RPC response from the device.
Parameter Description Method The RPC method to call, like getLeakStateorgetStatus.Action result converter None — leak is shown when the result matches the value you specify; Function — leak is shown when your f(data)returnstrue.‘Leak present’ when result is The value or condition that triggers the leak visual. 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
Show the leak based on a device attribute, like a
leakDetectedorsensorStateflag.Parameter Description Attribute scope Where the attribute is stored: Any, Client, Server, or Shared. Attribute key The attribute name to read, like leakDetectedorstate.Action result converter None — leak is shown when the attribute equals the value you specify; Function — leak is shown when your f(data)returnstrue.‘Leak present’ when result is The value or condition that triggers the leak visual. -
Get time series
Show the leak based on the latest telemetry reading from the device.
Parameter Description Time series key The telemetry key to monitor, like leakSensororstate.Action result converter None — leak is shown when the value equals what you specify; Function — leak is shown when your f(data)returnstrue.‘Leak present’ when result is The value or condition that triggers the leak visual. -
Get alarm status
Show the leak when a specific alarm is active on the device, like a critical pipe fault.
Parameter Description Alarm severity Which severity levels trigger the leak: Critical, Major, Minor, Warning, or Indeterminate. Alarm types Any alarm, or a specific alarm type. -
Get dashboard state id
Show the leak based on which dashboard state is currently open.
Parameter Description Action result converter None — leak is shown when the state name matches the text you enter; Function — leak is shown when your f(data)returnstrue.‘Leak present’ when result is The state name or condition that triggers the leak visual. -
Get dashboard state object
Show the leak using the full dashboard state context; use this when you need to evaluate multiple state parameters at once.
Parameter Description Parse value function Write a f(data)function that returnstrueto show the leak.
Appearance
Section titled “Appearance”The Appearance section controls the widget title and 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 at the drain outlet. |
| Pipe color | Color of the pipe structure itself. |
Card appearance
Section titled “Card appearance”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. |
Troubleshooting
Section titled “Troubleshooting”Widget shows no leak state or incorrect state
| Cause | Solution |
|---|---|
| Action is set to Do nothing | Open the Leak 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. |
Solution templates
Section titled “Solution templates”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.