Skip to content

Telemetry system of record — boundaries and authority

Purpose

Define who is authoritative for what across records systems, telemetry pipelines, dashboards, alerts, and manual verification—so the 5 ac hub does not confuse convenience with truth. Supports the Reference architecture — 5 ac + 120 ac and the business plan smart-tech narrative.

Non-goals: Picking a single vendor; claiming one database solves everything.


Systems in play (generic labels)

System class Examples (illustrative) Typical failure mode
A — Farm records / ERP farmOS, ledgers, inventory Stale if humans don’t update after field work
B — Telemetry transport MQTT broker Ephemeral; last message ≠ ground truth
C — Durable telemetry store TSDB, PostgreSQL time series Correct for what was ingested—not if sensors drift
D — Dashboard / automation hub Home Assistant, Grafana Aggregates; can cache wrong state
E — Alert channel Push, SMS, email Delivery ≠ accuracy
F — Manual verification Stick, dip, eyes, head count Slow, authoritative for welfare decisions when sensors disagree

Authority matrix (fill; no default “HA is truth”)

Question Authoritative source Second opinion Never trust alone
Did we move animals from paddock X? A (log in records) + manual confirmation Camera (if policy allows) MQTT “gate” topic
What did we spend on feed last quarter? Books / A Broker
Tank level right now for automation Calibrated sensor → C if deduped Manual stick D widget if broker stale
Historical soil moisture trend C (if ingested) Export + stats D graph without raw series
Is the pump actually running? Physical (sound, pressure), then current/VFD if instrumented C if edge timestamps reliable Alert text

Boundaries

Records (financial / certification / inventory)

  • Authoritative for money, inventory, organic records, movement logs when the law or buyer cares: designated records system + human attestation.
  • Telemetry may inform records but does not replace signed or entered events unless policy says so.

Telemetry (measurements)

  • Authoritative for “what the instrument reported at time T” once stored in C with provenance (device id, firmware, calibration date).
  • Not authoritative for animal count, profit, or “all clear” without cross-check.

Dashboards

  • Convenience; assume stale after T_STALE minutes if not designed otherwise. Placeholders: T_STALE_HOME_ASSISTANT = ___, T_STALE_GRAFANA = ___.

Alerts

  • Routing of attention—not a database. Alert storms are operational failures: tune dedupe, escalation, mute rules per Sensor triage runbook.

Manual verification


Write paths (avoid duplicate “truth”)

Anti-pattern Fix
HA and TSDB both “the database” One writer to C; others read or subscribe
farmOS and spreadsheet both asset list MAP_AUTHORITY_LABEL + one export path—Asset registry
Retained MQTT as “state” Treat as hint; persist deduped events to C if you need audit

Split-site note

When SITE_FARM_120AC uplink is down, authority for remote operators shifts to unknown—dashboards at SITE_HOME_5AC may show last value. Label UI: “stale since …” or assume worst for water—see Manual fallback.