Use crypto unbiased random integer generator
[e-mobility-charging-stations-simulator.git] / src / charging-station / ChargingStationWorkerBroadcastChannel.ts
index 1c7121ecc7f54b731655afc1c0f499445ae72973..8d6cb1c62ac7ff647f1cbbf8a6cf6a240c1520ea 100644 (file)
@@ -1,3 +1,7 @@
+import type ChargingStation from './ChargingStation';
+import { ChargingStationConfigurationUtils } from './ChargingStationConfigurationUtils';
+import { OCPP16ServiceUtils } from './ocpp/1.6/OCPP16ServiceUtils';
+import WorkerBroadcastChannel from './WorkerBroadcastChannel';
 import BaseError from '../exception/BaseError';
 import type OCPPError from '../exception/OCPPError';
 import { StandardParametersKey } from '../types/ocpp/Configuration';
@@ -9,7 +13,7 @@ import {
   type HeartbeatRequest,
   type MeterValuesRequest,
   RequestCommand,
-  RequestParams,
+  type RequestParams,
   type StatusNotificationRequest,
 } from '../types/ocpp/Requests';
 import {
@@ -43,10 +47,6 @@ import {
 import Constants from '../utils/Constants';
 import logger from '../utils/Logger';
 import Utils from '../utils/Utils';
-import type ChargingStation from './ChargingStation';
-import { ChargingStationConfigurationUtils } from './ChargingStationConfigurationUtils';
-import { OCPP16ServiceUtils } from './ocpp/1.6/OCPP16ServiceUtils';
-import WorkerBroadcastChannel from './WorkerBroadcastChannel';
 
 const moduleName = 'ChargingStationWorkerBroadcastChannel';
 
@@ -113,14 +113,18 @@ export default class ChargingStationWorkerBroadcastChannel extends WorkerBroadca
           this.chargingStation.ocppRequestService.requestHandler<
             StopTransactionRequest,
             StartTransactionResponse
-          >(this.chargingStation, RequestCommand.STOP_TRANSACTION, {
-            meterStop: this.chargingStation.getEnergyActiveImportRegisterByTransactionId(
-              requestPayload.transactionId,
-              true
-            ),
-            ...requestPayload,
-            requestParams,
-          }),
+          >(
+            this.chargingStation,
+            RequestCommand.STOP_TRANSACTION,
+            {
+              meterStop: this.chargingStation.getEnergyActiveImportRegisterByTransactionId(
+                requestPayload.transactionId,
+                true
+              ),
+              ...requestPayload,
+            },
+            requestParams
+          ),
       ],
       [
         BroadcastChannelProcedureName.AUTHORIZE,
@@ -184,20 +188,26 @@ export default class ChargingStationWorkerBroadcastChannel extends WorkerBroadca
           return this.chargingStation.ocppRequestService.requestHandler<
             MeterValuesRequest,
             MeterValuesResponse
-          >(this.chargingStation, RequestCommand.METER_VALUES, {
-            meterValue: [
-              OCPP16ServiceUtils.buildMeterValue(
-                this.chargingStation,
-                requestPayload.connectorId,
-                this.chargingStation.getConnectorStatus(requestPayload.connectorId)?.transactionId,
-                configuredMeterValueSampleInterval
-                  ? Utils.convertToInt(configuredMeterValueSampleInterval.value) * 1000
-                  : Constants.DEFAULT_METER_VALUES_INTERVAL
-              ),
-            ],
-            ...requestPayload,
-            requestParams,
-          });
+          >(
+            this.chargingStation,
+            RequestCommand.METER_VALUES,
+            {
+              meterValue: [
+                // FIXME: Implement OCPP version agnostic helpers
+                OCPP16ServiceUtils.buildMeterValue(
+                  this.chargingStation,
+                  requestPayload.connectorId,
+                  this.chargingStation.getConnectorStatus(requestPayload.connectorId)
+                    ?.transactionId,
+                  configuredMeterValueSampleInterval
+                    ? Utils.convertToInt(configuredMeterValueSampleInterval.value) * 1000
+                    : Constants.DEFAULT_METER_VALUES_INTERVAL
+                ),
+              ],
+              ...requestPayload,
+            },
+            requestParams
+          );
         },
       ],
       [