const logger = require('../utils/Logger');
+const Constants = require('../utils/Constants');
const Utils = require('../utils/Utils');
const {performance, PerformanceObserver} = require('perf_hooks');
return Utils.basicFormatLog(' ' + this._chargingStation._stationInfo.name + ' ATG:');
}
- async stop() {
- logger.info(this._basicFormatLog() + ' ATG OVER => STOPPING ALL TRANSACTIONS');
- for (const connector in this._chargingStation._connectors) {
- if (this._chargingStation._connectors[connector].transactionStarted) {
- logger.info(this._basicFormatLog(connector) + ' ATG OVER. Stop transaction ' + this._chargingStation._connectors[connector].transactionId);
- await this._chargingStation.sendStopTransaction(this._chargingStation._connectors[connector].transactionId);
- }
- }
- this._timeToStop = true;
- }
-
async start() {
this._timeToStop = false;
if (this._chargingStation._stationInfo.AutomaticTransactionGenerator.stopAfterHours &&
this._chargingStation._stationInfo.AutomaticTransactionGenerator.stopAfterHours > 0) {
- logger.info(this._basicFormatLog() + ' ATG will stop in ' + Utils.secondstoHHMMSS(this._chargingStation._stationInfo.AutomaticTransactionGenerator.stopAfterHours * 3600));
setTimeout(() => {
this.stop();
}, this._chargingStation._stationInfo.AutomaticTransactionGenerator.stopAfterHours * 3600 * 1000);
this.startConnector(connector);
}
}
+ logger.info(this._basicFormatLog() + ' ATG started and will stop in ' + Utils.secondstoHHMMSS(this._chargingStation._stationInfo.AutomaticTransactionGenerator.stopAfterHours * 3600));
+ }
+
+ async stop(reason = '') {
+ logger.info(this._basicFormatLog() + ' ATG OVER => STOPPING ALL TRANSACTIONS');
+ for (const connector in this._chargingStation._connectors) {
+ if (this._chargingStation._connectors[connector].transactionStarted) {
+ logger.info(this._basicFormatLog(connector) + ' ATG OVER. Stop transaction ' + this._chargingStation._connectors[connector].transactionId);
+ await this._chargingStation.sendStopTransaction(this._chargingStation._connectors[connector].transactionId, reason);
+ }
+ }
+ this._timeToStop = true;
}
async startConnector(connectorId) {
const startResponse = await startTransaction(connectorId, this);
if (startResponse.idTagInfo.status !== 'Accepted') {
logger.info(this._basicFormatLog(connectorId) + ' transaction rejected');
- await Utils.sleep(2000);
+ await Utils.sleep(Constants.CHARGING_STATION_ATG_WAIT_TIME);
} else {
// Wait until end of transaction
const wait = Utils.getRandomInt(this._chargingStation._stationInfo.AutomaticTransactionGenerator.maxDuration,