feat: add support for charging profiles relative to charging start
[e-mobility-charging-stations-simulator.git] / src / charging-station / ocpp / 1.6 / OCPP16ResponseService.ts
index 02c03140e341654ddb8a2c4949cebb1d6d59fa39..3e718285d9ce4eccbc890267c70bebb303761022 100644 (file)
@@ -7,7 +7,8 @@ import type { JSONSchemaType } from 'ajv';
 import { OCPP16ServiceUtils } from './OCPP16ServiceUtils';
 import {
   type ChargingStation,
-  ChargingStationConfigurationUtils,
+  addConfigurationKey,
+  getConfigurationKey,
   resetConnectorStatus,
 } from '../../../charging-station';
 import { OCPPError } from '../../../exception';
@@ -407,14 +408,14 @@ export class OCPP16ResponseService extends OCPPResponseService {
     payload: OCPP16BootNotificationResponse,
   ): void {
     if (payload.status === RegistrationStatusEnumType.ACCEPTED) {
-      ChargingStationConfigurationUtils.addConfigurationKey(
+      addConfigurationKey(
         chargingStation,
         OCPP16StandardParametersKey.HeartbeatInterval,
         payload.interval.toString(),
         {},
         { overwrite: true, save: true },
       );
-      ChargingStationConfigurationUtils.addConfigurationKey(
+      addConfigurationKey(
         chargingStation,
         OCPP16StandardParametersKey.HeartBeatInterval,
         payload.interval.toString(),
@@ -618,6 +619,8 @@ export class OCPP16ResponseService extends OCPPResponseService {
 
     if (payload.idTagInfo?.status === OCPP16AuthorizationStatus.ACCEPTED) {
       chargingStation.getConnectorStatus(transactionConnectorId)!.transactionStarted = true;
+      chargingStation.getConnectorStatus(transactionConnectorId)!.transactionStart =
+        requestPayload.timestamp;
       chargingStation.getConnectorStatus(transactionConnectorId)!.transactionId =
         payload.transactionId;
       chargingStation.getConnectorStatus(transactionConnectorId)!.transactionIdTag =
@@ -655,11 +658,10 @@ export class OCPP16ResponseService extends OCPPResponseService {
       if (chargingStation.stationInfo.powerSharedByConnectors) {
         ++chargingStation.powerDivider;
       }
-      const configuredMeterValueSampleInterval =
-        ChargingStationConfigurationUtils.getConfigurationKey(
-          chargingStation,
-          OCPP16StandardParametersKey.MeterValueSampleInterval,
-        );
+      const configuredMeterValueSampleInterval = getConfigurationKey(
+        chargingStation,
+        OCPP16StandardParametersKey.MeterValueSampleInterval,
+      );
       chargingStation.startMeterValues(
         transactionConnectorId,
         configuredMeterValueSampleInterval