Skip to main content

Messages

The Messages page shows all messages exchanged between devices and the Cloud. You can access it from two places:

  • Left sidebar → Messages — shows messages from all devices in the space
  • Device detail → Messages tab — shows messages for that specific device only

Message Types

TypeDirectionDescription
dataupPeriodic uplink payload with sensor readings
sessionup/downExchanged during device boot — contains firmware info, config hash, network parameters
configdownConfiguration sent to the device (only when config hash changed)
encoderupJSON key mapping used to compress data messages
decoderupJSON key mapping used to decompress data messages
shelldownShell commands scheduled for the device
firmwaredownFOTA firmware update packets

Downlink messages (direction: down) have a delivery state:

StateMeaning
pendingWaiting for the device to wake up and poll the Cloud
sentDelivered to the device
cancelledCancelled manually — the device will not receive this message

Filtering

By default the list shows messages from the last 10 days. Use the filter bar to change:

  • Time range — extend or narrow the period
  • Type — filter by message type (data, session, config, …)
  • Direction — uplink only, downlink only, or both

Viewing a Message

  • Click the arrow icon on a message row for a quick JSON preview inline
  • Click the ⓘ icon to open the full message detail
  • Click the compare icon on two messages to see a diff of their JSON bodies

Basic Dashboard

The dashboard is a debugging tool that lets you plot values from messages using a small JavaScript function.

Click the Dashboard icon above the message list, paste a function that extracts values from each message, and the chart updates in real time.

Example — plot thermometer temperature:

Show Example

return {
date: message.created_at,
Temperature: message.body?.thermometer?.temperature,
}

Example — plot all measurements from an aggregated array:

Show Example

const points = message.body?.hygrometer?.temperature?.measurements?.map(m => m.avg);
return {
date: message.created_at,
Temperature: points,
}

info

For production dashboards and data visualization, use a Connector to push data to a dedicated service such as Grafana, Ubidots, or ThingsBoard.