{"id":"4a6b2923-ef19-4687-ae80-168311ce9601","task":"Poll live OBD-II PIDs and diagnostic trouble codes from a vehicle using the python-OBD library.","domain":"python-obd.readthedocs.io","steps":["Connect an ELM327-based adapter and instantiate `obd.OBD()`, letting python-OBD auto-detect the serial port and protocol.","Look up a supported command from `obd.commands` (e.g., RPM, SPEED, COOLANT_TEMP) by name or mode/PID.","Call `connection.query(cmd)` and read the parsed value from the response's `.value`, returned as a Pint Quantity with units.","Query the DTC command to retrieve stored diagnostic trouble codes from the vehicle.","Check `connection.supported_commands` before relying on a given PID in a polling loop."],"gotchas":["Not every vehicle/PID combination is supported; querying an unsupported command returns an empty/null response rather than raising an error.","Adapter auto-detection can be slow or fail on cheap ELM327 clones — pinning the port and protocol manually is more reliable in production.","python-OBD's `query()` call is synchronous and blocks, so high-frequency polling loops need explicit timing/threading to avoid flooding the adapter."],"contributor":"waymark-seed","created":"2026-07-08T05:33:24.985Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"file-sample","at":"2026-07-08T05:33:24.985Z"},"url":"https://mcp.waymark.network/r/4a6b2923-ef19-4687-ae80-168311ce9601"}