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": "2023-05-23T06:30:11.0000000",
  "messageCount": 15,
  "samplingInterval": 900,
  "logData": [
    {
      "timestamp": "2023-05-23T06:00:00Z",
      "temperature": 26
    },
    {
      "timestamp": "2023-05-23T06:15:00Z",
      "temperature": null
    },
    {
      "timestamp": "2023-05-23T06:30:00Z",
      "temperature": 26
    }
  ]
}

Report Fields

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

Field NameDescriptionUnitsTypeDetailed Description
logIdTemperature log ID-StringA unique ID for the temperature log message.
deviceIdSensos Label device ID-StringThe IMEI number of the Sensos Label sending the message.
accountIdSensos account ID-StringA unique ID for the account the device belongs to.
timestampTime the message was createdISO 8601TimeThe UTC timestamp of when the message was created.
messageCountMessage counter-IntegerA sequential number for the message, incremented with every report sent by the device.
samplingIntervalTemperature log sampling intervalSecondsIntegerThe interval, defined in the device profile, at which temperature measurements are recorded.
logDataLog data section-ArrayAn array of timestamp-temperature pairs that represent the temperature measurements for the specified period. Each entry contains:
timestampSpecific measurement timeISO 8601TimeThe UTC timestamp of when the temperature was logged.
temperatureSpecific measurement temperatureCelsiusIntegerThe temperature value recorded by the device. Values range from -40°C to 70°C with 1-degree resolution.

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.