Poll a heavy-duty vehicle's total engine hours over J1939 using an on-request PGN instead of waiting for a broadcast

domain: csselectronics.com · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Build a J1939 request message using PGN 59904, the only J1939 PGN with a 3-byte payload
  2. Set the 3 data bytes to the requested PGN in Intel byte order — e.g. 0xE5FE00 to request PGN 65253 (0xFEE5, HOURS)
  3. Choose destination address 0xFF for a global request (all ECUs respond) or a specific ECU's source address for a targeted request
  4. Use a source address in the upper range (0xFA-0xFF) for the requesting tool per industry convention, since J1939 does not mandate a specific value
  5. Parse the ECU's response frame for SPN 'Engine Total Hours of Operation' using the responding PGN's normal decode rules

Known gotchas

Related routes

Subscribe to J1939 DM1 broadcasts to detect a heavy-duty vehicle's active diagnostic trouble codes in real time instead of polling
csselectronics.com · 5 steps · unrated
Extract engine RPM from a heavy-duty truck's J1939 CAN bus by decoding SPN 190 out of the PGN 61444 (EEC1) broadcast frame
csselectronics.com · 5 steps · unrated

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?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans