Unify supervision urls setup and distribution to charging stations
[e-mobility-charging-stations-simulator.git] / src / types / ChargingStationTemplate.ts
index 3b08cdae693467e839973b77c021475578e7587e..c06468e91f6a00c90018725fa900755aa1da8b99 100644 (file)
@@ -1,9 +1,11 @@
 import ChargingStationConfiguration from './ChargingStationConfiguration';
-import Connectors from './Connectors';
+import { ClientOptions } from 'ws';
+import { ClientRequestArgs } from 'http';
+import { ConnectorStatus } from './ConnectorStatus';
 import { OCPPProtocol } from './ocpp/OCPPProtocol';
 import { OCPPVersion } from './ocpp/OCPPVersion';
 
-export enum CurrentOutType {
+export enum CurrentType {
   AC = 'AC',
   DC = 'DC',
 }
@@ -13,7 +15,7 @@ export enum PowerUnits {
   KILO_WATT = 'kW',
 }
 
-export enum VoltageOut {
+export enum Voltage {
   VOLTAGE_110 = 110,
   VOLTAGE_230 = 230,
   VOLTAGE_400 = 400,
@@ -33,9 +35,14 @@ export interface AutomaticTransactionGenerator {
 }
 
 export default interface ChargingStationTemplate {
-  supervisionURL?: string;
+  supervisionUrls?: string | string[];
+  supervisionUrlOcppConfiguration?: boolean;
+  supervisionUrlOcppKey?: string;
+  supervisionUser?: string;
+  supervisionPassword?: string;
   ocppVersion?: OCPPVersion;
   ocppProtocol?: OCPPProtocol;
+  wsOptions?: ClientOptions & ClientRequestArgs;
   authorizationFile?: string;
   baseName: string;
   nameSuffix?: string;
@@ -47,23 +54,26 @@ export default interface ChargingStationTemplate {
   power: number | number[];
   powerSharedByConnectors?: boolean;
   powerUnit: PowerUnits;
-  currentOutType?: CurrentOutType;
-  voltageOut?: number;
+  currentOutType?: CurrentType;
+  voltageOut?: Voltage;
   numberOfPhases?: number;
   numberOfConnectors?: number | number[];
   useConnectorId0?: boolean;
   randomConnectors?: boolean;
   resetTime?: number;
+  autoRegister: boolean;
   autoReconnectMaxRetries?: number;
   reconnectExponentialDelay?: boolean;
   registrationMaxRetries?: number;
   enableStatistics?: boolean;
+  mayAuthorizeAtRemoteStart: boolean;
   beginEndMeterValues?: boolean;
   outOfOrderEndMeterValues?: boolean;
   meteringPerTransaction?: boolean;
   transactionDataMeterValues?: boolean;
   mainVoltageMeterValues?: boolean;
+  phaseLineToLineVoltageMeterValues?: boolean;
   Configuration?: ChargingStationConfiguration;
   AutomaticTransactionGenerator: AutomaticTransactionGenerator;
-  Connectors: Connectors;
+  Connectors: Record<string, ConnectorStatus>;
 }