export default class AutomaticTransactionGenerator {
public timeToStop: boolean;
private chargingStation: ChargingStation;
export default class AutomaticTransactionGenerator {
public timeToStop: boolean;
private chargingStation: ChargingStation;
if (this.chargingStation.getEnableStatistics()) {
this.performanceObserver = new PerformanceObserver((list) => {
const entry = list.getEntries()[0];
if (this.chargingStation.getEnableStatistics()) {
this.performanceObserver = new PerformanceObserver((list) => {
const entry = list.getEntries()[0];
const transactionId = this.chargingStation.getConnector(Utils.convertToInt(connector)).transactionId;
if (this.chargingStation.getConnector(Utils.convertToInt(connector)).transactionStarted) {
logger.info(this.logPrefix(Utils.convertToInt(connector)) + ' ATG OVER. Stop transaction ' + transactionId.toString());
const transactionId = this.chargingStation.getConnector(Utils.convertToInt(connector)).transactionId;
if (this.chargingStation.getConnector(Utils.convertToInt(connector)).transactionStarted) {
logger.info(this.logPrefix(Utils.convertToInt(connector)) + ' ATG OVER. Stop transaction ' + transactionId.toString());
- await this.chargingStation.ocppRequestService.sendStopTransaction(transactionId, this.chargingStation.getTransactionMeterStop(transactionId),
+ await this.chargingStation.ocppRequestService.sendStopTransaction(transactionId, this.chargingStation.getEnergyActiveImportRegisterByTransactionId(transactionId),
startResponse = await this.startTransaction(connectorId, this);
}
if (startResponse?.idTagInfo?.status !== AuthorizationStatus.ACCEPTED) {
startResponse = await this.startTransaction(connectorId, this);
}
if (startResponse?.idTagInfo?.status !== AuthorizationStatus.ACCEPTED) {
private async startTransaction(connectorId: number, self: AutomaticTransactionGenerator): Promise<StartTransactionResponse | AuthorizeResponse> {
if (self.chargingStation.hasAuthorizedTags()) {
const tagId = self.chargingStation.getRandomTagId();
private async startTransaction(connectorId: number, self: AutomaticTransactionGenerator): Promise<StartTransactionResponse | AuthorizeResponse> {
if (self.chargingStation.hasAuthorizedTags()) {
const tagId = self.chargingStation.getRandomTagId();
// Authorize tagId
const authorizeResponse = await self.chargingStation.ocppRequestService.sendAuthorize(tagId);
if (authorizeResponse?.idTagInfo?.status === AuthorizationStatus.ACCEPTED) {
// Authorize tagId
const authorizeResponse = await self.chargingStation.ocppRequestService.sendAuthorize(tagId);
if (authorizeResponse?.idTagInfo?.status === AuthorizationStatus.ACCEPTED) {
// eslint-disable-next-line consistent-this
private async stopTransaction(connectorId: number, self: AutomaticTransactionGenerator): Promise<StopTransactionResponse> {
const transactionId = self.chargingStation.getConnector(connectorId).transactionId;
// eslint-disable-next-line consistent-this
private async stopTransaction(connectorId: number, self: AutomaticTransactionGenerator): Promise<StopTransactionResponse> {
const transactionId = self.chargingStation.getConnector(connectorId).transactionId;
- return await self.chargingStation.ocppRequestService.sendStopTransaction(transactionId, self.chargingStation.getTransactionMeterStop(transactionId), self.chargingStation.getTransactionIdTag(transactionId));
+ return await self.chargingStation.ocppRequestService.sendStopTransaction(transactionId, self.chargingStation.getEnergyActiveImportRegisterByTransactionId(transactionId),
+ self.chargingStation.getTransactionIdTag(transactionId));