X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2FAutomaticTransactionGenerator.ts;h=03297e4a8c99dafdd375f8714db9717d1e78ebbc;hb=bb83b5ed7e6b7070ba387ed9ef7d1e76acdfea27;hp=54b409ed39b7837cc7d988de8719e18512ee4add;hpb=431b6bd5e4396094d285997c148bc6ce8d914efa;p=e-mobility-charging-stations-simulator.git diff --git a/src/charging-station/AutomaticTransactionGenerator.ts b/src/charging-station/AutomaticTransactionGenerator.ts index 54b409ed..03297e4a 100644 --- a/src/charging-station/AutomaticTransactionGenerator.ts +++ b/src/charging-station/AutomaticTransactionGenerator.ts @@ -8,12 +8,12 @@ import type { import { RequestCommand } from '../types/ocpp/Requests'; import { AuthorizationStatus, - AuthorizeRequest, - AuthorizeResponse, - StartTransactionRequest, - StartTransactionResponse, + type AuthorizeRequest, + type AuthorizeResponse, + type StartTransactionRequest, + type StartTransactionResponse, StopTransactionReason, - StopTransactionResponse, + type StopTransactionResponse, } from '../types/ocpp/Transaction'; import Constants from '../utils/Constants'; import logger from '../utils/Logger'; @@ -35,11 +35,11 @@ export default class AutomaticTransactionGenerator { automaticTransactionGeneratorConfiguration: AutomaticTransactionGeneratorConfiguration, chargingStation: ChargingStation ) { + this.started = false; this.configuration = automaticTransactionGeneratorConfiguration; this.chargingStation = chargingStation; this.connectorsStatus = new Map(); this.stopConnectors(); - this.started = false; } public static getInstance( @@ -60,7 +60,7 @@ export default class AutomaticTransactionGenerator { public start(): void { if (this.started === true) { - logger.warn(`${this.logPrefix()} trying to start while already started`); + logger.warn(`${this.logPrefix()} is already started`); return; } this.startConnectors(); @@ -69,7 +69,7 @@ export default class AutomaticTransactionGenerator { public stop(): void { if (this.started === false) { - logger.warn(`${this.logPrefix()} trying to stop while not started`); + logger.warn(`${this.logPrefix()} is already stopped`); return; } this.stopConnectors(); @@ -78,7 +78,7 @@ export default class AutomaticTransactionGenerator { public startConnector(connectorId: number): void { if (this.chargingStation.connectors.has(connectorId) === false) { - logger.warn(`${this.logPrefix(connectorId)} trying to start on non existing connector`); + logger.warn(`${this.logPrefix(connectorId)} starting on non existing connector`); return; } if (this.connectorsStatus.get(connectorId)?.start === false) { @@ -89,15 +89,23 @@ export default class AutomaticTransactionGenerator { }); }); } else if (this.connectorsStatus.get(connectorId)?.start === true) { - logger.warn(`${this.logPrefix(connectorId)} already started on connector`); + logger.warn(`${this.logPrefix(connectorId)} is already started on connector`); } } public stopConnector(connectorId: number): void { - this.connectorsStatus.set(connectorId, { - ...this.connectorsStatus.get(connectorId), - start: false, - }); + if (this.chargingStation.connectors.has(connectorId) === false) { + logger.warn(`${this.logPrefix(connectorId)} stopping on non existing connector`); + return; + } + if (this.connectorsStatus.get(connectorId)?.start === true) { + this.connectorsStatus.set(connectorId, { + ...this.connectorsStatus.get(connectorId), + start: false, + }); + } else if (this.connectorsStatus.get(connectorId)?.start === false) { + logger.warn(`${this.logPrefix(connectorId)} is already stopped on connector`); + } } private startConnectors(): void { @@ -286,7 +294,7 @@ export default class AutomaticTransactionGenerator { const idTag = this.chargingStation.getRandomIdTag(); const startTransactionLogMsg = `${this.logPrefix( connectorId - )} start transaction for idTag '${idTag}'`; + )} start transaction with an idTag '${idTag}'`; if (this.getRequireAuthorize()) { this.chargingStation.getConnectorStatus(connectorId).authorizeIdTag = idTag; // Authorize idTag @@ -358,7 +366,7 @@ export default class AutomaticTransactionGenerator { } else { const transactionId = this.chargingStation.getConnectorStatus(connectorId).transactionId; logger.warn( - `${this.logPrefix(connectorId)} trying to stop a not started transaction${ + `${this.logPrefix(connectorId)} stopping a not started transaction${ transactionId ? ' ' + transactionId.toString() : '' }` );