OCPP-2.0.1 Edition2 Errata 2024-04
OCPP-2.0.1 Edition2 Errata 2024-04
1 Edition 2
Errata 2024-04
Table of Contents
Disclaimer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Terminology and Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
0. Part 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Generic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1. Part 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1. Device Model: Addressing Components and Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.1. Page 6 - (2023-12) - section 4.1 Components: Clarification about tiers for EVSE/Connector components . . . . . . . . . . . 4
1.1.2. Page 10 - (2023-12) - GetBaseReport supported 'ReportBases' [350] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Part 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1. General. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.1. Page 4 - (2024-02) 2.1.4. Definition of data type AnyType [747]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.2. Page 15 - (2024-04) 3. Generic requirements [759] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2. Use case A Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.1. Page 23 - (2023-06) Requirement A00.FR.316: Make clear that InvalidTLSVersion must be queued [689] . . . . . . . . . . . 6
2.2.2. Page 31 - (2024-02) A02 - Update Charging Station Certificate by request of CSMS [744]. . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3. Use case B Provisioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3.1. Page 51 - (2023-12) Requirement B03.FR.08 incorrect, and B03.FR.03 rephrased [712] . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3.2. Page 51 - (2023-12) Typo in B03.FR.06 [736] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.3. Page 61 - (2023-06) Requirement B08.FR.19 and N02.FR.15 are ambiguous w.r.t. evse and instance wildcards
[676] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.4. Page 62 - (2023-06) Use case B09/B10: Extended scenario description [683]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3.5. Page 65 - (2024-02) Use case B11/12: Reset of EVSE does not cause reboot of Charging Station [724]. . . . . . . . . . . . 12
2.4. Use case C Authorization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4.1. Page 72 - (2024-04) C 1.4 Local Authorization List [737] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4.2. Page 90 - (2024-04) C07.FR.05 does not require iso15118CertificateHashData [761] . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4.3. Page 90 - (2023-06) C07 requirements for certificateStatus missing [680]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4.4. Page 97 - (2023-06) Requirement C10.FR.06 needs to be removed [685]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.4.5. Page 97 - (2024-04) C10 Authorization Cache: cacheExpiryDateTime [737] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4.6. Page 102 - (2023-06) Requirement C13.FR.04 enhanced [701] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4.7. Page 102 - (2024-04) cacheExpiryDateTime requirements [737] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.5. Use case D LocalAuthorizationList Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.5.1. Page 111 - (2024-02) D01 - Send Local Authorization List - Requirements [745] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.6. Use Case E Transactions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.6.1. Page 118 - (2024-02) Clarify that TransactionEvent(Started) requires chargingState [731] . . . . . . . . . . . . . . . . . . . . . . . 21
2.6.2. Page 147 - (2023-06) Use case E07 - Scenario description step order incorrect [704] . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.6.3. Page 148 - (2023-06) Use case E07: Wrong triggerReason shown in sequence diagram fig. 56 [687] . . . . . . . . . . . . . . 23
2.6.4. Page 150 - (2023-06) Use case E07: Clarify 'normal' and 'correct' for stoppedReason [693] . . . . . . . . . . . . . . . . . . . . . . 24
2.6.5. Page 168 - (2024-04) - E15.FR.04 SessionStopReq ends authorization [757]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.7. Use Case F Remote Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.7.1. Page 180 - (2023-06) Requirement F03.FR.03 contains wrong precondition [700] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.7.2. Page 187 - (2023-06) Requirement F06.FR.12 is too strict [707] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.7.3. Page 187 - (2024-02) Improved precondition of F06.FR.06/07 [719]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.8. Use Case G Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.8.1. Page 192 - (2023-06) G01.FR.08 contradicts H01.FR.24 [692] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.8.2. Page 196 - (2024-02) G03.FR.03/04 improved [750] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.9. Use Case H Reservation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.9.1. Page 205 - (2023-06) Missing option to send NotifyEvent instead of StatusNotification [699] . . . . . . . . . . . . . . . . . . . . 28
2.9.2. Page 209 - (2023-06) Remark about authorization in use case H03 [711] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.9.3. Page 210 - (2023-06) Requirement H03.FR.08 is not clear about groupIdToken lookup [684]. . . . . . . . . . . . . . . . . . . . . 30
2.9.4. Page 210 - (2023-12) Transaction can start even when connector is Reserved [735] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.10. Use Case J Meter Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.10.1. Page 224 - (2024-04) 2.2. Clock-Aligned Meter Values: additional note [746] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.10.2. Page 225 - (2024-04) New section: 2.5 Configuration Examples [746] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.10.3. Page 227 - (2024-04) J01.FR.14 Improved requirements for clock-aligned values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.10.4. Page 228 - (2023-06) Requirement J01.FR.14 is unclear that meter values for all EVSEs must be sent [674] . . . . . . 32
2.10.5. Page 230 - (2023-06) Requirement J02.FR.10 refers to all TransactionEventRequest messages, but should be
specific to only eventType = Updated [705] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.10.6. Page 230 - (2024-04) J02.FR.11 Improved requirements for sampled values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.10.7. Page 231 - (2023-06) J01 misses requirement that meter value must be for current transaction [673]. . . . . . . . . . . . 34
2.11. Use Case K Smart Charging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.11.1. Page 238 - (2023-06) Text in section 3.3 does not match ChargingProfileKindEnumType description [708] . . . . . . . 34
2.11.2. Page 245 - (2024-04) - K01.FR.29 also accepts NotImplemented [755] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.11.3. Page 274 - (2024-02) Transactions for ISO15118 do not support TxStartPoints EnergyTransfer/DataSigned [763] . 35
2.11.4. Page 276 - (2023-12) Requirement K15.FR.15 has wrong precondition [716] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.12. Use Case L FirmwareManagement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.12.1. Page 287 - (2023-06) Improved title of figure 119 [695] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.12.2. Page 288 - (2024-02) L01 InstallScheduled when waiting for transaction [729] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.12.3. Page 292 - (2024-02) L02 InstallScheduled when waiting for transaction [729] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.12.4. Page 288/292 - (2024-02) Add support for A/B firmware updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.12.5. Page 289 - (2024-02) Allow DownloadFailed/InstallationFailed when AcceptedCanceled [733] . . . . . . . . . . . . . . . . . . 39
2.13. Use Case M ISO 15118 CertificateManagement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.13.1. Page 310 - (2023-06) M04.FR.07 has an incorrect requirement definition [703] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.14. Use Case N Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.14.1. Page 317 - (2023-06) N01.FR.10 not clear when to report UploadFailure [696] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.14.2. Page 331 - (2023-06) Requirement N09.FR.04 has been rephrased [688] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.15. Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.15.1. Page 353 - (2023-06) Clarification for use of certificate and iso15118CertificateHashData in AuthorizeRequest
[675] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
AuthorizeRequest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.15.2. Page 381 - (2023-06) Updated description for idToken in TransactionEventRequest [709] . . . . . . . . . . . . . . . . . . . . . . 41
2.16. Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.16.1. Page 386 - (2023-06) issuerKeyHash in CertificateHashDataType must be type identifierString [691] . . . . . . . . . . . . 41
2.16.2. Page 387 - (2024-02) 2.10 Description of chargingSchedule [743] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.16.3. Page 392 - (2024-02) EventDataType minor update of field trigger [740] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.16.4. Page 396 - (2023-06) NetworkConnectionProfileType [683]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.16.5. Page 396 - (2023-12) NetworkConnectionProfileType [713]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.16.6. Page 404 - (2024-02) VariableCharacteristicsType.valuesList [725] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.17. Enumerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.17.1. Page 416 - (2024-02) Description for FirmwareStatusEnumType InstallRebooting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.17.2. Page 419 - (2023-06) Description for idTokenEnumType MacAddress [664]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.17.3. Page 427 - (2024-02) 3.68 RecurrencyKindEnumType [749]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.18. Referenced Components and Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.18.1. Page 436 - (2023-12) Incorrectly referencing unit = "seconds" instead of "s" [726] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.18.2. Page 436 - (2023-06) Websocket-related variables in Part 4 [690] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.18.3. Page 444 - (2023-06) SecurityCtrlr.BasicAuthPassword and Identity should have dataType=string . . . . . . . . . . . . . . 45
2.18.4. Page 447 - (2024-02) 2.3.8 DisableRemoteAuthorization [751] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.18.5. Page 452 - (2023-06) Incomplete description TxStopPoint Authorized and PowerPathClosed [704] . . . . . . . . . . . . . . 47
2.18.6. Page 454 - (2024-04) SampledDataTxEndedMeasurands/Interval: updated description[746]. . . . . . . . . . . . . . . . . . . . 47
2.18.7. Page 454 - (2024-04) AlignedDataMeasurands/Interval: updated description [746] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.18.8. AlignedDataMeasurands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.18.9. Page 469 - (2024-02) ProtocolSupportedByEV is read-only [734] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.19. Appendix 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.19.1. Page 2 - (2023-06) InvalidFirmwareSignature/SigningCertificate are critical security events [682] . . . . . . . . . . . . . . . 50
2.20. Appendix 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.20.1. Page 9 - (2023-06) OCPPCommCtrlr.ActiveNetworkProfile must be of type integer [697] . . . . . . . . . . . . . . . . . . . . . . . 50
2.20.2. Page 10 - (2023-06) SecurityCtrlr.BasicAuthPassword and Identity should have dataType=string [698] . . . . . . . . . . . 50
2.21. Appendix 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.21.1. Page 36 - (2023-12) ReasonCodes MissingDeviceModelInfo and InvalidMessageSequence exceed 20 chars [720] . 50
3. Part 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4. Part 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.1. Page 8 - (2023-12) - section 3.1.2. No OCPP version in endpoint URL [732]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.2. Page 10 - (2023-12) - Section 4.1.4. The message ID must be unique [702] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.3. Page 10 - (2024-02) 4.1.4 The message ID [738] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5. Part 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.1. Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.1.1. Page 7 - (2024-02) - Optional feature list for charging station - C-43 - incorrect variable reference at description . . . . 55
5.1.2. Page 7 - (2024-04) - Optional feature list for charging station - C-43 - description extended . . . . . . . . . . . . . . . . . . . . . . 55
5.2. List of test cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.2.1. Page 11 - (2023-12) - TC_B_08_CS should not be tested . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.2.2. Page 13 - (2023-12) - TC_B_50_CS - Testcase not only applicable for AdditionalRootCertificateCheck = true . . . . . . . 55
5.2.3. Page 13-23 - (2023-12) - A number of test cases cannot be run for a Charging Station that only supports
NoAuthorization as a local authorization option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.2.4. Page 19 - (2023-12) - TC_E_20_CS Improved condition / remark and aligned the conditions at feature no. . . . . . . . . . 58
5.2.5. Page 20 - (2023-12) - TC_E_54_CS Improved condition / remark and aligned the conditions at feature no. . . . . . . . . . 59
5.2.6. Page 21 - (2023-12) - TC_E_39_CS - Testcase not only applicable for TxStopPoint Authorized . . . . . . . . . . . . . . . . . . . 60
5.2.7. Page 22 - (2024-02) - TC_E_31_CS - Changed mandatory testcase to conditional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.2.8. Page 24 - (2023-12) - TC_F_04_CS should only be applicable when TxStartPoint Authorized or
ParkingBayOccupancy are supported. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.2.9. Page 24 - (2024-02) - TC_F_04_CS - condition needs to be kept inline with TC_E_05_CS . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.2.10. Page 28 - (2024-04) - TC_L_14_CS and TC_L_15_CS - name changed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.2.11. Page 29 - (2024-02) - TC_M_23_CS - testcase is mandatory for Advanced Security, not for Core. . . . . . . . . . . . . . . . . 63
5.2.12. Page 32 - (2024-04) - Added testcase list for the other certification profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
6. Part 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.1. Test Cases Charging Station . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.1.1. Page 3 - (2023-12) - General tool rules/validations - Added information for idToken type NoAuthorization. . . . . . . . . . 65
6.1.2. Page 24 - (2024-04) - TC_A_22_CS - Fixed wrong description of test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.1.3. Page 30 - (2023-12) - TC_B_30_CS - Removed prerequisite and added note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.1.4. Page 36 - (2023-12) - TC_B_08_CS - Removed testcase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.1.5. Page 42 - (2023-12) - TC_B_11_CS - Changed hardcoded values for integer and decimal to configurable values . . . . 66
6.1.6. Page 50 - (2023-12) - TC_B_21_CS - Removed requirement reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
6.1.7. Page 56 - (2023-12) - TC_B_41_CS - Typo step reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
6.1.8. Page 59 - (2023-12) - TC_B_26_CS - Removed rebooting step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
6.1.9. Page 64/66 - (2023-12) - TC_B_45_CS & TC_B_46_CS - Testcase has been made more robust for Charging
Stations that do not automatically reboot.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
6.1.10. Page 68-72 - (2023-12) - TC_B_45_CS-TC_B_50_CS - Resolved testcase inconsistency regarding used
configuration slots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
6.1.11. Page 72 - (2023-12) - TC_B_50_CS - Testcase not only applicable for AdditionalRootCertificateCheck = true . . . . . . 68
6.1.12. Page 72 - (2024-02) - TC_B_50_CS - This testcase requires that the Charging Station is connected with security
profile 2 or 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
6.1.13. Page 77 - (2023-12) - TC_B_53_CS - Removed Component / variable list. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
6.1.14. Page 84 - (2024-04) - Local Stop Transaction - Different idToken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
6.1.15. Page 82-99 - (2023-12) - TC_C_02_CS-TC_C_57_CS - A number of test cases cannot be run for a Charging Station
that only supports NoAuthorization as a local authorization option. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
6.1.16. Page 93 - (2023-12) - TC_C_15_CS - Improvements based on experience from additional testing . . . . . . . . . . . . . . . . 70
6.1.17. Page 101 - (2023-12) - TC_C_33_CS - Fixed broken table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.1.18. Page 104 - (2023-12) - TC_C_37_CS - Editorial issue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.1.19. Page 87-97 and 168/169/170 - TC_E_43_CS/TC_E_44_CS/TC_E_45_CS and Caching test cases - When a
Charging Station supports ISO 15118 these test cases need to be executed using EIM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.1.20. Page 129 - (2024-02) - TC_E_17_CS - Improved note regarding execution of manual action present idToken . . . . . . 72
6.1.21. Page 131 - (2023-12) - TC_E_39_CS - Removed (local) indication on Authorized reusable state. . . . . . . . . . . . . . . . . . 72
6.1.22. Page 131 - (2023-12) - TC_E_39_CS - Made testcase more flexible to handle all TxStart/StopPoint combinations . . 72
6.1.23. Page 140 - (2024-04) - TC_E_37_CS - EVDisconnected and StoppedByEV both allowed . . . . . . . . . . . . . . . . . . . . . . . . 73
6.1.24. Page 143 - (2023-12) - TC_E_14_CS - Explicitly describe it is allowed to omit the stoppedReason in case of Local. . 74
6.1.25. Page 153 - (2024-04) - TC_E_27_CS Update of prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6.1.26. Page 158 - (2023-12) - TC_E_31_CS - Made testcase more robust and flexible regarding local / remote start/stop . 75
6.1.27. Page 158 - (2024-02) - TC_E_31_CS - Updated prerequisite description is confusing. . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.1.28. Page 166/167 - (2023-12) - TC_E_42_CS & TC_E_51_CS - Refined the tool validation of the testcase . . . . . . . . . . . . . 76
6.1.29. Page 174 - (2023-12) - TC_F_04_CS - Missing prerequisite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.1.30. Page 207 - (2023-12) - TC_G_13_CS - Charging Station does not have to report the status of the connector . . . . . . . 76
6.1.31. Page 217/219/223 - (2023-12) - TC_J_01_CS & TC_J_02_CS & TC_J_06_CS - It is currently not possible to send a
NotifyEventRequest instead of a MeterValuesRequest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.1.32. Page 226 - (2024-04) - Context Transaction.Begin used once evseId is known. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.1.33. Page 232-265 - (2023-12) - TC_L_XX_CS - Update testcase structure L group testcases. . . . . . . . . . . . . . . . . . . . . . . . 79
6.1.34. Page 241 - (2023-12) - TC_L_05_CS - Added main step and tool validation for SecurityEventNotification
InvalidFirmwareSigningCertificate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
6.1.35. Page 245 - (2024-02) - TC_L_08_CS - Resolved issues after L test cases rewrite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
6.1.36. Page 259 - (2024-04) - TC_L_14_CS - Updated to support A/B firmware updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
6.1.37. Page 262 - (2024-04) - TC_L_15_CS - Updated to support A/B firmware updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
6.1.38. Page 268 - (2024-04) - TC_M_01_CS - Incorrect note about AdditionalRootCertificateCheck and new CSMSRoot
needs to be installed. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
6.1.39. Page 268-281 - (2023-12) - TC_M_XX_CS - Testcases only applicable when security profile 2 or 3 is supported. . . 141
6.1.40. Page 269/276 - (2023-12) - TC_M_02_CS & TC_M_13_CS & TC_M_17_CS & TC_M_18_CS - Only applicable when
signed firmware update is supported. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
6.1.41. Page 279 - (2024-04) - TC_M_19_CS - Removing MORootCertifiate in preparation phase when needed . . . . . . . . . . 142
6.1.42. Page 282 - (2023-12) - TC_M_23_CS - Testcase only applicable when security profile 3 is supported. . . . . . . . . . . . 142
6.1.43. Page 284 - (2023-12) - TC_N_26_CS - Require a minimal size for the configured retry interval, based on the
upload speed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
6.1.44. Page 293 - (2023-12) - TC_N_36_CS - Missing prerequisite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
6.1.45. Page 292/293 - (2023-12) - TC_N_35_CS & TC_N_36_CS - Invalid prerequisite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
6.1.46. Page 308 - (2023-12) - Reusable State: EnergyTransferSuspended - Increased flexibility to support Charging
Stations with high level communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
6.2. Test Cases Charging Station Management System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
6.2.1. Page 380 - (2023-12) - TC_E_39_CSMS - Missing requirement reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
6.2.2. Page 384 - (2023-12) - TC_E_21_CSMS - Missing requirement reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
6.2.3. Page 400 - (2023-12) - TC_E_31_CSMS - Added missing StatusNotification steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
6.2.4. Page 407 - (2023-12) - TC_F_04_CSMS - Missing requirement reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
6.2.5. Page 447 - (2023-12) - TC_L_05_CSMS - Added missing SecurityEventNotification steps. . . . . . . . . . . . . . . . . . . . . . . 144
6.2.6. Page 448 - (2023-12) - TC_L_06_CSMS - Added missing SecurityEventNotification steps. . . . . . . . . . . . . . . . . . . . . . . 144
6.2.7. Page 473 - (2023-12) - TC_E_32_CSMS - Added missing NotifyCustomerInformation steps. . . . . . . . . . . . . . . . . . . . . 145
6.2.8. Page General - (2024-04) - Added testcase list for the other certification profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Disclaimer
Copyright © 2010 – 2024 Open Charge Alliance. All rights reserved.
This document is made available under the *Creative Commons Attribution-NoDerivatives 4.0 International Public License*
(https://creativecommons.org/licenses/by-nd/4.0/legalcode).
Version History
2024-02 2024-02-28 Includes new errata for Part 2, Part 4, Part 5 and Part 6 of OCPP 2.0.1.
2023-12 2023-12-18 Includes new errata for Part 1, Part 2, Part 4, Part 5 and Part 6 of
OCPP 2.0.1
OCPP 2.0.1 - © Open Charge Alliance 2024 1/145 Edition 2 - Errata 2024-04
Scope
This document contains errata on the OCPP 2.0.1 documentation. These errata have to be read as an addition to the release of
OCPP 2.0.1 Edition 2.
The errata do not affect any schemas of OCPP messages. Certain errata do contain changes to requirements or even new
requirements, but only in cases where a requirement contains an obvious error and would not or could not be implemented literally.
New requirements are only added when they were already implicitly there. These changes have been discussed in or were proposed
by the Technology Working Group of the Open Charge Alliance.
The appendices of the OCPP specification can be updated without requiring a new OCPP release. This mainly concerns the
components and variables of the OCPP device model, which can be extended with new components or variables, as long as they
are optional.
The errata entries are sorted by page number of the affected section of the specification document. When an errata entry affects
multiple parts of the specification, then the various changes are grouped together with subsections referring to the pages affected
by those changes.
This is version 2024-04 of the errata. The errata of this version are marked with "(2024-04)" in the section title.
Where possible the issue number by which it was reported, is added in square brackets at the end of the section title, e.g. "[349]".
For retrieval of the issue in the issue tracking system prefix the number with "OCPP20M", like "[OCPP20M-349]".
OCPP 2.0.1 - © Open Charge Alliance 2024 2/145 Edition 2 - Errata 2024-04
0. Part 0
Generic
Part 0 was still referring to "OCPP 2.0". This has been updated to refer to "OCPP 2.0.1" throughout the document.
OCPP 2.0.1 - © Open Charge Alliance 2024 3/145 Edition 2 - Errata 2024-04
1. Part 1
1.1. Device Model: Addressing Components and Variables
1.1.1. Page 6 - (2023-12) - section 4.1 Components: Clarification about tiers for
EVSE/Connector components
It was not made explicit in the text, that the EVSE component must be addressed as being part of the EVSE tier. Similarly, a
Connector component must be at the connector tier. This is shown correctly in the tables for "Basic home charging example
configuration" and "Public home charger example configuration", but was not mentioned explicitly.
After this text ChargingStation (TopLevel), EVSE, and Connector represent the three major "tiers" of a Charging Station, and
constitute an implicit "location-based" addressing scheme that is widely used in many OCPP data structures.
Add new text Each "tier" has a component of the same name, which represents the tier. For example, EVSE 1 on a Charging
Station is represented by the component named "EVSE" (no instance name) with "evseId = 1". In the same
manner, Connector 1 on EVSE 1 is represented by the component named "Connector" (no instance name)
with "evseId = 1, connectorId = 1".
Old text GetBaseReport message MUST be implemented and MUST support all 3 ‘ReportBases’.
New text GetBaseReport message MUST be implemented and MUST support ConfigurationInventory and
FullInventory.
OCPP 2.0.1 - © Open Charge Alliance 2024 4/145 Edition 2 - Errata 2024-04
2. Part 2
2.1. General
Primitive Datatypes
The specification mentions the following primitive datatypes:
Primitive Datatypes
Datatype Description
Old AnyType Text, data without specified length or format.
New AnyType Text, Data without specified length or format.
Updated requirement
OCPP 2.0.1 - © Open Charge Alliance 2024 5/145 Edition 2 - Errata 2024-04
New FR.05 There are a few messages that do The Charging Station SHALL acknowledge the The CSMS needs to
not provide their result in the requests in the list below with a response know that a request
response message, but send one message first, before sending the follow-up for requestId = X was
or more messages that contain themessage (shown after the arrow "→") with the accepted, so that it
result. When one of the following can expect result
same requestId as the request:
messages is received: messages for this
GetReport → NotifyReport,
GetReport, GetBaseReport, requestId .
GetMonitoringReport, GetBaseReport → NotifyReport, TriggerMessage does
GetDisplayMessages, GetMonitoringReport → not have a requestId ,
CustomerInformation, NotifyMonitoringReport, but the requirement
GetChargingProfiles, GetLog, still applies in the
GetDisplayMessages →
UpdateFirmware, PublishFirmware, sense that a
TriggerMessage(<message>) NotifyDisplayMessage, TriggerMessageRespo
CustomerInformation → nse must be sent
NotifyCustomerInformation, before the sending the
requested message.
GetChargingProfiles →
ReportChargingProfiles,
GetLog → LogStatusNotification,
UpdateFirmware →
FirmwareStatusNotification,
PublishFirmware →
PublishFirmwareStatusNotification,
TriggerMessage(<message>) → <requested
message>.
Changed requirement
OCPP 2.0.1 - © Open Charge Alliance 2024 6/145 Edition 2 - Errata 2024-04
ID Precondition Requirement definition
Old text A00.FR.419 A00.FR.417 The Charging Station SHALL trigger an InvalidTLSVersion
security event AND terminate the connection (See part 2
AND
appendices for the full list of security events).
The Charging Station detects
that the CSMS only allows
connections using an older
version of TLS, or only allows
SSL
New text A00.FR.419 A00.FR.417 The Charging Station SHALL trigger an InvalidTLSVersion
security event AND terminate the connection (See part 2
AND
The Charging Station detects appendices for the full list of security events).
that the CSMS only allows
connections using an older NOTE: This is a critical security event that will need to be
version of TLS, or only allows queued and sent to CSMS once a connection has been made, as
SSL described in use case A04.
A security event only needs to be sent once for repeated failed
connection attempts, in order to avoid overflow to the offline
queue.
If the Charging Station has a separate ISO15118Ctrlr (SECC in ISO 15118) for each EVSE, then
CSMS will have to send a request for each of them. The device model the Charging Station will tell
if ISO15118Ctrlr is located at toplevel or EVSE-level.
If the Charging Station has multiple SECCs that each control multiple EVSEs, then these are
represented in device model by an ISO15118Ctrlr for each EVSE. The EVSEs that are controlled by
the same SECC report an ISO15118Ctrlr with the same "SeccId".
Actors Charging Station, CSMS, Certificate Authority Server
OCPP 2.0.1 - © Open Charge Alliance 2024 7/145 Edition 2 - Errata 2024-04
No. Type Description
Scenario description SignChargingStationCertificate
1. The CSMS requests the Charging Station to update its certificate using the
TriggerMessageRequest with the requestedMessage field set to SignChargingStationCertificate
(or SignV2GCertificate for separate 15118 certificate).
2. The Charging Station responds with TriggerMessageResponse
3. The Charging Station generates a new public / private key pair.
4. The Charging Station sends a SignCertificateRequest to the CSMS containing the
certificateType = ChargingStationCertificate .
5. The CSMS responds with SignCertificateResponse, with status Accepted.
6. The CSMS forwards the CSR to the Certificate Authority Server.
7. Certificate Authority Server signs the certificate.
8. The Certificate Authority Server returns the Signed Certificate to the CSMS.
9. The CSMS sends CertificateSignedRequest to the Charging Station.
10. The Charging Station verifies the Signed Certificate.
11. The Charging Station responds with CertificateSignedResponse to the CSMS with the status
Accepted or Rejected.
Alternative scenario SignV2GCertificate
2.1. The CSMS requests the Charging Station to update its certificate using the
TriggerMessageRequest with the requestedMessage field set to SignV2GCertificate for a 15118
certificate, and evse set to the EVSE of the ISO15118Ctrlr. (If ISO15118Ctrlr only exists as one
component at toplevel, then evse can be omitted.)
2.2. The Charging Station responds with TriggerMessageResponse
2.3. The Charging Station generates a new public / private key pair.
2.4. The Charging Station sends a SignCertificateRequest to the CSMS containing the
certificateType = V2GCertificate and a csr in which the CommonName (CN) is set to the value
of SeccId.
2.5. CSMS responds with SignCertificateResponse, with status Accepted.
2.6. The CSMS forwards the CSR to the Certificate Authority Server.
2.7. Certificate Authority Server signs the certificate.
2.8. The Certificate Authority Server returns the Signed Certificate to the CSMS.
2.9. The CSMS sends CertificateSignedRequest to the Charging Station.
2.10. The Charging Station verifies the Signed Certificate.
2.11. The Charging Station responds with CertificateSignedResponse to the CSMS with the status
Accepted or Rejected.
5 Prerequisite(s) The standard configuration variable "OrganizationName" MUST be set. For SignV2GCertificate the
variable ISO15118Ctrlr.SeccId must be set.
6 Postcondition(s) Successful postcondition:
New Client Side certificate installed in the Charging Station.
Failure postcondition:
New Client Side certificate is rejected and discarded.
OCPP 2.0.1 - © Open Charge Alliance 2024 8/145 Edition 2 - Errata 2024-04
ID Precondition Requirement definition
Old B03.FR.03 While in the status Rejected. The CSMS SHALL NOT initiate any messages.
New B03.FR.03 When the CSMS has Rejected the The CSMS SHALL NOT initiate any messages.
BootNotificationRequest from the
Charging Station.
Old B03.FR.08 B03.FR.03 Charging Station SHALL respond with RPC Framework:
CALLERROR: SecurityError.
AND
CSMS sends a message that is not a
TriggerMessageRequest(requestedMessa
ge = BootNotification)
New B03.FR.08 B03.FR.03 Charging Station SHALL respond with RPC Framework:
CALLERROR: SecurityError.
AND
CSMS sends a message that is not a
response to a BootNotificationRequest
from Charging Station
Delete requirement
New requirements
OCPP 2.0.1 - © Open Charge Alliance 2024 9/145 Edition 2 - Errata 2024-04
ID Precondition Requirement definition
B08.FR.24 B08.FR.11 AND The Charging Station SHALL report the component(s) with this
When Charging Station receives a component.name for every component.instance field, whilst
GetReportRequest with a component in a taking into account B08.FR.22, B08.FR.23.
componentVariable element that has a value for
component.instance
B08.FR.25 B08.FR.11 AND The Charging Station SHALL report the component(s) with this
When Charging Station receives a component.name for every component.instance field or the
GetReportRequest with a component in a component(s) without component.instance field, whichever is
componentVariable element that has no the case, whilst taking into account B08.FR.22, B08.FR.23.
component.instance field
Delete requirement
New requirements
2.3.4. Page 62 - (2023-06) Use case B09/B10: Extended scenario description [683]
Use case B09 describes the setting of a NetworkConnectionProfile and use case B10 describes how to use
NetworkConnectionProfiles to migrate a Charging Station to a new CSMS. The relationship with the variable
OCPPCommCtrlr.NetworkConfigurationPriority was not made explicit. The use case descriptions have been updated for that.
OCPP 2.0.1 - © Open Charge Alliance 2024 10/145 Edition 2 - Errata 2024-04
No. Type Description
1 Name Setting a new NetworkConnectionProfile.
2 ID B09
Functional block B. Provisioning
3 Objectives To enable the CSMS to update the connection details on the Charging Station.
4 Description The CSMS updates the connection details on the Charging Station. For instance in preparation of
a migration to a new CSMS. After completion of this use case, the Charging Station to CSMS
connection data has been updated.
Actors Charging Station, CSMS
Scenario description A Charging Station supports at least two network configuration slots, that are identified by a
number. The available slot numbers are reported by the Charging Station in the valuesList of
variable NetworkConfigurationPriority.
For example: valuesList = "0,1,2" in the base report tells CSMS that three configuration slots,
numbered 0, 1 and 2, are available (but not necessarily set).
The configuration slot number that is used for the active connection is reported by variable
OCPPCommCtrlr.ActiveNetworkProfile.
This was already implicitly required, or else the use case B09 and B10 would not work. It is now made explicit in the following new
requirements.
New requirements
OCPP 2.0.1 - © Open Charge Alliance 2024 11/145 Edition 2 - Errata 2024-04
No. Type Description
Scenario description A Charging Station supports at least two network configuration slots, that are identified by a
number. The available slot numbers are reported by the Charging Station in the valuesList of
variable NetworkConfigurationPriority.
For example: valuesList = "0,1,2" in the base report tells CSMS that three configuration slots,
numbered 0, 1 and 2, are available (but not necessarily set).
The value of NetworkConfigurationPriority reports the order in which network configurations are
tried to make a connection.
For example: value = "1,0" means that Charging Station will first try configuration slot 1 and if
that fails after the number of attempts configured in NetworkProfileConnectionAttempts, it will
try to connect with configuration slot 0.
2.3.5. Page 65 - (2024-02) Use case B11/12: Reset of EVSE does not cause reboot
of Charging Station [724]
The requirements in B11 and B12 are not clear about the fact that resetting an EVSE does not cause a reboot of the Charging
Station. This is explicitly mentioned in the use case text, but the requirements still use reboot in conjunction with an EVSE.
OCPP 2.0.1 - © Open Charge Alliance 2024 12/145 Edition 2 - Errata 2024-04
CSMS Charging Station
CSO
No transaction is active
ResetRequest(OnIdle | Immediate)
ResetResponse(status)
StatusNotificationResponse()
ResetResponse(status)
StatusNotificationResponse()
reset EVSE
StatusNotificationResponse()
OCPP 2.0.1 - © Open Charge Alliance 2024 13/145 Edition 2 - Errata 2024-04
ID Precondition Requirement definition
New B11.FR.08 B11.FR.01 The Charging Station MAY send a
StatusNotification(Unavailable) for the EVSE and SHALL
AND an evseId parameter is supplied
start a reset of EVSE that is referred to by evseId
AND parameter.
ResetResponse was Accepted.
reset CS
ResetRequest(OnIdle)
ResetResponse(Scheduled)
StatusNotificationResponse(...)
reset CS
ResetRequest(OnIdle, evseId)
ResetResponse(Scheduled)
reset EVSE
StatusNotificationResponse()
OCPP 2.0.1 - © Open Charge Alliance 2024 14/145 Edition 2 - Errata 2024-04
CSMS Charging Station
CSO
reset CS
ResetRequest(Immediate)
ResetResponse(Accepted)
TransactionEventResponse(...)
reset CS
ResetRequest(Immediate, evseId)
ResetResponse(Scheduled)
Terminate transaction,
regardless of TxStopPoint.
TransactionEventResponse(...)
reset EVSE
StatusNotificationResponse()
OCPP 2.0.1 - © Open Charge Alliance 2024 15/145 Edition 2 - Errata 2024-04
ID Precondition Requirement definition
Old B12.FR.07 If an evseId is supplied The transaction on the EVSE SHALL be terminated
normally, before the reboot, as in E06 - Stop Transaction.
AND
If a transaction is in progress on the EVSE
and an OnIdle reset is received.
New B12.FR.07 If an evseId is supplied The transaction on the EVSE SHALL be terminated
normally, before the reset , as in E06 - Stop Transaction.
AND
If a transaction is in progress on the EVSE
and an OnIdle reset is received.
Old B12.FR.08 If an evseId is supplied The Charging Station SHALL attempt to terminate the
transaction in progress on the EVSE and send a
AND
TransactionEventRequest (eventType = Ended) message
If a transaction is in progress on the EVSE
before performing a reboot.
and an Immediate Reset is received.
New B12.FR.08 If an evseId is supplied The Charging Station SHALL attempt to terminate the
transaction in progress on the EVSE and send a
AND
TransactionEventRequest (eventType = Ended) message
If a transaction is in progress on the EVSE
before performing a reset .
and an Immediate Reset is received.
The text in the second paragraph of C1.4 has been improved to explicitly refer to cacheExpiryDateTime (instead of generic
"expiration date").
Old This list contains the authorization status of all (or a selection of) identifiers and the corresponding expiration date.
These values may be used to provide more fine grained information to users (e.g. by display message) during local
authorization.
New This list contains the authorization status of all (or a selection of) identifiers and the corresponding expiration date
in cacheExpiryDateTime . These values may be used to provide more fine-grained information to users (e.g. by
display message) during local authorization.
Requirements have been added that describe which values to use for certificateStatus.
OCPP 2.0.1 - © Open Charge Alliance 2024 16/145 Edition 2 - Errata 2024-04
New requirements
AuthorizeCertificateStatusEnumType
Value Description
Accepted Positive response
SignatureError <not used>
CertificateExpired If the contract certificate in the AuthorizeRequest is expired.
CertificateRevoked If the Charging Station or CSMS determine (via a CRL or OCSP response) that the contract certificate in the
AuthorizeRequest is marked as revoked.
NoCertificateAvailab <not used>
le
CertChainError If the contract certificate contained in the AuthorizeRequest message is not valid.
ContractCancelled If the EMAID provided by EVCC is invalid, unknown, expired or blocked.
Deleted requirement
OCPP 2.0.1 - © Open Charge Alliance 2024 17/145 Edition 2 - Errata 2024-04
ID Precondition Requirement definition Note
C10.FR.06 Upon receipt of ReserveNowRequest. The Charging Station SHALL update the The update is to be done
Authorisation Cache entry. with the IdTokenInfo
value from the request as
described under
Authorization Cache.
AuthorizeResponse(idTokenInfo,...)
[for TransactionEventResponse]
TransactionEventRequest(...)
TransactionEventResponse(idTokenInfo,...)
Requirement C10.FR.08 mentions configuration variable AuthCacheLifeTime that limits how long a token may live in the
authorization cache, but cacheExpiryDateTime also determines expiration.
This is now made explicit as a new precondition for C10.FR.08 and a new requirement C10.FR.13.
Changed requirement
New requirement
OCPP 2.0.1 - © Open Charge Alliance 2024 18/145 Edition 2 - Errata 2024-04
ID Precondition Requirement definition Note
C10.FR.13 When IdTokenInfoType contains a The time a token is considered to be present in the This expiry of the cache
value for cacheExpiryDateTime cache is determined by cacheExpiryDateTime. This is not the same as the
variable indicates the date and time after which a expiration date that is set
token expires in the Authorization Cache. for the IdToken (e.g. RFID
card expiry date).
Changed requirement
It is convenient for a CSMS to set cacheExpiryDateTime in Local Authorization List to the contract expiration date of the idToken.
This avoids the need for a CSMS to remove an idToken from Local Authorization List at the exact moment that the contract expires.
LocalAuthListSupportsExpiryDateTime
Required no
Component componentName LocalAuthListCtrlr
Variable variableName SupportsExpiryDateTime
variableAttributes mutability ReadOnly
variableCharacteristics dataType boolean
Description When set to true Charging Station will disregard idTokens for authorization as if not present in the Local
Authorization List when current date/time is past the value of cacheExpiryDateTime.
Note, that cacheExpiryDateTime does not affect the behavior of SendLocalListRequest or GetLocalListRequest
messages.
The following new and updated requirements for C13 and C14 only have an effect when configuration
variable LocalAuthListSupportsExpiryDateTime exists and has value true. For an implementation
IMPORTANT
without LocalAuthListSupportsExpiryDateTime that ignores the value of cacheExpiryDateTime in
Local Authorization List there is no functional change to C13 and C14 at all.
Page 102 - C13 Offline Local Authorization List: added cacheExpiryDateTime requirement
Requirement C13.FR.02 has been updated to reflect expiry date in cacheExpiryDateTime.
OCPP 2.0.1 - © Open Charge Alliance 2024 19/145 Edition 2 - Errata 2024-04
Updated requirements
New C13.FR.04 If configuration variable Any identifier that is present in neither the This means that
OfflineTxForUnknownIdEnab Authorization Cache nor the Local Charging Station does
led is true AND Authorization List SHALL be allowed to not check for
The Charging Station is offline authorize a transaction AND cacheExpiryDateTime .
AND any identifiers that are present in a Local See also C15.FR.08
LocalAuthListSupportsExpi Authorization List that have a status Accepted
ryDateTime does not exist or is SHALL be allowed to authorize a transaction.
false
New requirements
Page 103 - C14 Online Local Authorization List: added cacheExpiryDateTime for
Requirement C14.FR.02 has been updated to reflect expiry date in cacheExpireDateTime. Requirement C14.FR.03 has been
simplified by simply referring to "NOT C14.FR.02".
Updated requirement
OCPP 2.0.1 - © Open Charge Alliance 2024 20/145 Edition 2 - Errata 2024-04
ID Precondition Requirement definition Note
New C14.FR.02 Identifier presented is in the Local The Charging Station SHALL start charging This means that
Authorization List with a status without sending an AuthorizeRequest. Charging Station does
Accepted AND not check for
LocalAuthListSupportsExpi cacheExpiryDateTime .
ryDateTime does not exist or is
false
New requirements
2.5.1. Page 111 - (2024-02) D01 - Send Local Authorization List - Requirements
[745]
Requirement D01.FR.04 incorrectly states that an empty localAuthorizationList can be supplied, but this is not allowed by the JSON
schema.
transactionInfo.chargingState
(E02.FR.13) Whenever the charging state changes, the Charging Station must send a TransactionEventRequest containing
chargingState. This implies that a TransactionEventRequest( eventType = Started ) always has a chargingState , because
OCPP 2.0.1 - © Open Charge Alliance 2024 21/145 Edition 2 - Errata 2024-04
the state goes from non-existent to a value.
If the change of charging state is the only event, then TransactionEventRequest has a triggerReason =
ChargingStateChanged , but if a change in charging state occurs together with other events, such as those represented
by triggerReason CablePluggedIn or (Stop)Authorized , for example, then chargingState can simply be reported as
part of that message.
A TransactionEventRequest with triggerReason = ChargingStateChanged must contain chargingState.
2.6.2. Page 147 - (2023-06) Use case E07 - Scenario description step order
incorrect [704]
The Charging Station must first stop the energy transfer as described by step 4, before transmitting the
TransactionEventRequest(eventType = Ended) message from step 2 and 3.
OCPP 2.0.1 - © Open Charge Alliance 2024 22/145 Edition 2 - Errata 2024-04
No. Type Description
Old text Scenario description 1. The EV Driver presents IdToken a second time to end
TxStopPoint = Authorized (or charging.
PowerPathClosed) 2. The Charging Station sends a TransactionEventRequest
(eventType = Ended) with triggerReason = StopAuthorized
and stoppedReason = Local.
3. The CSMS responds with a TransactionEventResponse.
4. The Charging Station stops the energy transfer and if the
cable is not permanently attached, the Charging Station unlocks
the cable.
New text Scenario description 1. The EV Driver presents IdToken a second time to end
TxStopPoint = Authorized (or charging.
PowerPathClosed) 2. The Charging Station stops the energy transfer and if the
cable is not permanently attached, the Charging Station unlocks
the cable.
3. The Charging Station sends a TransactionEventRequest
(eventType = Ended) with triggerReason = StopAuthorized
and stoppedReason = Local.
4. The CSMS responds with a TransactionEventResponse.
2.6.3. Page 148 - (2023-06) Use case E07: Wrong triggerReason shown in
sequence diagram fig. 56 [687]
The fourth TransactionEventRequest in sequence diagram Figure 56 contains an incorrect triggerReason and should not have an
idToken. Changed to triggerReason = ChargingStateChanged, chargingState = EVConnected.
Figure 56. Sequence Diagram: Transaction locally stopped by IdToken with TransactionEventRequest reported strictly by TxStopPoint
configuration
OCPP 2.0.1 - © Open Charge Alliance 2024 23/145 Edition 2 - Errata 2024-04
Charging Station CSMS
EV Driver
TransactionEventResponse(idTokenInfo.status)
[TxStopPoint = EVConnected OR TxStopPoint = ParkingBayOccupancy OR TxStopPoint = EnergyTransfer]
TransactionEventRequest(eventType = Updated, transactionId = AB1234, seqNo = N + 1, timestamp,
triggerReason = StopAuthorized, idToken.id = 1234)
TransactionEventResponse(idTokenInfo.status)
opt [if cable not permanently attached & (same identification or authorized)]
unlock connector
TransactionEventResponse()
[TxStopPoint = EVConnected OR TxStopPoint = ParkingBayOccupancy]
TransactionEventRequest(eventType = Updated, transactionId = AB1234, seqNo = N + 1, timestamp,
triggerReason = ChargingStateChanged, chargingState = EVConnected)
TransactionEventResponse()
Unplug cable
StatusNotificationRequest(Available)
StatusNotificationResponse()
TransactionEventResponse()
[TxStopPoint = ParkingBayOccupancy]
TransactionEventRequest(eventType = Updated, transactionId = AB1234, seqNo = N + 3, timestamp,
triggerReason = EVCommunicationLost)
TransactionEventResponse()
TransactionEventResponse()
2.6.4. Page 150 - (2023-06) Use case E07: Clarify 'normal' and 'correct' for
stoppedReason [693]
Some requirements in E07 mention "ended in a normal way" and "set to a correct value", but do not explain what normal and correct
is.
OCPP 2.0.1 - © Open Charge Alliance 2024 24/145 Edition 2 - Errata 2024-04
ID Precondition Requirement definition Note
Old text E07.FR.05 If a transaction is ended in a normal The stoppedReason SHOULD be e.g. EV-driver presented
way assumed 'Local'. IdToken to stop the
transaction.
New text E07.FR.05 If a transaction is stopped on request Charging Station SHOULD use a e.g. EV-driver presented
of the EV driver at the Charging stoppedReason = Local in the final IdToken to stop the
Station. TransactionEventRequest with transaction or pressed a
eventType = Ended. "stop" button (not the
emergency stop).
See use case F03 for
remotely stopping.
Old text E07.FR.06 If the transaction is not ended stoppedReason SHOULD be set to a
normally. correct value.
New text E07.FR.06 If a transaction is stopped, but not on Charging Station SHOULD use the Apart from remotely
request of the EV driver at the most appropriate value from stopping (Remote),
Charging Station. ReasonEnumType for stoppedReason CSMS revoking
in the final TransactionEventRequest authorization
with eventType = Ended. (DeAuthorized) or
disconnecting the EV
(EVDisconnected),
most other reasons are
related to technical
faults or energy
limitations.
TransactionType
The precondition has been added for the case where the user ended authorization on the Charging Station and a
TransactionEvent(StopAuthorized) has already been sent for this before the SessionStopReq arrives.
Updated requirement
OCPP 2.0.1 - © Open Charge Alliance 2024 25/145 Edition 2 - Errata 2024-04
ID Precondition Requirement definition
Old E15.FR.04 After receiving a SessionStopReq message from the EV,
the CS SHALL send a TransactionEventRequest message
with eventType = Ended to inform the CSMS that the
charging transaction has been stopped (by the EV).
New E15.FR.04 When TxStopPoint contains Charging Station SHALL send a TransactionEventRequest
"Authorized" or "PowerPathClosed" or message with eventType = Ended and triggerReason =
"EnergyTransfer" AND StopAuthorized and stoppedReason = StoppedByEV
Charging Station has not yet sent a to inform the CSMS that the charging transaction has
TransactionEventRequest with been stopped (by the EV).
triggerReason = StopAuthorized when it
receives a ISO 15118
SessionStopReq(Terminate) message
from the EV
New requirement
Changed requirement
The requirement definition of F06.FR.12 has been relaxed from SHALL to a MAY, so that a Charging Station implementation that is
OCPP 2.0.1 - © Open Charge Alliance 2024 26/145 Edition 2 - Errata 2024-04
able to handle to a request without evse.connectorId and an implementation that rejects this, are both allowed, since a CSMS is not
allowed to send a request without evse_connectorId.
Changed requirement
Updated requirements
OCPP 2.0.1 - © Open Charge Alliance 2024 27/145 Edition 2 - Errata 2024-04
ID Precondition Requirement definition
Old text G01.FR.08 When a connector of an EVSE becomes The Charging Station SHOULD NOT send a
reserved or a cable is plugged-in AND StatusNotificationRequest for the other connector(s),
The EVSE has multiple connectors even though they are no longer usable.
New text G01.FR.08 When a cable is plugged in to a connector The Charging Station SHOULD NOT send a
of an EVSE AND StatusNotificationRequest for the other connector(s),
The EVSE has multiple connectors even though they are no longer usable.
Sending a StatusNotificationRequest is only required for changes in Connector status, as is mentioned in Note 2 under the table.
This has been added to the precondition of G03.FR.04 for completeness.
Updated requirements
G03 - Requirements
Changed requirements
OCPP 2.0.1 - © Open Charge Alliance 2024 28/145 Edition 2 - Errata 2024-04
ID Precondition Requirement definition Note
Old text H01.FR.23 If the Charging Station receives a The Charging Station SHALL respond with a If an EVSE is reserved,
ReserveNowRequest for evseId ReserveNowResponse with status Accepted all of its connectors
AND this EVSE is Available AND SHALL send a StatusNotificationRequest are reported as
with connectorStatus = Reserved for all reserved.
connectors of the EVSE.
New text H01.FR.23 If the Charging Station receives a The Charging Station SHALL respond with a If an EVSE is reserved,
ReserveNowRequest for evseId ReserveNowResponse with status Accepted all of its connectors
AND this EVSE is Available AND SHALL send for all connectors of the are reported as
EVSE: reserved.
- a StatusNotificationRequest with
connectorStatus = Reserved, OR
- a NotifyEventRequest with component =
"Connector", variable = "AvailabilityState",
trigger = "Delta", actualValue = "Reserved"
Old text H01.FR.24 H01.FR.06 The Charging Station SHALL send a If an EVSE is reserved
StatusNotificationRequest with for a specific
AND
connectorStatus = Reserved for all connectorType, all
amount of reservations for a
connectors of the EVSEs with the specific connectors on the
specific connectorType equals the
connectorType. EVSE are reported as
amount of available EVSEs with
reserved.
that specific connectorType
New text H01.FR.24 H01.FR.06 The Charging Station SHALL send for all If an EVSE is reserved
connectors of the EVSEs that have the for a specific
AND
specific connectorType connectorType, all
amount of reservations for a
- a StatusNotificationRequest with connectors on the
specific connectorType equals the
EVSE are reported as
amount of available EVSEs with connectorStatus = Reserved, OR
reserved.
that specific connectorType - a NotifyEventRequest with component =
"Connector", variable = "AvailabilityState",
trigger = "Delta", actualValue = "Reserved"
Page 203 - (2023-06) Added option to use case description to send NotifyEventRequests
Use case H01 scenario S2 only mentions StatusNotificationRequests, but the use of NotifyEventRequests is also allowed. This has
been added in bold, similarly to how this was done in use case G01 StatusNotification.
OCPP 2.0.1 - © Open Charge Alliance 2024 29/145 Edition 2 - Errata 2024-04
2.9.2. Page 209 - (2023-06) Remark about authorization in use case H03 [711]
Use case H01 has a remark that says: "It is RECOMMENDED to validate the Identifier with an AuthorizeRequest after reception of
ReserveNowRequest and before the start of the transaction." Use case H03 about using a reservation does not have a
recommendation to validate before starting the transaction.
In order to be consistent with H01, this has been added to the remark of H03, as shown in bold:
The requirements H03.FR.07 and H03.FR.08 exist to make clear, that for a reserved EVSE or connector a lookup or authorize
request for idToken is needed when a groupIdToken is involved.
Changed requirement
New text H03.FR.08 H03.FR.07 AND The Charging Station SHALL send an AuthorizeRequest
If the incoming IdToken is not found in the for the incoming IdToken to the CSMS in order to get its
Local Authorization List or Authorization associated groupIdToken.
Cache. (Note: This AuthorizeRequest may already have been
performed when the idToken was presented for
authorization.)
2.9.4. Page 210 - (2023-12) Transaction can start even when connector is
Reserved [735]
It is not sufficiently clear from use case H03 that a transaction on a reserved connector will be started at the time of cable plug-in
or occupancy of parking bay when TxStartPoint is EVConnected or ParkingBayOccupancy. However, only the IdToken (or
groupIdToken) that matches the reservation can be authorized. Non-reserved IdTokens will therefore not be able to charge.
OCPP 2.0.1 - © Open Charge Alliance 2024 30/145 Edition 2 - Errata 2024-04
ID Precondition Requirement definition Note
G03.FR.09 The connector is Reserved when an Connector status SHALL not change. Connector stays
EV is connecting AND reserved until IdToken
EV driver has not presented an matching reservation is
IdToken matching the reservation presented or reservation
expires.
2.10.1. Page 224 - (2024-04) 2.2. Clock-Aligned Meter Values: additional note
[746]
At the end of section 2.2 add the following note:
Clock-aligned meter values for an EVSE that is involved in a transaction MAY be transmitted in
NOTE
TransactionEventRequests with context = Sample.Clock instead of in MeterValuesRequests.
2.10.2. Page 225 - (2024-04) New section: 2.5 Configuration Examples [746]
Below are a few examples of configurations for transaction-related measurands:
Changed requirement
OCPP 2.0.1 - © Open Charge Alliance 2024 31/145 Edition 2 - Errata 2024-04
ID Precondition Requirement definition Note
Old J01.FR.14 When configured to send The Charging Station SHALL send It is allowed to report
MeterValuesRequest, See: Meter MeterValuesRequest messages to the CSMS the measurands for
Values - Configuration as configured in Meter Values - Configuration, EVSEs with an ongoing
for all evseIds, locations and phases for which transaction using the
a configured measurand is supported. TransactionEventRequ
est message.
It is possible that
certain measurands
are not available for
every location. For
example, evseId = 0
(grid meter) will not
have a
"Current.Offered" or
"SoC" measurand.
New J01.FR.14 When AlignedDataCtrlr.Interval > 0 The Charging Station SHALL send a It is possible that
AND MeterValuesRequest message to the CSMS certain measurands
EVSE for which measurands are for the measurands in are not available for
sent, is not involved in a AlignedDataCtrlr.Measurands at every every location. For
transaction AlignedDataCtrlr.Interval for all evseIds , example, evseId = 0
locations and phases for which a configured (grid meter) will not
measurand is supported. have a
"Current.Offered" or
"SoC" measurand.
See also J01.FR.22
A new requirement has been added to make clear that meter values for an EVSE that is involved in a transaction can also be sent in
a TransactionEventRequest.
New requirement
2.10.4. Page 228 - (2023-06) Requirement J01.FR.14 is unclear that meter values
for all EVSEs must be sent [674]
J01 is not clear about the fact that MeterValuesRequest for clock-aligned data always need to be sent for all locations, including
the grid energy meter, which is designated by evseId = 0. It is stated in the text in par. 2.3: "When a Charging Station can measure
the same measurand on multiple locations or phases, all possible locations and/or phases SHALL be reported when configured in
one of the relevant Configuration Variables." The requirement J01.FR.14 has been extended to refer to all possible locations and
phases.
Changed requirement
OCPP 2.0.1 - © Open Charge Alliance 2024 32/145 Edition 2 - Errata 2024-04
ID Precondition Requirement definition Note
New text J01.FR.14 When configured to The Charging Station SHALL send It is allowed to report the
send MeterValuesRequest messages to the CSMS measurands for EVSEs with an
MeterValuesRequest, as configured in Meter Values - Configuration, ongoing transaction using the
See: Meter Values - for all evseIds, locations and phases for which TransactionEventRequest
Configuration a configured measurand is supported. message.
It is possible that certain
measurands are not available for
every location. For example,
evseId = 0 (grid meter) will not
have a "Current.Offered" or "SoC"
measurand.
This was the intention of J02.FR.10 with the phrase "belong to the timestamp in the message", but it could also be interpreted as
requiring identical timestamps. Also, it forgot to mention that it only applies to Started and Updated events, since an Ended event
can contain metervalues for multiple timestamps.
Changed requirement
OCPP 2.0.1 - © Open Charge Alliance 2024 33/145 Edition 2 - Errata 2024-04
ID Precondition Requirement definition Note
New J02.FR.11 When The Charging Station SHALL send a See E01 for sending of
SampledDataTxUpdatedInter TransactionEventRequest(eventType = SampledDataCtrlr.TxSt
val > 0 Updated with triggerReason = artedMeasurands and
MeterValuePeriodic with the measurands E06 for
configured in SampledDataCtrlr.TxE
SampledDataCtrlr.TxUpdatedMeasurands in ndedMeasurands.
the meterValue field at every
SampledDataCtrlr.TxUpdatedInterval.
2.10.7. Page 231 - (2023-06) J01 misses requirement that meter value must be for
current transaction [673]
It is perhaps obvious, but not stated anywhere. Transaction-related meter values reported in the TransactionEventRequest must
only report the measurand(s) associated with the evse of the TransactionEventRequest.
New requirement
2.11.1. Page 238 - (2023-06) Text in section 3.3 does not match
ChargingProfileKindEnumType description [708]
The description of the ChargingProfileKindEnumType Relative was updated in Edition 2 to be more exact. This update was
unfortunately not performed in section 3.3 Charging Profile Recurrency that introduces the charging profile kinds.
ChargingProfile Description
Kind
Old text Relative Charging schedule periods start when ChargingProfile is activated. In most cases this will
be at start of the power delivery. When a ChargingProfile is received for a transaction in
progress, then it should activate immediately. No value for startSchedule should be
supplied.
New text Relative Charging schedule periods should start when the EVSE is ready to deliver energy. i.e.
when the EV driver is authorized and the EV is connected. When a ChargingProfile is
received for a transaction that is already charging, then the charging schedule periods
should remain relative to the PowerPathClosed moment.
No value for startSchedule should be supplied.
OCPP 2.0.1 - © Open Charge Alliance 2024 34/145 Edition 2 - Errata 2024-04
2.11.3. Page 274 - (2024-02) Transactions for ISO15118 do not support
TxStartPoints EnergyTransfer/DataSigned [763]
With ISO15118 a charging profile is exchanged before energy transfer. This is a TxProfile (K15.FR.07) and therefore a transaction
must already exist before energy transfer is signed.
As a result TxStartPoints EnergyTransfer and DataSigned cannot be supported. The prerequisite of use cases K15 needs to be
updated for this.
Old 7 Prerequisites Both the Charging Station and the EV support ISO 15118.
New 7 Prerequisites Both the Charging Station and the EV support ISO 15118. The configured TxStartPoint
needs to contain at least one of ParkingBayOccupied, EVConnected, Authorized or
PowerPathClosed, such that the OCPP transaction is started before
ChargeParameterDiscoverReq is sent by EV, such that CSMS can send a TxProfile charging
profile.
2.12.2. Page 288 - (2024-02) L01 InstallScheduled when waiting for transaction
[729]
Requirement L01.FR.16 states that a FirmwareStatusNotificationRequest with status = InstallScheduled must be sent when
installDateTime is set to a time in the future. The option is missing, however, to send a InstallScheduled status when waiting
with installation until a transaction has finished, wheresas a simlar situation for DownloadScheduled when waiting until a
transaction has finished is explicitly mentioned in L01.FR.13.
A new "MAY" requirement has been added to allow sending an InstallScheduled status in such a case.
OCPP 2.0.1 - © Open Charge Alliance 2024 35/145 Edition 2 - Errata 2024-04
ID Precondition Requirement definition Note
L01.FR.34 L01.FR.04 AND The Charging Station MAY send a The case where
FirmwareStatusNotificationRequest with status installDateTime is set is
installDateTime is not set AND
InstallScheduled. covered by L01.FR.16.
Charging Station is waiting for a
transaction to finish
2.12.3. Page 292 - (2024-02) L02 InstallScheduled when waiting for transaction
[729]
This is a similar change in L02 as in Page 288 - (2024-02) L01 InstallScheduled when waiting for transaction [729] for the same
reason.
A new "MAY" requirement has been added to allow sending an InstallScheduled status when waiting for a transaction to finsh.
2.12.4. Page 288/292 - (2024-02) Add support for A/B firmware updates
Certain types of Charging Stations support downloading and installing the new firmware while transactions are still ongoing, but
need to wait for the transactions to end before activating the firmware by an automatic reboot.
A new requirement has been added for use case L01 and L02.
New requirements
OCPP 2.0.1 - © Open Charge Alliance 2024 36/145 Edition 2 - Errata 2024-04
ID Precondition Requirement definition Note
Old text L01.FR.06 L01.FR.05 The Charging Station SHALL wait until all
transactions have ended, before commencing
AND
installation.
The Charging Station has ongoing
transactions
AND
When it is not possible to continue
charging during installation of
firmware
New text L01.FR.06 L01.FR.05 The Charging Station SHALL wait until all
transactions have ended, before commencing
AND
installation.
The Charging Station has ongoing
transactions
AND
When it is not possible to start
installation of firmware while a
transaction is ongoing
Old text L02.FR.03 L02.FR.02 The Charging Station SHALL wait until all
transactions have ended, before commencing
AND
installation.
The Charging Station has ongoing
transactions
AND
When it is not possible to continue
charging during installation of
firmware
New text L02.FR.03 L02.FR.02 The Charging Station SHALL wait until all
transactions have ended, before commencing
AND
installation.
The Charging Station has ongoing
transactions
AND
When it is not possible to start
installation of firmware while a
transaction is ongoing
OCPP 2.0.1 - © Open Charge Alliance 2024 37/145 Edition 2 - Errata 2024-04
Updated requirement definition
Requirement L02.FR.21 was previously updated, but matching requirement L01.FR.32 was forgotten. Requirement L01.FR.32 is
now updated with a better description and L02.FR.21 is updated to match this description.
OCPP 2.0.1 - © Open Charge Alliance 2024 38/145 Edition 2 - Errata 2024-04
2.12.5. Page 289 - (2024-02) Allow DownloadFailed/InstallationFailed when
AcceptedCanceled [733]
When a firmware update is overruled by a new FirmwareUpdateRequest it is allowed (but not required) to report a
FirmwareStatusNotification(DownloadFailed/InstallationFailed) (depending on where it was in its update process) for the
firmware update that has now been canceled.
2.14.1. Page 317 - (2023-06) N01.FR.10 not clear when to report UploadFailure
[696]
Requirement N01.FR.10 does not make clear whether the LogStatusNotification about failure to upload should be sent after all retry
attempts or at each failure. Both options are allowed, but it is recommended to do this after all retry attempts have failed. This has
been added to the note.
OCPP 2.0.1 - © Open Charge Alliance 2024 39/145 Edition 2 - Errata 2024-04
ID Precondition Requirement definition Note
Old text N01.FR.10 When uploading a log document The Charging Station SHALL send a It is RECOMMENDED
failed LogStatusNotificationRequest with status to send a status that
UploadFailure, BadMessage, PermissionDenied describes the reason
OR NotSupportedOperation. of failure as precise as
possible.
New text N01.FR.10 When uploading a log document The Charging Station SHALL send a It is RECOMMENDED
failed LogStatusNotificationRequest with status to send the status only
UploadFailure, BadMessage, after all retry attempts
PermissionDenied OR have failed.
NotSupportedOperation. A Charging Station
MAY send a new
Uploading status
upon each retry
attempt.
2.14.2. Page 331 - (2023-06) Requirement N09.FR.04 has been rephrased [688]
Requirement N09.FR.04 for CSMS states that a reference to a customer by either idToken, customerCertificate or customerIdentifier
is needed, but it does not tell what to do if that is not obeyed.
A new requirement has been added for Charging Station for this case.
New requirement
2.15. Messages
The field certificate contains the entire contract certificate chain. It is only needed in case of central contract validation, where
Charging Station cannot locally validate the contract certificate, e.g. because it is lacking the root certificate. If certificate is
provided, it is no longer needed to provide iso15118CertificateHashData.
AuthorizeRequest
Field Name Field Type Card. Description
certificate string[0..5500] 0..1 Optional. The X.509 certificate chain presented by EV and
encoded in PEM format. Order of certificates in chain is
from leaf up to (but excluding) root certificate. Only
needed in case of central contract validation when
Charging Station cannot validate the contract certificate.
idToken IdTokenType 1..1 Required. This contains the identifier that needs to be
authorized.
OCPP 2.0.1 - © Open Charge Alliance 2024 40/145 Edition 2 - Errata 2024-04
Field Name Field Type Card. Description
iso15118CertificateHashDat OCSPRequestDataType 0..4 Optional. Contains the information needed to verify the
a EV Contract Certificate via OCSP. Not needed if
certificate is provided.
CertificateHashDataType
OCPP 2.0.1 - © Open Charge Alliance 2024 41/145 Edition 2 - Errata 2024-04
2.16.2. Page 387 - (2024-02) 2.10 Description of chargingSchedule [743]
Multiple schedules are only allowed for TxProfile charging profile in the context of an ISO 15118 session. However, if one is not
implementing ISO 15118 support in OCPP (use cases K15-17) this fact may be missed. The description of chargingSchedule has
been updated to state that multiple schedules are only for TxProfile in an ISO 15118 charging session.
ChargingProfileType
2.16.3. Page 392 - (2024-02) EventDataType minor update of field trigger [740]
The description of field trigger refers to type of monitor that triggered this event, but it can also be from a hardwired notification.
Mention of monitor has been removed.
EventDataType
EventTriggerEnumType
Value Description
Old Alerting Monitored variable has passed an Lower or Upper Threshold
New Alerting Monitored variable has passed a Lower or Upper Threshold.
Also used as trigger type for a HardWiredNotification .
…
• The field ocppVersion has no use, because the selection of the OCPP version that a charging station will use, is done during
the websocket handshake. It is not determined by the NetworkConnectionProfile.
OCPP 2.0.1 - © Open Charge Alliance 2024 42/145 Edition 2 - Errata 2024-04
• The field ocppInterface is mandatory, but in most cases a CSMS will not even be aware of which interfaces a charging
station supports or should use to connect. It is a mandatory field, so CSMS must provide something, but that might not
match with the capability of the charging station. To remedy this, a charging station is allowed to use a different interface if
it cannot connect via the given ocppInterface.
The descriptions of these fields have been updated with text in bold to make this clear.
OCPP 2.0.1 - © Open Charge Alliance 2024 43/145 Edition 2 - Errata 2024-04
Field Name Field Type Card. Description
New valuesList string[0..1000] 0..1 Optional. Mandatory when dataType =
OptionList/MemberList/SequenceList. valuesList specifies
the allowed values for the type.
2.17. Enumerations
Value Description
MacAddress The MacAddress of the EVCC (Electric Vehicle Communication Controller) that is connected to the EVSE.
This is used as a token type when the MAC address is used for authorization ("Autocharge").
RecurrencyKindEnumType
Value Description
Old Daily The schedule restarts at the beginning of the next day.
New Daily The schedule restarts every 24 hours, at the same time as in the startSchedule .
OCPP 2.0.1 - © Open Charge Alliance 2024 44/145 Edition 2 - Errata 2024-04
Value Description
Old Weekly The schedule restarts at the beginning of the next week (defined as Monday morning)
New Weekly The schedule restarts every 7 days, at the same time and day-of-the-week as in the startSchedule .
2.18.1. Page 436 - (2023-12) Incorrectly referencing unit = "seconds" instead of "s"
[726]
There are a number of variables that have "unit = seconds", because it refers to an interval or timeout in seconds. The official unit
for seconds, however, is "s" as is stated in Appendix 2 "Standardized Units of Measure". Since this may be confusing, the field unit
must be changed in to "s" for all these variables.
• DefaultMessageTimeout
• HeartbeatInterval
• OfflineThreshold
• MessageAttemptIntervalTransactionEvent
• WebSocketPingInterval
• TimeAdjustmentReportingThreshold
• CertSigningWaitMinimum
• AuthCacheLifeTime
• EVConnectionTimeout
• SampledDataTxEndedInterval
• SampledDataTxUpdatedInterval
• AlignedDataInterval
• AlignedDataTxEndedInterval
The field "unit" is only for information to CSMS. The description of the variables already makes clear that it is
NOTE
about seconds.
NOTE WebSocket-related variables are described in "OCPP-2.0.1 Part 4 JSON over WebSockets".
OCPP 2.0.1 - © Open Charge Alliance 2024 45/145 Edition 2 - Errata 2024-04
Replace the descriptions of BasicAuthPassword and Identity by the updated text below. This change has also been made in
Part 2 Appendix chapter 3 "Standardized Components".
Updated dataType:
(change shown in bold italic)
BasicAuthPassword
The basic authentication password is used for HTTP Basic Authentication. The configuration value is write-only, so that it cannot be
accidentally stored in plaintext by the CSMS when it reads out all configuration values.
Required no
Component componentName SecurityCtrlr
Variable variableName BasicAuthPassword
variableAttributes mutability WriteOnly
variableCharacteristics dataType string
maxLimit 40 (Max length of the BasicAuthPassword)
Description The basic authentication password is used for HTTP Basic Authentication. The password SHALL be a randomly
chosen passwordString with a sufficiently high entropy, consisting of minimum 16 and maximum 40 characters
(alphanumeric characters and the special characters allowed by passwordString). The password SHALL be sent
as a UTF-8 encoded string (NOT encoded into octet string or base64). This configuration variable is write-only, so
that it cannot be accidentally stored in plaintext by the CSMS when it reads out all configuration variables.
This configuration variable is required unless only "security profile 3 - TLS with client side certificates" is
implemented.
Updated dataType:
(change shown in bold italic)
Identity
Required no
Component componentName SecurityCtrlr
Variable variableName Identity
variableAttributes mutability ReadOnly or ReadWrite
variableCharacteristics dataType string
maxLimit 48 (Charging Station Identity)
Description The Charging Station identity. Identity is an identifierString, however because this value is also used as the basic
authentication username, the colon character ':' SHALL not be used.
Maximum length was chosen to ensure compatibility with EVSE ID from [EMI3-BO] "Part 2: business objects".
DisableRemoteAuthorization
Required no
Component componentName AuthCtrlr
Variable variableName DisableRemoteAuthorization
variableAttributes mutability ReadWrite
variableCharacteristics dataType boolean
Old When set to true this instructs the Charging Station to not issue any AuthorizationRequests, but only use
Description Authorization Cache and Local Authorization List to determine validity of idTokens.
Note: The difference with DisablePostAuthorize is that this variable disables all authorization with CSMS,
whereas DisablePostAuthorize only disables re-authorization of tokens that are as not-Accepted in the
Authorization Cache or Local Authorization List.
OCPP 2.0.1 - © Open Charge Alliance 2024 46/145 Edition 2 - Errata 2024-04
New When set to true this instructs the Charging Station to not issue any AuthorizationRequests, but only use
Description Authorization Cache and Local Authorization List to determine validity of idTokens.
The description of these TxStopPoints has been enhanced to make this clear.
Value Description
Authorized Driver or EV is no longer authorized, this can also be some form of
anonymous authorization like a start button. The end of
authorization will cause the Charging Station to stop the energy
transfer, after which the TransactionEventRequest with eventType
= Ended will be transmitted.
PowerPathClosed All preconditions for charging are no longer met. This event is the
logical OR of EVConnected and Authorized and should be used
if a transaction is supposed to end when EV is disconnected and/or
deauthorized. This will cause the Charging Station to stop the
energy transfer, after which the TransactionEventRequest with
eventType = Ended will be transmitted. It is exactly the same as
having the values EVConnected, Authorized in TxStopPoint.
Despite its name, this event is not related to the state of the power
relay.
SampledDataTxEndedMeasurands
The highlighted text is added to the description to clarify that the end value must also be included as a sampled value.
Required yes
Component componentName SampledDataCtrlr
Variable variableName TxEndedMeasurands
variableAttributes mutability ReadWrite
variableCharacteristics dataType MemberList
maxLimit The maximum length of the CSV formatted string, to
be defined by the implementer.
Description Sampled measurands to be included in the meterValues element of TransactionEventRequest (eventType =
Ended), every SampledDataTxEndedInterval seconds from the start of the transaction until and including the
last measurands at the end of the transaction .
The Charging Station reports the list of supported Measurands in VariableCharacteristicsType.valuesList of this
variable. This way the CSMS knows which Measurands it can put in the TxEndedSampledData.
When left empty, no sampled measurands SHALL be put into the TransactionEventRequest (eventType = Ended).
SampledDataTxEndedInterval
OCPP 2.0.1 - © Open Charge Alliance 2024 47/145 Edition 2 - Errata 2024-04
Required yes
Component componentName SampledDataCtrlr
Variable variableName TxEndedInterval
variableAttributes mutability ReadWrite
variableCharacteristics unit seconds
dataType integer
Description Interval between sampling of metering (or other) data, intended to be transmitted in the TransactionEventRequest
(eventType = Ended) message. For transaction data (evseId>0), samples are acquired and transmitted only in the
TransactionEventRequest (eventType = Ended) message.
A value of "0" (numeric zero), by convention, is to be interpreted to mean that only the values taken at the start and
end of a transaction SHALL be transmitted (no intermediate values). A TxEndedInterval = 0 is recommended, since
other values may result in a lot of data to be transmitted in the TransactionEventRequest ( eventType = Ended )
message.
2.18.8. AlignedDataMeasurands
Required yes
Component componentName AlignedDataCtrlr
Variable variableName Measurands
variableAttributes mutability ReadWrite
variableCharacteristics dataType MemberList
maxLimit The maximum length of the CSV formatted string, to
be defined by the implementer.
Description Clock-aligned measurand(s) to be included in MeterValuesRequest or TransactionEventRequest , every
AlignedDataInterval seconds. For all the allowed values see: Measurand.
The Charging Station reports the list of supported Measurands in VariableCharacteristicsType.valuesList of this
variable. This way the CSMS knows which Measurands it can put in the AlignedDataMeasurands.
The sentences about accumulating or averaging measurands for clock-aligned readings has been removed (shown as strike-
through), because it is not covered by any requirements and does not make sense for register measurands.
AlignedDataInterval
Required yes
Component componentName AlignedDataCtrlr
Variable variableName Interval
variableAttributes mutability ReadWrite
variableCharacteristics unit seconds
dataType integer
Description Size (in seconds) of the clock-aligned data interval, intended to be transmitted in the MeterValuesRequest or
TransactionEventRequest message. This is the size (in seconds) of the set of evenly spaced aggregation intervals
per day, starting at 00:00:00 (midnight). For example, a value of 900 (15 minutes) indicates that every day should
be broken into 96 15-minute intervals.
When clock aligned data is being transmitted, the interval in question is identified by the start time and (optional)
duration interval value, represented according to the ISO8601 standard. All "per-period" data (e.g. energy readings)
should be accumulated (for "flow" type measurands such as energy), or averaged (for other values) across the
entire interval (or partial interval, at the beginning or end of a transaction), and transmitted (if so enabled) at the
end of each interval, bearing the interval start time timestamp.
A value of "0" (numeric zero), by convention, is to be interpreted to mean that no clock-aligned data should be
transmitted.
OCPP 2.0.1 - © Open Charge Alliance 2024 48/145 Edition 2 - Errata 2024-04
AlignedDataTxEndedInterval
Required yes
Component componentName AlignedDataCtrlr
Variable variableName TxEndedInterval
variableAttributes mutability ReadWrite
variableCharacteristics unit seconds
dataType integer
Description Size (in seconds) of the clock-aligned data interval, intended to be transmitted in the TransactionEventRequest
(eventType = Ended) message. This is the size (in seconds) of the set of evenly spaced aggregation intervals per
day, starting at 00:00:00 (midnight). For example, a value of 900 (15 minutes) indicates that every day should be
broken into 96 15-minute intervals.
When clock aligned data is being collected, the interval in question is identified by the start time and (optional)
duration interval value, represented according to the ISO8601 standard. All "per-period" data (e.g. energy readings)
should be accumulated (for "flow" type measurands such as energy), or averaged (for other values) across the
entire interval (or partial interval, at the beginning or end of a transaction), and All intervals are transmitted (if so
enabled) at the end of the transaction in 1 TransactionEventRequest (eventType = Ended) message.
This is not a recommended practice, since the size of the message can become very large.
ProtocolSupportedByEV
Required no
Component componentName ConnectedEV
evse *
Variable variableName ProtocolSupportedByEV
variableInstance <Priority>
variableAttributes mutability ReadOnly
variableCharacteristics dataType string
Description A string with the following comma-separated items:
“<uri>,<major>,<minor>”.
This is information from the supportedAppProtocolReq message from ISO 15118
Each priority is given its own variable instance. Priority is a number from 1 to 20 as a string. E.g. "1" or "2".
Example:
- ConnectedEV.ProtocolSupportedByEV["1"] = "urn:iso:15118:2:2013:MsgDef,2,0"
- ConnectedEV.ProtocolSupportedByEV["2"] = "urn:iso:15118:2:2010:MsgDef,1,0"
ProtocolAgreed
Required no
Component componentName ConnectedEV
evse *
Variable variableName ProtocolAgreed
variableAttributes mutability ReadOnly
variableCharacteristics dataType string
Description A string with the following comma-separated items:
“<uri>,<major>,<minor>”.
This is the protocol uri and version information that was agreed upon between EV and EVSE in the
supportedAppProtocolReq handshake from ISO 15118.
Example: "urn:iso:15118:2:2013:MsgDef,2,0"
OCPP 2.0.1 - © Open Charge Alliance 2024 49/145 Edition 2 - Errata 2024-04
2.19. Appendix 1
2.20. Appendix 3
OCPPCommCtrlr
Description
Logical Component responsible for configuration relating to information exchange between Charging Station and CSMS.
Variables Type Description
ActiveNetworkProfile integer […]
SecurityCtrlr
Description
Logical Component responsible for configuration relating to security of communications between Charging Station and CSMS.
Variables Type Description
BasicAuthPassword string […]
Identity string […]
2.21. Appendix 5
OCPP 2.0.1 - © Open Charge Alliance 2024 50/145 Edition 2 - Errata 2024-04
Page 276 - Requirement K15.FR.17
ReasonCode InvalidMessageSequence is referenced in K15.FR.17 and needs to be updated.
Changed requirement
OCPP 2.0.1 - © Open Charge Alliance 2024 51/145 Edition 2 - Errata 2024-04
3. Part 3
Currently no new errata for OCPP 2.0.1 part 3.
OCPP 2.0.1 - © Open Charge Alliance 2024 52/145 Edition 2 - Errata 2024-04
4. Part 4
4.1. Page 8 - (2023-12) - section 3.1.2. No OCPP version in endpoint
URL [732]
If websocket protocol negotiotion is to be used, the OCPP version should not be part of the endpoint URL. Therefore, the following
paragraph in section 3.1.2 needs to be changed.
Changed text
The OCPP version(s) MUST be specified in the Sec-Websocket-Protocol field. This SHOULD be one or more of the following
values:
The ones for OCPP 1.2, 1.5, 1.6, 2.0 and 2.0.1 are official WebSocket subprotocol name values. They are registered as such
with IANA.
Note that OCPP 1.2 and 1.5 are in the list. Since the JSON over WebSocket solution is independent of the actual message
content the solution can be used for older OCPP versions as well. Please keep in mind that in these cases the implementation
should preferably also maintain support for the SOAP based solution to be interoperable.
It is considered good practice to include the OCPP version as part of the OCPP-J endpoint URL string. If you run a web service
that can handle multiple protocol versions on the same OCPP-J endpoint URL this is not necessary of course. The OCPP
version should not be part of the OCPP-J endpoint URL string if you want to select the OCPP version to use via the websocket
protocol negotiation mechanism, as explained in Server Response .
Changed text:
The message ID serves to identify a request. A message ID for any CALL message MUST be different from all message IDs
previously used by the same sender for any other CALL message on any WebSocket connection using the same unique
Charging Station identifier. A message ID for a CALLRESULT or CALLERROR message MUST be equal to that of the CALL
message that the CALLRESULT or CALLERROR message is a response to.
OCPP 2.0.1 - © Open Charge Alliance 2024 53/145 Edition 2 - Errata 2024-04
4.3. Page 10 - (2024-02) 4.1.4 The message ID [738]
The text in 4.1.4 did not make explicit that even for retried messages a new message ID must be used. The highlighted sentence
has been added.
The message ID serves to identify a request. A message ID for any CALL message MUST be different from all message IDs
previously used by the same sender for any other CALL messages on the any WebSocket connection using the same unique
Charging Station identifier. This also applies to retries of messages.
A message ID for a CALLRESULT or CALLERROR message MUST be equal to that of the CALL message that the
CALLRESULT or CALLERROR message is a response to.
OCPP 2.0.1 - © Open Charge Alliance 2024 54/145 Edition 2 - Errata 2024-04
5. Part 5
5.1. Features
5.1.1. Page 7 - (2024-02) - Optional feature list for charging station - C-43 - incorrect variable reference at description
See also the next erratum.
5.1.2. Page 7 - (2024-04) - Optional feature list for charging station - C-43 - description extended
Id Feature Charging Station
Old text C-43 Install Firmware with ongoing transaction(s) Optional
New text C-43 Install and activate Firmware with ongoing transaction(s) Optional
OCTT Id OCPP Compliance Testing Tool scenario Conf. Test Conf. test Condition / remark Feature no. Feature
for for CSMS
Charging
Station
Removed TC_B_08 limit to maximum number of values C If the Charging Station supports ORS-5 BytesPerMessageGetVariables
BytesPerMessageGetVariables
5.2.2. Page 13 - (2023-12) - TC_B_50_CS - Testcase not only applicable for AdditionalRootCertificateCheck = true
This test case was conditional for feature AdditionalRootCertificateCheck, however this can always be performed (no relation with AdditionalRootCertificateCheck) Due to the importance of the
functionality, the condition has been removed and the testcase has become mandatory.
OCPP 2.0.1 - © Open Charge Alliance 2024 55/145 Edition 2 - Errata 2024-04
OCTT Id OCPP Compliance Testing Tool scenario Conf. Test Conf. test Condition / remark Feature no. Feature
for for CSMS
Charging
Station
Old text TC_B_50 Success - New CSMS Root - New CSMS C For CS: at least two configuration slots for AS-2 Additional Root Certificate check
networkConnectionProfiles must be
supported
New text TC_B_50 Success - New CSMS Root - New CSMS M For CS: at least two configuration slots for
networkConnectionProfiles must be
supported
5.2.3. Page 13-23 - (2023-12) - A number of test cases cannot be run for a Charging Station that only supports
NoAuthorization as a local authorization option
We found that a number of test cases cannot be run for a Charging Station that only supports NoAuthorization as a local authorization option (and it is not possible with the supported remote
authorization options). Test cases for statuses like Invalid, Authorization Cache, Local Auth. List, GroupId etc. will be dropped for this type of Charging Station implementation.
OCTT Id OCPP Compliance Testing Tool scenario Conf. Test Conf. test Condition / remark Feature no. Feature
for for CSMS
Charging
Station
Old text TC_C_02 Authorization Invalid/Unknown C M Charging Station: (C-30 or C-31 or C-32 Local Authorization - using RFID
- The Charging Station supports at least one or C-35 ) and NOT AQ- ISO14443 / RFID ISO15693 /
of the following local start authorization 2 KeyCode / NoAuthorization and
options C-30, C-31, C-32, C35 Does the Charging Station have a
- The Charging Station does NOT have a cable lock, which prevents the EV
cable lock that prevents the EV driver to driver to connect the EV and
connect the EV and EVSE before EVSE before authorization?
authorization.
New text TC_C_02 Authorization Invalid/Unknown C M Charging Station: (C-30 or C-31 or C-32) Local Authorization - using RFID
- The Charging Station supports at least one and NOT AQ-2 ISO14443 / RFID ISO15693 /
of the following local start authorization KeyCode and
options C-30, C-31, C-32 Does the Charging Station have a
- The Charging Station does NOT have a cable lock, which prevents the EV
cable lock that prevents the EV driver to driver to connect the EV and
connect the EV and EVSE before EVSE before authorization?
authorization.
OCPP 2.0.1 - © Open Charge Alliance 2024 56/145 Edition 2 - Errata 2024-04
OCTT Id OCPP Compliance Testing Tool scenario Conf. Test Conf. test Condition / remark Feature no. Feature
for for CSMS
Charging
Station
Old text TC_C_05 Authorization invalid - Cable lock C For CS: (C-30 or C-31 or C-32 Local Authorization - using RFID
- The Charging Station has a cable lock, or C-35 ) and AQ-2 ISO14443 / RFID ISO15693 /
which prevents the EV driver to connect the KeyCode / NoAuthorization
EV and EVSE before authorization.
- The Charging Station supports at least one
of the following local start authorization
options C-30, C-31, C-32, C35
- The Charging Station does NOT have the
following configuration: TxStartPoint
ReadOnly AND value Authorized is NOT set.
New text TC_C_05 Authorization invalid - Cable lock C For CS: (C-30 or C-31 or C-32) Local Authorization - using RFID
- The Charging Station has a cable lock, and AQ-2 ISO14443 / RFID ISO15693 /
which prevents the EV driver to connect the KeyCode
EV and EVSE before authorization.
- The Charging Station supports at least one
of the following local start authorization
options C-30, C-31, C-32.
- The Charging Station does NOT have the
following configuration: TxStartPoint
ReadOnly AND value Authorized is NOT set.
Old text TC_E_52 DisableRemoteAuthorization C If the Charging Station supports the option C-58
for disabling remote authorization
New text TC_E_52 DisableRemoteAuthorization C If the Charging Station supports the option C-58 and (C-30 or C- Local Authorization - using RFID
for disabling remote authorization and 31 or C-32) and (C-49 ISO14443 / RFID ISO15693 /
The Charging Station supports at least one or Local KeyCode & Authorization Cache
of the following local start authorization Authorization List & Local Authorization List.
Management)
options C-30, C-31, C-32 and
Either Authorization Cache or Local
Authorization List is supported.
Old text TC_E_16 Deauthorized - Invalid idToken C M TxStopPoint can either be ReadOnly with a (C-10.2 or C-10.3) Supported Transaction Stop
subset of the values or have a valueList of and (C-30 - C-35 or Points & Local Authorization
supported values, that contains a subset. ISO 15118 support) options for local start &
This testcase is applicable if the value and C-01 Authorization - eMAID
Authorized or PowerPathClosed is a
supported value.
Charging Station: If one or more of the local
start authorization options is implemented.
AND either a cache, local authorization list
or UnknownIdtag (C15) is implemented.
OCPP 2.0.1 - © Open Charge Alliance 2024 57/145 Edition 2 - Errata 2024-04
OCTT Id OCPP Compliance Testing Tool scenario Conf. Test Conf. test Condition / remark Feature no. Feature
for for CSMS
Charging
Station
New text TC_E_16 Deauthorized - Invalid idToken C M TxStopPoint can either be ReadOnly with a (C-10.2 or C-10.3) Supported Transaction Stop
subset of the values or have a valueList of and (C-30 - C-32 or Points & Local Authorization
supported values, that contains a subset. ISO 15118 support) options for local start &
This testcase is applicable if the value and C-01 Authorization - eMAID
Authorized or PowerPathClosed is a
supported value.
Charging Station: If one or more of the local
start authorization options is implemented.
AND either a cache, local authorization list
or UnknownIdtag (C15) is implemented.
Old text TC_E_43 Transaction during offline period C Charging Station: If one or more of the local C-01 and (C-30 - C-35 Offline transaction support &
start authorization options is implemented. or ISO 15118 Local Authorization options for
support) local start
New text TC_E_43 Transaction during offline period C Charging Station: If offline authorization is (C-01 and (C-30 - C- Offline transaction support &
supported and one or more of the local start 34 or ISO 15118 Local Authorization options for
authorization options is implemented. support)) or C-35 local start or NoAuthorization
Or the Charging Station supports support
NoAuthorization.
Old text TC_E_44 Stop transaction during offline period C Charging Station: If one or more of the local C-01 and (C-30 - C-35 Offline transaction support &
start authorization options is implemented. or ISO 15118 Local Authorization options for
support) local start & Authorization -
eMAID
New text TC_E_44 Stop transaction during offline period C Charging Station: If one or more of the local C-30 - C-35 or ISO Local Authorization options for
start authorization options is implemented. 15118 support local start & Authorization -
eMAID
5.2.4. Page 19 - (2023-12) - TC_E_20_CS Improved condition / remark and aligned the conditions at feature no.
TC_E_20_CS is the equivalent of TC_E_54_CS, that covers the scenario for a Charging Station that supports charging a IEC 61851-1 EV. The condition / remark was still missing this information.
The condition listed at the feature no. column is one of the most complicated ones that exists in part 5. We also noticed that it did not correctly cover the described remarks for all permutations,
so it has been improved.
OCPP 2.0.1 - © Open Charge Alliance 2024 58/145 Edition 2 - Errata 2024-04
OCTT Id OCPP Compliance Testing Tool scenario Conf. Test Conf. test Condition / remark Feature no. Feature
for for CSMS
Charging
Station
Old text TC_E_20 EVDisconnected - EV side (able to charge C M TxStopPoint can either be ReadOnly with a C-10.1 and (C-52 or Supported Transaction Stop
IEC 61851-1 EV) subset of the values or have a valueList of NOT (C-10.2 or C-10.3 points
supported values, that contains a subset. or C-10.4)) AND NOT
This testcase is applicable if the value C-06.1) AND (AQ-9
EVConnected is a supported value. And it OR Product Subtype
should be possible to not set EnergyTransfer "Mode 1/2-only
and PowerPathClosed AND Charging Station")
The Charging Station does NOT have
following configuration combination;
StopTxOnEVSideDisconnect mutability
ReadOnly with value true AND TxStopPoint
mutability is ReadOnly and contains
Authorized
New text TC_E_20 EVDisconnected - EV side (able to charge C M TxStopPoint can either be ReadOnly with a (C-10.1 AND (NOT Supported Transaction Stop
IEC 61851-1 EV) subset of the values or have a valueList of (NOT C-52 AND (C- points
supported values, that contains a subset. 10.3 or C-10.4))) AND
This testcase is applicable if the value NOT (NOT C.06.1
EVConnected is a supported value. And it AND NOT C-52 AND
should be possible to not set EnergyTransfer C-10.2)) AND (AQ-9
and PowerPathClosed AND OR Product Subtype
The Charging Station does NOT have "Mode 1/2-only
following configuration combination; Charging Station")
StopTxOnEVSideDisconnect mutability
ReadOnly with value true AND TxStopPoint
mutability is ReadOnly and contains
Authorized AND
the Charging Station supports charging an
EV using IEC 61851-1 (Mode 3) or is a Mode
1/2-only Charging Station.
5.2.5. Page 20 - (2023-12) - TC_E_54_CS Improved condition / remark and aligned the conditions at feature no.
TC_E_54_CS was created to accommodate testing TC_E_20_CS with a Charging Station that supports high level communication. We noticed that the OCPP communication is different in that
case. The condition / remark was still missing this information. The condition listed at the feature no. column is one of the most complicated ones that exists in part 5. We also noticed that it did
not correctly cover the described remarks for all permutations, so it has been improved.
OCPP 2.0.1 - © Open Charge Alliance 2024 59/145 Edition 2 - Errata 2024-04
OCTT Id OCPP Compliance Testing Tool scenario Conf. Test Conf. test Condition / remark Feature no. Feature
for for CSMS
Charging
Station
Old text TC_E_54 EVDisconnected - EV side (not able to C TxStopPoint can either be ReadOnly with a C-10.1 and (C-52 or Supported Transaction Stop
charge IEC 61851-1 EV) subset of the values or have a valueList of NOT (C-10.2 or C-10.3 points
supported values, that contains a subset. or C-10.4)) AND (HFS-
This testcase is applicable if the value 4 OR ISO15118
EVConnected is a supported value. And it support) AND NOT
should be possible to not set EnergyTransfer Product Subtype
and PowerPathClosed AND "Mode 1/2-only
The Charging Station does NOT have Charging Station"
following configuration combination;
StopTxOnEVSideDisconnect mutability
ReadOnly with value true AND TxStopPoint
mutability is ReadOnly and contains
Authorized
New text TC_E_54 EVDisconnected - EV side ( DC and/or ISO- C TxStopPoint can either be ReadOnly with a C-10.1 AND (NOT Supported Transaction Stop
15118 Support ) subset of the values or have a valueList of (NOT C-52 AND (C- points
supported values, that contains a subset. 10.2 or C-10.3 or C-
This testcase is applicable if the value 10.4))) AND (HFS-4
EVConnected is a supported value. And it OR ISO15118
should be possible to not set EnergyTransfer support) AND NOT
and PowerPathClosed AND Product Subtype
The Charging Station does NOT have "Mode 1/2-only
following configuration combination; Charging Station"
StopTxOnEVSideDisconnect mutability
ReadOnly with value true AND TxStopPoint
mutability is ReadOnly and contains
Authorized AND
the Charging Station has DC or ISO-15118
support AND
is NOT a Mode 1/2-only Charging Station.
5.2.6. Page 21 - (2023-12) - TC_E_39_CS - Testcase not only applicable for TxStopPoint Authorized
This test case was conditional for TxStopPoint Authorized, however this testcase can always be performed. Due to the importance of this functionality, the condition has been removed and the
testcase has become mandatory.
OCPP 2.0.1 - © Open Charge Alliance 2024 60/145 Edition 2 - Errata 2024-04
OCTT Id OCPP Compliance Testing Tool scenario Conf. Test Conf. test Condition / remark Feature no. Feature
for for CSMS
Charging
Station
Old text TC_E_39 Deauthorized - timeout C M TxStopPoint can either be ReadOnly with a C-10.2 Supported Transaction Stop
subset of the values or have a valueList of points
supported values, that contains a subset.
This testcase is applicable if the value
Authorized is a supported value.
New text TC_E_39 Deauthorized - timeout M M
OCTT Id OCPP Compliance Testing Tool scenario Conf. Test Conf. test Condition / remark Feature no. Feature
for for CSMS
Charging
Station
Old text TC_E_31 Transaction with id ended - with message in M C C-16 Check TransactionStatus
queue
New text TC_E_31 Transaction with id ended - with message in C C Charging Station: CSMS: C-16 CSMS:
queue The following combination of conditions are Check TransactionStatus
Charging Station:
NOT true: NOT (
- No local authorization methods are NOT (C-30 - C-35)
supported AND AND
- TxStopPoint mutability is false and only (NOT C-10.1 AND
contains Authorized AND NOT C-10.3 AND NOT
- TxCtrlr.StopTxOnEVSideDisconnect C-10.4 AND NOT C-
mutability is false and value is false 10.5) AND
NOT C-06.2
)
5.2.8. Page 24 - (2023-12) - TC_F_04_CS should only be applicable when TxStartPoint Authorized or
ParkingBayOccupancy are supported
Note: This erratum has been superseded by erratum: [Page 24 - (2024-02) - TC_F_04_CS - condition needs to be kept inline with TC_E_05_CS]
For this cable plugin timeout testcase we can only check the transmitted OCPP TransactionEventRequest messages, to validate the behavior. So the testcase is only testable if the Charging
Station supports starting the transaction before the cable is plugged in. If the Charging Station does not support TxStartPoint Authorized or ParkingBayOccupancy, it must still support the cable
plugin timeout mechanism itself.
OCPP 2.0.1 - © Open Charge Alliance 2024 61/145 Edition 2 - Errata 2024-04
OCTT Id OCPP Compliance Testing Tool scenario Conf. Test Conf. test Condition / remark Feature no. Feature
for for CSMS
Charging
Station
Old text TC_F_04 Remote start first - Cable plugin timeout M M
New text TC_F_04 Remote start first - Cable plugin timeout C M TxStartPoint can either be ReadOnly with a C-09.2 or C-09.6 Supported Transaction Start
subset of the values or have a valueList of points
supported values, that contains a subset.
This testcase is applicable if the value
Authorized or ParkingBayOccupancy is a
supported value.
5.2.9. Page 24 - (2024-02) - TC_F_04_CS - condition needs to be kept inline with TC_E_05_CS
The testcase has been adjusted to support testing with all possible TxStartPoint values.
OCTT Id OCPP Compliance Testing Tool scenario Conf. Test Conf. test Condition / remark Feature no. Feature
for for CSMS
Charging
Station
Old text TC_F_04 Remote start first - Cable plugin timeout C M TxStartPoint can either be ReadOnly with a C-09.2 or C-09.6 Supported Transaction Start
subset of the values or have a valueList of points
supported values, that contains a subset.
This testcase is applicable if the value
Authorized or ParkingBayOccupancy is a
supported value.
New text TC_F_04 Remote start first - Cable plugin timeout M M
OCPP 2.0.1 - © Open Charge Alliance 2024 62/145 Edition 2 - Errata 2024-04
OCTT Id OCPP Compliance Testing Tool scenario Conf. Test Conf. test Condition / remark Feature no. Feature
for for CSMS
Charging
Station
Old text TC_L_15 Unable to install firmware with ongoing C AllowNewSessionsPendingFirmwareUpdate NOT C-43 and AQ-7
transaction - is implemented.
AllowNewSessionsPendingFirmwareUpdate The Charging Station is unable to install
is false firmware while there is an ongoing
transaction
New text TC_L_14 Unable to install and activate firmware with C AllowNewSessionsPendingFirmwareUpdate C-20 and NOT C-43 AllowNewSessionsPendingFirm
ongoing transaction - is implemented. and AQ-7 and HFS-8 > wareUpdate
AllowNewSessionsPendingFirmwareUpdate The Charging Station is unable to install 1
is true firmware while there is an ongoing
transaction
New text TC_L_15 Unable to install and activate firmware with C AllowNewSessionsPendingFirmwareUpdate NOT C-43 and AQ-7
ongoing transaction - is implemented.
AllowNewSessionsPendingFirmwareUpdate The Charging Station is unable to install
is false firmware while there is an ongoing
transaction
5.2.11. Page 29 - (2024-02) - TC_M_23_CS - testcase is mandatory for Advanced Security, not for Core
This testcase tests if the client certificate cannot be removed using the DeleteCertificateRequest. Client certificates are only used when supporting Advanced Security with security profile 3.
OCTT Id OCPP Compliance Testing Tool scenario Conf. Test Conf. test Condition / remark Feature no. Feature
for for CSMS
Charging
Station
Removed TC_M_23 Unable to delete the Charging Station M
Certificate
OCTT Id OCPP Compliance Testing Tool scenario Conf. Test Conf. test Condition / remark Feature no. Feature
for for CSMS
Charging
Station
Added TC_M_23 Unable to delete the Charging Station M
Certificate
OCPP 2.0.1 - © Open Charge Alliance 2024 63/145 Edition 2 - Errata 2024-04
5.2.12. Page 32 - (2024-04) - Added testcase list for the other certification profiles
At edition 3 of the specification all testcases for the other certification profiles are included.
The included certification profiles;
OCPP 2.0.1 - © Open Charge Alliance 2024 64/145 Edition 2 - Errata 2024-04
6. Part 6
6.1. Test Cases Charging Station
Test case name Upgrade Charging Station Security Profile - Downgrade security profile - Rejected
Test case Id TC_A_22_CS
Use case Id(s) A05, B09
Requirement(s) B09.FR.04
System under test Charging Station
Old Description The CSMS is able to change the connectionData at the Charging Station. By doing this it is able to
text upgrade the connection to a higher security profile.
New Description The CSMS is able to change the connectionData at the Charging Station. It tries to downgrade the
text connection to a lower security profile.
Old Purpose To verify if the Charging Station is able to reject upgrading to a higher security profile when it does
text not have a valid ChargingStationCertificate installed.
New Purpose To verify if the Charging Station is able to reject downgrading to a lower security profile than the
text currently active security profile .
Old text Prerequisite(s) The Charging Station is configured to keep the connection open while it is waiting to
resend the BootNotificationRequest.
New text Prerequisite(s)
Removed testcase
OCPP 2.0.1 - © Open Charge Alliance 2024 65/145 Edition 2 - Errata 2024-04
6.1.5. Page 42 - (2023-12) - TC_B_11_CS - Changed hardcoded values for integer
and decimal to configurable values
The defined hardcoded values were not usable for all Charging Stations.
Additionally, step 3 and 4 regarding setting values to "SmartChargingCtrlr.LimitChangeSignificance" is only tested if the Charging
Station supports it.
Added Notes:
Steps 3 and 4 will only be tested if this component/variable combination is supported
Note(s):
If TxStopPoint contains one of the following values; Authorized, EnergyTransfer, PowerPathClosed, DataSigned.
Then the transaction will have ended at the EVConnectedPostSession state AND the Charging Station will
proceed with resetting itself. Proceed to step 10
Else proceed with step 9.
New text 8. Execute Reusable State EVConnectedPostSession for EVSE.id = 2
Note(s):
If TxStopPoint contains one of the following values; Authorized, EnergyTransfer, PowerPathClosed, DataSigned.
Then the transaction will have ended at the EVConnectedPostSession state AND the Charging Station will
proceed with resetting itself. Proceed to step 11
Else proceed with step 9.
OCPP 2.0.1 - © Open Charge Alliance 2024 66/145 Edition 2 - Errata 2024-04
Old text Requirement(s) B12.FR.01, B12.FR.03 , E07.FR.03
New text Requirement(s) B12.FR.01, B12.FR.03
6.1.9. Page 64/66 - (2023-12) - TC_B_45_CS & TC_B_46_CS - Testcase has been
made more robust for Charging Stations that do not automatically reboot.
The testcase has been made more robust for Charging Stations that respond with Accepted, but do not automatically reboot.
Note(s):
- This step will only be executed when the status RebootRequired is returned at step 4.
New text 5. The OCTT sends a ResetRequest
with type OnIdle
Note(s):
- This step will only be executed when the status RebootRequired is returned at step 4 , or if the charging does not
automatically reboot.
OCPP 2.0.1 - © Open Charge Alliance 2024 67/145 Edition 2 - Errata 2024-04
New text 3. The OCTT sends a SetVariablesRequest
with variable.name is "NetworkConfigurationPriority"
component.name is "OCPPCommCtrlr"
attributeValue is Configured slot from Step 1, the previously configured slot
This test case was conditional for feature AdditionalRootCertificateCheck, however this can always be performed (no relation with
AdditionalRootCertificateCheck).
Old text Prerequisite(s) At least two configuration slots for networkConnectionProfiles must be supported
New text Prerequisite(s) - At least two configuration slots for networkConnectionProfiles must be supported
AND
- The Charging Station must be connected using either security profile 2 or 3.
OCPP 2.0.1 - © Open Charge Alliance 2024 68/145 Edition 2 - Errata 2024-04
6.1.13. Page 77 - (2023-12) - TC_B_53_CS - Removed Component / variable list
It does not make sense to create a duplication of the component / variable list that is already defined in part 2 specification. This
will only increase the chance of inconsistencies.
Old text OCTT checks that at least the following variables are reported:
New text The OCTT checks that the components / variables that are required according to the OCPP specification are
implemented.
Memory State:
- The "different idToken" does not exist in Authorization Cache or Local Authorization List.
- The "different idToken" does not have an associated GroupId that matches with the GroupId of the
"starting idToken".
Reusable State(s):
State is EnergyTransferStarted
Note(s):
- The Charging Station SHALL NOT send an AuthorizeRequest AND/OR a TransactionEventRequest message
with an idToken field after receiving an idToken that is different, than the one used to start the transaction.
- The OCTT waits <Configured message timeout> seconds, before ending the testcase.
OCPP 2.0.1 - © Open Charge Alliance 2024 69/145 Edition 2 - Errata 2024-04
6.1.15. Page 82-99 - (2023-12) - TC_C_02_CS-TC_C_57_CS - A number of test
cases cannot be run for a Charging Station that only supports NoAuthorization as a
local authorization option
We found that a number of test cases cannot be run for a Charging Station that only supports NoAuthorization as a local
authorization option (and it is not possible with the supported remote authorization options). Test cases for statuses like Invalid,
Authorization Cache, Local Auth. List, GroupId etc. will be dropped for this type of Charging Station implementation.
This erratum is applicable for the following testcases; TC_C_02_CS, TC_C_05_CS, TC_C_06_CS, TC_C_07_CS, TC_C_09_CS,
TC_C_10_CS, TC_C_11_CS, TC_C_34_CS, TC_C_36_CS, TC_C_39_CS, TC_C_44_CS, TC_C_45_CS, TC_C_47_CS, TC_C_48_CS,
TC_C_49_CS, TC_C_56_CS, TC_C_57_CS, TC_E_16_CS, TC_E_52_CS
Added Prerequisite(s) The Charging Station supports authorization methods other than NoAuthorization
Changed preparations
Removed confusing main step. It was intended to describe the Charging Station shall not deathorize the transaction, as mentioned
by the tool validation section. But it is more clear to remove the steps as a whole from the main steps.
It is also not allowed for the Charging Station to stop the energy transfer.
OCPP 2.0.1 - © Open Charge Alliance 2024 70/145 Edition 2 - Errata 2024-04
Changed tool validation
OCPP 2.0.1 - © Open Charge Alliance 2024 71/145 Edition 2 - Errata 2024-04
Added note to test cases
Added NOTE: If the Charging Station supports ISO15118, this testcase needs to be executed using EIM.
Old text Manual Action: Present the IdToken that was used to start the transaction.
Note(s):
- This manual action needs to be executed when the Charging Station has a detachable cable on the Charging
Station side.
New text Manual Action: Present the IdToken that was used to start the transaction.
Note(s):
- This manual action needs to be executed when the Charging Station has a detachable cable on the Charging
Station side AND
UnlockOnEVSideDisconnect is set to false.
Changed preparations
OCPP 2.0.1 - © Open Charge Alliance 2024 72/145 Edition 2 - Errata 2024-04
New text 1. The Charging Station sends a TransactionEventRequest
Note(s):
- This step needs to be executed after the <Configured ev_connection_timeout> expires, if the transaction has
been started. So in the case TxStartPoint contains ParkingBayOccupancy OR Authorized
Note(s) :
- This step needs to be executed after the <Configured ev_connection_timeout> expires, if the transaction has
been started. So in the case TxStartPoint contains ParkingBayOccupancy OR Authorized
OCPP 2.0.1 - © Open Charge Alliance 2024 73/145 Edition 2 - Errata 2024-04
Test case name Stop transaction options - PowerPathClosed - EV side disconnect
Old Prerequisite(s) - The Charging Station does NOT have the following configuration; The mutability of TxStopPoint is
text ReadOnly AND (the value Authorized OR ParkingBayOccupancy is NOT set OR (EnergyTransfer OR
PowerPathClosed OR DataSigned OR EVConnected is set)).
- If the mutability of TxStopPoint is _ReadWrite, then the value Authorized OR ParkingBayOccupancy
must be supported.
- The Charging Station has a permanently attached cable at the Charging Station side.
New Prerequisite(s) - The Charging Station does NOT have the following configuration; The mutability of TxStopPoint is
text ReadOnly AND (the value Authorized OR ParkingBayOccupancy is NOT set OR (EnergyTransfer OR
PowerPathClosed OR DataSigned OR EVConnected is set)).
- If the mutability of TxStopPoint is _ReadWrite, then the value Authorized OR ParkingBayOccupancy
must be supported.
- The Charging Station has a permanently attached cable at the Charging Station side.
- StopTxOnEVSideDisconnect can be set to false .
OCPP 2.0.1 - © Open Charge Alliance 2024 74/145 Edition 2 - Errata 2024-04
6.1.26. Page 158 - (2023-12) - TC_E_31_CS - Made testcase more robust and
flexible regarding local / remote start/stop
Note: This erratum has been improved by erratum: [Page 158 - (2024-02) - TC_E_31_CS - Updated prerequisite description is
confusing]
The OCTT and testcases should be flexible. So it is now possible to run this testcase with a Charging Station that only supports
remote start/stop, however under very specific circumstances it is not possible to run this testcase with remote start/stop, as
described by below adjusted prerequisites.
Old text Prerequisite(s) The Charging Station supports at least one authorization method described at the
following Use cases; C01, C02, C04.
New text Prerequisite(s) The Charging Station supports at least one authorization method described at the
following Use cases; C01, C02, C04 and and the following configuration is not present:
- <configured scenario> is remote and
- TxStopPoint is Authorized and
- TxCtrlr.StopTxOnEVSideDisconnect is not true and cannot be configured that way.
The testcase has been made more robust. It now uses and takes into account the OCTT configuration Transaction duration.
Additionally the Sampled meter values are enabled to increase the chances of there being a TransactionEventRequest message in
the queue. With only the TransactionEventRequest with eventType = Ended in the queue, the Charging Station might empty its
queue a fraction of a second, before the OCTT is able to send the GetTransactionStatusRequest.
Changed preparations
The manual action to present the same idToken as used to start the transaction is only required if the OCTT is configured to run the
testcase in local authorization mode.
OCPP 2.0.1 - © Open Charge Alliance 2024 75/145 Edition 2 - Errata 2024-04
Old text Prerequisite(s) The Charging Station supports at least one authorization method described at the
following Use cases; C01, C02, C04 and and the following configuration is not present:
- <configured scenario> is remote and
- TxStopPoint is Authorized and
- TxCtrlr.StopTxOnEVSideDisconnect is not true and cannot be configured that way.
New text Prerequisite(s) The following combination of conditions are NOT true:
- No local authorization methods are supported AND
- TxStopPoint mutability is false and only contains Authorized AND
- TxCtrlr.StopTxOnEVSideDisconnect mutability is false and value is false
Note: If conditions 2 and 3 are true, but condition 1 is false, then please configure OCTT
configuration <scenario> as local.
6.1.28. Page 166/167 - (2023-12) - TC_E_42_CS & TC_E_51_CS - Refined the tool
validation of the testcase
No matter how high the configured MessageAttemptsTransactionEvent is, the OCTT will now this testcase passed after receiving
the second message. Another testcase will test the max retry count.
6.1.30. Page 207 - (2023-12) - TC_G_13_CS - Charging Station does not have to
report the status of the connector
The availability is being set from Inoperative to Inoperative, therefore it is not needed for the Charging Station to report the status of
the connector to the CSMS, because there was no status change.
Old text 3. The Charging Station notifies the CSMS about the current state of all connectors.
4. The OCTT responds accordingly.
New text Note : It is not needed for the Charging Station to report the status of the connector to the CSMS, because there
was no status change.
OCPP 2.0.1 - © Open Charge Alliance 2024 76/145 Edition 2 - Errata 2024-04
Old text * Step 2:
Message ChangeAvailabilityResponse
- status Accepted
* Step 3:
Message: StatusNotificationRequest
- connectorStatus Unavailable
Message: NotifyEventRequest
- eventData[0].trigger Delta
- eventData[0].actualValue "Unavailable"
- eventData[0].component.name "ChargingStation"
- eventData[0].variable.name "AvailabilityState"
New text * Step 2:
Message ChangeAvailabilityResponse
- status Accepted
OCPP 2.0.1 - © Open Charge Alliance 2024 77/145 Edition 2 - Errata 2024-04
Old text Message: MeterValuesRequest
- timestamp <The intervals between the timestamps of the received Meter Value messages must equal the
configured value at AlignedDataInterval. However it is allowed to send multiple Meter Value messages per
configured interval. One (or more in case the amount of measured data is too much for one message) for each
EVSE and one (or more) for the main power meter (evseId=0). But the timestamp of these messages must all be
the same.>
Message: NotifyEventRequest
- timestamp <The intervals between the timestamps of the received Meter Value messages must equal the
configured value at AlignedDataInterval. However it is allowed to send multiple Meter Value messages per
configured interval. One (or more in case the amount of measured data is too much for one message) for each
EVSE and one (or more) for the main power meter (evseId=0). But the timestamp of these messages must all be
the same.>
New text Message: MeterValuesRequest
- timestamp <The intervals between the timestamps of the received Meter Value messages must equal the
configured value at AlignedDataInterval. However it is allowed to send multiple Meter Value messages per
configured interval. One (or more in case the amount of measured data is too much for one message) for each
EVSE and one (or more) for the main power meter (evseId=0). But the timestamp of these messages must all be
the same.>
OCPP 2.0.1 - © Open Charge Alliance 2024 78/145 Edition 2 - Errata 2024-04
6.1.32. Page 226 - (2024-04) - Context Transaction.Begin used once evseId is
known
This test case assumed that a Charging Station with multiple EVSEs will send meter values for Transaction.Begin in a
TransactionEvent(Updated) message after plug-in. This would only apply to multiple EVSEs. It has now been made more generic.
The first time when the TransactionEvent reports the field evse the test case expects meter values for Transaction.Begin.
Memory State:
N/a
Reusable State(s):
N/a
The structure of almost all 'Secure Firmware Update' testcases have been updated. There were several reasons for this. Please
note that this has mostly been done for readability. Functional changes that have been made, were mostly to increase the flexibility
needed to comply with the requirements and all possible firmware update process paths defined at part 2. Please refer to Part 2
specification Figure 119. Firmware update process, for the overview.
OCPP 2.0.1 - © Open Charge Alliance 2024 79/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - Installation successful
Use case Id(s) L01
Requirement(s) L01.FR.01,L01.FR.04,L01.FR.05,L01.FR.09,L01.FR.10,L01.FR.12,L01.FR.13,L01.FR.15,L01.FR.20,L01.FR.21,L
01.FR.23
System under test Charging Station
Description The CSMS is able to request the Charging Station to securely download and install a new firmware by
sending an UpdateFirmwareRequest with a signingCertificate.
Purpose To verify if the Charging Station is able to securely download and install a new firmware.
Prerequisite(s) A file server has been setup according to the (by the Charging Station) supported file transfer protocol(s),
indicated by the configuration variable FileTransferProtocols.
Memory State:
N/a
Reusable State(s):
N/a
Note(s):
- This step is optional. The Charging Station may
wants to set its connectors to Unavailable, before
proceeding installing the new firmware.
Note: This step only needs to be executed if the Charging Station needs to reboot before firmware
installation.
12. The Charging Station sends a
FirmwareStatusNotificationRequest 13. The OCTT responds with a
With status Installing FirmwareStatusNotificationResponse
Note(s):
- This step only needs to be executed if the Charging
Station did NOT reboot before firmware installation, at
step 11.
OCPP 2.0.1 - © Open Charge Alliance 2024 80/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - Installation successful
Note: This step only needs to be executed if the Charging Station needs to reboot before firmware activation.
Note: This step only needs to be executed if the Charging Station did not reboot/reconnect up until this point.
The Charging Station should at least reconnect to reestablish the protocol version handshake.
Note: Step 16 through 21 can be send in a different order.
16. The Charging Station notifies the CSMS about
the current state of all connectors. 17. The OCTT responds accordingly.
Note(s):
- This step only needs to be executed if the
connectors were previously set to Unavailable (at step
9) and the Charging Station did not report setting
them back to Available (after a reboot sequence at
step 11 or 14) yet.
18. The Charging Station sends a
FirmwareStatusNotificationRequest 19. The OCTT responds with a
With status Installed FirmwareStatusNotificationResponse
20. The Charging Station sends a
SecurityEventNotificationRequest 21. The OCTT responds with a
With type FirmwareUpdated SecurityEventNotificationResponse
OCPP 2.0.1 - © Open Charge Alliance 2024 81/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - Installation successful
OCPP 2.0.1 - © Open Charge Alliance 2024 82/145 Edition 2 - Errata 2024-04
Table 7. Test Case Id: TC_L_02_CS
Test case name Secure Firmware Update - InstallScheduled
Test case Id TC_L_02_CS
Use case Id(s) L01
Requirement(s) L01.FR.01,L01.FR.04,L01.FR.05,L01.FR.09,L01.FR.10,L01.FR.12,L01.FR.15,L01.FR.16,L01.FR.20,L01.FR.21,L
01.FR.23
System under test Charging Station
Description The CSMS is able to request the Charging Station to securely download and install a new firmware by
sending an UpdateFirmwareRequest with a signingCertificate.
Purpose To verify if the Charging Station is able securely download a new firmware and schedule its installation.
Prerequisite(s) - A file server has been setup according to the (by the Charging Station) supported file transfer protocol(s),
indicated by the configuration variable FileTransferProtocols.
- The OCTT configuration firmware installDateTime needs to set to a future dateTime.
Memory State:
N/a
Reusable State(s):
N/a
Note(s):
- The Charging Station will start installing the firmware
after the set installDateTime is reached.
11. The Charging Station notifies the CSMS about
the current state of all connectors. 12. The OCTT responds accordingly.
Note(s):
- This step is optional. The Charging Station may
wants to set its connectors to Unavailable, before
proceeding installing the new firmware.
OCPP 2.0.1 - © Open Charge Alliance 2024 83/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - InstallScheduled
Note: This step only needs to be executed if the Charging Station needs to reboot before firmware
installation.
14. The Charging Station sends a
FirmwareStatusNotificationRequest 15. The OCTT responds with a
With status Installing FirmwareStatusNotificationResponse
Note(s):
- This step only needs to be executed if the Charging
Station did NOT reboot before firmware installation, at
step 13.
Note: This step only needs to be executed if the Charging Station needs to reboot before firmware activation.
Note: This step only needs to be executed if the Charging Station did not reboot/reconnect up until this point.
The Charging Station should at least reconnect to reestablish the protocol version handshake.
Note: Step 18 through 23 can be send in a different order.
18. The Charging Station notifies the CSMS about
the current state of all connectors. 19. The OCTT responds accordingly.
Note(s):
- This step only needs to be executed if the
connectors were previously set to Unavailable (at step
11) and the Charging Station did not report setting
them back to Available (after a reboot sequence at
step 13 or 16) yet.
20. The Charging Station sends a
FirmwareStatusNotificationRequest 21. The OCTT responds with a
With status Installed FirmwareStatusNotificationResponse
22. The Charging Station sends a
SecurityEventNotificationRequest 23. The OCTT responds with a
With type FirmwareUpdated SecurityEventNotificationResponse
OCPP 2.0.1 - © Open Charge Alliance 2024 84/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - InstallScheduled
OCPP 2.0.1 - © Open Charge Alliance 2024 85/145 Edition 2 - Errata 2024-04
Table 8. Test Case Id: TC_L_03_CS
Test case name Secure Firmware Update - DownloadScheduled
Test case Id TC_L_03_CS
Use case Id(s) L01
Requirement(s) L01.FR.01,L01.FR.04,L01.FR.05,L01.FR.09,L01.FR.10,L01.FR.12,L01.FR.13,L01.FR.15,L01.FR.20,L01.FR.21,L
01.FR.23
System under test Charging Station
Description The CSMS is able to request the Charging Station to securely download and install a new firmware by
sending an UpdateFirmwareRequest with a signingCertificate.
Purpose To verify if the Charging Station is able to schedule securely downloading a new firmware.
Prerequisite(s) - A file server has been setup according to the (by the Charging Station) supported file transfer protocol(s),
indicated by the configuration variable FileTransferProtocols.
- The OCTT configuration firmware retrieveDateTime needs to set to a future dateTime.
Memory State:
N/a
Reusable State(s):
N/a
Note(s):
- The Charging Station will start downloading the
firmware after the set retrieveDateTime is reached.
5. The Charging Station sends a
FirmwareStatusNotificationRequest 6. The OCTT responds with a
With status Downloading FirmwareStatusNotificationResponse
7. The Charging Station sends a
FirmwareStatusNotificationRequest 8. The OCTT responds with a
With status Downloaded FirmwareStatusNotificationResponse
9. The Charging Station sends a
FirmwareStatusNotificationRequest 10. The OCTT responds with a
With status SignatureVerified FirmwareStatusNotificationResponse
11. The Charging Station notifies the CSMS about
the current state of all connectors. 12. The OCTT responds accordingly.
Note(s):
- This step is optional. The Charging Station may
wants to set its connectors to Unavailable, before
proceeding installing the new firmware.
OCPP 2.0.1 - © Open Charge Alliance 2024 86/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - DownloadScheduled
Note: This step only needs to be executed if the Charging Station needs to reboot before firmware
installation.
14. The Charging Station sends a
FirmwareStatusNotificationRequest 15. The OCTT responds with a
With status Installing FirmwareStatusNotificationResponse
Note(s):
- This step only needs to be executed if the Charging
Station did NOT reboot before firmware installation, at
step 13.
Note: This step only needs to be executed if the Charging Station needs to reboot before firmware activation.
Note: This step only needs to be executed if the Charging Station did not reboot/reconnect up until this point.
The Charging Station should at least reconnect to reestablish the protocol version handshake.
Note: Step 18 through 23 can be send in a different order.
18. The Charging Station notifies the CSMS about
the current state of all connectors. 19. The OCTT responds accordingly.
Note(s):
- This step only needs to be executed if the
connectors were previously set to Unavailable (at step
11) and the Charging Station did not report setting
them back to Available (after a reboot sequence at
step 13 or 16) yet.
20. The Charging Station sends a
FirmwareStatusNotificationRequest 21. The OCTT responds with a
With status Installed FirmwareStatusNotificationResponse
22. The Charging Station sends a
SecurityEventNotificationRequest 23. The OCTT responds with a
With type FirmwareUpdated SecurityEventNotificationResponse
OCPP 2.0.1 - © Open Charge Alliance 2024 87/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - DownloadScheduled
OCPP 2.0.1 - © Open Charge Alliance 2024 88/145 Edition 2 - Errata 2024-04
Table 9. Test Case Id: TC_L_06_CS
Test case name Secure Firmware Update - InvalidSignature
Test case Id TC_L_06_CS
Use case Id(s) L01
Requirement(s) L01.FR.01,L01.FR.03,L01.FR.04,L01.FR.10,L01.FR.20
System under test Charging Station
Description The CSMS is able to request the Charging Station to securely download and install a new firmware by
sending an UpdateFirmwareRequest with a signingCertificate.
Purpose To verify if the Charging Station is able to identify if the signature is invalid and report this to the CSMS.
Prerequisite(s) A file server has been setup according to the (by the Charging Station) supported file transfer protocol(s),
indicated by the configuration variable FileTransferProtocols.
Memory State:
N/a
Reusable State(s):
N/a
OCPP 2.0.1 - © Open Charge Alliance 2024 89/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - InvalidSignature
OCPP 2.0.1 - © Open Charge Alliance 2024 90/145 Edition 2 - Errata 2024-04
Table 10. Test Case Id: TC_L_07_CS
Test case name Secure Firmware Update - DownloadFailed
Test case Id TC_L_07_CS
Use case Id(s) L01
Requirement(s) L01.FR.01,L01.FR.10,L01.FR.20
System under test Charging Station
Description The CSMS is able to request the Charging Station to securely download and install a new firmware by
sending an UpdateFirmwareRequest with a signingCertificate.
Purpose To verify if the Charging Station is able to report to the CSMS when it is unable to download the new
firmware.
Prerequisite(s) - A file server has been setup according to the (by the Charging Station) supported file transfer protocol(s),
indicated by the configuration variable FileTransferProtocols.
- The at the OCTT configured invalid firmware location needs to point to a not existing firmware file name.
Memory State:
N/a
Reusable State(s):
N/a
Note(s):
- This step is optional. The Charging Station may
immediately identify downloading the firmware is not
possible.
5. The Charging Station sends a
FirmwareStatusNotificationRequest. 6. The OCTT responds with a
With status DownloadFailed FirmwareStatusNotificationResponse.
OCPP 2.0.1 - © Open Charge Alliance 2024 91/145 Edition 2 - Errata 2024-04
Table 11. Test Case Id: TC_L_08_CS
Test case name Secure Firmware Update - InstallVerificationFailed or InstallationFailed
Test case Id TC_L_08_CS
Use case Id(s) L01
Requirement(s) L01.FR.01,L01.FR.10,L01.FR.12,L01.FR.20
System under test Charging Station
Description The CSMS is able to request the Charging Station to securely download and install a new firmware by
sending an UpdateFirmwareRequest with a signingCertificate.
Purpose To verify if the Charging Station is able to report to the CSMS when the firmware verification fails.
Prerequisite(s) - A file server has been setup according to the (by the Charging Station) supported file transfer protocol(s),
indicated by the configuration variable FileTransferProtocols.
- The at the OCTT configured invalid firmware location needs to point to a firmware file that causes an
InstallVerificationFailed.
Memory State:
N/a
Reusable State(s):
N/a
Note(s):
- This step is optional. The Charging Station may
wants to set its connectors to Unavailable, before
proceeding installing the new firmware.
Note: This step only needs to be executed if the Charging Station needs to reboot before firmware
installation.
OCPP 2.0.1 - © Open Charge Alliance 2024 92/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - InstallVerificationFailed or InstallationFailed
12. The Charging Station sends a
FirmwareStatusNotificationRequest 13. The OCTT responds with a
With status Installing FirmwareStatusNotificationResponse
Note(s):
- This step only needs to be executed if the Charging
Station did NOT reboot before firmware installation, at
step 11.
Note: This step only needs to be executed if the Charging Station needs to reboot before firmware activation.
Note: This step only needs to be executed if the Charging Station did not reboot/reconnect up until this point.
The Charging Station should at least reconnect to reestablish the protocol version handshake.
Note: Step 16 through 21 can be send in a different order.
16. The Charging Station notifies the CSMS about
the current state of all connectors. 17. The OCTT responds accordingly.
Note(s):
- This step only needs to be executed if the
connectors were previously set to Unavailable (at step
9) and the Charging Station did not report setting
them back to Available (after a reboot sequence at
step 11 or 14) yet.
18. The Charging Station sends a
FirmwareStatusNotificationRequest 19. The OCTT responds with a
With status InstallVerificationFailed or FirmwareStatusNotificationResponse
InstallationFailed
20. The Charging Station sends a
SecurityEventNotificationRequest 21. The OCTT responds with a
With type FirmwareUpdated SecurityEventNotificationResponse
OCPP 2.0.1 - © Open Charge Alliance 2024 93/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - InstallVerificationFailed or InstallationFailed
OCPP 2.0.1 - © Open Charge Alliance 2024 94/145 Edition 2 - Errata 2024-04
Table 12. Test Case Id: TC_L_10_CS
Test case name Secure Firmware Update - AcceptedCanceled
Test case Id TC_L_10_CS
Use case Id(s) L01
Requirement(s) L01.FR.01,L01.FR.10,L01.FR.20,L01.FR.24
System under test Charging Station
Description The CSMS is able to request the Charging Station to securely download and install a new firmware by
sending an UpdateFirmwareRequest with a signingCertificate.
Purpose To verify if the Charging Station is able to cancel an ongoing firmware update and start a new one, when
receiving an UpdateFirmwareRequest from the CSMS.
Prerequisite(s) - A file server has been setup according to the (by the Charging Station) supported file transfer protocol(s),
indicated by the configuration variable FileTransferProtocols.
- The Charging Station is able to cancel an ongoing firmware update while it is busy downloading a new
firmware file.
Memory State:
N/a
Reusable State(s):
N/a
OCPP 2.0.1 - © Open Charge Alliance 2024 95/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - AcceptedCanceled
Note(s):
- This step is optional. The Charging Station may
wants to set its connectors to Unavailable, before
proceeding installing the new firmware.
Note: This step only needs to be executed if the Charging Station needs to reboot before firmware
installation.
16. The Charging Station sends a
FirmwareStatusNotificationRequest 17. The OCTT responds with a
With status Installing FirmwareStatusNotificationResponse
Note(s):
- This step only needs to be executed if the Charging
Station did NOT reboot before firmware installation, at
step 15.
Note: This step only needs to be executed if the Charging Station needs to reboot before firmware activation.
OCPP 2.0.1 - © Open Charge Alliance 2024 96/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - AcceptedCanceled
Note: This step only needs to be executed if the Charging Station did not reboot/reconnect up until this point.
The Charging Station should at least reconnect to reestablish the protocol version handshake.
Note: Step 20 through 25 can be send in a different order.
20. The Charging Station notifies the CSMS about
the current state of all connectors. 21. The OCTT responds accordingly.
Note(s):
- This step only needs to be executed if the
connectors were previously set to Unavailable (at step
13) and the Charging Station did not report setting
them back to Available (after a reboot sequence at
step 15 or 18) yet.
22. The Charging Station sends a
FirmwareStatusNotificationRequest 23. The OCTT responds with a
With status Installed FirmwareStatusNotificationResponse
24. The Charging Station sends a
SecurityEventNotificationRequest 25. The OCTT responds with a
With type FirmwareUpdated SecurityEventNotificationResponse
OCPP 2.0.1 - © Open Charge Alliance 2024 97/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - AcceptedCanceled
OCPP 2.0.1 - © Open Charge Alliance 2024 98/145 Edition 2 - Errata 2024-04
Table 13. Test Case Id: TC_L_11_CS
Test case name Secure Firmware Update - Unable to cancel
Test case Id TC_L_11_CS
Use case Id(s) L01
Requirement(s) L01.FR.01,L01.FR.10,L01.FR.20,L01.FR.27
System under test Charging Station
Description The CSMS is able to request the Charging Station to securely download and install a new firmware by
sending an UpdateFirmwareRequest with a signingCertificate.
Purpose To verify if the Charging Station is able to reject a firmware update request when it is unable to cancel an
ongoing firmware update.
Prerequisite(s) - A file server has been setup according to the (by the Charging Station) supported file transfer protocol(s),
indicated by the configuration variable FileTransferProtocols.
- The Charging Station is NOT able to cancel an ongoing firmware update.
Memory State:
N/a
Reusable State(s):
N/a
Note(s):
- This step is optional. The Charging Station may
wants to set its connectors to Unavailable, before
proceeding installing the new firmware.
OCPP 2.0.1 - © Open Charge Alliance 2024 99/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - Unable to cancel
Note: This step only needs to be executed if the Charging Station needs to reboot before firmware
installation.
14. The Charging Station sends a
FirmwareStatusNotificationRequest 15. The OCTT responds with a
With status Installing FirmwareStatusNotificationResponse
Note(s):
- This step only needs to be executed if the Charging
Station did NOT reboot before firmware installation, at
step 13.
Note: This step only needs to be executed if the Charging Station needs to reboot before firmware activation.
Note: This step only needs to be executed if the Charging Station did not reboot/reconnect up until this point.
The Charging Station should at least reconnect to reestablish the protocol version handshake.
Note: Step 18 through 23 can be send in a different order.
18. The Charging Station notifies the CSMS about
the current state of all connectors. 19. The OCTT responds accordingly.
Note(s):
- This step only needs to be executed if the
connectors were previously set to Unavailable (at step
11) and the Charging Station did not report setting
them back to Available (after a reboot sequence at
step 13 or 16) yet.
20. The Charging Station sends a
FirmwareStatusNotificationRequest 21. The OCTT responds with a
With status Installed FirmwareStatusNotificationResponse
22. The Charging Station sends a
SecurityEventNotificationRequest 23. The OCTT responds with a
With type FirmwareUpdated SecurityEventNotificationResponse
OCPP 2.0.1 - © Open Charge Alliance 2024 100/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - Unable to cancel
OCPP 2.0.1 - © Open Charge Alliance 2024 101/145 Edition 2 - Errata 2024-04
Table 14. Test Case Id: TC_L_12_CS
Test case name Secure Firmware Update - Unable to download/install firmware with ongoing transaction -
AllowNewSessionsPendingFirmwareUpdate is true
Test case Id TC_L_12_CS
Use case Id(s) L01
Requirement(s) L01.FR.01,L01.FR.06,L01.FR.07,L01.FR.10,L01.FR.20
System under test Charging Station
Description The CSMS is able to request the Charging Station to securely download and install a new firmware by
sending an UpdateFirmwareRequest with a signingCertificate.
Purpose To verify if the Charging Station is able to keep allowing new transactions when requested to update the
firmware, while there is an ongoing transaction.
Prerequisite(s) - A file server has been setup according to the (by the Charging Station) supported file transfer protocol(s),
indicated by the configuration variable FileTransferProtocols.
- The Charging Station is able to start more than one transaction at a time.
- The Charging Station is unable to download AND install firmware while there is an ongoing transaction.
Memory State:
N/a
Reusable State(s):
State is EnergyTransferStarted for <Configured connectorId>
Note(s):
- It is allowed to start a second transaction while there is a scheduled firmware update.
Note(s):
- The Charging Station will proceed to this end state. This will cause the transaction to stop.
Note(s):
- The Charging Station will proceed to this end state. This will cause the transaction to stop.
- The Charging Station will start the firmware update process the moment this second transaction ends or
when all interactions with the EV Driver are done (So after the cable has been unplugged, if there is no parking
bay sensor).
OCPP 2.0.1 - © Open Charge Alliance 2024 102/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - Unable to download/install firmware with ongoing transaction -
AllowNewSessionsPendingFirmwareUpdate is true
8. The Charging Station sends a
FirmwareStatusNotificationRequest 9. The OCTT responds with a
With status Downloading FirmwareStatusNotificationResponse
10. The Charging Station sends a
FirmwareStatusNotificationRequest 11. The OCTT responds with a
With status Downloaded FirmwareStatusNotificationResponse
12. The Charging Station sends a
FirmwareStatusNotificationRequest 13. The OCTT responds with a
With status SignatureVerified FirmwareStatusNotificationResponse
14. The Charging Station notifies the CSMS about
the current state of all connectors. 15. The OCTT responds accordingly.
Note(s):
- This step is optional. The Charging Station may
wants to set its connectors to Unavailable, before
proceeding installing the new firmware.
Note: This step only needs to be executed if the Charging Station needs to reboot before firmware
installation.
17. The Charging Station sends a
FirmwareStatusNotificationRequest 18. The OCTT responds with a
With status Installing FirmwareStatusNotificationResponse
Note(s):
- This step only needs to be executed if the Charging
Station did NOT reboot before firmware installation, at
step 16.
Note: This step only needs to be executed if the Charging Station needs to reboot before firmware activation.
OCPP 2.0.1 - © Open Charge Alliance 2024 103/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - Unable to download/install firmware with ongoing transaction -
AllowNewSessionsPendingFirmwareUpdate is true
Note: This step only needs to be executed if the Charging Station did not reboot/reconnect up until this point.
The Charging Station should at least reconnect to reestablish the protocol version handshake.
Note: Step 21 through 26 can be send in a different order.
21. The Charging Station notifies the CSMS about
the current state of all connectors. 22. The OCTT responds accordingly.
Note(s):
- This step only needs to be executed if the
connectors were previously set to Unavailable (at step
14) and the Charging Station did not report setting
them back to Available (after a reboot sequence at
step 16 or 19) yet.
23. The Charging Station sends a
FirmwareStatusNotificationRequest 24. The OCTT responds with a
With status Installed FirmwareStatusNotificationResponse
25. The Charging Station sends a
SecurityEventNotificationRequest 26. The OCTT responds with a
With type FirmwareUpdated SecurityEventNotificationResponse
OCPP 2.0.1 - © Open Charge Alliance 2024 104/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - Unable to download/install firmware with ongoing transaction -
AllowNewSessionsPendingFirmwareUpdate is true
OCPP 2.0.1 - © Open Charge Alliance 2024 105/145 Edition 2 - Errata 2024-04
Table 15. Test Case Id: TC_L_13_CS
Test case name Secure Firmware Update - Unable to download/install firmware with ongoing transaction -
AllowNewSessionsPendingFirmwareUpdate is false
Test case Id TC_L_13_CS
Use case Id(s) L01
Requirement(s) L01.FR.01,L01.FR.06,L01.FR.07,L01.FR.10,L01.FR.20
System under test Charging Station
Description The CSMS is able to request the Charging Station to securely download and install a new firmware by
sending an UpdateFirmwareRequest with a signingCertificate.
Purpose To verify if the Charging Station is able to set its available connectors to Unavailable when requested to
update the firmware, while there is an ongoing transaction.
Prerequisite(s) - A file server has been setup according to the (by the Charging Station) supported file transfer protocol(s),
indicated by the configuration variable FileTransferProtocols.
- The configuration variable AllowNewSessionsPendingFirmwareUpdate is implemented.
- The Charging Station is unable to download AND install firmware while there is an ongoing transaction.
Memory State:
N/a
Reusable State(s):
State is EnergyTransferStarted
Note(s):
- This step needs to be executed for all connectors
with AvailabilityState Available.
Note(s):
- The Charging Station will proceed to this end state. This will cause the transaction to stop.
- The Charging Station will start the firmware update process the moment the transaction ends or when all
interactions with the EV Driver are done (So after the cable has been unplugged, if there is no parking bay
sensor).
OCPP 2.0.1 - © Open Charge Alliance 2024 106/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - Unable to download/install firmware with ongoing transaction -
AllowNewSessionsPendingFirmwareUpdate is false
8. The Charging Station sends a
FirmwareStatusNotificationRequest 9. The OCTT responds with a
With status Downloading FirmwareStatusNotificationResponse
10. The Charging Station sends a
FirmwareStatusNotificationRequest 11. The OCTT responds with a
With status Downloaded FirmwareStatusNotificationResponse
12. The Charging Station sends a
FirmwareStatusNotificationRequest 13. The OCTT responds with a
With status SignatureVerified FirmwareStatusNotificationResponse
14. The Charging Station notifies the CSMS about
the current state of all connectors. 15. The OCTT responds accordingly.
Note(s):
- This step is optional. The Charging Station may
wants to set its last connector also to Unavailable,
before proceeding installing the new firmware.
Note: This step only needs to be executed if the Charging Station needs to reboot before firmware
installation.
17. The Charging Station sends a
FirmwareStatusNotificationRequest 18. The OCTT responds with a
With status Installing FirmwareStatusNotificationResponse
Note(s):
- This step only needs to be executed if the Charging
Station did NOT reboot before firmware installation, at
step 16.
Note: This step only needs to be executed if the Charging Station needs to reboot before firmware activation.
OCPP 2.0.1 - © Open Charge Alliance 2024 107/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - Unable to download/install firmware with ongoing transaction -
AllowNewSessionsPendingFirmwareUpdate is false
Note: This step only needs to be executed if the Charging Station did not reboot/reconnect up until this point.
The Charging Station should at least reconnect to reestablish the protocol version handshake.
Note: Step 21 through 26 can be send in a different order.
21. The Charging Station notifies the CSMS about
the current state of all connectors. 22. The OCTT responds accordingly.
Note(s):
- This step only needs to be executed if the
connectors were previously set to Unavailable (at step
14) and the Charging Station did not report setting
them back to Available (after a reboot sequence at
step 16 or 19) yet.
23. The Charging Station sends a
FirmwareStatusNotificationRequest 24. The OCTT responds with a
With status Installed FirmwareStatusNotificationResponse
25. The Charging Station sends a
SecurityEventNotificationRequest 26. The OCTT responds with a
With type FirmwareUpdated SecurityEventNotificationResponse
OCPP 2.0.1 - © Open Charge Alliance 2024 108/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - Unable to download/install firmware with ongoing transaction -
AllowNewSessionsPendingFirmwareUpdate is false
OCPP 2.0.1 - © Open Charge Alliance 2024 109/145 Edition 2 - Errata 2024-04
Table 16. Test Case Id: TC_L_14_CS
Test case name Secure Firmware Update - Unable to install firmware with ongoing transaction -
AllowNewSessionsPendingFirmwareUpdate is true
Test case Id TC_L_14_CS
Use case Id(s) L01
Requirement(s) L01.FR.01,L01.FR.06,L01.FR.07,L01.FR.10,L01.FR.20
System under test Charging Station
Description The CSMS is able to request the Charging Station to securely download and install a new firmware by
sending an UpdateFirmwareRequest with a signingCertificate.
Purpose To verify if the Charging Station is able to keep allowing new transactions when requested to update the
firmware, while there is an ongoing transaction.
Prerequisite(s) - A file server has been setup according to the (by the Charging Station) supported file transfer protocol(s),
indicated by the configuration variable FileTransferProtocols.
- The Charging Station is able to start more than one transaction at a time.
- The Charging Station is unable to install firmware while there is an ongoing transaction.
Memory State:
N/a
Reusable State(s):
State is EnergyTransferStarted for EVSEId 1 and ConnectorId 1
OCPP 2.0.1 - © Open Charge Alliance 2024 110/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - Unable to install firmware with ongoing transaction -
AllowNewSessionsPendingFirmwareUpdate is true
Note(s):
- It is allowed to start a second transaction while there is a scheduled firmware update.
Note(s):
- The Charging Station will proceed to this end state. This will cause the transaction to stop.
Note(s):
- The Charging Station will proceed to this end state. This will cause the transaction to stop.
- The Charging Station will start the firmware update process the moment this second transaction ends or
when all interactions with the EV Driver are done (So after the cable has been unplugged, if there is no parking
bay sensor).
14. The Charging Station notifies the CSMS about
the current state of all connectors. 15. The OCTT responds accordingly.
Note(s):
- This step is optional. The Charging Station may
wants to set its connectors to Unavailable, before
proceeding installing the new firmware.
Note: This step only needs to be executed if the Charging Station needs to reboot before firmware
installation.
OCPP 2.0.1 - © Open Charge Alliance 2024 111/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - Unable to install firmware with ongoing transaction -
AllowNewSessionsPendingFirmwareUpdate is true
17. The Charging Station sends a
FirmwareStatusNotificationRequest 18. The OCTT responds with a
With status Installing FirmwareStatusNotificationResponse
Note(s):
- This step only needs to be executed if the Charging
Station did NOT reboot before firmware installation, at
step 16.
Note: This step only needs to be executed if the Charging Station needs to reboot before firmware activation.
Note: This step only needs to be executed if the Charging Station did not reboot/reconnect up until this point.
The Charging Station should at least reconnect to reestablish the protocol version handshake.
Note: Step 21 through 26 can be send in a different order.
21. The Charging Station notifies the CSMS about
the current state of all connectors. 22. The OCTT responds accordingly.
Note(s):
- This step only needs to be executed if the
connectors were previously set to Unavailable (at step
14) and the Charging Station did not report setting
them back to Available (after a reboot sequence at
step 16 or 19) yet.
23. The Charging Station sends a
FirmwareStatusNotificationRequest 24. The OCTT responds with a
With status Installed FirmwareStatusNotificationResponse
25. The Charging Station sends a
SecurityEventNotificationRequest 26. The OCTT responds with a
With type FirmwareUpdated SecurityEventNotificationResponse
OCPP 2.0.1 - © Open Charge Alliance 2024 112/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - Unable to install firmware with ongoing transaction -
AllowNewSessionsPendingFirmwareUpdate is true
OCPP 2.0.1 - © Open Charge Alliance 2024 113/145 Edition 2 - Errata 2024-04
Table 17. Test Case Id: TC_L_15_CS
Test case name Secure Firmware Update - Unable to install and activate firmware with ongoing transaction -
AllowNewSessionsPendingFirmwareUpdate is false
Test case Id TC_L_15_CS
Use case Id(s) L01
Requirement(s) L01.FR.01,L01.FR.06,L01.FR.07,L01.FR.10,L01.FR.20
System under test Charging Station
Description The CSMS is able to request the Charging Station to securely download and install a new firmware by
sending an UpdateFirmwareRequest with a signingCertificate.
Purpose To verify if the Charging Station is able to set its available connectors to Unavailable when requested to
update the firmware, while there is an ongoing transaction.
Prerequisite(s) - A file server has been setup according to the (by the Charging Station) supported file transfer protocol(s),
indicated by the configuration variable FileTransferProtocols.
- The configuration variable AllowNewSessionsPendingFirmwareUpdate is implemented.
- The Charging Station is unable to install firmware while there is an ongoing transaction.
Memory State:
N/a
Reusable State(s):
State is EnergyTransferStarted
Note(s):
- This step needs to be executed for all connectors
with AvailabilityState Available.
OCPP 2.0.1 - © Open Charge Alliance 2024 114/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - Unable to install and activate firmware with ongoing transaction -
AllowNewSessionsPendingFirmwareUpdate is false
Note(s):
- The Charging Station will proceed to this end state. This will cause the transaction to stop.
- The Charging Station will start the firmware update process the moment the transaction ends or when all
interactions with the EV Driver are done (So after the cable has been unplugged, if there is no parking bay
sensor).
14. The Charging Station notifies the CSMS about
the current state of all connectors. 15. The OCTT responds accordingly.
Note(s):
- This step is optional. The Charging Station may
wants to set its last connector to Unavailable, before
proceeding installing the new firmware.
Note: This step only needs to be executed if the Charging Station needs to reboot before firmware
installation.
17. The Charging Station sends a
FirmwareStatusNotificationRequest 18. The OCTT responds with a
With status Installing FirmwareStatusNotificationResponse
Note(s):
- This step only needs to be executed if the Charging
Station did NOT reboot before firmware installation, at
step 16.
Note: This step only needs to be executed if the Charging Station needs to reboot before firmware activation.
Note: This step only needs to be executed if the Charging Station did not reboot/reconnect up until this point.
The Charging Station should at least reconnect to reestablish the protocol version handshake.
Note: Step 21 through 26 can be send in a different order.
21. The Charging Station notifies the CSMS about
the current state of all connectors. 22. The OCTT responds accordingly.
Note(s):
- This step only needs to be executed if the
connectors were previously set to Unavailable (at step
14) and the Charging Station did not report setting
them back to Available (after a reboot sequence at
step 16 or 19) yet.
23. The Charging Station sends a
FirmwareStatusNotificationRequest 24. The OCTT responds with a
With status Installed FirmwareStatusNotificationResponse
25. The Charging Station sends a
SecurityEventNotificationRequest 26. The OCTT responds with a
With type FirmwareUpdated SecurityEventNotificationResponse
OCPP 2.0.1 - © Open Charge Alliance 2024 115/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - Unable to install and activate firmware with ongoing transaction -
AllowNewSessionsPendingFirmwareUpdate is false
OCPP 2.0.1 - © Open Charge Alliance 2024 116/145 Edition 2 - Errata 2024-04
Table 18. Test Case Id: TC_L_16_CS
Test case name Secure Firmware Update - Able to update firmware with ongoing transaction
Test case Id TC_L_16_CS
Use case Id(s) L01
Requirement(s) L01.FR.01,L01.FR.06,L01.FR.10,L01.FR.20
System under test Charging Station
Description The CSMS is able to request the Charging Station to securely download and install a new firmware by
sending an UpdateFirmwareRequest with a signingCertificate.
Purpose To verify if the Charging Station is able to securely download and install a new firmware, while a transaction
is ongoing.
Prerequisite(s) - A file server has been setup according to the (by the Charging Station) supported file transfer protocol(s),
indicated by the configuration variable FileTransferProtocols.
- The Charging Station is able to update its firmware while a transaction is ongoing.
Memory State:
N/a
Reusable State(s):
State is EnergyTransferStarted
Note: The Charging Station reconnects to reestablish the protocol version handshake.
12. The Charging Station sends a
FirmwareStatusNotificationRequest. 13. The OCTT responds with a
With status Installed FirmwareStatusNotificationResponse.
14. The Charging Station sends a
SecurityEventNotificationRequest 15. The OCTT responds with a
With type FirmwareUpdated SecurityEventNotificationResponse
OCPP 2.0.1 - © Open Charge Alliance 2024 117/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - Able to update firmware with ongoing transaction
OCPP 2.0.1 - © Open Charge Alliance 2024 118/145 Edition 2 - Errata 2024-04
Table 19. Reusable State: RebootBeforeFirmwareInstallation
State RebootBeforeFirmwareInstallation
System under test Charging Station
Description The Charging Station needs to reboot before firmware installation.
Memory State:
N/a
Reusable State(s):
N/a
OCPP 2.0.1 - © Open Charge Alliance 2024 119/145 Edition 2 - Errata 2024-04
Table 20. Reusable State: RebootBeforeFirmwareActivation
State RebootBeforeFirmwareActivation
System under test Charging Station
Description The Charging Station needs to reboot before firmware activation.
Memory State:
N/a
Reusable State(s):
N/a
Note(s):
- This step is optional. However it is recommended to
notify the CSMS before rebooting the Charging Station
to activate the new firmware.
3. The Charging Station sends a
BootNotificationRequest 4. The OCTT responds with a
BootNotificationResponse
with status Accepted
5. The Charging Station notifies the CSMS about the
current state of all connectors. 6. The OCTT responds accordingly.
6.1.34. Page 241 - (2023-12) - TC_L_05_CS - Added main step and tool validation
for SecurityEventNotification InvalidFirmwareSigningCertificate
During additional testing it was noticed that this testcase should also have been expecting a SecurityEventNotification of type
InvalidFirmwareSigningCertificate, in accordance with requirement L01.FR.02.
Additionally, the testcase now uses a generated invalid certificate, instead of the tester needing the configure one, to improve the
ease of use of the OCTT.
Added * Step 3:
Message SecurityEventNotificationRequest
- type InvalidFirmwareSigningCertificate
OCPP 2.0.1 - © Open Charge Alliance 2024 120/145 Edition 2 - Errata 2024-04
6.1.35. Page 245 - (2024-02) - TC_L_08_CS - Resolved issues after L test cases
rewrite
Note: This erratum resolves the issues introduced at erratum: [Page 232-265 - (2023-12) - TC_L_XX_CS - Update testcase structure L
group testcases]
During the L test cases rewrite, this firmware update failure testcase reused too much text from the firmware update success test
cases.
The reboot and reconnect described at these steps are only applicable in case of a successful firmware update.
Note: This step only needs to be executed if the Charging Station needs to reboot before firmware activation.
Note: This step only needs to be executed if the Charging Station did not reboot/reconnect up until this point. The
Charging Station should at least reconnect to reestablish the protocol version handshake.
OCPP 2.0.1 - © Open Charge Alliance 2024 121/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - InstallVerificationFailed or InstallationFailed
Prerequisite(s) - A file server has been setup according to the (by the Charging Station) supported file transfer protocol(s),
indicated by the configuration variable FileTransferProtocols.
- The at the OCTT configured invalid firmware location needs to point to a firmware file that causes an
InstallVerificationFailed.
Memory State:
N/a
Reusable State(s):
N/a
Note(s):
- This step is optional. The Charging Station may
wants to set its connectors to Unavailable, before
proceeding installing the new firmware.
Note: This step only needs to be executed if the Charging Station needs to reboot before firmware
installation.
12. The Charging Station sends a
FirmwareStatusNotificationRequest 13. The OCTT responds with a
With status Installing FirmwareStatusNotificationResponse
Note(s):
- This step only needs to be executed if the Charging
Station did NOT reboot before firmware installation, at
step 11.
OCPP 2.0.1 - © Open Charge Alliance 2024 122/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - InstallVerificationFailed or InstallationFailed
Note: Step 14 through 17 can be send in a different order.
14. The Charging Station notifies the CSMS about
the current state of all connectors. 15. The OCTT responds accordingly.
Note(s):
- This step only needs to be executed if the
connectors were previously set to Unavailable (at step
9) and the Charging Station did not report setting
them back to Available (after the reboot sequence at
step 11) yet.
- And if the Charging Station did not become
inoperative after the firmware update failure. It is
recommended for a Charging Station to fallback to
the previous firmware after a firmware update failure.
16. The Charging Station sends a
FirmwareStatusNotificationRequest 17. The OCTT responds with a
With status InstallVerificationFailed or FirmwareStatusNotificationResponse
InstallationFailed
OCPP 2.0.1 - © Open Charge Alliance 2024 123/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - InstallVerificationFailed or InstallationFailed
OCPP 2.0.1 - © Open Charge Alliance 2024 124/145 Edition 2 - Errata 2024-04
Table 22. Test Case Id: TC_L_14_CS
Test case name Secure Firmware Update - Unable to install and activate firmware with ongoing transaction -
AllowNewSessionsPendingFirmwareUpdate is true
Test case Id TC_L_14_CS
Use case Id(s) L01
Requirement(s) L01.FR.01,L01.FR.06,L01.FR.07,L01.FR.10,L01.FR.20
System under test Charging Station
Description The CSMS is able to request the Charging Station to securely download and install/activate a new firmware
by sending an UpdateFirmwareRequest with a signingCertificate. When the Installing phase is not possible
while a transaction is ongoing, Charging Station will report InstallScheduled and wait for transction(s) to
finish first, else it will immediately report Installing. In both cases before activation of new firmware by
(optional) reboot and a reconnect, Charging Station will always wait for transaction(s) to finish.
Purpose To verify if the Charging Station is able to keep allowing new transactions when requested to update the
firmware, while there is an ongoing transaction.
Prerequisite(s) - A file server has been setup according to the (by the Charging Station) supported file transfer protocol(s),
indicated by the configuration variable FileTransferProtocols.
- The Charging Station is able to start more than one transaction at a time.
- The Charging Station is unable to install and/or activate firmware while there is an ongoing transaction.
Memory State:
N/a
Reusable State(s):
State is EnergyTransferStarted for EVSEId 1 and ConnectorId 1
OCPP 2.0.1 - © Open Charge Alliance 2024 125/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - Unable to install and activate firmware with ongoing transaction -
AllowNewSessionsPendingFirmwareUpdate is true
Note(s):
- It is allowed to start a second transaction while there is a (scheduled) firmware update.
11a. If Charging Station reported Installing in step 9 then wait a while (30-60 s) before continuing with next
steps to stop transactions to allow time to install firmware.
Note(s):
- The Charging Station will proceed to this end state. This will cause the first transaction to stop.
Note(s):
- The Charging Station will proceed to this end state. This will cause the second transaction to stop.
- The Charging Station will start the firmware update process (if it had not started installing in step 9) the
moment this second transaction ends or when all interactions with the EV Driver are done (so after the cable
has been unplugged, assuming there is no parking bay sensor).
14. The Charging Station notifies the CSMS about
the current state of all connectors. 15. The OCTT responds accordingly.
Note(s):
- This step is optional. The Charging Station may want
to set its connectors to Unavailable, before
proceeding installing the new firmware.
OCPP 2.0.1 - © Open Charge Alliance 2024 126/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - Unable to install and activate firmware with ongoing transaction -
AllowNewSessionsPendingFirmwareUpdate is true
Note: This step only needs to be executed if the Charging Station needs to reboot before firmware
installation.
17. The Charging Station sends a
FirmwareStatusNotificationRequest 18. The OCTT responds with a
With status Installing FirmwareStatusNotificationResponse
Note(s):
- This step only needs to be executed if the Charging
Station did not report Installing at step 9 and did not
reboot before firmware installation, at step 16
(because that step already reports Installing).
Note: This step only needs to be executed if the Charging Station needs to reboot before firmware activation.
Note: This step only needs to be executed if the Charging Station did not reboot/reconnect up until this point.
The Charging Station should at least reconnect to reestablish the protocol version handshake.
Note: Step 21 through 26 can be sent in a different order.
21. The Charging Station notifies the CSMS about
the current state of all connectors. 22. The OCTT responds accordingly.
Note(s):
- This step only needs to be executed if the
connectors were previously set to Unavailable (at step
14) and the Charging Station did not report setting
them back to Available (after a reboot sequence at
step 16 or 19) yet.
23. The Charging Station sends a
FirmwareStatusNotificationRequest 24. The OCTT responds with a
With status Installed FirmwareStatusNotificationResponse
25. The Charging Station sends a
SecurityEventNotificationRequest 26. The OCTT responds with a
With type FirmwareUpdated SecurityEventNotificationResponse
OCPP 2.0.1 - © Open Charge Alliance 2024 127/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - Unable to install and activate firmware with ongoing transaction -
AllowNewSessionsPendingFirmwareUpdate is true
OCPP 2.0.1 - © Open Charge Alliance 2024 128/145 Edition 2 - Errata 2024-04
Table 23. Test Case Id: TC_L_15_CS
Test case name Secure Firmware Update - Unable to install firmware with ongoing transaction -
AllowNewSessionsPendingFirmwareUpdate is false
Test case Id TC_L_15_CS
Use case Id(s) L01
Requirement(s) L01.FR.01,L01.FR.06,L01.FR.07,L01.FR.10,L01.FR.20
System under test Charging Station
Description The CSMS is able to request the Charging Station to securely download and install a new firmware by
sending an UpdateFirmwareRequest with a signingCertificate. When the Installing phase is not possible
while a transaction is ongoing, Charging Station will report InstallScheduled and wait for transction(s) to
finish first, else it will immediately report Installing. In both cases before activation of new firmware by
(optional) reboot and a reconnect, Charging Station will always wait for transaction(s) to finish.
Purpose To verify if the Charging Station is able to set its available connectors to Unavailable when requested to
update the firmware, while there is an ongoing transaction.
Prerequisite(s) - A file server has been setup according to the (by the Charging Station) supported file transfer protocol(s),
indicated by the configuration variable FileTransferProtocols.
- The configuration variable AllowNewSessionsPendingFirmwareUpdate is implemented.
- The Charging Station is unable to install firmware while there is an ongoing transaction.
Memory State:
N/a
Reusable State(s):
State is EnergyTransferStarted
OCPP 2.0.1 - © Open Charge Alliance 2024 129/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - Unable to install firmware with ongoing transaction -
AllowNewSessionsPendingFirmwareUpdate is false
Note(s):
- This step needs to be executed for all connectors
with AvailabilityState Available.
12a. If Charging Station reported Installing in step 9 then wait a while (30-60 s) before continuing with next
steps to stop transaction to allow time to install firmware.
Note(s):
- The Charging Station will proceed to this end state. This will cause the transaction to stop.
- The Charging Station will start the firmware update process (if it had not started installing in step 9) the
moment the transaction ends or when all interactions with the EV Driver are done (so after the cable has been
unplugged, assuming there is no parking bay sensor).
14. The Charging Station notifies the CSMS about
the current state of all connectors. 15. The OCTT responds accordingly.
Note(s):
- This step is optional. The Charging Station may want
to set its last connector to Unavailable, before
proceeding installing the new firmware.
OCPP 2.0.1 - © Open Charge Alliance 2024 130/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - Unable to install firmware with ongoing transaction -
AllowNewSessionsPendingFirmwareUpdate is false
Note: This step only needs to be executed if the Charging Station needs to reboot before firmware
installation.
17. The Charging Station sends a
FirmwareStatusNotificationRequest 18. The OCTT responds with a
With status Installing FirmwareStatusNotificationResponse
Note(s):
- This step only needs to be executed if the Charging
Station did not report Installing at step 9 and did not
reboot before firmware installation, at step 16
(because that step already reports Installing).
Note: This step only needs to be executed if the Charging Station needs to reboot before firmware activation.
Note: This step only needs to be executed if the Charging Station did not reboot/reconnect up until this point.
The Charging Station should at least reconnect to reestablish the protocol version handshake.
Note: Step 21 through 26 can be sent in a different order.
21. The Charging Station notifies the CSMS about
the current state of all connectors. 22. The OCTT responds accordingly.
Note(s):
- This step only needs to be executed if the
connectors were previously set to Unavailable (at step
14) and the Charging Station did not report setting
them back to Available (after a reboot sequence at
step 16 or 19) yet.
23. The Charging Station sends a
FirmwareStatusNotificationRequest 24. The OCTT responds with a
With status Installed FirmwareStatusNotificationResponse
25. The Charging Station sends a
SecurityEventNotificationRequest 26. The OCTT responds with a
With type FirmwareUpdated SecurityEventNotificationResponse
OCPP 2.0.1 - © Open Charge Alliance 2024 131/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - Unable to install firmware with ongoing transaction -
AllowNewSessionsPendingFirmwareUpdate is false
OCPP 2.0.1 - © Open Charge Alliance 2024 132/145 Edition 2 - Errata 2024-04
6.1.36. Page 259 - (2024-04) - TC_L_14_CS - Updated to support A/B firmware
updates
This test case now supports installation (but not activation) of firmware while a transaction is active.
Memory State:
N/a
Reusable State(s):
State is EnergyTransferStarted for EVSEId 1 and ConnectorId 1
OCPP 2.0.1 - © Open Charge Alliance 2024 133/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - Unable to install and activate firmware with ongoing transaction -
AllowNewSessionsPendingFirmwareUpdate is true
Note(s):
- It is allowed to start a second transaction while there is a (scheduled) firmware update.
11a. If Charging Station reported Installing in step 9 then wait a while (30-60 s) before continuing with next
steps to stop transactions to allow time to install firmware.
Note(s):
- The Charging Station will proceed to this end state. This will cause the first transaction to stop.
Note(s):
- The Charging Station will proceed to this end state. This will cause the second transaction to stop.
- The Charging Station will start the firmware update process (if it had not started installing in step 9) the
moment this second transaction ends or when all interactions with the EV Driver are done (so after the cable
has been unplugged, assuming there is no parking bay sensor).
14. The Charging Station notifies the CSMS about
the current state of all connectors. 15. The OCTT responds accordingly.
Note(s):
- This step is optional. The Charging Station may want
to set its connectors to Unavailable, before
proceeding installing the new firmware.
OCPP 2.0.1 - © Open Charge Alliance 2024 134/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - Unable to install and activate firmware with ongoing transaction -
AllowNewSessionsPendingFirmwareUpdate is true
Note: This step only needs to be executed if the Charging Station needs to reboot before firmware
installation.
17. The Charging Station sends a
FirmwareStatusNotificationRequest 18. The OCTT responds with a
With status Installing FirmwareStatusNotificationResponse
Note(s):
- This step only needs to be executed if the Charging
Station did not report Installing at step 9 and did not
reboot before firmware installation , at step 16
(because that step already reports Installing ) .
Note: This step only needs to be executed if the Charging Station needs to reboot before firmware activation.
Note: This step only needs to be executed if the Charging Station did not reboot/reconnect up until this point.
The Charging Station should at least reconnect to reestablish the protocol version handshake.
Note: Step 21 through 26 can be sent in a different order.
21. The Charging Station notifies the CSMS about
the current state of all connectors. 22. The OCTT responds accordingly.
Note(s):
- This step only needs to be executed if the
connectors were previously set to Unavailable (at step
14) and the Charging Station did not report setting
them back to Available (after a reboot sequence at
step 16 or 19) yet.
23. The Charging Station sends a
FirmwareStatusNotificationRequest 24. The OCTT responds with a
With status Installed FirmwareStatusNotificationResponse
25. The Charging Station sends a
SecurityEventNotificationRequest 26. The OCTT responds with a
With type FirmwareUpdated SecurityEventNotificationResponse
OCPP 2.0.1 - © Open Charge Alliance 2024 135/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - Unable to install and activate firmware with ongoing transaction -
AllowNewSessionsPendingFirmwareUpdate is true
OCPP 2.0.1 - © Open Charge Alliance 2024 136/145 Edition 2 - Errata 2024-04
6.1.37. Page 262 - (2024-04) - TC_L_15_CS - Updated to support A/B firmware
updates
This test case now supports installation (but not activation) of firmware while a transaction is active.
Memory State:
N/a
Reusable State(s):
State is EnergyTransferStarted
OCPP 2.0.1 - © Open Charge Alliance 2024 137/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - Unable to install and activate firmware with ongoing transaction -
AllowNewSessionsPendingFirmwareUpdate is false
Note(s):
- This step needs to be executed for all connectors
with AvailabilityState Available.
12a. If Charging Station reported Installing in step 9 then wait a while (30-60 s) before continuing with next
steps to stop transaction to allow time to install firmware.
Note(s):
- The Charging Station will proceed to this end state. This will cause the transaction to stop.
- The Charging Station will start the firmware update process (if it had not started installing in step 9) the
moment the transaction ends or when all interactions with the EV Driver are done (so after the cable has been
unplugged, assuming there is no parking bay sensor).
14. The Charging Station notifies the CSMS about
the current state of all connectors. 15. The OCTT responds accordingly.
Note(s):
- This step is optional. The Charging Station may want
to set its last connector to Unavailable, before
proceeding installing the new firmware.
OCPP 2.0.1 - © Open Charge Alliance 2024 138/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - Unable to install and activate firmware with ongoing transaction -
AllowNewSessionsPendingFirmwareUpdate is false
Note: This step only needs to be executed if the Charging Station needs to reboot before firmware
installation.
17. The Charging Station sends a
FirmwareStatusNotificationRequest 18. The OCTT responds with a
With status Installing FirmwareStatusNotificationResponse
Note(s):
- This step only needs to be executed if the Charging
Station did not report Installing at step 9 and did not
reboot before firmware installation, at step 16
(because that step already reports Installing).
Note: This step only needs to be executed if the Charging Station needs to reboot before firmware activation.
Note: This step only needs to be executed if the Charging Station did not reboot/reconnect up until this point.
The Charging Station should at least reconnect to reestablish the protocol version handshake.
Note: Step 21 through 26 can be sent in a different order.
21. The Charging Station notifies the CSMS about
the current state of all connectors. 22. The OCTT responds accordingly.
Note(s):
- This step only needs to be executed if the
connectors were previously set to Unavailable (at step
14) and the Charging Station did not report setting
them back to Available (after a reboot sequence at
step 16 or 19) yet.
23. The Charging Station sends a
FirmwareStatusNotificationRequest 24. The OCTT responds with a
With status Installed FirmwareStatusNotificationResponse
25. The Charging Station sends a
SecurityEventNotificationRequest 26. The OCTT responds with a
With type FirmwareUpdated SecurityEventNotificationResponse
OCPP 2.0.1 - © Open Charge Alliance 2024 139/145 Edition 2 - Errata 2024-04
Test case name Secure Firmware Update - Unable to install and activate firmware with ongoing transaction -
AllowNewSessionsPendingFirmwareUpdate is false
OCPP 2.0.1 - © Open Charge Alliance 2024 140/145 Edition 2 - Errata 2024-04
6.1.38. Page 268 - (2024-04) - TC_M_01_CS - Incorrect note about
AdditionalRootCertificateCheck and new CSMSRoot needs to be installed
The first configured CSMSRoot is already installed while using security profile 2 or 3. So this testcase needs to install a new
CSMSRoot certificate to validate if a Charging Station is able to install a new Root certificate.
Note(s):
- When the Charging Station has the following configuration; AdditionalRootCertificateCheck implemented with
value true, then a custom CSMSRootCertificate should be used.
- When the Charging Station has the following configuration; AdditionalRootCertificateCheck implemented with
value false, then the the built-in action to delete the newly installed certificate should be executed.
New text 1. Execute Reusable State CertificateInstalled for certificateType CSMSRootCertificate (Root 2)
Note(s):
- When the Charging Station has the following configuration; AdditionalRootCertificateCheck implemented with
value true, then a custom CSMSRootCertificate should be used.
- When the Charging Station has the following configuration; AdditionalRootCertificateCheck implemented with
value false, then the the built-in action to delete the newly installed certificate should be executed.
• The Unsecured Transport with Basic Authentication Profile does not include authentication for the CSMS, or
measures to set up a secure communication channel. Therefore, it should only be used in trusted networks, for
instance in networks where there is a VPN between the CSMS and the Charging Station. For field operation it is highly
recommended to use a security profile with TLS.
• In some cases (e.g. lab installations, test setups, etc.) one might prefer to use OCPP 2.0.1 without implementing
security. While this is possible, it is NOT considered a valid OCPP 2.0.1 implementation.
6.1.40. Page 269/276 - (2023-12) - TC_M_02_CS & TC_M_13_CS & TC_M_17_CS &
TC_M_18_CS - Only applicable when signed firmware update is supported
This testcase is only applicable for Charging Stations that support signed firmware updates. However it is highly recommended to
support the signed variant, opposed to the unsigned firmware update variant. For certification only the implementation of the
signed firmware update is allowed, so therefore this testcase is mandatory for certification.
Additionally the existing prerequisite from TC_M_02_CS is removed, because the variable AdditionalRootCertificateCheck does not
effect the ManufacturerRootCertificate.
Old text Prerequisite(s) The Charging Station does NOT have the following configuration;
AdditionalRootCertificateCheck is implemented with value true
New text Prerequisite(s) - The Charging Station supports signed firmware updates.
OCPP 2.0.1 - © Open Charge Alliance 2024 141/145 Edition 2 - Errata 2024-04
6.1.41. Page 279 - (2024-04) - TC_M_19_CS - Removing MORootCertifiate in
preparation phase when needed
Old Configuration State:
text N/a
New Configuration State:
text OCTT checks to make sure that no MORootCertificate is installed via GetInstalledCertificateIds. If an MORootCertificate
exists it removes it via DeleteCertificate.
6.1.43. Page 284 - (2023-12) - TC_N_26_CS - Require a minimal size for the
configured retry interval, based on the upload speed
The OCTT can is very flexible in its configurations, however some testcases prevent certain configured value combinations or
require a minimal size, depending on the speed of the system. This is to prevent false positives or negatives.
Changed preparations
Additionally an issue has been fixed regarding tool validation step numbering and the amount of times the OCTT expects the
Charging Station to repeat step(s) (3) 5.
Added Prerequisite(s) The Charging Station supports cancelling an ongoing log file upload.
OCPP 2.0.1 - © Open Charge Alliance 2024 142/145 Edition 2 - Errata 2024-04
6.1.45. Page 292/293 - (2023-12) - TC_N_35_CS & TC_N_36_CS - Invalid
prerequisite
Log file upload is part of functional block N, but is not related to monitoring.
OCPP 2.0.1 - © Open Charge Alliance 2024 143/145 Edition 2 - Errata 2024-04
6.2. Test Cases Charging Station Management System
OCPP 2.0.1 - © Open Charge Alliance 2024 144/145 Edition 2 - Errata 2024-04
Added 9. The OCTT sends a SecurityEventNotificationRequest
With type is InvalidFirmwareSignature
10. The CSMS responds with a SecurityEventNotificationResponse
6.2.8. Page General - (2024-04) - Added testcase list for the other certification
profiles
At edition 3 of the specification all testcases for the other certification profiles are included.
The included certification profiles;
OCPP 2.0.1 - © Open Charge Alliance 2024 145/145 Edition 2 - Errata 2024-04