Metadata¶
The data logger will publish metadata on several designated topics, each with a specific data payload. Metadata messages are published only at startup or when triggered by the metadata command-and-control topic.
Status Table¶
The data logger will publish static values from the status table.
Status Table Topic <base topic>/metadata/<UID>
Example Output
Publish cs/v2/metadata/ABCD-EFGH-1234
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
0.0,
0.0,
0.0
]
},
"properties": {
"loggerID": "ABCD-EFGH-1234",
"observationNames": [
"OSVersion",
"OSDate",
"OSSignature",
"SerialNumber",
"RevBoard",
"StationName",
"RecipeStatus",
"ProgName",
"StartTime",
"RunSignature",
"ProgSignature",
"StartUpCode",
"MemorySize",
"MemoryFree"
],
"observations": {
"2025-07-23T16:04:17.084Z": [
"CR1000X.8.2.1",
"07/21/2025",
765,
"70021",
"020.001.p.e",
"70021",
"",
"CPU:DidleyData.CRB",
"2025-07-23T16:04:00.784",
13361,
58464,
0,
4194304,
72604
]
}
}
}
Device Info¶
The data logger will publish self-identification information. This is primarily for the Campbell Cloud-integrated DevConfig commands
Device Info Topic <base topic>/metadata/<UID>/metadata
Example Output
Publish cs/v2/metadata/ABCD-EFGH-1234/metadata
{
"station_name": "70021",
"model": "CR1000X",
"serial_no": "70021",
"os_version": "CR1000X.8.2.1",
"prog_name": "CPU:DidleyData.CRB",
"setting_device_id": "78",
"setting_major_version": "5",
"setting_minor_version": "4",
"setting_hash": "24960"
}
Table Definitions¶
The data logger will publish metadata for each data table defined in the CRBasic program.
The Public table and tables that include the MQTTPublishTable() instruction will have their metadata published.
Table Definitions Topic <base topic>/metadata/<UID>/metadata/<table name>
Note
Metadata for the ConstTable is available only if the ConstTable is declared with a name.
Example Output
Publish cs/v2/metadata/ABCD-EFGH-1234/metadata/Public
{
"fields": {
"key": [
"type",
"settable",
"size",
"class",
"stream"
],
"definitions": {
"battery_voltage": [
"xsd:float",
true,
1,
0,
0
],
"logger_temp": [
"xsd:float",
true,
1,
0,
0
],
"extreme_temperature": [
"xsd:boolean",
true,
1,
0,
0
],
"message": [
"xsd:string",
true,
104,
0,
0
]
}
}
}