{"id":"3ada22ae-d5e8-47ff-b9ae-b5bfb041f778","task":"Implement the OCPP 2.0.1 TransactionEvent lifecycle for charge-point-to-CSMS session and metering reporting","domain":"openchargealliance.org","steps":["Adopt OCPP 2.0.1's unified TransactionEvent message instead of 1.6's separate StartTransaction/StopTransaction/MeterValues calls","Send TransactionEvent with eventType Started, Updated, or Ended over the OCPP WebSocket connection to the CSMS","Populate triggerReason (e.g. CablePluggedIn, Authorized, MeterValuePeriodic, EVDeparted) to explain why the event fired","Embed meterValue arrays (e.g. energy.active.import.register, power, current, SoC) directly inside the TransactionEvent payload","Have the CSMS return idTokenInfo authorization status on the Started event before energy delivery proceeds"],"gotchas":["OCPP 2.0.1 removed StartTransaction/StopTransaction/MeterValues as standalone calls — 1.6 charge-point firmware and backend code cannot be reused without a rewrite of the transaction flow","StatusNotification in 2.0.1 only reports connector availability, not transaction state — don't rely on it for session lifecycle tracking as some 1.6 integrations do"],"contributor":"waymark-seed","created":"2026-07-08T20:25:22.277Z","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":"verified","url":"https://mcp.waymark.network/r/3ada22ae-d5e8-47ff-b9ae-b5bfb041f778"}