connectorId: number,
idTag: string,
): Promise<boolean> {
- let authorized = false;
- if (OCPPServiceUtils.isIdTagLocalAuthorized(chargingStation, idTag)) {
+ if (!chargingStation.getLocalAuthListEnabled() && !chargingStation.getRemoteAuthorization()) {
+ logger.warn(
+ `${chargingStation.logPrefix()} The charging station expects to authorize RFID tags but nor local authorization nor remote authorization are enabled. Misbehavior may occur`,
+ );
+ }
+ if (
+ chargingStation.getLocalAuthListEnabled() === true &&
+ OCPPServiceUtils.isIdTagLocalAuthorized(chargingStation, idTag)
+ ) {
const connectorStatus: ConnectorStatus = chargingStation.getConnectorStatus(connectorId)!;
connectorStatus.localAuthorizeIdTag = idTag;
connectorStatus.idTagLocalAuthorized = true;
- authorized = true;
- } else if (chargingStation.getMustAuthorizeAtRemoteStart()) {
- authorized = await OCPPServiceUtils.isIdTagRemoteAuthorized(
- chargingStation,
- connectorId,
- idTag,
- );
+ return true;
+ } else if (chargingStation.getRemoteAuthorization()) {
+ return await OCPPServiceUtils.isIdTagRemoteAuthorized(chargingStation, connectorId, idTag);
}
- return authorized;
+ return false;
}
protected static checkConnectorStatusTransition(
private static isIdTagLocalAuthorized(chargingStation: ChargingStation, idTag: string): boolean {
return (
- chargingStation.getLocalAuthListEnabled() === true &&
chargingStation.hasIdTags() === true &&
isNotEmptyString(
chargingStation.idTagsCache