Refine UI server attributes scope and type
[e-mobility-charging-stations-simulator.git] / src / types / ChargingStationTemplate.ts
index d61ce81f977124325c2d8d46a0174a0a17263a54..789ce248bc3d5e40beba0ccc2a2e221a618501fb 100644 (file)
@@ -1,4 +1,4 @@
-import ChargingStationConfiguration from './ChargingStationConfiguration';
+import ChargingStationOcppConfiguration from './ChargingStationOcppConfiguration';
 import { ClientOptions } from 'ws';
 import { ClientRequestArgs } from 'http';
 import { ConnectorStatus } from './ConnectorStatus';
@@ -15,6 +15,13 @@ export enum PowerUnits {
   KILO_WATT = 'kW',
 }
 
+export enum AmpereUnits {
+  MILLI_AMPERE = 'mA',
+  CENTI_AMPERE = 'cA',
+  DECI_AMPERE = 'dA',
+  AMPERE = 'A',
+}
+
 export enum Voltage {
   VOLTAGE_110 = 110,
   VOLTAGE_230 = 230,
@@ -34,7 +41,10 @@ export interface AutomaticTransactionGenerator {
   requireAuthorize?: boolean;
 }
 
+export type WsOptions = ClientOptions & ClientRequestArgs;
+
 export default interface ChargingStationTemplate {
+  templateHash?: string;
   supervisionUrls?: string | string[];
   supervisionUrlOcppConfiguration?: boolean;
   supervisionUrlOcppKey?: string;
@@ -44,7 +54,7 @@ export default interface ChargingStationTemplate {
   ocppProtocol?: OCPPProtocol;
   ocppStrictCompliance?: boolean;
   ocppPersistentConfiguration?: boolean;
-  wsOptions?: ClientOptions & ClientRequestArgs;
+  wsOptions?: WsOptions;
   authorizationFile?: string;
   baseName: string;
   nameSuffix?: string;
@@ -56,7 +66,7 @@ export default interface ChargingStationTemplate {
   firmwareVersion?: string;
   iccid?: string;
   imsi?: string;
-  meterSerialNumber?: string;
+  meterSerialNumberPrefix?: string;
   meterType?: string;
   power: number | number[];
   powerSharedByConnectors?: boolean;
@@ -74,13 +84,16 @@ export default interface ChargingStationTemplate {
   registrationMaxRetries?: number;
   enableStatistics?: boolean;
   mayAuthorizeAtRemoteStart: boolean;
+  amperageLimitationOcppKey?: string;
+  amperageLimitationUnit?: AmpereUnits;
   beginEndMeterValues?: boolean;
   outOfOrderEndMeterValues?: boolean;
   meteringPerTransaction?: boolean;
   transactionDataMeterValues?: boolean;
   mainVoltageMeterValues?: boolean;
   phaseLineToLineVoltageMeterValues?: boolean;
-  Configuration?: ChargingStationConfiguration;
+  customValueLimitationMeterValues?: boolean;
+  Configuration?: ChargingStationOcppConfiguration;
   AutomaticTransactionGenerator: AutomaticTransactionGenerator;
   Connectors: Record<string, ConnectorStatus>;
 }