Subscription Topic Filters

Subscribers use MQTT topic filters to receive messages. SmarterLink uses the standard MQTT wildcard characters:

  • +: matches exactly one topic level
  • #: matches the remainder of the topic from that level onward (must be the last character)

The full topic structure is described in mqtt-topic-format.md.

Job Events

Job events are scoped to a station, not to a specific participant. Both the role and participant-id levels are _.

Intent Filter
Specific event at a station smarter-link/<site>/<area>/<sub-area>/<station>/_/_/<event-name>
All job events at a station smarter-link/<site>/<area>/<sub-area>/<station>/_/_/+

Data Producer Events

Intent Filter
Specific event from a specific producer smarter-link/<site>/<area>/<sub-area>/<station>/producers/<participant-id>/<event-name>
Specific event from any producer smarter-link/<site>/<area>/<sub-area>/<station>/producers/+/<event-name>
All events from a specific producer smarter-link/<site>/<area>/<sub-area>/<station>/producers/<participant-id>/+
All events from all producers smarter-link/<site>/<area>/<sub-area>/<station>/producers/#

Data Processor Events

Intent Filter
Specific event from a specific processor smarter-link/<site>/<area>/<sub-area>/<station>/processors/<participant-id>/<event-name>
Specific event from any processor smarter-link/<site>/<area>/<sub-area>/<station>/processors/+/<event-name>
All events from a specific processor smarter-link/<site>/<area>/<sub-area>/<station>/processors/<participant-id>/+
All events from all processors smarter-link/<site>/<area>/<sub-area>/<station>/processors/#

Broader Filters

Intent Filter
All SmarterLink events at a station smarter-link/<site>/<area>/<sub-area>/<station>/#
All SmarterLink events site-wide smarter-link/<site>/#