+ private getConnectorStatus (connectorId: number): Status {
+ const statusIndex = connectorId - 1
+ let connectorStatus: Status | undefined
+ if (this.chargingStation.getAutomaticTransactionGeneratorStatuses()?.[statusIndex] != null) {
+ connectorStatus = clone<Status>(
+ // 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) {
+ 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 ||
+ this.chargingStation.getAutomaticTransactionGeneratorConfiguration()?.enable !== true)
+ ) {
+ connectorStatus.start = false
+ }
+ }
+ return (
+ connectorStatus ?? {
+ start: false,
+ authorizeRequests: 0,
+ acceptedAuthorizeRequests: 0,
+ rejectedAuthorizeRequests: 0,
+ startTransactionRequests: 0,
+ acceptedStartTransactionRequests: 0,
+ rejectedStartTransactionRequests: 0,
+ stopTransactionRequests: 0,
+ acceptedStopTransactionRequests: 0,
+ rejectedStopTransactionRequests: 0,
+ skippedConsecutiveTransactions: 0,
+ skippedTransactions: 0
+ }
+ )
+ }
+
+ private async startTransaction (