Add WebSocket connection close and open support to the UI protocol
[e-mobility-charging-stations-simulator.git] / src / charging-station / AutomaticTransactionGenerator.ts
index fedda8ef3d032f67bbcde78796ab0af6d44379d3..56c97eee83a1093ddb741ce85bb180769b972491 100644 (file)
@@ -1,5 +1,12 @@
 // Partial Copyright Jerome Benoit. 2021. All Rights Reserved.
 
+import PerformanceStatistics from '../performance/PerformanceStatistics';
+import {
+  AutomaticTransactionGeneratorConfiguration,
+  Status,
+} from '../types/AutomaticTransactionGenerator';
+import { MeterValuesRequest, RequestCommand } from '../types/ocpp/Requests';
+import { MeterValuesResponse } from '../types/ocpp/Responses';
 import {
   AuthorizationStatus,
   AuthorizeRequest,
@@ -10,19 +17,11 @@ import {
   StopTransactionRequest,
   StopTransactionResponse,
 } from '../types/ocpp/Transaction';
-import {
-  AutomaticTransactionGeneratorConfiguration,
-  Status,
-} from '../types/AutomaticTransactionGenerator';
-import { MeterValuesRequest, RequestCommand } from '../types/ocpp/Requests';
-
-import type ChargingStation from './ChargingStation';
 import Constants from '../utils/Constants';
-import { MeterValuesResponse } from '../types/ocpp/Responses';
-import { OCPP16ServiceUtils } from './ocpp/1.6/OCPP16ServiceUtils';
-import PerformanceStatistics from '../performance/PerformanceStatistics';
-import Utils from '../utils/Utils';
 import logger from '../utils/Logger';
+import Utils from '../utils/Utils';
+import type ChargingStation from './ChargingStation';
+import { OCPP16ServiceUtils } from './ocpp/1.6/OCPP16ServiceUtils';
 
 export default class AutomaticTransactionGenerator {
   private static readonly instances: Map<string, AutomaticTransactionGenerator> = new Map<
@@ -103,7 +102,7 @@ export default class AutomaticTransactionGenerator {
   }
 
   private async internalStartConnector(connectorId: number): Promise<void> {
-    this.initStartConnectorStatus(connectorId);
+    this.initializeConnectorStatus(connectorId);
     logger.info(
       this.logPrefix(connectorId) +
         ' started on connector and will run for ' +
@@ -238,7 +237,7 @@ export default class AutomaticTransactionGenerator {
     });
   }
 
-  private initStartConnectorStatus(connectorId: number): void {
+  private initializeConnectorStatus(connectorId: number): void {
     this.connectorsStatus.get(connectorId).authorizeRequests =
       this?.connectorsStatus.get(connectorId)?.authorizeRequests ?? 0;
     this.connectorsStatus.get(connectorId).acceptedAuthorizeRequests =
@@ -359,7 +358,7 @@ export default class AutomaticTransactionGenerator {
         >(this.chargingStation, RequestCommand.METER_VALUES, {
           connectorId,
           transactionId,
-          meterValue: transactionEndMeterValue,
+          meterValue: [transactionEndMeterValue],
         });
       }
       stopResponse = await this.chargingStation.ocppRequestService.requestHandler<
@@ -388,15 +387,10 @@ export default class AutomaticTransactionGenerator {
   }
 
   private logPrefix(connectorId?: number): string {
-    if (connectorId) {
-      return Utils.logPrefix(
-        ' ' +
-          this.chargingStation.stationInfo.chargingStationId +
-          ' | ATG on connector #' +
-          connectorId.toString() +
-          ':'
-      );
-    }
-    return Utils.logPrefix(' ' + this.chargingStation.stationInfo.chargingStationId + ' | ATG:');
+    return Utils.logPrefix(
+      ` ${this.chargingStation.stationInfo.chargingStationId} | ATG${
+        connectorId && ` on connector #${connectorId.toString()}`
+      }:`
+    );
   }
 }