Web Sockets v0.47.0

Inbound charger probe (passive capture) and outbound operator telemetry stream

🔍 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).

Lines88428 Size45523 KB Oldest2026-06-18T15:00:07.763Z Newest2026-07-14T12:34:48.763Z Rotatedno

↓ Download real-ws-frames.ndjson

Live tail · last 100 events

Connections seen: Last frame:no frames yet
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

  • TelemetryFrame messages — one per connector, every ~5s during an active session.
  • Fields: device_id, timestamp, connectors[] with state, 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

verified working last probed: 2026-05-13

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.