OCPP 2.0.1/2.1 and V2X requirements
This document lists the OCPP 2.0.1 and OCPP 2.1 messages a charger must support, in order to be integrated with the CSMS.
The majority of the message need to follow the OCPP 2.0.1 specification. Some of the message must follow the specification as defined in “OCPP 2.1 Additions V2X/15118-20”. In the column ‘specification’ in the table below indicates specification is required.
This document is a first draft and shall work as basis for first integration discussions. Is has no claim to be complete.
Summary
Priority | Message | Specification |
---|---|---|
#1 | TransactionEvent | OCPP 2.0.1 |
#1 | NotifyEvChargingNeeds | OCPP 2.1 |
#1 | SetChargingProfile | OCPP 2.1 |
#1 | SetVariables | OCPP 2.0.1 |
#2 | Heartbeat | OCPP 2.0.1 |
#2 | BootNotification | OCPP 2.0.1 |
#2 | Authorize | OCPP 2.1 |
#3 | StatusNotification | OCPP 2.0.1 |
#3 | NotifyEvent | OCPP 2.0.1 |
#3 | SecurityNotifyEvent | OCPP 2.0.1 |
#3 | SendLocalList | OCPP 2.0.1 |
#3 | ClearCache | OCPP 2.0.1 |
#4 | GetLog | OCPP 2.0.1 |
#4 | LogStatusNotification | OCPP 2.0.1 |
#4 | RequestStartTransaction | OCPP 2.0.1 |
#4 | RequestStopTransaction | OCPP 2.0.1 |
#4 | Reset | OCPP 2.0.1 |
Priority #1
In order to start integrating a charger, the charger should support a few messages make smart charging possible. This set of messages should allow TMH charge and discharge an EV in a test environment.
☑️ The chargers must inform the about transaction and charge metrics TransactionEvents.
☑️ The charger must send NotifyEvChargingNeeds (V2X) that express the mobility needs of the EV. This message should contain at least the EV’s departure time and requested energy transfer. The V2X parameters must contain the energy needs and (dis)charge boundaries:
[2,
'2108818a-a34d-4ec7-b2aa-0ecfa964c0c9',
'NotifyEVChargingNeeds',
{'chargingNeeds': {'controlMode': 'Dynamic',
'departureTime': '2023-04-14T14:22:37.000Z',
'mobilityNeedsMode': 'EVCC',
'requestedEnergyTransfer': 'AC_single_phase_BPT',
'v2xChargingParameters': {'evMaxEnergyRequest': 5000,
'evMinEnergyRequest': -20000,
'evTargetEnergyRequest': 0,
'evMinV2XEnergyRequest': -27000,
'evMaxV2XEnergyRequest': -3000
'maxChargePower': 11000,
'maxDischargePower': -11000,
'minChargePower': 0,
'minDischargePower': 0}},
'evseId': 1}]
☑️ The charger must support SetChargingProfile (V2X). Below is a example of how a SetChargingProfile that we could send. Notice how we rely on v2xOperationModes “CentralSetpoint” and “Idle”:
[2,
'598de41d-067a-4d2c-89b4-bc2d02ece057',
'SetChargingProfile',
{'chargingProfile': {'chargingProfileKind': 'Absolute',
'chargingProfilePurpose': 'TxProfile',
'chargingSchedule': [{'chargingRateUnit': 'W',
'chargingSchedulePeriod': [{'limit': 3000,
'setpoint': 3000,
'startPeriod': 0,
'v2xOperationMode': 'CentralSetpoint'},
{
'limit': 3000,
'setpoint': -3000,
'startPeriod': 900,
'v2xOperationMode': 'CentralSetpoint'},
{'limit': 3000,
'setpoint': 0,
'startPeriod': 1800,
'v2xOperationMode': 'Idle'}],
'id': 0,
'startSchedule': '2023-07-06T15:33:07Z'}],
'id': 1,
'stackLevel': 1,
'transactionId': '6462336'},
'evseId': 1}]
☑️ Lastly, the charger must support SetVariables so the CSMS can configure the charger.
Priority #2
☑️ The charger must support Heartbeat to synchronize time with CCSMS.
☑️ The charger must implement Authorize (V2X).
☑️ The charger must implement BootNotification.
Priority #3
☑️ The charger must implement StatusNotifcation, NotifyEvent and SecurityEventNotification.
☑️ In order to support support periods where charger is offline, charger should support SendLocalList and ClearCache.
After reaching this stage, a charger is ready to be operated in a beta environment where a few individuals rely on correct operation of the charger.
Priority #4
☑️ To operate and manage the charger in a production environment, it should support:
GetLog
LogStatusNotification
RequestStartTransaction
RequestStopTransaction
Reset