Data sources and protocols¶
mag-dash supports several ways to ingest data. This page explains each option
and documents browser/security constraints.
Local file (JSON Lines)¶
Choose a file via the browser file picker.
Format: one JSON object per line, e.g.
{ "ts": "26 Oct 2025 14:20:00", "x": 123.456, "y": -78.9, "z": 5.0 }
Header lines can be skipped via the UI.
Works fully offline.
WebSocket (JSON Lines over text frames)¶
Enter a
ws://orwss://URL.The server should send one JSON object per line in text frames.
Cross‑origin WebSockets are usually allowed by browsers, but your server may restrict the
Originheader. Configure an allowlist as needed.Mixed content rules apply: when the dashboard is served over
https://, the browser blocksws://(insecure). Usewss://.
MQTT over WebSocket¶
Enter a broker WebSocket URL (e.g.,
ws://localhost:9001orwss://mqtt.example.com:443/mqtt).You can specify username/password when required by the broker.
The UI uses a vendored ESM bundle that provides
mqtt.connect(...).Broker requirements:
WebSocket (ws or wss) must be enabled on the broker.
When internet‑facing, configure allowed
Origins.On
https://pages, usewss://to avoid mixed content.
Topics¶
Provide a topic filter (e.g.,
sensors/mag/#).Messages should be text payloads containing a single JSON object per message (same schema as above).
Schema¶
Expected keys:
ts(UTC timestamp string),x,y,z(numbers in nT).Values are displayed with three decimals; additional properties are preserved in the history table but not charted.