🔍 Inbound charger-side probe
PROBE MODE
Passive WebSocket listener at /<deviceId>. Used to reverse-engineer the wire
protocol when a real Tellus charger's SERVERURL2 is pointed at this BFF. Logs the
upgrade handshake and every inbound frame to an in-memory ring buffer (last 100 events).
No replies. No auth gate.
Endpoint
wss://tellusbff.worlds.skyprospector.com/<deviceId>
Durable frame log · world "real"
Every real-world frame (both directions) is appended to
an NDJSON file on the volume — survives restarts, unlike the 100-event
live tail. Capped at 50 MB (rotates once to .1).
Live tail · last 100 events
| Time | Device | World | Kind | Classification | Summary | |
|---|---|---|---|---|---|---|
| (no inbound events for world "real" yet — connect a WS client to wss://tellusbff.worlds.skyprospector.com/<deviceId> to capture; frames appear here within 2s) | ||||||
📡 Outbound operator telemetry stream
Real-time telemetry from simulated chargers. Operator-facing read-only WebSocket; consumed by the management UI and the smoke harness.
Endpoint
wss://tellusbff.worlds.skyprospector.com/stream
↗ spec
What it streams
TelemetryFramemessages — one per connector, every ~5s during an active session.- Fields:
device_id,timestamp,connectors[]withstate,power,energy_delivered,soc. - Filter by passing
?devices=<id1>,<id2>,...to subscribe to specific chargers; omit to subscribe to all.
Probe one-liner
wscat -c "wss://tellusbff.worlds.skyprospector.com/stream?devices=dvc_abc123"
Omit ?devices= entirely to receive every charger's telemetry — useful for confirming the upgrade succeeds and frames arrive at all.
Status
Upgrade in 91ms; 15 TelemetryFrame messages received in 15s with no devices filter against preview.
Known limitations
The global /stream endpoint serves telemetry for every world. Per-world streaming
(e.g. wss://tellusbff.worlds.skyprospector.com/worlds/<name>/stream) is
world filter pending
— file as a future gate when a Console actually subscribes from a non-default world. The Tellus
dev-docs ↗ spec
uses wss://<base>/v1/operator/stream as the canonical path;
our BFF currently serves at wss://<base>/stream — path
alignment also filed as a future gate.