X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2FAutomaticTransactionGenerator.ts;h=4bff9031eb1f401a216e58e1a0f2032929b20e76;hb=298be10c5c800e43b0b9dcd6c50f6d49e2cb786b;hp=3d53fc812488b7c8a9b7b47d72460510ec8aca8c;hpb=a19b897d3aa5cb0f12177a42d8168121ce6ada97;p=e-mobility-charging-stations-simulator.git diff --git a/src/charging-station/AutomaticTransactionGenerator.ts b/src/charging-station/AutomaticTransactionGenerator.ts index 3d53fc81..4bff9031 100644 --- a/src/charging-station/AutomaticTransactionGenerator.ts +++ b/src/charging-station/AutomaticTransactionGenerator.ts @@ -19,7 +19,7 @@ import { } from '../types/index.js' import { Constants, - cloneObject, + clone, convertToDate, formatDurationMilliSeconds, getRandomInteger, @@ -369,22 +369,23 @@ export class AutomaticTransactionGenerator { } private getConnectorStatus (connectorId: number): Status { - const connectorStatus = - this.chargingStation.getAutomaticTransactionGeneratorStatuses()?.[connectorId - 1] != null - ? cloneObject( - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - this.chargingStation.getAutomaticTransactionGeneratorStatuses()![connectorId - 1] - ) - : undefined + const statusIndex = connectorId - 1 + 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) { + logger.warn( + `${this.logPrefix(connectorId)} no status found for connector #${connectorId} in charging station configuration file. New status will be created` + ) + } if (connectorStatus != null) { - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - connectorStatus.startDate = convertToDate(connectorStatus.startDate)! - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - connectorStatus.lastRunDate = convertToDate(connectorStatus.lastRunDate)! - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - connectorStatus.stopDate = convertToDate(connectorStatus.stopDate)! - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - connectorStatus.stoppedDate = convertToDate(connectorStatus.stoppedDate)! + connectorStatus.startDate = convertToDate(connectorStatus.startDate) + connectorStatus.lastRunDate = convertToDate(connectorStatus.lastRunDate) + connectorStatus.stopDate = convertToDate(connectorStatus.stopDate) + connectorStatus.stoppedDate = convertToDate(connectorStatus.stoppedDate) if ( !this.started && (connectorStatus.start ||