Dashboards
Control Seat dashboards are built in a visual editor and published as live, real-time screens.
Dashboards are for presenting and operating on your data. To explore and analyze it — trends, anomalies, forecasting, and ad-hoc investigation — see Trends & Analytics.
Building A Dashboard
The editor lets you build dashboards by dragging blocks onto a canvas. You can also use AI to generate a dashboard from a text description.
Editor Features
- Drag-and-drop blocks — charts, tables, gauges, text, images, and more
- Coordinate canvas — absolute-position layouts for HMI-style screens
- Style editor — customize colors, fonts, borders, and spacing on any block
- Binding editor — connect any block property to live tag data with optional scripting
- Embedded views — nest other pages inside your dashboard as reusable components
- Dock layout — create sidebar and panel layouts
- Pipe drawing — draw process flow lines between blocks
- AI-assisted editing — describe what you want and let AI build or modify your dashboard (see below)
Data Tables
Data tables render multi-row, multi-column results — useful for things like "last 50 alarms", "current open work orders", or "top 10 slowest cycles today". Bind a data table to a Table tag and the table renders the live query result with sorting and pagination. Only table tags appear in the data table's binding dropdown — scalar tags are hidden because a table needs rows and columns, not a single value.
Change the underlying query (or the tag's datasource) and every table bound to it updates automatically.
AI-Assisted Editing
Open the AI popover (or use AI Edit on a selected component) and describe what you want in plain English. The assistant can add components, edit styles, update bindings, reorder the layout, and work from your existing design language — all in a single proposed change.
A few things worth knowing about how the AI works:
- Live status — the popover shows what the assistant is doing right now ("measuring spacing", "adding chart 2 of 2", "verifying result") instead of a generic spinner.
- Stop button — cancel the edit before it finishes. Nothing is applied until the assistant completes the change, so stopping leaves the canvas untouched.
- Self-verification — after applying a change the assistant checks its own work against what you asked for. If you asked for two charts and it added one, it notices and fixes the miss before returning control.
- Spacing-aware — the AI can measure the gaps between existing elements, so requests like "match the spacing of the row above" actually match.
- Binding-aware — it can read and edit the bindings already attached to a component. Requests like "stop this chart from updating live" or "rebind this gauge to
pump/rpm" work the way you'd expect. - Data-aware — the AI can query your historian on the fly (aggregates, raw points, or the last N readings) to ground design decisions in real data. Ask "what was the average flow rate yesterday afternoon?" and it'll look up the answer instead of guessing, then use that to pick appropriate chart y-axis ranges or threshold colors.
- Image attachments — drop a screenshot, mockup, or photo into the AI popover (or AI Edit on a selected component) and the assistant uses the image as visual context. Up to 20 MB per image, multiple images per turn. Useful for "make this dashboard look like the screenshot from our mockup", "here's a photo of the actual control panel — replicate the layout and labels", or "match the style of this reference design".
Publishing
Once your dashboard is ready:
- Save your draft
- Publish to make it live
- Share the URL or embed it anywhere
Published dashboards are accessible by their slug URL. You can have multiple versions and revert to any previous save.
Embedded Views
Embedded views let you build a page once and reuse it across multiple dashboards with different parameters.
- The source page stays editable on its own
- Each embedded instance can have unique parameters and bindings
- Parent dashboards pass tag data to embedded views automatically — no extra connections needed
- Embedded views are isolated so styles and behavior stay contained
This is useful for reusable components like pump status panels, zone overviews, or equipment detail views.
What Gets Published
When someone opens a published dashboard:
- The latest published version loads
- Layout features like docks, pipes, and embedded views are restored
- The live tag stream connects
- Bindings update block properties in real time
- Page scripts run and respond to tag changes
The result is a live, interactive dashboard that updates in real time as your data changes.
OpenBridge Component Library
Control Seat ships a curated palette of components from the OpenBridge design system as draggable blocks in the editor. OpenBridge components have their own visual language, theme system (day / dusk / night / bright), and interaction patterns designed for industrial control rooms. The library is now first-class alongside the built-in charts, split across dedicated Charts and Equipment tabs in the blocks popover — the previous Chart.js charts moved to a Legacy tab.
What's in the palette
Block categories, all bindable to Control Seat tags:
- Industrial Equipment — Analog Valve, Digital Valve, Pump, Motor, Fan, Damper, Filter, Tank, Value Readout. Scalar-bound: point at a tag path, the component reads it live. Optional alert/direction/setpoint tags drive state overlays (alert frames, motor direction, setpoint markers).
- Industrial Pipes — Horizontal, Vertical, Corner, Tee, Cross, Overlap, Flow Arrow, End Cap. Stretchable P&ID line segments for building process diagrams. Pipes now animate flow direction and pick their body color from
pipeMedium(normal / empty / water / air), and their endpoints stay attached to components across move and resize. - Industrial Gauges — Radial Gauge, Horizontal Gauge, Vertical Gauge, Instrument Field. Scalar tag drives the needle/bar animation.
- OpenBridge Charts — Line Graph, Power Graph, Area Graph, Bar Chart, Radar Chart (series); Pie Chart, Doughnut Chart, Polar Chart, Radial Bar Chart (snapshot). Series charts reuse the same Queries panel (SQL, Flux, PromQL, analytics) as the built-in Chart.js charts, and expose the same trait set (Chart Title, text/grid color, line width, point size, dash presets, fill under line, break-line gaps, Y-axis label, tooltip toggle, JSON markers/pen styles/Y-axes) so switching from a legacy Chart.js chart to an OpenBridge one is a one-click swap.
Binding an OpenBridge component
To bind:
- Drop the block onto the canvas from the block manager.
- Select it and open the Traits panel.
- Tag Path — pick a tag from the tree dropdown (same picker as built-in charts).
- Alert / Direction / Setpoint tags (equipment components) — optional secondary tag bindings for state overlays.
- Static appearance like color, size, ranges, and labels is edited in the same Traits panel.
Power Graph
The Power Graph is a rebuilt Power Chart using the OpenBridge line/area renderer as its base. It preserves all four legacy Power Chart toolbar modes:
- Pan/Zoom — click-drag pans, wheel zooms; zooming out re-fetches historian data at higher resolution.
- X-Trace — hover to place a vertical trace line; reads out exact values at that timestamp for every pen.
- Range Statistics — brush a time range; a floating stats card shows min/max/mean/median/count for each pen in the brushed region.
- Annotate — click on a point to attach a note; annotations persist to the historian backend and localStorage, and reappear on future loads.
Plus CSV export and reference lines. Users familiar with the existing Power Chart will find the same interactions; the difference is the OpenBridge visual language.
Theming
Set the OpenBridge theme to day, dusk, night, or bright and matching components update automatically. Non-OpenBridge components on the same page are unaffected.
Runtime cost
Pages that use OpenBridge components load extra assets for that library. Pages without OpenBridge components are unaffected.
Not yet supported
Some upstream OpenBridge components (compass, alarm list, and some marine-specific instruments) are intentionally not registered yet. Feedback on the currently available components is welcome.