Hook the OCPP 2.0 stack into the main code
[e-mobility-charging-stations-simulator.git] / src / charging-station / MessageChannelUtils.ts
index 9a88d17266dfdc4dceeab44930e5732e2109ad75..77adae8e5c44d7ef033c36a7c359db9b0c9ea44b 100644 (file)
@@ -1,9 +1,9 @@
 import {
-  ChargingStationData,
-  ChargingStationWorkerMessage,
+  type ChargingStationData,
+  type ChargingStationWorkerMessage,
   ChargingStationWorkerMessageEvents,
 } from '../types/ChargingStationWorker';
-import type Statistics from '../types/Statistics';
+import type { Statistics } from '../types/Statistics';
 import type ChargingStation from './ChargingStation';
 
 export class MessageChannelUtils {
@@ -51,14 +51,23 @@ export class MessageChannelUtils {
     chargingStation: ChargingStation
   ): ChargingStationData {
     return {
-      hashId: chargingStation.hashId,
       stationInfo: chargingStation.stationInfo,
-      stopped: chargingStation.stopped,
+      started: chargingStation.started,
+      wsState: chargingStation?.wsConnection?.readyState,
       bootNotificationResponse: chargingStation.bootNotificationResponse,
       connectors: [...chargingStation.connectors.values()].map(
         // eslint-disable-next-line @typescript-eslint/no-unused-vars
         ({ transactionSetInterval, ...connectorStatusRest }) => connectorStatusRest
       ),
+      ...(chargingStation.automaticTransactionGenerator && {
+        automaticTransactionGenerator: {
+          automaticTransactionGenerator:
+            chargingStation.automaticTransactionGenerator.configuration,
+          automaticTransactionGeneratorStatuses: [
+            ...chargingStation.automaticTransactionGenerator.connectorsStatus.values(),
+          ],
+        },
+      }),
     };
   }
 }