feat: save connectors/evses map in charging station configuration file
[e-mobility-charging-stations-simulator.git] / src / charging-station / ChargingStationUtils.ts
index c5c42f02944a451c2b8469c0d325361ed6a77376..9f93e5ffe0c8be18c33d26604f3d96af65be7682 100644 (file)
@@ -194,10 +194,6 @@ export class ChargingStationUtils {
           templateFile
         );
         connectorsMap.set(connectorId, Utils.cloneObject<ConnectorStatus>(connectorStatus));
-        connectorsMap.get(connectorId).availability = AvailabilityType.Operative;
-        if (Utils.isUndefined(connectorsMap.get(connectorId)?.chargingProfiles)) {
-          connectorsMap.get(connectorId).chargingProfiles = [];
-        }
       }
     } else {
       logger.warn(
@@ -220,6 +216,14 @@ export class ChargingStationUtils {
         );
       }
       if (
+        connectorId === 0 &&
+        Utils.isNullOrUndefined(connectors.get(connectorId)?.transactionStarted)
+      ) {
+        connectors.get(connectorId).availability = AvailabilityType.Operative;
+        if (Utils.isUndefined(connectors.get(connectorId)?.chargingProfiles)) {
+          connectors.get(connectorId).chargingProfiles = [];
+        }
+      } else if (
         connectorId > 0 &&
         Utils.isNullOrUndefined(connectors.get(connectorId)?.transactionStarted)
       ) {
@@ -228,15 +232,6 @@ export class ChargingStationUtils {
     }
   }
 
-  public static initializeConnectorStatus(connectorStatus: ConnectorStatus): void {
-    connectorStatus.idTagLocalAuthorized = false;
-    connectorStatus.idTagAuthorized = false;
-    connectorStatus.transactionRemoteStarted = false;
-    connectorStatus.transactionStarted = false;
-    connectorStatus.energyActiveImportRegisterValue = 0;
-    connectorStatus.transactionEnergyActiveImportRegisterValue = 0;
-  }
-
   public static resetConnectorStatus(connectorStatus: ConnectorStatus): void {
     connectorStatus.idTagLocalAuthorized = false;
     connectorStatus.idTagAuthorized = false;
@@ -523,6 +518,19 @@ export class ChargingStationUtils {
     );
   }
 
+  private static initializeConnectorStatus(connectorStatus: ConnectorStatus): void {
+    connectorStatus.availability = AvailabilityType.Operative;
+    connectorStatus.idTagLocalAuthorized = false;
+    connectorStatus.idTagAuthorized = false;
+    connectorStatus.transactionRemoteStarted = false;
+    connectorStatus.transactionStarted = false;
+    connectorStatus.energyActiveImportRegisterValue = 0;
+    connectorStatus.transactionEnergyActiveImportRegisterValue = 0;
+    if (Utils.isUndefined(connectorStatus.chargingProfiles)) {
+      connectorStatus.chargingProfiles = [];
+    }
+  }
+
   private static warnDeprecatedTemplateKey(
     template: ChargingStationTemplate,
     key: string,