3.20 Remote Start Transaction
The RemoteStartTransaction message in OCPP 1.6J is sent by the central system to remotely start a charging session at a charge point. It includes the ID tag (for user authorization) and connector ID (to specify where to start charging). The charge point responds with a confirmation or error based on whether the session started successfully. This enables remote charging control.
|
API Syntax |
Description |
Input Params |
Return Value |
|---|---|---|---|
SetRemoteStartTransactionStatus | Sets the status for the Remote Start Transaction. | REMOTE_START_STOP_STATUS_T status | void |
Example:
char chargePointStatus[CHARGE_POINT_STATUS_SIZE];
GetChargePointStatus(chargePointStatus);
if((strncmp(chargePointStatus, "Charging", strlen(chargePointStatus)) == 0 ) || (remoteStartStatus == REMOTE_START_STOP_ACCEPTED))
{
LogDebug("APP_LOG", " Second Remote Start Transaction rejected \n");
SetRemoteStartTransactionStatus(REMOTE_START_STOP_REJECTED);
(void)SendRemoteStartTransactionResponse();
}
|
API Syntax |
Description |
Input Params |
Return Value |
|---|---|---|---|
ResetRemoteStartAuthorizeRemoteTxRequestParms | Resets the authorization request parameters for the Remote Start Transaction. | void | void |
Example:
if (strncmp(authorizeRemoteTxRequests, "true", strlen(authorizeRemoteTxRequests)) != 0)
{
ResetRemoteStartAuthorizeRemoteTxRequestParms();
int reservationId = 0;
if (GetReserveNowStatus() == RESERVE_NOW_ACCEPTED)
{
GetReserveNowParams(&reserveParams);
reservationId = reserveParams.reservationId;
}
else
{
LogDebug("APP_LOG", "ReserveNow status is not accepted\n\r");
}
UpdateAndSendStartTransaction(IdTag, 0, connectorId, reservationId);
}
|
API Syntax |
Description |
Input Params |
Return Value |
|---|---|---|---|
GetRemoteStartConnectorIdParms | Retrieves the connector ID parameters for the Remote Start Transaction. | u_int32_t *connectorId | void |
Example:
GetRemoteStartConnectorIdParms((u_int32_t *)&connectorId);
if(strncmp(AuthorizeRemoteTxRequests, "true", strlen(AuthorizeRemoteTxRequests)) != 0)
{
if(reserveStatus == RESERVE_NOW_ACCEPTED)
{
GetReserveNowParams(¶ms);
reservationId = params.reservationId;
}
else
{
reservationId = 0;
}
UpdateAndSendStartTransaction(IdTag, 0, connectorId, reservationId);
}
else
{
}
|
API Syntax |
Description |
Input Params |
Return Value |
|---|---|---|---|
GetRemoteStartIdTagParms | Retrieves the ID tag parameters for the Remote Start Transaction. | char idTag[] | void |
Example:
GetRemoteStartIdTagParms(IdTag);
GetRemoteStartConnectorIdParms((u_int32_t *)&connectorId);
if(strncmp(AuthorizeRemoteTxRequests, "true", strlen(AuthorizeRemoteTxRequests)) != 0)
{
if(reserveStatus == RESERVE_NOW_ACCEPTED)
{
GetReserveNowParams(¶ms);
reservationId = params.reservationId;
}
else
{
reservationId = 0;
}
UpdateAndSendStartTransaction(IdTag, 0, connectorId,
|
API Syntax |
Description |
Input Params |
Return Value |
|---|---|---|---|
RemoteStartTransactionInit | This function initializes the status to REMOTE_START_STOP_REJECTED and the authorization request to 0. | void | void |
Example:
void OCPPMessagesInit(void)
{
DataTransferInit();
ResetInit();
MeterValueStructInit();
SetLocalListVersionNumber(DEFAULT_SEND_LOCAL_LIST_VERSION);
SetChargePointConnectorId(CHARGEPOINT_DEFAULT_CONTROLLER);
ChargePointStatusInit();
(void)SetAuthorizeStatus(AUTHORIZE_INVALID);
SetOCPPWebsocketOnlineMode();
UnlockConnectorInit();
ReserveNowInit();
ChangeAvailabilityInit();
ClearCacheInit();
ChangeConfigurationInit();
CancelReservationInit();
GetAllIDsFromDB();
CheckAndStartClockAlignedMeterValueTimer();
ClearChargingProfileInit();
GetCompositeScheduleInit();
GetLocalListVersionInit();
SendLocalListInit();
SetChargingProfileInit();
TriggerMessageInit();
RemoteStopTransactionInit();
RemoteStartTransactionInit();
}
|
Syntax |
Description |
Constants/Members |
|---|---|---|
RX_REMOTESTARTTRANSACTION_T | Structure to hold the details of a received Remote Start Transaction | char uuid[]; int connectorId; idToken idTag[]; int authorizeRemoteTxRequest; CSCHARGINGPROFILE_DATA_T csChargingProfile; |
REMOTESTARTTRANSACTION_RESPONSE_T | Structure to hold the response of a Remote Start Transaction | REMOTE_START_STOP_STATUS_T status; |
char *remoteStartTransactionStatusType[] | Array of status strings corresponding to the REMOTE_START_STOP_STATUS_T values | Accepted Rejected |
