Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/traconiq/tachoparser/llms.txt

Use this file to discover all available pages before exploring further.

dddparser writes JSON to stdout by default. Diagnostic messages, warnings, and errors are sent to stderr so they do not contaminate the JSON stream. You can redirect output to a file with the -output flag, or pipe it directly to other tools. The JSON structure closely mirrors the EU tachograph data specification. Each data block defined in the regulation corresponds to a key in the output object.

Top-level keys for VU data

When parsing vehicle unit data with -vu, the output object may contain the following top-level keys depending on which data blocks are present in the file:
KeyDescription
vu_overview_1First-generation VU overview — contains member state and VU certificates, control activity, and other overview fields
vu_overview_2Second-generation VU overview
vu_overview_2_v2Second-generation v2 VU overview
vu_activities_1Array of first-generation activity records
vu_activities_2Array of second-generation activity records
vu_activities_2_v2Array of second-generation v2 activity records
vu_events_and_faults_1First-generation events and faults
vu_events_and_faults_2 / vu_events_and_faults_2_v2Second-generation events and faults
vu_detailed_speed_1 / vu_detailed_speed_2Detailed speed data
vu_technical_data_1 / vu_technical_data_2 / vu_technical_data_2_v2Technical data blocks
The verified field on each signed block indicates whether its cryptographic signature was successfully verified against the loaded ERCA certificates.

Example output structure

A trimmed example of VU JSON output:
{
  "vu_download_interface_version": "...",
  "vu_overview_1": {
    "verified": true,
    "member_state_certificate": { ... },
    "vu_certificate": { ... },
    "vu_identification": { ... },
    "vu_sensor_paired_records": [ ... ],
    "vu_control_activity_data": { ... }
  },
  "vu_activities_1": [
    {
      "verified": true,
      "vu_driver_activity_daily_records": [ ... ]
    }
  ]
}
All struct fields use the omitempty JSON tag. Any field that is absent from the tachograph file or has a zero value will be omitted entirely from the output. The presence of a key in the output means the corresponding data block was found in the file.

Pretty-printing output

By default, dddparser outputs compact JSON. Use the -format flag to enable indented output:
./dddparser -vu -input tachodata.ddd -format
Alternatively, pipe through jq:
cat tachodata.ddd | ./dddparser -vu | jq .

Filtering with jq

jq is the most practical way to extract specific fields from Tachoparser output. Install it via your system package manager (apt install jq, brew install jq, etc.).
# Check if first-generation overview signature is verified
cat tachodata.ddd | ./dddparser -vu | jq '.vu_overview_1.verified'

# List all activity record dates from first-generation data
cat tachodata.ddd | ./dddparser -vu | jq '[.vu_activities_1[].vu_driver_activity_daily_records[].activity_daily_presence_counter]'

# Pretty print and page through output
cat tachodata.ddd | ./dddparser -vu | jq . | less

Build docs developers (and LLMs) love