Array.isArray(chargingStation.getConnectorStatus(connectorId)?.chargingProfiles) === false
) {
logger.error(
- `${chargingStation.logPrefix()} Trying to set a charging profile on connector id ${connectorId} with an improper attribute type for the charging profiles array, applying proper type initialization`,
+ `${chargingStation.logPrefix()} Trying to set a charging profile on connector id ${connectorId} with an improper attribute type for the charging profiles array, applying proper type deferred initialization`,
);
chargingStation.getConnectorStatus(connectorId)!.chargingProfiles = [];
}
commandPayload: ClearChargingProfileRequest,
chargingProfiles: OCPP16ChargingProfile[] | undefined,
): boolean => {
+ const { id, chargingProfilePurpose, stackLevel } = commandPayload;
let clearedCP = false;
if (isNotEmptyArray(chargingProfiles)) {
chargingProfiles?.forEach((chargingProfile: OCPP16ChargingProfile, index: number) => {
let clearCurrentCP = false;
- if (chargingProfile.chargingProfileId === commandPayload.id) {
+ if (chargingProfile.chargingProfileId === id) {
clearCurrentCP = true;
}
- if (
- !commandPayload.chargingProfilePurpose &&
- chargingProfile.stackLevel === commandPayload.stackLevel
- ) {
+ if (!chargingProfilePurpose && chargingProfile.stackLevel === stackLevel) {
clearCurrentCP = true;
}
- if (
- !chargingProfile.stackLevel &&
- chargingProfile.chargingProfilePurpose === commandPayload.chargingProfilePurpose
- ) {
+ if (!stackLevel && chargingProfile.chargingProfilePurpose === chargingProfilePurpose) {
clearCurrentCP = true;
}
if (
- chargingProfile.stackLevel === commandPayload.stackLevel &&
- chargingProfile.chargingProfilePurpose === commandPayload.chargingProfilePurpose
+ chargingProfile.stackLevel === stackLevel &&
+ chargingProfile.chargingProfilePurpose === chargingProfilePurpose
) {
clearCurrentCP = true;
}
(chargingStation.getConnectorStatus(connectorId)?.status ===
OCPP16ChargePointStatus.Reserved &&
connectorReservation &&
+ !hasReservationExpired(connectorReservation) &&
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
- (hasReservationExpired(connectorReservation) || connectorReservation?.idTag !== idTag)) ||
+ connectorReservation?.idTag === idTag) ||
(chargingStation.getConnectorStatus(0)?.status === OCPP16ChargePointStatus.Reserved &&
chargingStationReservation &&
- (hasReservationExpired(chargingStationReservation) ||
- chargingStationReservation?.idTag !== idTag))
+ !hasReservationExpired(chargingStationReservation) &&
+ chargingStationReservation?.idTag === idTag)
) {
- return false;
+ return true;
}
- return true;
+ return false;
};
public static parseJsonSchemaFile<T extends JsonType>(