Receive OCPP Charging Profiles
This guide provides detailed instructions on setting up endpoints to receive OCPP formatted charging profiles from the Jedlix Smart Charging Platform.
To receive the control signal from Jedlix, Jedlix expects the CPO or CPMS side to provide the following endpoint.
Set Charging Profile
Endpoint URL
POST /v1/cpo/chargingstation/{uid}/events/{payload-protocol}/SetChargingProfile
- payload-protocol: Specifies the protocol used in the payload (e.g., ocpp1.6, ocpp2.0.1).
- uid: Unique identifier of the charging station in the CPO platform.
Request
The request should be structured according to the SetChargingProfileRequest.json schema as defined in OCPP.
SetChargingProfileRequest.json
Parameters
Jedlix sends charging profiles with standard values for some of the parameters:
- evseId:
0
- Jedlix does not (yet) support controlling the individual EVSEs of a Charging Station. Therefore, Jedlix will send the Charging Profiles in a way that they are applied to all EVSEs of a Charging Station.
- stackLevel:
1
- Represents the precedence level in the hierarchy of profiles, with
1
being the least prioritized.
- Represents the precedence level in the hierarchy of profiles, with
- chargingProfileKind:
Absolute
- Represents a fixed charging schedule with periods set relative to a defined starting point in time.
- chargingProfilePurpose:
TxProfile
- Implies constraints imposed by the Charging Station on the current transaction.
- chargingRateUnit:
W
- Specifies the charging rate measured in Watts.
Expected behavior
- When
validFrom
is not defined, Jedlix assumes the schedule will become effective immediately - When
validTo
is not defined, Jedlix assumes the schedule will be valid until a newTxProfile
is received or until the end of the transaction - When
validTo
is defined, the schedule defaults to theTxDefaultProfile
aftervalidTo
time has passed.
V2G/discharging support
When support for discharging capabilities is desired, Jedlix proposes accepting the receival of negative values in the chargingSchedule.chargingSchedulePeriod.limit
field to initiate discharging of the EV.
Examples
Example request body to Resume Charging immediately
{
"evseId": 0,
"chargingProfile": {
"id": 158798,
"stackLevel": 1,
"chargingProfilePurpose": "TxProfile",
"chargingProfileKind": "Absolute",
"chargingSchedule": [
{
"id": 1,
"chargingRateUnit": "W",
"chargingSchedulePeriod": [
{
"startPeriod": 0,
"limit": 999999
}
]
}
],
"transactionId": 1234
}
}
Example request body to pause charging from "2023-09-27T11:00:00Z"
to "2023-09-27T12:00:00Z"
{
"evseId": 0,
"chargingProfile": {
"id": 158798,
"stackLevel": 1,
"chargingProfilePurpose": "TxProfile",
"chargingProfileKind": "Absolute",
"chargingSchedule": [
{
"id": 1,
"chargingRateUnit": "W",
"chargingSchedulePeriod": [
{
"startPeriod": 0,
"limit": 0
}
]
}
],
"validFrom": "2023-09-27T11:00:00Z",
"validTo": "2023-09-27T12:00:00Z",
"transactionId": 1234
}
}
Example request body to schedule discharging between "2023-09-27T11:00:00Z"
and "2023-09-27T12:00:00Z"
{
"evseId": 0,
"chargingProfile": {
"id": 158798,
"stackLevel": 1,
"chargingProfilePurpose": "TxProfile",
"chargingProfileKind": "Absolute",
"chargingSchedule": [
{
"id": 1,
"chargingRateUnit": "W",
"chargingSchedulePeriod": [
{
"startPeriod": 0,
"limit": -999999
}
]
}
],
"validFrom": "2023-09-27T11:00:00Z",
"validTo": "2023-09-27T20:00:00Z",
"transactionId": 1234
}
}
Example Responses
- 200 OK: Charging profile has been executed.
- 400 Bad Request: Invalid EVSE UID or Invalid charging profile.
- 401 Unauthorized: Unauthorized access to set charging profiles for this EVSE.
- 404 Not Found: The specified charger UID does not exist.
- 500 Internal Server Error: An error occurred while processing the request.
- 503 Service Unavailable: The specified charger is currently offline.
Updated over 1 year ago