WebSocket Protocol Reference

NORTHSTARSHOW SYSTEMS

WebSocket Protocol Reference

Real-time messaging between HelmOS and clients

Document NumberRevisionDatePlatform Version
NSSS-DOC-0092A2026-05-201.0

Endpoint

ws://<helm>:3000/ws — same TCP port as HTTP. No subprotocol negotiation; JSON-only messages.

Hello Snapshot

On connect, HelmOS immediately sends one snapshot message:

{
  "t": "hello",
  "state": {
    "project": { /* full ComposeProject or null */ },
    "nodes": [ /* RegisteredNode[] */ ],
    "activity": [ /* last 50 ActivityEntry[] */ ],
    "activeRuns": [ /* current cue runs */ ],
    "maintenance": false,
    "firmwareJobs": [ /* active OTA jobs */ ],
    "licensed": true
  }
}

Server → Client Messages

tPayloadMeaning
hellostate snapshotOnce per connection on open
project{ project }A new .nsss.compose was deployed
node-registered{ node }A Polaris node joined for the first time
node-updated{ node }Existing node state changed (heartbeat, fw_version)
cue-started{ run }A cue script began executing
cue-finished{ run, ok }A cue script ended
channel{ nodeId, channelId, value }A specific channel state changed
activity{ entry }New activity log entry
maintenance{ active }Maintenance toggled
firmware-job{ job }OTA progress event
license{ activated, customer, expires }License status changed
cuemaster-out{ outputKey, payload, nodeId }Cuemaster output event

Client → Server Messages

tPayloadEffect
fire-cue{ cueId, by? }Manually fire a cue (gates apply)
cuemaster-event{ nodeId, eventKey }Fire event-cuemaster hats
stop-all{ }Abort everything + broadcast STOP
enter-maint{ }Force maintenance on (admin)
exit-maint{ }Force maintenance off

Reconnection

Cuemaster maintains its WebSocket connection indefinitely. On close it retries with a 1.5-second back-off. The first message after each successful reconnect is a fresh hello with a complete state snapshot.

  • NSSS-DOC-0091HelmOS HTTP API Reference

Revision History

RevisionDateDescription
A2026-05-20Initial publication