Skip to content

Latest commit

 

History

History
61 lines (49 loc) · 1.58 KB

File metadata and controls

61 lines (49 loc) · 1.58 KB

Telemetry Model

Telemetry is the device's public record of what it measured, how confident it is, and what state it was in when the reading was taken.

The model is versioned so firmware and cloud code can evolve independently.

Envelope

{
  "schema_version": "1.0.0",
  "device_id": "demo-device-001",
  "firmware_version": "0.1.0-reference",
  "recorded_at": "2026-04-24T07:30:00Z",
  "sequence": 42,
  "readings": [],
  "device_status": {
    "battery_percent": 82,
    "network_rssi_dbm": -58,
    "uptime_seconds": 3600
  }
}

Reading Shape

Each reading carries raw and normalized values where applicable:

{
  "kind": "soil_moisture",
  "unit": "percent",
  "value": 41.7,
  "raw": {
    "kind": "adc",
    "value": 1870
  },
  "quality": "ok",
  "calibration_id": "soil-profile-v1"
}

Quality Flags

Flag Meaning
ok Reading is within expected range.
estimated Value was inferred or smoothed.
uncalibrated Raw value exists, but calibrated interpretation is incomplete.
out_of_range Physical reading is outside expected operating bounds.
sensor_fault Sensor did not respond or returned invalid data.

Modeling Guidelines

  • Include timestamps from the device when possible.
  • Use cloud receive time as a separate ingestion attribute, not a replacement.
  • Keep raw values for diagnostics.
  • Keep normalized values for product behavior.
  • Avoid embedding user identity, location, Wi-Fi details, or private account metadata.

See telemetry.schema.json for the public schema.