Stream
Stream messages publish lifecycle/state information for configured streams. They do not carry status data values.
<node>/stream/<code>/<stream>
Examples:
45fe/stream/tlc.groups/live # state for live stream of signal groups
45fe/stream/tlc.groups/hourly # state for hourly stream of signal groups
Payload (CBOR encoded JSON) is explicitly defined as:
{"state": "running" | "stopped"}
Rules:
- The payload MUST include exactly one key:
state. stateMUST be one of:running,stopped.- No additional payload keys are currently defined for this topic.
MQTT Behavior
- QoS:
1 - Retain:
true
Each stream topic keeps the latest known state as a retained message, so supervisors can recover stream state immediately after subscribing.
Runtime control is performed via Throttle messages.
When to Publish
A node publishes stream state:
- when a stream starts
- when a stream stops
- when stream configuration changes affect effective runtime state
- when the node connects (republish current state for all streams)