type JsonType,
type OCPP16AuthorizeRequest,
type OCPP16BootNotificationRequest,
+ OCPP16ChargePointStatus,
type OCPP16DataTransferRequest,
type OCPP16DiagnosticsStatusNotificationRequest,
type OCPP16FirmwareStatusNotificationRequest,
commandName: OCPP16RequestCommand,
commandParams?: JsonType,
): Request {
- let connectorId: number;
+ let connectorId: number | undefined;
let energyActiveImportRegister: number;
commandParams = commandParams as JsonObject;
switch (commandName) {
true,
),
timestamp: new Date(),
+ ...(OCPP16ServiceUtils.hasReservation(
+ chargingStation,
+ commandParams?.connectorId as number,
+ commandParams?.idTag as string,
+ ) && {
+ reservationId: chargingStation.getReservationBy(
+ 'connectorId',
+ chargingStation.getConnectorStatus(0)?.status === OCPP16ChargePointStatus.Reserved
+ ? 0
+ : (commandParams?.connectorId as number),
+ )!.reservationId,
+ }),
...commandParams,
} as unknown as Request;
case OCPP16RequestCommand.STOP_TRANSACTION:
chargingStation.getTransactionDataMeterValues() &&
(connectorId = chargingStation.getConnectorIdByTransactionId(
commandParams?.transactionId as number,
- ));
+ )!);
energyActiveImportRegister = chargingStation.getEnergyActiveImportRegisterByTransactionId(
commandParams?.transactionId as number,
true,
timestamp: new Date(),
...(chargingStation.getTransactionDataMeterValues() && {
transactionData: OCPP16ServiceUtils.buildTransactionDataMeterValues(
- chargingStation.getConnectorStatus(connectorId).transactionBeginMeterValue,
+ chargingStation.getConnectorStatus(connectorId!)!.transactionBeginMeterValue!,
OCPP16ServiceUtils.buildTransactionEndMeterValue(
chargingStation,
- connectorId,
+ connectorId!,
energyActiveImportRegister,
),
),