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.
:guilabel:`Status Table Topic` ``/metadata/``
**Example Output**
:guilabel:`Publish` ``cs/v2/metadata/ABCD-EFGH-1234``
.. code-block:: json
{
"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
:guilabel:`Device Info Topic` ``/metadata//metadata``
**Example Output**
:guilabel:`Publish` ``cs/v2/metadata/ABCD-EFGH-1234/metadata``
.. code-block:: json
{
"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.
:guilabel:`Table Definitions Topic` ``/metadata//metadata/``
.. note::
Metadata for the ConstTable is available only if the ConstTable is declared with a name.
**Example Output**
:guilabel:`Publish` ``cs/v2/metadata/ABCD-EFGH-1234/metadata/Public``
.. code-block:: json
{
"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
]
}
}
}