The console, before the login wall.
Most industrial dashboards show you a number and hope you don't ask how old it is. Nexus shows the reading, its age, and how much of the period was actually observed — on every tile. Here are the real surfaces, running on a demo tenant.
Demo Plant — site overview
The first screen after sign-in: what the site is doing right now, and how much of it we can actually vouch for.
| Device | Last arrival | Expected every | State |
|---|---|---|---|
| demo_solar_inverter_a | 14:19 SAST | 60 s | Reporting |
| demo_solar_inverter_b | 14:19 SAST | 60 s | Reporting |
| demo_meter_main_incomer | 14:18 SAST | 60 s | Reporting |
| demo_genset_1 | 09:02 SAST | 300 s | Declared pause · maintenance |
| demo_weather_poller | 14:00 SAST | 1 h | Reporting |
| demo_borehole_pump | 13:41 SAST | 300 s | Late · 39 min |
Three devices are silent because a human declared a pause with a reopen date. The portal shows the declaration instead of inventing an alarm.
One console, granted module by module.
Each client tenant is granted only the modules it needs. Nothing is bundled to inflate a licence, and nothing appears in the sidebar that the tenant cannot use.
Tags from PLC, SCADA, MQTT or HTTP land in one historian with per-metric expected intervals — so silence is measured, not assumed.
Generation, load, PV self-consumption and performance ratio, with energy flow decided by measured power sign rather than guesswork.
Eskom Megaflex and Ruraflex 2026/27 line items, time-of-use, utilised capacity and diesel spend priced at the time it burned.
Hysteresis, occurrence trails, dispositions and escalation. Email and WhatsApp, opt-in by default, rendered in SAST.
Ingest gaps, rollup coverage, cron outcomes and sentinel exclusion — the screen that tells you when not to trust a number.
Drawings, certificates, COCs, calibration records and audit trails, held against the asset they belong to.
From the plant floor to the tile, in four hops.
No black box. This is the whole route a reading takes, and what happens to it at each step.
PLC, inverter, meter or gateway. Existing hardware wherever possible — we read what is already there before proposing anything new.
MQTT over TLS from a site bridge, or a universal HTTP fetch integration you configure yourself for any JSON API.
Deduplicated on message id, stamped with a reading time, auto-registered into the metric catalogue with an expected interval.
Row-level tenant isolation, second-factor sign-in for privileged accounts, and every figure carrying its own coverage grade.
No number without its reading time.
It sounds small. It is the difference between a dashboard you glance at and a record you can put in front of an auditor, a financier or an insurer. Every widget in Nexus carries the instant it was read, how old that is, and how much of the period was observed well enough to integrate. A period we could not observe stores no value at all — and says why.
How we secure it- Reading time and age on every tile, chart and export.
- Coverage grade — full, partial, below floor, or 'not gradeable'.
- Declared pauses instead of invented alarms when a feed is deliberately off.
- Withheld figures where the period was not observed enough to integrate.
- Reports and notifications rendered in SAST; storage stays UTC.
The four questions everyone asks.
Yes — a scoping call, then a pilot on one site. We connect a single gateway or API and you look at your own readings inside a week, before anything is signed for the full estate.
The tile stops claiming a number. Silence is either a declared pause with a reopen date, or a finding with an owner. It is never a stale figure presented as current.
No. Nexus sits alongside it and reads from it. Where a migration is genuinely warranted, that is an engineering project we scope separately — not a licence upsell.
Encrypted at rest and in transit, tenant-isolated at the database row level, with audited sub-processors. The full posture is on the Security page.
Put one of your own sites on the screen.
Tell us what you have on site and what you need to prove. We come back with the tag list we would read first and what it would take to get it live.
