Edge Console — User Guide
The Edge Console is your window onto a site. It watches every EdgeCommons component over the Unified Namespace, shows health, live data, events and configuration, and lets you send commands — all from one browser tab, with no per-component setup. This guide walks each screen, captured live from the Dallas bottling-plant test site (3 devices, 12 components).
Getting started & the app shell
Section titled “Getting started & the app shell”Opening the console. The console serves its own UI, so you just browse to its address — in the
Dallas test site that is http://127.0.0.1:8080. On a real edge it is the console component’s host
and port. There is nothing to install; it streams everything live over one WebSocket and reconnects
on its own if the link drops.
The frame. Every screen shares the same shell: the left rail is the primary navigation (the seven screens below). The top bar holds a global search (jump to any component, device, or signal), a theme toggle (light/dark), a notifications bell that shows the active-alarm count, and your account & role (here, operator). Your role decides which commands you may send — see Settings.
Overview — Edge health
Section titled “Overview — Edge health”The landing screen and your at-a-glance answer to “is the site healthy right now?” Four summary tiles over a fleet table grouped by device.
- Navigation rail — the seven screens; the current one is highlighted.
- Site summary + link state — device/component counts, plus WS Live and Bus connected confirming the stream.
- Site health — the ring shows healthy vs total; green means every component is reporting on time.
- Active alerts — count of open alarms (
0here). Click through to Events & Alarms. - Edge bus msgs/s — the console’s own live bus throughput with a sparkline.
- Console self — the console’s own CPU, memory and uptime (it is a component too).
- Fleet table — every component grouped by device/line, with health, heartbeat age, and live CPU + memory sparklines.
- Controls — per-component command menu (gated by your role).
Devices roll up: the DEVICE and LINE group headers carry a health chip and component count, so a red line stands out before you read a single row. The Heartbeat column is how long ago each component last proved it was alive — the console derives freshness from each component’s own configured cadence.
Components — inventory & drill-in
Section titled “Components — inventory & drill-in”The full site inventory as the Unified Namespace tree, with a drill-in table for whatever node you select.
- UNS tree —
enterprise ▸ site ▸ line ▸ device ▸ component, built from the identity each component stamps on the wire. Counts show components beneath each node. - Filter tree — type to narrow a large fleet to matching nodes.
- Inventory table — every component beneath the selected node, with health, device, and heartbeat age.
- Open — jump into that component’s detail view.
Use this screen when you know where in the plant you’re looking. Select a line to scope the table to it; select the site root to see everything.
Component detail
Section titled “Component detail”Everything one component is doing — its health, configuration, events, metrics, logs, and the commands you can send it — behind a row of tabs.
- Header — name, live health, its line/device/instance, keepalive cadence, and last-state age.
- Command bar — one-click verbs the component exposes (here Ping, Get config, Signals); what you may run depends on your role.
- Tabs — Health, Panel (descriptor-driven views), Instances, Configuration, Events, Metrics, Logs.
- Liveness & connection — is it reporting on time, and (for adapters) is the field link up.
- Process vitals — CPU and memory carry a Live chit and a sparkline while fresh; disk, threads/files/FDs and uptime alongside.
- Operational checks — heartbeat freshness, messaging readiness, connection state, read errors, and open alarms in one table.
Instances
Section titled “Instances”The Instances tab lists every connection the component is configured with — one OPC UA server, one Modbus slave, one replication source directory each — with its current state: online, connecting, backoff (down, retrying), or paused. A paused instance is marked expected quiet: an operator stopped it on purpose, so its silence is not a fault and it is left out of the Health tab’s connected-instance count. A component that reports no state per instance shows connected / disconnected instead.
The Panel tab renders the views the component itself advertises. Where those views act on one connection, an Instance selector sits above them and every command you run there targets the instance you picked. Views whose commands act on the whole component show no selector, and a view whose commands accept either addressing adds a Whole component choice to the selector.
Signals — the live data plane
Section titled “Signals — the live data plane”Every telemetry and business signal flowing on the site bus, live. This is where you watch actual process values — tank levels, temperatures, counts — as they change.
At fleet scale a site can carry hundreds or thousands of signals, so the screen opens as a grouped index: signals fold by their path, each group header showing a count, quality rollups, and a live msg/s rate. The quality triage strip across the top counts Good / Uncertain / Bad / No-quality and doubles as a one-click filter.
- Quality triage strip — live counts per bucket; click a bucket to filter to just those signals.
- Group-by & scope — group by signal path, component, source, or none; narrow by device then component (the lists cascade).
- Group rollups — per-group signal count, bad/uncertain pills, live msg/s, and freshest update.
- Collapse all — toggle the whole index open or shut.
Expand a group and each signal becomes a rich row — and here is where the console earns its keep:
- Name-led rows — the signal’s friendly name, with its canonical id, channel, and owning device / adapter / instance beneath.
- Latest value — the current reading (numbers, booleans, strings — the class is open).
- Quality — GOOD / UNCERTAIN / BAD; hover for the protocol-native status code.
- Trend — a live sparkline from the retained recent window (Sine1’s wave, LiveRandom’s noise); non-numeric signals show a dash.
- Updated + lag — receipt freshness plus lag = time from the field measurement to publish. A large lag means the source is stale even while messages still flow.
Site topology
Section titled “Site topology”A live connectivity graph — every component and the external field and cloud systems it talks to, with the link state on every edge.
- Filters — show/hide Southbound, Northbound, Bus edges, or focus on alarms only.
- Site observer — the console itself and its site config component.
- Site bus — the shared UNS broker every component publishes to.
- Components by line — grouped by device; hover a node for detail, click to open it.
- Field endpoints — the southbound systems (Modbus units, OPC UA servers) each adapter connects to; edge color = link state.
Structure comes from component identity; the endpoint arrows come from each component’s config. Green edges are connected, amber degraded, red disconnected — so a broken field link is visible without opening anything. Scroll to zoom, drag to pan, Fit to reset.
Events & alarms
Section titled “Events & alarms”The rolling event feed and the active-alarm surface — what happened, and what still needs attention. Reach it from the nav, or from the notifications bell in the top bar, which always shows the current active-alarm count from any screen. The screen has two halves.
The event feed is a live, newest-first log of component events, split by severity, with component and severity filters and a per-row expander for the full detail (channel, publisher timestamp, tags, and the pretty-printed body). It streams as events arrive.
Alarms are a first-class, derived surface. The console raises an alarm from the evt severity
stream, re-raises bump its count, and a matching lower-severity event clears it into history. You can
acknowledge an active alarm (console-side state), and when a whole device goes unreachable its
component alarms are contained — held but taken out of the active counts, so “the road is down”
doesn’t drown out “the houses.”
Settings
Section titled “Settings”The console’s own effective policy and configuration — read-only, so you can confirm exactly how it is running and what your role may do.
- Access policy (RBAC) — which command verbs each role may run; deny wins,
*is all-verbs. Gates the command write-path. - Your role — the role this connection resolved to (here operator, full control).
- Connection — the console’s node, deployment platform, site-bus transport & broker, its WS gateway address, heartbeat cadence, and whether it serves the UI.
- Miss-detection thresholds — the staleness ladder (warn 2× / stale 2.5× / offline 5×), the default keepalive interval, and the sweep period.
Common tasks
Section titled “Common tasks”| I want to… | Go to | How |
|---|---|---|
| See if the site is healthy | Overview | Read the Site-health ring and the fleet table; red group headers surface trouble first. |
| Find one component fast | Top-bar search | Type a component, device, or signal name and jump straight to it. |
| Inspect a component in depth | Components → Open | Drill into Health, Configuration, Events, Metrics, and Logs tabs. |
| Watch a live process value | Signals | Expand its group; read Latest, Quality, Trend, and lag. Filter by quality to isolate problems. |
| Confirm what a component is running | Detail → Configuration | The effective, redacted config exactly as announced — no SSH needed. |
| Check a field link is up | Site Topology | Edge color shows connected / degraded / disconnected to each Modbus / OPC UA endpoint. |
| See what needs attention | Events & Alarms | The bell badge shows the count from anywhere; acknowledge active alarms here. |
| Send a command | Detail → command bar | Click a verb (e.g. Ping, Get config). Availability follows your role — check Settings. |