Merge pull request #6 from LucasBrazi06/memory-optimization
[e-mobility-charging-stations-simulator.git] / src / types / ChargingStationTemplate.ts
1 import ChargingStationConfiguration from './ChargingStationConfiguration';
2 import Connectors from './Connectors';
3
4 export enum PowerOutType {
5 AC = 'AC',
6 DC = 'DC',
7 }
8
9 export enum PowerUnit {
10 WATT = 'W',
11 KILO_WATT = 'kW',
12 }
13
14 export enum VoltageOut {
15 VOLTAGE_110 = 110,
16 VOLTAGE_230 = 230,
17 VOLTAGE_400 = 400
18 }
19
20 export interface AutomaticTransactionGenerator {
21 enable: boolean;
22 minDuration: number;
23 maxDuration: number;
24 minDelayBetweenTwoTransactions: number;
25 maxDelayBetweenTwoTransactions: number;
26 probabilityOfStart: number;
27 stopAfterHours: number;
28 stopOnConnectionFailure: boolean
29 }
30
31 export default interface ChargingStationTemplate {
32 supervisionURL?: string;
33 authorizationFile?: string;
34 baseName: string;
35 fixedName?: string;
36 chargePointModel: string;
37 chargePointVendor: string;
38 chargeBoxSerialNumberPrefix?: string;
39 firmwareVersion?: string;
40 power: number | number[];
41 powerSharedByConnectors?: boolean;
42 powerUnit: PowerUnit;
43 powerOutType?: PowerOutType;
44 numberOfPhases?: number;
45 numberOfConnectors?: number | number[];
46 useConnectorId0?: boolean;
47 randomConnectors?: boolean;
48 resetTime?: number;
49 connectionTimeout?: number;
50 autoReconnectMaxRetries?: number;
51 reconnectExponentialDelay?: boolean;
52 registrationMaxRetries?: number;
53 enableStatistics?: boolean;
54 voltageOut?: number;
55 Configuration?: ChargingStationConfiguration;
56 AutomaticTransactionGenerator: AutomaticTransactionGenerator;
57 Connectors: Connectors;
58 }