OEE, end to end

The use case

Track OEE across three production lines. OEE (Overall Equipment Effectiveness) tells you how much good product a line makes versus its full potential — one live number per line, plus history for trends.

What "good" looks like — every line shows a live OEE figure the team trusts, and any line's OEE can be charted back over weeks to spot drift.

It's not one app. OEE takes two apps — one at the edge, one in the cloud — joined by two shared services (a broker and a history store).

The apps

1 · OEE - Edge Aggregator

What it does — Reads the machine signals on a line and publishes the line's state.

  • Delivery methodwhole app: promoted as a snapshot through a pipeline to a Remote Instance on every line.
  • App patternhardware app · Configurable App: the same build everywhere, with each line's PLC tag names loaded as per-site config.
  • Runs on — a Remote Instance, one per line.
  • Why this shape — the same flows run on every line, right next to the equipment, and keep working if the link drops — but each line's PLC tags differ, so the values are configured per install. Build it once; roll the same version to the whole fleet and point each at its own tags.
  • See the flowhow OEE - Edge Aggregator is built in Node-RED →

2 · OEE - Central Dashboard

What it does — Subscribes to the line states, computes availability, performance and quality, and presents the live OEE dashboard.

Shared services

  • Team Broker (MQTT · UNS) — carries line state from edge to cloud. The edge publishes to a topic; the dashboard subscribes. Neither references the other.
  • External time-series DB (Timescale / QuestDB) — FlowFuse has no built-in time-series store, so history goes to an external DB over the Postgres wire protocol — a second egress, because the data is a timestamped stream.

The full architecture

Cloud · platform — the app + historyOT · edge — one Remote Instance per line, all the same Edge Aggregatorpublish statesubscribewrites history · Postgres wireHosted InstanceOEE · Central DashboardTime-series DBexternal · historyTeam BrokerMQTT · UNSRemote InstanceLine A · Edge AggregatorRemote InstanceLine B · Edge AggregatorRemote InstanceLine C · Edge AggregatorOT edgeCloudMQTT / UNSPostgres wire
The architecture, in one sentence — OEE is the Edge Aggregator (a hardware Configurable App, on a Remote Instance per line) publishing machine state over the Team Broker to the Central Dashboard (a software Data-Driven App, on a Hosted Instance), which computes and displays OEE and writes history to an external time-series DB.