),
);
logger.info(
- `${this.logPrefix(connectorId)} transaction started with id ${this.chargingStation
- .getConnectorStatus(connectorId)
- ?.transactionId?.toString()} and will stop in ${formatDurationMilliSeconds(
- waitTrxEnd,
- )}`,
+ `${this.logPrefix(
+ connectorId,
+ )} transaction started with id ${this.chargingStation.getConnectorStatus(connectorId)
+ ?.transactionId} and will stop in ${formatDurationMilliSeconds(waitTrxEnd)}`,
);
await sleep(waitTrxEnd);
- // Stop transaction
- logger.info(
- `${this.logPrefix(connectorId)} stop transaction with id ${this.chargingStation
- .getConnectorStatus(connectorId)
- ?.transactionId?.toString()}`,
- );
await this.stopTransaction(connectorId);
}
} else {
++this.connectorsStatus.get(connectorId)!.skippedConsecutiveTransactions!;
++this.connectorsStatus.get(connectorId)!.skippedTransactions!;
logger.info(
- `${this.logPrefix(connectorId)} skipped consecutively ${this.connectorsStatus
- .get(connectorId)
- ?.skippedConsecutiveTransactions?.toString()}/${this.connectorsStatus
- .get(connectorId)
- ?.skippedTransactions?.toString()} transaction(s)`,
+ `${this.logPrefix(connectorId)} skipped consecutively ${this.connectorsStatus.get(
+ connectorId,
+ )?.skippedConsecutiveTransactions}/${this.connectorsStatus.get(connectorId)
+ ?.skippedTransactions} transaction(s)`,
);
}
this.connectorsStatus.get(connectorId)!.lastRunDate = new Date();
this.chargingStation.getAutomaticTransactionGeneratorStatuses()![connectorId],
)
: undefined;
- delete connectorStatus?.startDate;
- delete connectorStatus?.lastRunDate;
- delete connectorStatus?.stopDate;
- delete connectorStatus?.stoppedDate;
+ this.resetConnectorStatus(connectorStatus);
return (
connectorStatus ?? {
start: false,
);
}
+ private resetConnectorStatus(connectorStatus: Status | undefined): void {
+ delete connectorStatus?.startDate;
+ delete connectorStatus?.lastRunDate;
+ delete connectorStatus?.stopDate;
+ delete connectorStatus?.stoppedDate;
+ if (
+ !this.started &&
+ (connectorStatus?.start === true ||
+ this.chargingStation.getAutomaticTransactionGeneratorConfiguration().enable === false)
+ ) {
+ connectorStatus!.start = false;
+ }
+ }
+
private async startTransaction(
connectorId: number,
): Promise<StartTransactionResponse | undefined> {
private async stopTransaction(
connectorId: number,
- reason: StopTransactionReason = StopTransactionReason.LOCAL,
+ reason = StopTransactionReason.LOCAL,
): Promise<StopTransactionResponse | undefined> {
const measureId = 'StopTransaction with ATG';
const beginId = PerformanceStatistics.beginMeasure(measureId);
let stopResponse: StopTransactionResponse | undefined;
if (this.chargingStation.getConnectorStatus(connectorId)?.transactionStarted === true) {
+ logger.info(
+ `${this.logPrefix(
+ connectorId,
+ )} stop transaction with id ${this.chargingStation.getConnectorStatus(connectorId)
+ ?.transactionId}`,
+ );
stopResponse = await this.chargingStation.stopTransactionOnConnector(connectorId, reason);
++this.connectorsStatus.get(connectorId)!.stopTransactionRequests!;
if (stopResponse?.idTagInfo?.status === AuthorizationStatus.ACCEPTED) {
}
} else {
const transactionId = this.chargingStation.getConnectorStatus(connectorId)?.transactionId;
- logger.warn(
+ logger.debug(
`${this.logPrefix(connectorId)} stopping a not started transaction${
- !isNullOrUndefined(transactionId) ? ` with id ${transactionId?.toString()}` : ''
+ !isNullOrUndefined(transactionId) ? ` with id ${transactionId}` : ''
}`,
);
}
private logPrefix = (connectorId?: number): string => {
return logPrefix(
` ${this.chargingStation.stationInfo.chargingStationId} | ATG${
- !isNullOrUndefined(connectorId) ? ` on connector #${connectorId!.toString()}` : ''
+ !isNullOrUndefined(connectorId) ? ` on connector #${connectorId}` : ''
}:`,
);
};