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
            ]
        }
    }
}