X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2Focpp%2F1.6%2FOCPP16ServiceUtils.ts;h=570708b74be0ba7f30b9f243bc613ccbe25dd584;hb=68220b423c52da387fdf41967dd8c738da0ff52e;hp=bbdf2e51a8eac5b5d08d18252eb939f22c66724d;hpb=d0ed7db96b4aedd5b1aa41953637a9361001f6f7;p=e-mobility-charging-stations-simulator.git diff --git a/src/charging-station/ocpp/1.6/OCPP16ServiceUtils.ts b/src/charging-station/ocpp/1.6/OCPP16ServiceUtils.ts index bbdf2e51..570708b7 100644 --- a/src/charging-station/ocpp/1.6/OCPP16ServiceUtils.ts +++ b/src/charging-station/ocpp/1.6/OCPP16ServiceUtils.ts @@ -61,7 +61,7 @@ export class OCPP16ServiceUtils extends OCPPServiceUtils { public static buildTransactionBeginMeterValue ( chargingStation: ChargingStation, connectorId: number, - meterStart: number + meterStart: number | undefined ): OCPP16MeterValue { const meterValue: OCPP16MeterValue = { timestamp: new Date(), @@ -126,7 +126,7 @@ export class OCPP16ServiceUtils extends OCPPServiceUtils { OCPP16Constants.OCPP_AVAILABILITY_RESPONSE_ACCEPTED // eslint-disable-next-line @typescript-eslint/no-non-null-assertion const connectorStatus = chargingStation.getConnectorStatus(connectorId)! - if (connectorStatus?.transactionStarted === true) { + if (connectorStatus.transactionStarted === true) { response = OCPP16Constants.OCPP_AVAILABILITY_RESPONSE_SCHEDULED } connectorStatus.availability = availabilityType @@ -166,19 +166,20 @@ export class OCPP16ServiceUtils extends OCPPServiceUtils { } let cpReplaced = false if (isNotEmptyArray(chargingStation.getConnectorStatus(connectorId)?.chargingProfiles)) { - chargingStation - .getConnectorStatus(connectorId) - ?.chargingProfiles?.forEach((chargingProfile: OCPP16ChargingProfile, index: number) => { - if ( - chargingProfile.chargingProfileId === cp.chargingProfileId || - (chargingProfile.stackLevel === cp.stackLevel && - chargingProfile.chargingProfilePurpose === cp.chargingProfilePurpose) - ) { - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - chargingStation.getConnectorStatus(connectorId)!.chargingProfiles![index] = cp - cpReplaced = true - } - }) + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + for (const [index, chargingProfile] of chargingStation + .getConnectorStatus(connectorId)! + .chargingProfiles!.entries()) { + if ( + chargingProfile.chargingProfileId === cp.chargingProfileId || + (chargingProfile.stackLevel === cp.stackLevel && + chargingProfile.chargingProfilePurpose === cp.chargingProfilePurpose) + ) { + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + chargingStation.getConnectorStatus(connectorId)!.chargingProfiles![index] = cp + cpReplaced = true + } + } } !cpReplaced && chargingStation.getConnectorStatus(connectorId)?.chargingProfiles?.push(cp) } @@ -451,11 +452,11 @@ export class OCPP16ServiceUtils extends OCPPServiceUtils { OCPP16ChargePointStatus.Reserved && connectorReservation != null && !hasReservationExpired(connectorReservation) && - connectorReservation?.idTag === idTag) || + connectorReservation.idTag === idTag) || (chargingStation.getConnectorStatus(0)?.status === OCPP16ChargePointStatus.Reserved && chargingStationReservation != null && !hasReservationExpired(chargingStationReservation) && - chargingStationReservation?.idTag === idTag) + chargingStationReservation.idTag === idTag) ) { logger.debug( `${chargingStation.logPrefix()} Connector id ${connectorId} has a valid reservation for idTag ${idTag}: %j`,