Show live tariff and running-cost messages on an OCPP 2.0.1 charger display with SetDisplayMessage and CostUpdated
domain: openchargealliance.org · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Confirm the station's device model advertises the DisplayMessage component with sufficient message capacity before relying on it for regulatory pricing disclosure.
CSMS sends SetDisplayMessageRequest with a MessageInfo containing priority (e.g. AlwaysFront for pricing), message content, and an optional transactionId to scope it to the active session.
Before a transaction starts, push the applicable tariff (price per kWh/time, idle fee) as a display message so the price is visible prior to charging.
During an active transaction, CSMS sends CostUpdatedRequest carrying the running totalCost so the station updates the on-screen running price; the station acknowledges with an empty CostUpdatedResponse.
Use GetDisplayMessagesRequest to audit what's currently queued/displayed on a station and ClearDisplayMessageRequest to remove a stale price after a tariff change or session end.
Known gotchas
CostUpdated only works if the CSMS previously enabled cost/pricing support on the station via a device-model configuration variable — many chargers ship with this off by default and silently ignore CostUpdated until it's turned on.
Message priority and charger state (e.g. Charging vs Idle) interact — a message queued for a display state the station isn't currently in won't show, which looks like a delivery failure but is a state mismatch.
Regulatory rules mandate price be shown before the session starts, not just during — teams that only wire up CostUpdated (mid-session) miss the pre-session SetDisplayMessage requirement entirely.
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?