MQTT Events

Tag Event

Description: This event contains the tag data

Topic: Topic for Tag Events

Payload:

{
  "readerName": "impinj00162513F90B",
  "mac": "00:16:25:13:F9:0B",
  "site": "Main Warehouse",
  "tag_reads": [
    {
      "epc": "E28011606000020934D6FAF7",
      "firstSeenTimestamp": 1706119203123456,
      "antennaPort": 1,
      "antennaZone": "TOPSHELF",
      "logicalPointId": 101,
      "peakRssi": -51.25,
      "txPower": 28.5,
      "frequency": 920625,
      "rfPhase": 37.5,
      "tid": "E2003412012345678900",
      "gpi1Status": "high",
      "gpi2Status": "low",
      "tagDataKeyName": "rchl_sku",
      "tagDataKey": "123456789012",
      "tagDataSerial": "00012345",
      "tagDataPureIdentity": "urn:epc:tag:sgtin-96:3.0614141.812345.12345"
    }
  ]
}

Management Events

SmartReader publishes a number of lightweight management events to the management topic. Each payload is a flat JSON document whose fields map directly to the dictionaries created inside MqttService and IotInterfaceService.

MQTT Connection Event

Description: emitted when the reader establishes a connection to the MQTT broker. The payload contains only the properties explicitly set in MqttService.HandleConnectedAsync.

Topic: Topic for Management Events

Payload:

MQTT Disconnection Event

Description: this is the payload defined as the MQTT "last will" message. If the reader disconnects unexpectedly the broker publishes it on behalf of SmartReader. The document only contains the status flag. The JSON body comes from MqttService.BuildMqttLastWillMessage.

Topic: Topic for Management Events

Payload:

SmartReader Status Event

Description: communicates lifecycle transitions of the SmartReader application. All payloads include the fields that BuildStatusEvent adds: smartreader-status, readerName, mac, and a microsecond timestamp. Some scenarios include additional context where noted below. The payload is constructed in IotInterfaceService via the BuildStatusEvent helper and related workflows.

Topic: Topic for Management Events

Possible payload values:

smartreader-status value

When it is published

Additional payload fields

started

After background services finish starting.

Standard fields only.

stopped

When SmartReader shuts down.

Standard fields only.

settings-applied

After reader settings are successfully applied.

Standard fields only.

inventory-running

When the reader reports an active inventory.

Standard fields only.

inventory-idle

When the reader reports that inventory has stopped.

Standard fields only.

initialized

After initialization and network verification succeed.

Standard fields only.

invalid-license-key

When license validation fails.

Standard fields plus ip and serial when available.

Payload example (inventory running):

Payload example (invalid license key):

Heartbeat Event

Description: Heartbeats are emitted as regular tag events with a single read where isHeartBeat is true. They are created by CreateSmartReaderTagReadEvent, so they share the same schema as regular tag events.

Topic: Topic for Tag Events

Payload:

GPI Event

Description: This event contains information about GPI events. It is published by ProcessGpiStatus whenever a monitored GPI state changes.

Topic: Topic for Management Events

Payload:

Last updated