Industrial IoT

Remote Equipment Monitor

Ingest unreliable telemetry from a zoo of industrial equipment, establish honest baselines, and page a human only when it genuinely matters.

Scale
Medium
Platforms
Web · Mobile companion
Capabilities
SaaS · Automation · B2B

The exploration

Mixed fleets of industrial equipment — pumps, compressors, chillers, generators — emit telemetry through whatever their vendors shipped a decade ago. The question this exploration asks: how much monitoring value can disciplined ingestion and honest statistical baselines deliver before any machine learning enters the picture? The hypothesis is: most of it.

The protocol zoo

There is no clean integration story. Modbus registers with vendor-specific meanings, OPC UA servers behind plant firewalls, MQTT brokers with ad-hoc topic schemes, SNMP traps, and — genuinely common — CSV files dropped on an FTP server every fifteen minutes. The design answer is a thin adapter per source that normalizes everything into one signal envelope: source, signal, unit, event time, ingestion time, quality flag. Every adapter’s quirks live in code and tests, not in tribal memory.

Time is the hard part

Field devices drift, batch uploads arrive hours late, and two timestamps that look comparable rarely are. The envelope therefore carries event time and ingestion time separately, and every downstream computation declares which one it uses. Gaps are treated as data: “no reading for 40 minutes” is a distinct, queryable fact — never silently interpolated, never confused with a reading of zero. Replays are idempotent, so a late-arriving batch corrects history instead of corrupting it.

Telemetry lanes showing honest gaps and late arrivals rather than smoothed data.

Alerts that respect sleep

An alerting system is a promise about when it is acceptable to wake someone. The design treats paging discipline as a product feature: every alert must name a human action; severity tiers separate “page now” from “morning review”; hysteresis and flap suppression keep oscillating signals from machine-gunning a phone at 3 a.m. Night pages carry an explicit budget — a design target, reviewed like an error budget — and every page is followed by a one-tap “was this worth waking for?” answer that feeds the tuning loop. The mobile companion exists for exactly two verbs: acknowledge and escalate.

No ML until baselines exist

Anomaly detection over raw, heterogeneous, gap-riddled telemetry produces confident noise. The exploration’s stance is sequencing, not skepticism: first, per-signal statistical baselines that account for shift patterns and seasonality; then a measured false-positive rate on rule-based alerts; only then does a model get to argue it can beat the baseline. A model that cannot outperform a well-tuned threshold has no business paging anyone.

Shape of the build

  • Adapters for three or four protocol families, each with a conformance test suite
  • Time-series store keyed on the dual-timestamp envelope
  • Rules engine with severity tiers, hysteresis, and per-rule paging budgets
  • Web console for fleet overview and gap forensics; mobile companion for on-call

Evaluation

  • Alert precision on a replayed corpus of real-style telemetry with injected faults
  • Gap-detection correctness: every synthetic outage surfaced, none invented
  • Paging budget adherence across a simulated month of on-call rotation
  • Adapter cost: hypothesis that a new device family lands in under a week of work

Facing a similar problem for real?

This study's reasoning — discovery, architecture, evaluation — is exactly what a HummingByte engagement looks like. Bring us the real version.