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¶
- Overrides automation when Class B (sensor lying) or welfare doubt—
Automation degraded modes SOP.
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.