Temperature Logging Common Schema

Temperature Logging Data Delivery

The Sensos Label features a temperature logging system designed to provide complete and consistent temperature data for cold chain use cases, ensuring end-to-end transparency in the supply chain. This document outlines the common schema structure for temperature log data delivery when the temperature logging feature is active on the Sensos Label.

Common Schema Structure

Temperature log data is recorded at constant intervals, as defined in the device profile configuration, and delivered in JSON format. The temperature log is sent with the next outgoing message from the device, and after the message is confirmed, the log is cleared, and the device begins recording the next set of log data.

Sensos supports the customization of the JSON structure and data fields to meet specific customer requirements.

Example JSON Format

The following is an example of the JSON structure for a temperature log message delivered by a Sensos Label:

{
  "logId": "d27cf280-f932-427e-a757-684afb84550b",
  "deviceId": "351521104432851",
  "accountId": "759ebe96-8986-461b-87f2-8feba05be28e",
  "timestamp": "2026-09-15T12:30:11Z",
  "messageCount": 15,
  "samplingInterval": 900,
  "logData": [
    {
      "timestamp": "2026-09-15T12:00:00Z",
      "temperature": 26.4
    },
    {
      "timestamp": "2026-09-15T12:15:00Z",
      "temperature": null
    },
    {
      "timestamp": "2026-09-15T12:30:00Z",
      "temperature": 26.2
    }
  ]
}

Report Fields

The following table provides an overview of the key fields present in the temperature log data report:

Field NameDescriptionUnitsTypeNullableDetailed Description
logIdTemperature log ID—String (UUID)NoA unique identifier for the temperature log message.
deviceIdSensos Label device ID—StringNoThe 15-digit IMEI number of the Sensos Label sending the message.
accountIdSensos account ID—String (UUID)NoUnique identifier for the account the reporting device belongs to.
timestampTime the message was createdISO 8601StringNoThe UTC timestamp when the message was recorded on the device (YYYY-MM-DDTHH:mm:ssZ).
messageCountMessage counter—IntegerNoSequential sequence number, incremented with every report sent by the device.
samplingIntervalTemperature log sampling intervalSecondsIntegerNoThe interval (in seconds), defined in the device profile, at which temperature measurements are recorded.
logDataLog data section—ArrayNoAn array of timestamp-temperature pairs that represent sequential temperature measurements for the logging period.
logData[*].timestampSpecific measurement timeISO 8601StringNoThe UTC timestamp when the individual temperature reading was recorded.
logData[*].temperatureSpecific measurement temperature°CDecimal / FloatYesThe temperature value recorded by the device in degrees Celsius. Values range from -40°C to +70°C with 0.1°C resolution. A null value indicates a sensor reading failure or initializing state during that measurement interval.

Data Integrity and Duplicates

To ensure there are no gaps in the temperature data, the log message covers the time period from the previous log message to the current one. If the message is not acknowledged by the cloud, the log is not cleared and will be sent again with the next message. This mechanism prevents data loss but may result in duplicate data under certain conditions.


Did this page help you?