Use eslint extension for import sorting instead of unmaintained external ones
[e-mobility-charging-stations-simulator.git] / src / types / ChargingStationTemplate.ts
1 import { ClientRequestArgs } from 'http';
2
3 import { ClientOptions } from 'ws';
4
5 import { AutomaticTransactionGeneratorConfiguration } from './AutomaticTransactionGenerator';
6 import ChargingStationOcppConfiguration from './ChargingStationOcppConfiguration';
7 import { ConnectorStatus } from './ConnectorStatus';
8 import { OCPPProtocol } from './ocpp/OCPPProtocol';
9 import { OCPPVersion } from './ocpp/OCPPVersion';
10
11 export enum CurrentType {
12 AC = 'AC',
13 DC = 'DC',
14 }
15
16 export enum PowerUnits {
17 WATT = 'W',
18 KILO_WATT = 'kW',
19 }
20
21 export enum AmpereUnits {
22 MILLI_AMPERE = 'mA',
23 CENTI_AMPERE = 'cA',
24 DECI_AMPERE = 'dA',
25 AMPERE = 'A',
26 }
27
28 export enum Voltage {
29 VOLTAGE_110 = 110,
30 VOLTAGE_230 = 230,
31 VOLTAGE_400 = 400,
32 VOLTAGE_800 = 800,
33 }
34
35 export type WsOptions = ClientOptions & ClientRequestArgs;
36
37 export default interface ChargingStationTemplate {
38 templateHash?: string;
39 supervisionUrls?: string | string[];
40 supervisionUrlOcppConfiguration?: boolean;
41 supervisionUrlOcppKey?: string;
42 supervisionUser?: string;
43 supervisionPassword?: string;
44 ocppVersion?: OCPPVersion;
45 ocppProtocol?: OCPPProtocol;
46 ocppStrictCompliance?: boolean;
47 ocppPersistentConfiguration?: boolean;
48 stationInfoPersistentConfiguration?: boolean;
49 wsOptions?: WsOptions;
50 authorizationFile?: string;
51 baseName: string;
52 nameSuffix?: string;
53 fixedName?: boolean;
54 chargePointModel: string;
55 chargePointVendor: string;
56 chargePointSerialNumberPrefix?: string;
57 chargeBoxSerialNumberPrefix?: string;
58 firmwareVersion?: string;
59 iccid?: string;
60 imsi?: string;
61 meterSerialNumberPrefix?: string;
62 meterType?: string;
63 power: number | number[];
64 powerSharedByConnectors?: boolean;
65 powerUnit: PowerUnits;
66 currentOutType?: CurrentType;
67 voltageOut?: Voltage;
68 numberOfPhases?: number;
69 numberOfConnectors?: number | number[];
70 useConnectorId0?: boolean;
71 randomConnectors?: boolean;
72 resetTime?: number;
73 autoRegister?: boolean;
74 autoReconnectMaxRetries?: number;
75 reconnectExponentialDelay?: boolean;
76 registrationMaxRetries?: number;
77 enableStatistics?: boolean;
78 mayAuthorizeAtRemoteStart: boolean;
79 amperageLimitationOcppKey?: string;
80 amperageLimitationUnit?: AmpereUnits;
81 beginEndMeterValues?: boolean;
82 outOfOrderEndMeterValues?: boolean;
83 meteringPerTransaction?: boolean;
84 transactionDataMeterValues?: boolean;
85 mainVoltageMeterValues?: boolean;
86 phaseLineToLineVoltageMeterValues?: boolean;
87 customValueLimitationMeterValues?: boolean;
88 Configuration?: ChargingStationOcppConfiguration;
89 AutomaticTransactionGenerator?: AutomaticTransactionGeneratorConfiguration;
90 Connectors: Record<string, ConnectorStatus>;
91 }