Add CS template tunable to enable persistent OCPP configuration
[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';
057e2042 4import { ConnectorStatus } from './ConnectorStatus';
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 21 VOLTAGE_400 = 400,
e7aeea18 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;
e7aeea18 34 requireAuthorize?: boolean;
9ac86a7e
JB
35}
36
37export default interface ChargingStationTemplate {
2dcfe98e 38 supervisionUrls?: string | string[];
1f5df42a
JB
39 supervisionUrlOcppConfiguration?: boolean;
40 supervisionUrlOcppKey?: string;
15042c5f
JB
41 supervisionUser?: string;
42 supervisionPassword?: string;
c0560973
JB
43 ocppVersion?: OCPPVersion;
44 ocppProtocol?: OCPPProtocol;
672fed6e 45 ocppStrictCompliance?: boolean;
e8e865ea 46 ocppPersistentConfiguration?: boolean;
cd8dd457 47 wsOptions?: ClientOptions & ClientRequestArgs;
9ac86a7e
JB
48 authorizationFile?: string;
49 baseName: string;
5fdab605 50 nameSuffix?: string;
a02da55f 51 fixedName?: boolean;
9ac86a7e
JB
52 chargePointModel: string;
53 chargePointVendor: string;
54 chargeBoxSerialNumberPrefix?: string;
55 firmwareVersion?: string;
56 power: number | number[];
57 powerSharedByConnectors?: boolean;
ef16e252 58 powerUnit: PowerUnits;
4c2b4904
JB
59 currentOutType?: CurrentType;
60 voltageOut?: Voltage;
9ac86a7e
JB
61 numberOfPhases?: number;
62 numberOfConnectors?: number | number[];
63 useConnectorId0?: boolean;
64 randomConnectors?: boolean;
65 resetTime?: number;
47e22477 66 autoRegister: boolean;
3574dfd3 67 autoReconnectMaxRetries?: number;
032d6efc 68 reconnectExponentialDelay?: boolean;
6ad94506 69 registrationMaxRetries?: number;
9ac86a7e 70 enableStatistics?: boolean;
a7fc8211 71 mayAuthorizeAtRemoteStart: boolean;
6ed92bc1
JB
72 beginEndMeterValues?: boolean;
73 outOfOrderEndMeterValues?: boolean;
74 meteringPerTransaction?: boolean;
fd0c36fa 75 transactionDataMeterValues?: boolean;
9ccca265 76 mainVoltageMeterValues?: boolean;
6b10669b 77 phaseLineToLineVoltageMeterValues?: boolean;
9ac86a7e
JB
78 Configuration?: ChargingStationConfiguration;
79 AutomaticTransactionGenerator: AutomaticTransactionGenerator;
734d790d 80 Connectors: Record<string, ConnectorStatus>;
9ac86a7e 81}