Use camel case everywhere
[e-mobility-charging-stations-simulator.git] / src / types / ChargingStationTemplate.ts
CommitLineData
9ac86a7e 1import ChargingStationConfiguration from './ChargingStationConfiguration';
cd8dd457
JB
2import { ClientOptions } from 'ws';
3import { ClientRequestArgs } from 'http';
734d790d 4import { ConnectorStatus } from './Connectors';
c0560973
JB
5import { OCPPProtocol } from './ocpp/OCPPProtocol';
6import { OCPPVersion } from './ocpp/OCPPVersion';
9ac86a7e 7
4c2b4904 8export enum CurrentType {
9ac86a7e
JB
9 AC = 'AC',
10 DC = 'DC',
11}
12
a02da55f 13export enum PowerUnits {
9ac86a7e
JB
14 WATT = 'W',
15 KILO_WATT = 'kW',
16}
17
4c2b4904 18export enum Voltage {
84d4e562
JB
19 VOLTAGE_110 = 110,
20 VOLTAGE_230 = 230,
fd0c36fa
JB
21 VOLTAGE_400 = 400,
22 VOLTAGE_800 = 800
84d4e562
JB
23}
24
9ac86a7e
JB
25export interface AutomaticTransactionGenerator {
26 enable: boolean;
27 minDuration: number;
28 maxDuration: number;
29 minDelayBetweenTwoTransactions: number;
30 maxDelayBetweenTwoTransactions: number;
31 probabilityOfStart: number;
32 stopAfterHours: number;
5fdab605 33 stopOnConnectionFailure: boolean;
5b10d2de 34 requireAuthorize?: boolean
9ac86a7e
JB
35}
36
37export default interface ChargingStationTemplate {
1f5df42a
JB
38 supervisionUrl?: string;
39 supervisionUrlOcppConfiguration?: boolean;
40 supervisionUrlOcppKey?: string;
15042c5f
JB
41 supervisionUser?: string;
42 supervisionPassword?: string;
c0560973
JB
43 ocppVersion?: OCPPVersion;
44 ocppProtocol?: OCPPProtocol;
cd8dd457 45 wsOptions?: ClientOptions & ClientRequestArgs;
9ac86a7e
JB
46 authorizationFile?: string;
47 baseName: string;
5fdab605 48 nameSuffix?: string;
a02da55f 49 fixedName?: boolean;
9ac86a7e
JB
50 chargePointModel: string;
51 chargePointVendor: string;
52 chargeBoxSerialNumberPrefix?: string;
53 firmwareVersion?: string;
54 power: number | number[];
55 powerSharedByConnectors?: boolean;
ef16e252 56 powerUnit: PowerUnits;
4c2b4904
JB
57 currentOutType?: CurrentType;
58 voltageOut?: Voltage;
9ac86a7e
JB
59 numberOfPhases?: number;
60 numberOfConnectors?: number | number[];
61 useConnectorId0?: boolean;
62 randomConnectors?: boolean;
63 resetTime?: number;
47e22477 64 autoRegister: boolean;
3574dfd3 65 autoReconnectMaxRetries?: number;
032d6efc 66 reconnectExponentialDelay?: boolean;
6ad94506 67 registrationMaxRetries?: number;
9ac86a7e 68 enableStatistics?: boolean;
a7fc8211 69 mayAuthorizeAtRemoteStart: boolean;
6ed92bc1
JB
70 beginEndMeterValues?: boolean;
71 outOfOrderEndMeterValues?: boolean;
72 meteringPerTransaction?: boolean;
fd0c36fa 73 transactionDataMeterValues?: boolean;
9ccca265 74 mainVoltageMeterValues?: boolean;
6b10669b 75 phaseLineToLineVoltageMeterValues?: boolean;
9ac86a7e
JB
76 Configuration?: ChargingStationConfiguration;
77 AutomaticTransactionGenerator: AutomaticTransactionGenerator;
734d790d 78 Connectors: Record<string, ConnectorStatus>;
9ac86a7e 79}