X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2FAutomaticTransactionGenerator.ts;h=1cf949d7545f4b970c438b4e2813349180767c19;hb=acfa5fd10b8489f5d85654e654356e65bfd1e0d0;hp=1dc0a80924e9ee08dad6506e354e168277332984;hpb=611d5cd2c94317acc7959c930bf962847b059e86;p=e-mobility-charging-stations-simulator.git diff --git a/src/charging-station/AutomaticTransactionGenerator.ts b/src/charging-station/AutomaticTransactionGenerator.ts index 1dc0a809..1cf949d7 100644 --- a/src/charging-station/AutomaticTransactionGenerator.ts +++ b/src/charging-station/AutomaticTransactionGenerator.ts @@ -7,12 +7,11 @@ import { hoursToMilliseconds, secondsToMilliseconds } from 'date-fns'; import type { ChargingStation } from './ChargingStation'; import { checkChargingStation } from './Helpers'; import { IdTagsCache } from './IdTagsCache'; +import { OCPPServiceUtils } from './ocpp'; import { BaseError } from '../exception'; import { PerformanceStatistics } from '../performance'; import { AuthorizationStatus, - type AuthorizeRequest, - type AuthorizeResponse, ConnectorStatusEnum, RequestCommand, type StartTransactionRequest, @@ -354,10 +353,12 @@ export class AutomaticTransactionGenerator extends AsyncResource { } private getConnectorStatus(connectorId: number): Status { - const connectorStatus = this.chargingStation.getAutomaticTransactionGeneratorStatuses() - ? cloneObject(this.chargingStation.getAutomaticTransactionGeneratorStatuses()!)[ - connectorId - ] + const connectorStatus = this.chargingStation.getAutomaticTransactionGeneratorStatuses()?.[ + connectorId + ] + ? cloneObject( + this.chargingStation.getAutomaticTransactionGeneratorStatuses()![connectorId], + ) : undefined; delete connectorStatus?.startDate; delete connectorStatus?.lastRunDate; @@ -397,24 +398,8 @@ export class AutomaticTransactionGenerator extends AsyncResource { connectorId, )} start transaction with an idTag '${idTag}'`; if (this.getRequireAuthorize()) { - // Authorize idTag - const authorizeResponse: AuthorizeResponse = - await this.chargingStation.ocppRequestService.requestHandler< - AuthorizeRequest, - AuthorizeResponse - >(this.chargingStation, RequestCommand.AUTHORIZE, { - idTag, - }); ++this.connectorsStatus.get(connectorId)!.authorizeRequests!; - if (authorizeResponse?.idTagInfo?.status === AuthorizationStatus.ACCEPTED) { - if ( - isNullOrUndefined(this.chargingStation.getConnectorStatus(connectorId)?.authorizeIdTag) - ) { - logger.warn( - `${this.chargingStation.logPrefix()} IdTag ${idTag} is not set as authorized remotely, applying deferred initialization`, - ); - this.chargingStation.getConnectorStatus(connectorId)!.authorizeIdTag = idTag; - } + if (await OCPPServiceUtils.isIdTagAuthorized(this.chargingStation, connectorId, idTag)) { ++this.connectorsStatus.get(connectorId)!.acceptedAuthorizeRequests!; logger.info(startTransactionLogMsg); // Start transaction