MeterValues is the OCPP message a charging station uses to report energy delivery data to the CSMS during a session. Billing accuracy depends on it, yet it is often the most poorly simulated message in the protocol. Static dummy values, or no MeterValues at all, are a common shortcut that hides real bugs in CSMS energy handling.

What MeterValues contains

A MeterValues message carries one or more sampled values, each with a measurand, unit, and reading. The most important measurands are:

The CSMS configures which measurands are reported via the MeterValuesSampledData configuration key. The sampling interval is controlled by MeterValueSampleInterval.

Why realistic metering matters

A simulator that sends the same static energy value in every MeterValues message will not catch a wide class of CSMS bugs:

These bugs are invisible if the simulator sends the same number on every tick.

How a realistic simulator generates meter values

A proper metering simulation tracks the connected EV battery: its capacity, its current state of charge, and the power being delivered. Each sampling interval, the simulator calculates how much energy has been delivered since the last sample, increments the cumulative register, and reports the updated value. As the EV approaches full charge, SOC increases and power tapers off naturally.

SimItNow's meter engine works this way. It models the EV battery, derives current from power and voltage, and generates increasing register readings throughout the session. When SOC reaches 100%, the simulator fires an automatic session stop, matching real charger behaviour. Your CSMS billing calculations, SOC display, and smart charging enforcement are then all tested against data that behaves like the real world.

Create a free SimItNow account and test against realistic meter values.