Skip to main content

What is a CSMS?

A Charging Station Management System (CSMS) is the backend that communicates with and controls EV chargers. In OCPP terminology, this is called the Central System.

Core Responsibilities​

FunctionDescription
Connection ManagementAccept and maintain WebSocket connections from chargers
AuthorizationValidate RFID tokens and decide whether charging can start
Transaction TrackingRecord start/stop events, meter readings, and session data
Remote ControlSend commands to chargers (start/stop, reset, configuration)
Smart ChargingSet power limits and schedules to manage load
Firmware & DiagnosticsPush updates and retrieve logs from chargers

System Architecture​

Communication Model​

OCPP uses a request/response pattern over WebSocket:

  • Charger-initiated: The charger sends a request, CSMS responds

    • BootNotification - charger coming online
    • StartTransaction - charging session beginning
    • StatusNotification - state changes
  • CSMS-initiated: The CSMS sends a request, charger responds

    • RemoteStartTransaction - command to start charging
    • SetChargingProfile - apply power limits
    • Reset - reboot the charger

Each message has a unique ID. The responder echoes this ID in the response.

Key Design Considerations​

Reliability​

  • Chargers queue messages when offline
  • CSMS must handle out-of-order delivery
  • Transaction data is idempotent (same transactionId = same session)

Scalability​

  • Each charger maintains one persistent WebSocket
  • Connection count = charger count
  • Message volume scales with transaction frequency

Security​

  • TLS for transport encryption
  • Optional: client certificates for charger authentication
  • Authorization tokens validated per transaction

OCPP Versions​

VersionTransportNotes
1.6-JWebSocket + JSONMost widely deployed
1.6-SSOAPLegacy, less common
2.0.1WebSocket + JSONNewer features, growing adoption

GridLink implements OCPP 1.6-J. See the OCPP 1.6 Specification for protocol details.