OCPP 2.0.1 testing
What is OCPP 2.0.1 testing?
OCPP 2.0.1 testing covers the newer version of the protocol used for advanced charger and CSMS capabilities. Teams validate TransactionEvent handling, charging profiles, and device model behavior. They also check security-profile requirements and the broader message set introduced in OCPP 2.0.1.
Last reviewed
Best for
- Teams onboarding newer charger models with stronger security and smart charging requirements.
- Platforms preparing for ISO 15118-adjacent and advanced energy-management workflows.
- Mixed-fleet backends that need to support both OCPP 1.6 and OCPP 2.0.1 cleanly.
Message coverage
All 64 OCPP 2.0.1 operations by functional block, each covered by the virtual charger's action catalog.
sent by the charger to the CSMS sent by the CSMS to the charger sent either way
Security
- sent by the CSMS to the charger: CertificateSigned
- sent by the CSMS to the charger: CustomerInformation
- sent by the CSMS to the charger: DeleteCertificate
- sent by the CSMS to the charger: GetInstalledCertificateIds
- sent by the CSMS to the charger: InstallCertificate
- sent by the charger to the CSMS: NotifyCustomerInformation
- sent by the charger to the CSMS: SecurityEventNotification
- sent by the charger to the CSMS: SignCertificate
Provisioning
- sent by the charger to the CSMS: BootNotification
- sent by the CSMS to the charger: GetBaseReport
- sent by the CSMS to the charger: GetReport
- sent by the CSMS to the charger: GetVariables
- sent by the charger to the CSMS: Heartbeat
- sent by the charger to the CSMS: NotifyReport
- sent by the CSMS to the charger: Reset
- sent by the CSMS to the charger: SetNetworkProfile
- sent by the CSMS to the charger: SetVariables
Authorization
- sent by the charger to the CSMS: Authorize
Local authorization list
- sent by the CSMS to the charger: ClearCache
- sent by the CSMS to the charger: GetLocalListVersion
- sent by the CSMS to the charger: SendLocalList
Transactions
- sent by the CSMS to the charger: GetTransactionStatus
- sent by the charger to the CSMS: TransactionEvent
Remote control
- sent by the CSMS to the charger: RequestStartTransaction
- sent by the CSMS to the charger: RequestStopTransaction
- sent by the CSMS to the charger: TriggerMessage
- sent by the CSMS to the charger: UnlockConnector
Availability
- sent by the CSMS to the charger: ChangeAvailability
- sent by the charger to the CSMS: StatusNotification
Reservation
- sent by the CSMS to the charger: CancelReservation
- sent by the charger to the CSMS: ReservationStatusUpdate
- sent by the CSMS to the charger: ReserveNow
Tariff and cost
- sent by the CSMS to the charger: CostUpdated
Metering
- sent by the charger to the CSMS: MeterValues
Smart charging
- sent by the CSMS to the charger: ClearChargingProfile
- sent by the charger to the CSMS: ClearedChargingLimit
- sent by the CSMS to the charger: GetChargingProfiles
- sent by the CSMS to the charger: GetCompositeSchedule
- sent by the charger to the CSMS: NotifyChargingLimit
- sent by the charger to the CSMS: NotifyEVChargingNeeds
- sent by the charger to the CSMS: NotifyEVChargingSchedule
- sent by the charger to the CSMS: ReportChargingProfiles
- sent by the CSMS to the charger: SetChargingProfile
Firmware management
- sent by the charger to the CSMS: FirmwareStatusNotification
- sent by the CSMS to the charger: PublishFirmware
- sent by the charger to the CSMS: PublishFirmwareStatusNotification
- sent by the CSMS to the charger: UnpublishFirmware
- sent by the CSMS to the charger: UpdateFirmware
ISO 15118 certificate management
- sent by the charger to the CSMS: Get15118EVCertificate
- sent by the charger to the CSMS: GetCertificateStatus
Diagnostics
- sent by the CSMS to the charger: ClearVariableMonitoring
- sent by the CSMS to the charger: GetLog
- sent by the CSMS to the charger: GetMonitoringReport
- sent by the charger to the CSMS: LogStatusNotification
- sent by the charger to the CSMS: NotifyEvent
- sent by the charger to the CSMS: NotifyMonitoringReport
- sent by the CSMS to the charger: SetMonitoringBase
- sent by the CSMS to the charger: SetMonitoringLevel
- sent by the CSMS to the charger: SetVariableMonitoring
Display message
- sent by the CSMS to the charger: ClearDisplayMessage
- sent by the CSMS to the charger: GetDisplayMessages
- sent by the charger to the CSMS: NotifyDisplayMessages
- sent by the CSMS to the charger: SetDisplayMessage
Data transfer
- sent either way: DataTransfer
Example OCPP 2.0.1 transaction flow
OCPP 2.0.1 replaces the older start and stop model with TransactionEvent messages. That gives teams a richer, event-driven sequence to validate across the full session lifecycle.
Charge point
CSMS
Charge point → CSMS
BootNotificationRequestCSMS → Charge point · response
BootNotificationResponse
Charge point → CSMS
AuthorizeRequestCSMS → Charge point · response
AuthorizeResponse
Charge point → CSMS
TransactionEventRequest(eventType=Started, seqNo=0)CSMS → Charge point · response
TransactionEventResponse
Charge point → CSMS
TransactionEventRequest(eventType=Updated, seqNo=1, triggerReason=MeterValuePeriodic, chargingState=Charging)CSMS → Charge point · response
TransactionEventResponse
Charge point → CSMS
TransactionEventRequest(eventType=Ended, seqNo=2)CSMS → Charge point · response
TransactionEventResponse
Raw frames
Charge point -> CSMS: BootNotificationRequest
CSMS -> Charge point: BootNotificationResponse
Charge point -> CSMS: AuthorizeRequest
CSMS -> Charge point: AuthorizeResponse
Charge point -> CSMS: TransactionEventRequest (eventType=Started, seqNo=0)
CSMS -> Charge point: TransactionEventResponse
Charge point -> CSMS: TransactionEventRequest (eventType=Updated, seqNo=1, triggerReason=MeterValuePeriodic, chargingState=Charging)
CSMS -> Charge point: TransactionEventResponse
Charge point -> CSMS: TransactionEventRequest (eventType=Ended, seqNo=2)
CSMS -> Charge point: TransactionEventResponseWhat the workspace asserts
The states and enum values an OCPP 2.0.1 frame is validated against, taken from the OCA OCPP 2.0.1 JSON schemas.
TransactionEventEnumTypeTransactionEventRequest eventType
StartedUpdatedEnded
ConnectorStatusEnumTypeStatusNotificationRequest connectorStatusAvailableOccupiedReservedUnavailableFaulted
ChargingStateEnumTypeTransactionEventRequest transactionInfo.chargingStateChargingEVConnectedSuspendedEVSuspendedEVSEIdle
RegistrationStatusEnumTypeBootNotificationResponse statusAcceptedPendingRejected
AuthorizationStatusEnumTypeAuthorizeResponse idTokenInfo.statusAcceptedBlockedConcurrentTxExpiredInvalidNoCreditNotAllowedTypeEVSENotAtThisLocationNotAtThisTimeUnknown
| Enum | Field | Values |
|---|---|---|
ConnectorStatusEnumType | StatusNotificationRequest connectorStatus | AvailableOccupiedReservedUnavailableFaulted |
ChargingStateEnumType | TransactionEventRequest transactionInfo.chargingState | ChargingEVConnectedSuspendedEVSuspendedEVSEIdle |
RegistrationStatusEnumType | BootNotificationResponse status | AcceptedPendingRejected |
AuthorizationStatusEnumType | AuthorizeResponse idTokenInfo.status | AcceptedBlockedConcurrentTxExpiredInvalidNoCreditNotAllowedTypeEVSENotAtThisLocationNotAtThisTimeUnknown |
Supported modern charger workflows
OCPP 2.0.1 testing is most useful when teams need stronger security, smarter charging control, and richer event-driven backend validation across newer charger profiles.
Smart charging profiles
- ChargingProfiles, scheduling, and power-management coverage
- Validate schedule handling, composite logic, and backend decisioning.
Security-oriented deployments
- Profile 1, 2, and 3 validation paths
- TLS, certificates, authentication, and higher-assurance charger onboarding.
Mixed modern DC and AC fleets
- TransactionEvent and device-model workflows
- Exercise started, updated, ended events and variable-oriented management behavior.
| Profile | Coverage | Typical validation |
|---|---|---|
| Smart charging profiles | ChargingProfiles, scheduling, and power-management coverage | Validate schedule handling, composite logic, and backend decisioning. |
| Security-oriented deployments | Profile 1, 2, and 3 validation paths | TLS, certificates, authentication, and higher-assurance charger onboarding. |
| Mixed modern DC and AC fleets | TransactionEvent and device-model workflows | Exercise started, updated, ended events and variable-oriented management behavior. |
What to test
- TransactionEvent lifecycle coverage for started, updated, and ended events.
- Smart charging and charging profile validation.
- Device management, variables, and capability-related message flows.
- Security-profile and authentication-related workflows.
Common scenarios
Smart charging rollout
Validate charging profile logic, scheduling behavior, and backend decisioning before enabling advanced energy management in production.
Mixed-version backend support
Test OCPP 2.0.1 alongside legacy OCPP 1.6 fleets so your CSMS handles both versions cleanly.
Protocol migration
Exercise 2.0.1 message handling before onboarding new charger models or expanding into higher-security deployments.
Related resources
Test OCPP 2.0.1 workflows before they hit real chargers
Simulate modern charger behavior, validate smart charging logic, and de-risk OCPP 2.0.1 backend changes.