← Back to Updates
June 6th 2026Release

Control Seat V0.1.5 — Trends Workbench, OPC UA per-tag binding, AVEVA PI, and the Ignition module

V0.1.5 is the broadest release we've shipped. The biggest thing is the Trends Workbench — a Seeq-style investigation page with 21 analysis tools, capsules, formulas, AI summaries, and forecasting — but most of the energy in this release went into giving the data layer real industrial reach: per-tag OPC UA, an AVEVA PI connector, and a first-class Ignition integration via a signed Ignition module + cloud-side connector. The tag browser was rewritten to handle bulk imports of 100k+ tags from any source. And the Windows installer got a deep set of fixes after we found and patched several Windows-specific bugs in the embedded Postgres lifecycle.

What's in V0.1.5

Trends Workbench

A new top-level investigation page lives at Gateway → Trends. It's our answer to "I have a question about what happened" — the same shape as Seeq, with all the analysis power tied directly to your Control Seat tags. No exporting CSVs. No separate licensing.

  • Synced multi-trend chart with zoom + pan. Drop any number of tags onto the canvas, scroll to zoom, drag to pan, and every trend stays in sync.
  • Capsules — time windows that mean something. Define a predicate ("temperature > 80 AND flow < 5") and Control Seat slices history into capsules where the predicate was true. Capsules render as ribbons under the chart and can be exported, counted, or used as inputs to other analyses.
  • Formulas. Build derived signals from existing tags with a small expression language (avg([Tank/Level], 5m), (A - B) / B * 100, etc.). Formulas are first-class signals — backfilled across history, evaluated live, and chartable.
  • Per-user worksheets. Every investigation persists per-user in Postgres. Open a worksheet to pick up exactly where you left off — tags loaded, time range set, capsules and formulas in place.
  • AI summary popover. Hover a region of the chart, ask "what's going on here?" — the AI sees your tag context, the visible time range, the capsules in view, and writes a short investigation note.

21 analysis tools, one panel

The Trends Workbench Tools panel groups every analysis into seven categories — Identify, Quantify, Predict, Cleanse, Compare, Visualize, Build. Highlights:

  • Identify: outlier detection, change-point detection, operating-mode discovery, correlated-tag finder. Point at a signal and the gateway tells you when it changed regime.
  • Quantify: stats over capsules (count, duration, mean, p95, etc.), summary tables, custom KPIs.
  • Predict: AutoARIMA forecast with a parallel grid search and holdout-MAE selection. The chart shows the forecast envelope alongside live data.
  • Cleanse: outlier removal, downsampling, gap filling, smoothing. Cleansed signals are derived tags you can use anywhere else in the app.
  • Compare: A/B chart, batch overlay (align by event start), cycle-time comparison.
  • Visualize: scatter, histogram, FFT, scorecards.
  • Build: turn an investigation into a published page in one click — chart, capsules, and KPIs land on a new dashboard ready for production.

OPC UA — now wired per tag

V0.1.4 shipped the OPC UA server configuration UI; V0.1.5 ships per-tag binding. From any tag form, pick an OPC UA server you've configured, browse its node tree, and subscribe a tag to a specific node — values stream into Control Seat the moment the server publishes them. Auto-type conversion handles Int16 / Float / Boolean / String / DateTime and the OPC UA quality status (good / uncertain / bad) is preserved end-to-end so charts and bindings can react to bad quality the same way they react to value changes.

A new watchdog monitors every OPC UA connection — if a server stops sending updates inside its configured publishing interval, every tag bound to it is marked bad quality with a "no recent publish" reason and the gateway tries a fresh connect. No more silent stale values when a server quietly stops responding.

AVEVA PI connector

A new AVEVA PI connector talks to PI Web API. Configure a server (endpoint, auth, optional Kerberos), point a tag at a PI point, and live values flow into Control Seat at whatever interval you set. Historical reads are federated — Control Seat doesn't copy your PI history into its own historian, it pulls windows of recorded values on demand at chart time. Your PI install stays the source of truth; Control Seat is the lens.

Ignition Connector + Module

Two halves of one integration:

  • Ignition Module (ControlSeat-Connector.modl) — a signed .modl you drop onto an Ignition gateway. It dials Control Seat, authenticates with an API key, and streams tag values + history over a persistent WebSocket. The module also exposes a Control Seat "scope" so only the tags you actually imported are streamed — no full-tree announce.
  • Cloud / on-prem connector — Control Seat shows up as an Ignition gateway in the connector list. Pick the gateways you want, bulk-import their tag tree (or a subtree), and every imported tag binds to its Ignition source. History for those tags reads federated from Ignition the same way PI does.

The module is on the download page next to the platform installers. SIGNING.md in the repo covers building your own .modl if you need to.

Tag browser + bulk import for 100k+ tags

The tag table got a ground-up rewrite focused on the customers who told us "we have 80,000 tags and your table can't open." It now:

  • Lazy-loads folders instead of fetching everything up-front — a 100k-tag system opens in under a second.
  • Streams import progress for OPC UA, PI, and Ignition browses. You see tags appear as they're discovered instead of waiting for a single big POST.
  • Background bulk import. Kick off an import of 50,000 tags, navigate away, come back — the import keeps running, with progress visible in the topbar.
  • Long-string-friendly UI. Tag names and paths used to overflow on deep hierarchies; the new UI truncates with a hover-to-expand pattern that works in every column.

P&ID images → editable SVG

Paste or upload a P&ID screenshot in the page editor; the AI converts it to an editable SVG with components named the way they appear in the drawing. Each piece becomes a Control Seat component you can bind to tags — labels for sensor readings, fills tied to alarm state, the works. Works on photos of physical panels too, not just clean engineering drawings.

Webhook + cron triggers for flows

Two new ways to start a flow alongside the existing tag-change trigger:

  • trigger.webhook — an HTTPS endpoint per flow that runs the flow when posted to. Bring your own auth (a header secret) or expose it as public.
  • trigger.schedule — a cron-style schedule. "Every hour at minute 5", "weekdays at 6am", or full cron syntax.

Combined with the existing nodes, you can now wire up email digests on a schedule, webhook integrations with your existing tools, and cron-driven cleanups against your operational data — all from the flow canvas.

Predictive maintenance scaffolding

The Predict category in Trends Workbench is the start of a real predictive-maintenance feature surface. AutoARIMA forecasts ship in V0.1.5; capsule-based failure-mode signatures and condition-monitoring scorecards are the next steps and land incrementally.

Windows installer — hard fix

V0.1.4's Windows MSI installed cleanly but the service then failed to start on Windows Server 2022 and some Windows 10 / 11 boxes (Windows error 1067). V0.1.5 ships a fully rebuilt installer with several Windows-specific fixes:

  • Windows Service Control Manager handler — driverhost now speaks the SCM protocol (StartServiceCtrlDispatcher, START_PENDING / RUNNING / STOPPED transitions). Earlier builds were exiting at SCM's default 30-second timeout regardless of progress.
  • Embedded-Postgres healthcheck patch — V0.1.4 hit a Windows-specific lib/pq tight-loop bug that exhausted ephemeral TCP ports during bootstrap and timed out. V0.1.5 ships a patched fork of the embedded-Postgres library with a properly-paced healthcheck (200ms backoff between attempts) and an idempotent createDatabase that self-heals partially-initialized data directories from a failed earlier install.
  • Service env via registry — env vars are now persisted under HKLM\SYSTEM\CurrentControlSet\Services\ControlSeat\Environment instead of MSI environment rows, so the first service start sees the right values without a registry refresh.
  • Graceful crash recovery — startup errors after Postgres is up now stop Postgres cleanly before exiting, instead of orphaning postgres.exe and corrupting the next attempt.
  • SCM checkpoints — driverhost now advances the SCM checkpoint counter on every pending-state heartbeat, so services.msc and Windows Server Manager show real "still starting" progress instead of treating a long bootstrap as a hang.

If you're already on a working V0.1.4 install, V0.1.5 is still recommended for the Trends Workbench, OPC UA, PI, and Ignition features. If you previously hit the 1067 error, V0.1.5 fixes the install path end-to-end — re-download from controlseat.com/download and the gateway opens to http://localhost:8090 after the usual 30-second first boot.

Smaller things worth knowing

  • Federated history layer is now its own thing. History reads for OPC UA-bound, PI-bound, and Ignition-bound tags don't touch ClickHouse — they hit the source's recorded-values endpoint live. Local-source tags continue to read from ClickHouse. The split was a refactor inside the historian server; everything you wired up in V0.1.4 keeps working.
  • AI security fix. A small fix to the Ignition connector module — API keys are no longer stored in plain text on the Ignition side.
  • Refactor: HTTP endpoints in api.go. Every core/*server/ package now keeps RegisterRoutes in a dedicated api.go file. Doesn't change behavior, but lets you grep RegisterRoutes core/*server/api.go to scan every route the gateway exposes.
  • Browser scalability. A pile of work on tag browser performance under load — virtualized rows, deferred metadata fetch, batched tree expansion. The old UI hit pathological behavior past about 5,000 tags; the new one stays responsive into the six figures.
  • Tag import everywhere. Bulk-import patterns from OPC UA carried over to PI and Ignition — same UX, same progress streaming, same long-name handling. Imports survive a page reload mid-run.
  • Connector backend scaffolding. Connector implementations for Snowflake, ClickHouse, Elasticsearch/OpenSearch, and MongoDB are wired up but not yet exposed in the UI. They light up incrementally over the next few releases.

Self-hosted? Re-download from controlseat.com/download — installers update in place and your data carries over. New to on-prem? The on-prem deployment guide walks through it. Already on cloud? You've been auto-updated. Want help wiring up an Ignition or PI install against Control Seat? Get in touch.