Unify supervision urls setup and distribution to charging stations
[e-mobility-charging-stations-simulator.git] / src / types / ChargingStationTemplate.ts
index 44aea77fcaadd3aa67dc256c0c8c32195dc45fc2..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,10 +15,11 @@ export enum PowerUnits {
   KILO_WATT = 'kW',
 }
 
-export enum VoltageOut {
+export enum Voltage {
   VOLTAGE_110 = 110,
   VOLTAGE_230 = 230,
-  VOLTAGE_400 = 400
+  VOLTAGE_400 = 400,
+  VOLTAGE_800 = 800
 }
 
 export interface AutomaticTransactionGenerator {
@@ -28,13 +31,18 @@ export interface AutomaticTransactionGenerator {
   probabilityOfStart: number;
   stopAfterHours: number;
   stopOnConnectionFailure: boolean;
-  requireAuthorize: boolean
+  requireAuthorize?: boolean
 }
 
 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;
@@ -46,19 +54,26 @@ export default interface ChargingStationTemplate {
   power: number | number[];
   powerSharedByConnectors?: boolean;
   powerUnit: PowerUnits;
-  currentOutType?: CurrentOutType;
+  currentOutType?: CurrentType;
+  voltageOut?: Voltage;
   numberOfPhases?: number;
   numberOfConnectors?: number | number[];
   useConnectorId0?: boolean;
   randomConnectors?: boolean;
   resetTime?: number;
-  connectionTimeout?: number;
+  autoRegister: boolean;
   autoReconnectMaxRetries?: number;
   reconnectExponentialDelay?: boolean;
   registrationMaxRetries?: number;
   enableStatistics?: boolean;
-  voltageOut?: number;
+  mayAuthorizeAtRemoteStart: boolean;
+  beginEndMeterValues?: boolean;
+  outOfOrderEndMeterValues?: boolean;
+  meteringPerTransaction?: boolean;
+  transactionDataMeterValues?: boolean;
+  mainVoltageMeterValues?: boolean;
+  phaseLineToLineVoltageMeterValues?: boolean;
   Configuration?: ChargingStationConfiguration;
   AutomaticTransactionGenerator: AutomaticTransactionGenerator;
-  Connectors: Connectors;
+  Connectors: Record<string, ConnectorStatus>;
 }