MeterValues problems are the most expensive class of OCPP fault because they do not stop anyone charging. Sessions complete, drivers leave satisfied, and the discrepancy appears when finance tries to reconcile a month of energy against a month of revenue.
By then the affected sessions are historical and the evidence needed to correct them may no longer exist.
A meter value is more than a number
Each sampled value carries the reading itself plus several qualifiers: which quantity is being measured, in what unit, at what point in the session, and from which part of the system. A platform that expects a different combination than the charger sends will either discard the value or record something misleading.
The number being correct is not sufficient. The qualifiers are what make it usable.
Unit mismatches
Energy can be reported in watt hours or kilowatt hours, and both are legitimate. A platform assuming one while receiving the other produces readings wrong by three orders of magnitude, which is usually caught immediately because it is absurd.
The dangerous version is subtler. Power reported where energy was expected, or an instantaneous value treated as cumulative, produces numbers that look plausible and are wrong. Those survive review and reach invoices.
Cumulative versus interval readings
Most billing depends on a register that only increases across the life of the meter, with session energy derived by subtracting the start reading from the stop reading. Chargers that report per-interval consumption instead require the platform to sum rather than subtract.
Mixing the two produces session totals that are either far too small or that accumulate incorrectly, and the arithmetic is silent about which convention it was given.
Context tells you when the reading was taken
A platform that includes every reading regardless of context, or that cannot distinguish a start reading from a periodic one, will produce session totals that do not match the meter.
- Readings at the beginning of a transaction establish the baseline.
- Readings during the transaction, at the sampling interval, show progress.
- Readings at the end establish the total.
- Readings triggered by other events, such as a clock tick, may not belong in a session total at all.
Missing start or stop readings
Where a session begins or ends during a connection interruption, one of the two boundary readings may never arrive. The platform is then reconciling a session with only one end of the measurement.
How it handles that is a design decision with commercial consequences: estimate, discard, or hold for manual review. All three are defensible and the customer needs to know which one is happening.
Sampling interval and data volume
Sampling too infrequently makes it impossible to see what happened inside a session when a dispute arises. Sampling very frequently across a large fleet generates a data volume that costs money to transport and store, particularly on cellular connections.
The interval is a deliberate trade rather than a default worth accepting unexamined.
Accuracy is a separate matter from correctness
Everything above concerns whether the data is interpreted correctly. Whether the underlying measurement is accurate enough to bill from is a different question, governed by the metering hardware and the accuracy class the market requires for a sale of electricity.
A perfectly transported reading from a meter that is not fit for billing is still not billable. Establish the required class before the design is fixed, because it constrains component selection and cannot be retrofitted cheaply.
What to check when totals disagree
- Which unit the charger reports and which the platform assumes.
- Whether readings are cumulative or per interval.
- Whether context values are present and being used to filter.
- Whether start and stop readings exist for the disputed sessions.
- Whether the sampling interval leaves gaps large enough to hide the discrepancy.
- Whether the charger's clock agreed with the platform's during the period.