return AutomaticTransactionGenerator.instances.get(chargingStation.stationInfo!.hashId)
}
- public start (): void {
+ public start (stopAbsoluteDuration?: boolean): void {
if (!checkChargingStation(this.chargingStation, this.logPrefix())) {
return
}
return
}
this.starting = true
- this.startConnectors()
+ this.startConnectors(stopAbsoluteDuration)
this.started = true
this.starting = false
}
this.stopping = false
}
- public startConnector (connectorId: number): void {
+ public startConnector (connectorId: number, stopAbsoluteDuration?: boolean): void {
if (!checkChargingStation(this.chargingStation, this.logPrefix(connectorId))) {
return
}
throw new BaseError(`Connector ${connectorId} does not exist`)
}
if (this.connectorsStatus.get(connectorId)?.start === false) {
- this.internalStartConnector(connectorId).catch(Constants.EMPTY_FUNCTION)
+ this.internalStartConnector(connectorId, stopAbsoluteDuration).catch(Constants.EMPTY_FUNCTION)
} else if (this.connectorsStatus.get(connectorId)?.start === true) {
logger.warn(`${this.logPrefix(connectorId)} is already started on connector`)
}
}
}
- private startConnectors (): void {
+ private startConnectors (stopAbsoluteDuration?: boolean): void {
if (
this.connectorsStatus.size > 0 &&
this.connectorsStatus.size !== this.chargingStation.getNumberOfConnectors()
for (const [evseId, evseStatus] of this.chargingStation.evses) {
if (evseId > 0) {
for (const connectorId of evseStatus.connectors.keys()) {
- this.startConnector(connectorId)
+ this.startConnector(connectorId, stopAbsoluteDuration)
}
}
}
} else {
for (const connectorId of this.chargingStation.connectors.keys()) {
if (connectorId > 0) {
- this.startConnector(connectorId)
+ this.startConnector(connectorId, stopAbsoluteDuration)
}
}
}
}
}
- private async internalStartConnector (connectorId: number): Promise<void> {
- this.setStartConnectorStatus(connectorId)
+ private async internalStartConnector (
+ connectorId: number,
+ stopAbsoluteDuration?: boolean
+ ): Promise<void> {
+ this.setStartConnectorStatus(connectorId, stopAbsoluteDuration)
logger.info(
`${this.logPrefix(
connectorId
)
}
- private setStartConnectorStatus (connectorId: number): void {
+ private setStartConnectorStatus (
+ connectorId: number,
+ stopAbsoluteDuration = this.chargingStation.getAutomaticTransactionGeneratorConfiguration()
+ ?.stopAbsoluteDuration
+ ): void {
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
this.connectorsStatus.get(connectorId)!.startDate = new Date()
if (
- this.chargingStation.getAutomaticTransactionGeneratorConfiguration()?.stopAbsoluteDuration ===
- false ||
+ stopAbsoluteDuration === false ||
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
!isValidDate(this.connectorsStatus.get(connectorId)!.stopDate)
) {