Custom Dashboard
Experimental. This feature may change or be removed.
A Custom Dashboard is a dashboard whose entire canvas is an HTML page you write. You upload a single HTML
file (the shell). Admin hosts it for you, and TagoRUN hosts it for Run users. Your page talks to the host
only through window.postMessage: ready, theme, style, and a request/response bridge
to run saved TagoSQL queries and call Analysis Endpoints. A Custom Dashboard can also stream device and entity
writes through the bridge (Live data).
In the create dialog the tab is labeled Custom HTML. The dashboard type string is "custom".
Custom Dashboard is not a Custom Widget. A Custom Widget is one tile on a Normal or Blueprint dashboard. A Custom Dashboard replaces the whole dashboard with your page. See Custom Dashboard vs Custom Widget.
Why use it
- Own the full surface. Layout, charts, and interaction are your HTML, CSS, and JavaScript, not a grid of TagoIO widgets.
- Queries and Endpoints over postMessage. Run saved TagoSQL queries or call Analysis Endpoints. The host uses the viewer's session.
- Simple host protocol. Signal ready, receive theme, request data. No custom-widget library handshake.
- Versioned shell. TagoIO hosts the uploaded file (versioned). Dashboard version restore can bring back a previous shell.
Where to use it
- Admin and TagoRUN. You create and upload Custom Dashboards in TagoIO Admin. Signed-in Run users can view them in TagoRUN. Public share and distribute are not supported for this type.
- Full-page apps and reports. Use a Custom Dashboard when the whole canvas should be your HTML, not a single tile on a widget grid. For a component inside a Normal or Blueprint layout, use a Custom Widget instead.
- Data-driven pages. Use the bridge for saved queries or Analysis Endpoints. Skip requests if the shell is self-contained.
What you get
| Area | Behavior |
|---|---|
| Shell | One uploaded HTML file. Upload and download from the gear menu after create. |
| Data | postMessage bridge: sql.list, sql.run, endpoint.list, endpoint.call, stream.open, and stream.close (Live data). |
| Host messages | dashboard:ready from the shell; host sends dashboard:theme and optional dashboard:style; data via dashboard:request / dashboard:response; live data via dashboard:event. |
| Audience | Admin and signed-in Run users in TagoRUN. Run users cannot edit the uploaded shell. No public share or distribute. |
| Editor | No in-app HTML editor. Edit offline, re-upload. |
How it works
- Create a Custom Dashboard from the create dialog (Custom HTML tab).
- On first open, upload your HTML shell. Until then you see an empty state with Upload HTML and a short author note.
- Author the page to post
dashboard:readyand handledashboard:theme(and optional style). - Load data with the bridge: run saved queries or call Endpoints, then render the results.