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