A multi-connector charging station can run multiple sessions at the same time — one EV on each connector. For CSMS developers, concurrent transactions are a significant source of bugs: session isolation failures, meter values mixing between connectors, smart charging limits applied to the wrong connector, and transaction IDs colliding under load. Testing this correctly requires a simulator that models multi-connector behaviour accurately.

How multi-connector charging works in OCPP

In OCPP 1.6, a charging station reports each connector independently using connector IDs starting from 1. Connector 0 refers to the station as a whole (used for station-level status). Each connector has its own status machine, its own active transaction, and its own MeterValues stream.

When two EVs are connected to a two-connector station, the CSMS sees:

Keeping these isolated — especially under reconnects or when smart charging profiles are involved — is where most CSMS bugs in multi-connector scenarios appear.

Common concurrency bugs in CSMS systems

Testing concurrent sessions reliably surfaces a class of bugs that single-connector tests miss:

Running concurrent transactions with SimIt

SimIt models multi-connector charge points natively. When you create a station with multiple connectors, each connector runs its own independent state machine. You can connect separate virtual EVs to different connectors and start transactions on each — all via REST API.

A typical multi-connector test with SimIt:

  1. Create a charge point with 2 connectors
  2. Connect EV-A to connector 1, EV-B to connector 2
  3. Send RemoteStartTransaction for connector 1 from your CSMS
  4. Send RemoteStartTransaction for connector 2 from your CSMS
  5. Let both sessions run concurrently, receiving independent MeterValues
  6. Stop one session and verify the other continues unaffected
  7. Stop the second session and verify both billing records are correct

Scale this to 50 stations with 2 connectors each, all running simultaneous transactions, and you have a load test that reveals concurrency bugs your unit tests cannot reach.

Create a free SimIt account and start testing multi-connector scenarios today.