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