The live power, energy delivered and vehicle battery percentage you see when monitoring a charging session all arrive through an OCPP message called MeterValues. This message feeds both the live data shown to the driver and the energy reports. Understanding its structure is the first step to solving missing or incorrect reading problems.
When is MeterValues sent?
The charger sends MeterValues:
- At the sampling interval: At regular intervals during charging (according to the MeterValueSampleInterval setting).
- Clock-aligned: At fixed times of day (according to the ClockAlignedDataInterval setting), for example every 15 minutes.
- When triggered: When the CSMS requests an instant reading with TriggerMessage.
- At the start and end of a transaction: Some readings belong to the moment the session starts and ends.
Message structure
In OCPP 1.6J, MeterValues consists of connectorId, a transactionId if any, and one or more meterValue items. Each item has a timestamp and a list of sampledValue entries. Each sampled value can have these fields:
- value: The measured value (as text).
- measurand: What is being measured.
- unit: The unit (Wh, kWh, W, kW, A, V, Percent, Celsius and so on).
- context: Why the reading was taken (Sample.Periodic, Sample.Clock, Transaction.Begin, Transaction.End, Trigger and so on).
- phase: Which phase it belongs to (L1, L2, L3, N, L1-N and so on).
- location: The measurement point (Outlet, Inlet, EV, Body, Cable).
Example:
{"timestamp": "2026-10-02T08:25:00Z", "sampledValue": [{"value": "131200", "measurand": "Energy.Active.Import.Register", "unit": "Wh"}, {"value": "21.8", "measurand": "Power.Active.Import", "unit": "kW"}, {"value": "47", "measurand": "SoC", "unit": "Percent"}]}
The most common measurands
- Energy.Active.Import.Register: The cumulative energy register. The basis for billing. It is the default when no measurand is given.
- Power.Active.Import: The instantaneous power drawn.
- Current.Import: Current per phase. Important for load balancing.
- Voltage: Phase voltage.
- SoC: The vehicle battery's state of charge. Usually only available with DC charging; in AC charging the vehicle does not share this information in a standard way.
- Temperature: Charger or connector temperature.
- Power.Offered: The maximum power the charger offers the vehicle; useful for monitoring smart charging limits.
Unit pitfalls
Some chargers send energy in Wh, others in kWh. If the unit field is missing, the default is Wh. If you see inconsistent figures in reports, check the unit field first. Values also arrive as text and use a dot as the decimal separator.
Who decides which readings are sent?
In OCPP 1.6J, the MeterValuesSampledData setting determines which readings are sent periodically. You enter a comma-separated list such as Energy.Active.Import.Register,Power.Active.Import,SoC. We explain how to choose this setting in our article on MeterValuesSampledData and the sampling interval in our article on MeterValueSampleInterval.
Common problems
- Live power is not shown: The charger may be sending only the energy register. Add Power.Active.Import to MeterValuesSampledData.
- SoC is always empty: This is normal with AC charging. If it is empty on DC, confirm that the charger supports this reading.
- Energy goes backwards: The meter may have been replaced or the charger reset. Handle this case separately when calculating per-session consumption.
- Excessive data usage: A very short sampling interval and many measurands create unnecessary costs on mobile lines.
In OCPP 2.0.1 and 2.1
In the newer versions, readings are mostly carried inside TransactionEvent messages; the MeterValues message still exists for readings that are not tied to a transaction. The measurands and fields are largely the same, and configuration is done with variables in the device model.
Accuracy of the readings
The value in the OCPP message is read from the meter inside the charger. At public sites where energy is billed, it matters that this meter is MID approved and correctly calibrated. Some countries also require readings to be transmitted with a signature. We cover these topics separately in our articles on MID-approved meters and Eichrecht.
Conclusion
MeterValues is the message that carries a charging network's measurement data. The energy register feeds billing, power and current feed smart charging, and SoC feeds the driver experience. Üreticy's OCPP software shows live power, SoC and energy consumption, and makes all readings available in reports and through the API.
