X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2FAutomaticTransactionGenerator.ts;h=9f1c4d39af45133373e889711eab2739e8c11da4;hb=45609cfb6cc764eeb8aa0a74dc41ab2a8d1875ca;hp=0e081f7750011a095c5fe8a8917fa1aa8e099c90;hpb=48847bc0d5e594c3e4c0b81c580ac6df48052668;p=e-mobility-charging-stations-simulator.git diff --git a/src/charging-station/AutomaticTransactionGenerator.ts b/src/charging-station/AutomaticTransactionGenerator.ts index 0e081f77..9f1c4d39 100644 --- a/src/charging-station/AutomaticTransactionGenerator.ts +++ b/src/charging-station/AutomaticTransactionGenerator.ts @@ -8,6 +8,7 @@ import { BaseError } from '../exception/index.js' import { PerformanceStatistics } from '../performance/index.js' import { AuthorizationStatus, + ChargingStationEvents, RequestCommand, type StartTransactionRequest, type StartTransactionResponse, @@ -262,9 +263,10 @@ export class AutomaticTransactionGenerator { )}` ) logger.debug( - `${this.logPrefix(connectorId)} connector status: %j`, + `${this.logPrefix(connectorId)} stopped with connector status: %j`, this.connectorsStatus.get(connectorId) ) + this.chargingStation.emit(ChargingStationEvents.updated) } private setStartConnectorStatus ( @@ -294,6 +296,7 @@ export class AutomaticTransactionGenerator { this.connectorsStatus.get(connectorId)!.skippedConsecutiveTransactions = 0 // eslint-disable-next-line @typescript-eslint/no-non-null-assertion this.connectorsStatus.get(connectorId)!.start = true + this.chargingStation.emit(ChargingStationEvents.updated) } private canStartConnector (connectorId: number): boolean { @@ -408,13 +411,17 @@ export class AutomaticTransactionGenerator { private getConnectorStatus (connectorId: number): Status { const statusIndex = connectorId - 1 + if (statusIndex < 0) { + logger.error(`${this.logPrefix(connectorId)} invalid connector id`) + throw new BaseError(`Invalid connector id ${connectorId}`) + } let connectorStatus: Status | undefined if (this.chargingStation.getAutomaticTransactionGeneratorStatuses()?.[statusIndex] != null) { connectorStatus = clone( // eslint-disable-next-line @typescript-eslint/no-non-null-assertion this.chargingStation.getAutomaticTransactionGeneratorStatuses()![statusIndex] ) - } else if (this.chargingStation.getAutomaticTransactionGeneratorStatuses() != null) { + } else { logger.warn( `${this.logPrefix( connectorId