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