Humidity Logging Common Schema

Humidity Logging Data Delivery

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

Common Schema Structure

Humidity log data is recorded at constant intervals, as defined in the device profile configuration, and delivered in JSON format. The humidity 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 humidity log message delivered by a Sensos Label:

{
  "logId": "abc12345-f932-427e-a757-684afb84550b",
  "deviceId": "351521104432851",
  "accountId": "759ebe96-8986-461b-87f2-8feba05be28e",
  "timestamp": "2026-09-15T12:30:11Z",
  "messageCount": 42,
  "samplingInterval": 900,
  "logData": [
    {
      "timestamp": "2026-09-15T12:00:00Z",
      "humidity": 55.2
    },
    {
      "timestamp": "2026-09-15T12:15:00Z",
      "humidity": 55
    },
    {
      "timestamp": "2026-09-15T12:30:00Z",
      "humidity": 54.8
    }
  ]
}

Values are sent with their recorded precision; whole numbers are written without a decimal part (for example 55, not 55.0).

Missing Values

  • Samples without a valid reading (for example, a sensor reading failure or an initializing state during that measurement interval) are omitted from logData; they are never sent as null. Use samplingInterval and the sample timestamps to detect gaps.
  • A log in which no sample has a valid reading is not delivered at all.
  • Fields marked Optional: Yes below may be absent from the payload.

Report Fields

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

Field NameDescriptionUnitsTypeOptionalDetailed Description
logIdHumidity log ID—String (UUID)NoA unique identifier for the humidity 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—IntegerYesSequential sequence number, incremented with every report sent by the device. May be absent.
samplingIntervalHumidity log sampling intervalSecondsIntegerNoThe interval (in seconds), defined in the device profile, at which humidity measurements are recorded.
logDataLog data section—ArrayNoAn array of timestamp-humidity pairs that represent sequential humidity measurements for the logging period.
logData[*].timestampSpecific measurement timeISO 8601StringNoThe UTC timestamp when the individual humidity reading was recorded.
logData[*].humidityHumidity measurement%RHDecimal / FloatNoThe relative humidity value recorded by the device in %RH. Values range from 0% to 100% with 0.1% resolution. Samples without a valid reading are omitted.

Data Integrity and Duplicates

To ensure there are no gaps in the humidity 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?