Southbound · MQTT
A topic namespace you can read out loud.
Three levels: the station, the line, and the plant. Payloads are JSON, published on QoS 0 with no retain —
the historian is the memory, not the broker.
| Topic | When | Carries |
| {line}/{station}/status | on state change | state, cycle time, parts produced, fault code |
| {line}/{station}/measurements | per part | one value per characteristic, with nominal and limits |
| {line}/{station}/transaction | per event | operationStart / operationComplete / scrap / rework, with the serial |
| {line}/line/buffer | on change | marriage-buffer level, min, max, status |
| {line}/line/summary | every 5 s | output, OEE, FPY, bottleneck |
| mes/{line}/state | every 5 s | line running or stopped, per-station snapshot |
| mes/alerts | on event | breakdown, faultCleared, quality, maintenance, starving, blocked |
| mes/wip | every 5 s | work in progress per station: on board, in queue, queue capacity |
| mes/materials/status | every 5 s | warehouse racks, line stores, AGV missions, shipping |
| mes/operators/state | every 5 s | crews, shift, breaks, per-operator role and state |
State changes, measurements, transactions and alerts are published the moment they happen — nothing
is sampled. On top of that a summary tick runs every PUBLISH_INTERVAL_MS (5 s by default) so a consumer
that connects late gets a complete picture without asking. The client reconnects on its own every 5 s if the broker
disappears.