Skip to content
Stand with Ukraine flag

Dashboard state widget

  • Widget
  • v1.0.0
  • Sep 1, 2026
  • MIT license
  • v4.2+ | Built-in
Dashboard state widget

Displays specified dashboard state inside widget. Advanced widget settings allows you to configure target dashboard state to be displayed.

Widget Type
  • Static
Category
  • Cards & Info

Who it’s for

Dashboard builders assembling a screen out of pieces they have already built. A state that works well on its own — an asset overview, a KPI strip, a control panel — can be dropped inside another dashboard as a block, so the layout is composed rather than copied, and a fix applied to the state reaches every screen that embeds it.

What it does

The Dashboard state widget renders another dashboard state inside its own tile. Pointing it at a state id draws that state’s widgets in the space the tile occupies, with the parent dashboard’s state parameters passed down, so an embedded asset panel follows whichever asset the parent is currently showing.

  • One state, many screens — build a block once and embed it wherever it belongs instead of duplicating widgets that then drift apart.
  • State parameters flow from the parent by default, which is what makes an embedded panel follow the parent’s selected entity rather than needing its own alias.
  • The embedded layout can autofill the tile’s height, so the inner widgets stretch to the space available instead of scrolling inside a fixed frame.
  • Inner margin and background are set here, which lets the same state look flush inside one dashboard and padded inside another.
  • The widget reads no telemetry itself: everything shown comes from the widgets in the embedded state.

How to set up

Data keys

The Dashboard state widget takes no data keys — it renders a dashboard state, not a reading. The default configuration carries a leftover demo datasource, which can be removed.

Dashboard state

SettingDefaultEffect
Dashboard state idUnsetThe state rendered inside the tile; required for anything to appear
Sync state params with parent dashboardOnPasses the parent’s state parameters down, so the embedded state follows the parent’s selected entity
Autofill state layout height by defaultOnStretches the embedded layout to the tile height instead of keeping the state’s own height
Default widgets margin0Spacing between the embedded widgets
Default background color#fffBackground behind the embedded state

Choose the state id from the same dashboard the widget lives on. Leave parameter sync on unless the embedded state has to stay fixed on one entity regardless of what the parent is showing.

How to customize

  • To embed a different block — change Dashboard state id.
  • To pin the embedded state to its own entity — turn off Sync state params with parent dashboard, so the parent’s selection no longer reaches it.
  • To stop the inner widgets from stretching — turn off Autofill state layout height by default, which keeps the state’s own layout height and scrolls if it does not fit.
  • To separate the embedded widgets visually — raise Default widgets margin.
  • To make the block sit flush with the page — set Default background color to match the dashboard behind it.

Tips

  • Keep the embedded state small and single-purpose. A state built to fill a screen rarely reads well inside a tile, and one designed as a block can still be opened full-screen on its own when someone needs the detail.
  • Avoid pointing a state widget at a state that already embeds it. Nothing prevents the loop at configuration time, and the result is a dashboard that renders until it runs out of room rather than an error that explains itself.

Share Your Widget with the Community

Built a custom widget? Export it as a JSON from ThingsBoard and publish it to the IoT Hub through a simple 4-step wizard (Upload, Listing, Readme, Review & Submit). Share it with thousands of ThingsBoard developers worldwide and get featured in the catalog.