STATUS Message

The STATUS is sent by the device periodically as a keep-alive message on relevant channels.

Fields in the JSON STATUS Message

Field Format Status Description Remark
"Device" string option Which device has read this message? This field is the serial number of the device. Transmitted only over non-explicit channels (such as HTTP).
Over explicit channels (such as MQTT), the device is identified by the context.
"State" string always Current status of device Possible values are
- "online,ready",
- "online,busy",
- "offline" (clean disconnection),
- "offline,dead" (only for last will message, denotes an ungraceful disconnection).
"Uptime" string option Startup counter and time elapsed since startup This field is in the form "CCC:SSS.MMM" where
- CCC is the value of the startup counter
- SSS.MMM is the number of seconds and milliseconds elapsed since last startup
This field is absent from the last will message.
"DateTime" string option Current date/time on the device’s RTC In the form "YYYY-MM-DD HH:MM:SS".
This field is absent if the device does not have a RTC and in the last will message.

Example

{
	"State": "online,ready",
	"Uptime": "145:1860.081"
}

Note: for the ease of reading, the above JSON message is shown with spaces and line-feeds added. To shorten the messages, all line-feeds, spaces and tabs are removed from the actual JSON string sent by the device.

Channels sending this Message

The STATUS Message is sent by the device:

  • Over the MQTT Client channel, through topic springcard/springcore/{$id}/status. A STATUS Message with State set to "offline,dead" is prepared as last will and testament message when connecting.

  • Over the HTTP Client channel, if a non-zero keepalive interval is configured in register 0292.

The STATUS Message is never sent on the other channels.