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 asnull. UsesamplingIntervaland 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 Name | Description | Units | Type | Optional | Detailed Description |
|---|---|---|---|---|---|
logId | Humidity log ID | — | String (UUID) | No | A unique identifier for the humidity log message. |
deviceId | Sensos Label device ID | — | String | No | The 15-digit IMEI number of the Sensos Label sending the message. |
accountId | Sensos account ID | — | String (UUID) | No | Unique identifier for the account the reporting device belongs to. |
timestamp | Time the message was created | ISO 8601 | String | No | The UTC timestamp when the message was recorded on the device (YYYY-MM-DDTHH:mm:ssZ). |
messageCount | Message counter | — | Integer | Yes | Sequential sequence number, incremented with every report sent by the device. May be absent. |
samplingInterval | Humidity log sampling interval | Seconds | Integer | No | The interval (in seconds), defined in the device profile, at which humidity measurements are recorded. |
logData | Log data section | — | Array | No | An array of timestamp-humidity pairs that represent sequential humidity measurements for the logging period. |
logData[*].timestamp | Specific measurement time | ISO 8601 | String | No | The UTC timestamp when the individual humidity reading was recorded. |
logData[*].humidity | Humidity measurement | %RH | Decimal / Float | No | The 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.
Updated 21 days ago
