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