Parse a DEX/UCS (EVA-DTS) audit file to extract machine identification, product, and sales records from a vending machine controller.
domain: vending-europe.eu · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Retrieve the raw DEX/UCS audit file from the machine (via handheld, DEX cable, or telemetry-delivered EVA-DTS/DDCMP file).
Split the file into newline-delimited data segments, each starting with a 2-4 character block identifier (e.g., ID1, PA1, CA1) followed by asterisk-delimited data elements.
Parse the ID1 segment for machine identification (serial number, model, build standard, asset number).
Parse repeated PA1 segments (with associated PA5/PA7 detail lines) for per-selection product identifier, price, and vend counts since initialization/reset.
Parse CA-series segments (CA1, CA2, CA9, CA10, CA16, etc.) for cash-in, cash-to-box, cash-to-tubes, overpay, and fill values.
Validate each transaction set's CRC-16 integrity check before trusting the parsed values.
Known gotchas
Repeated block identifiers (e.g., multiple PA1 lines) are only distinguishable by their first data element (the selection number) — parsers must track segment order, not just block-identifier match, to correctly associate PA5/PA7 detail lines with the right PA1 parent.
Missing/optional data elements are represented by consecutive asterisks with no value (e.g., ID1*VMC123**5678) — naive split-on-asterisk parsing must preserve empty fields rather than collapsing them.
EVA-DTS has had multiple revisions since 2016 (6.x line) that add or rename data elements — confirm the file's declared version before assuming a fixed field layout.
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?