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.