d20dfdc1dca6026a08edde3e7ccac9e951ecb6aa
[e-mobility-charging-stations-simulator.git] / src / types / ChargingStationTemplate.ts
1 import type { ClientRequestArgs } from 'node:http'
2
3 import type { ClientOptions } from 'ws'
4
5 import type { AutomaticTransactionGeneratorConfiguration } from './AutomaticTransactionGenerator.js'
6 import type { ChargingStationOcppConfiguration } from './ChargingStationOcppConfiguration.js'
7 import type { ConnectorStatus } from './ConnectorStatus.js'
8 import type { EvseTemplate } from './Evse.js'
9 import type { JsonObject } from './JsonType.js'
10 import type { OCPPProtocol } from './ocpp/OCPPProtocol.js'
11 import type { OCPPVersion } from './ocpp/OCPPVersion.js'
12 import type {
13 FirmwareStatus,
14 IncomingRequestCommand,
15 MessageTrigger,
16 RequestCommand
17 } from './ocpp/Requests.js'
18
19 export enum CurrentType {
20 AC = 'AC',
21 DC = 'DC'
22 }
23
24 export enum PowerUnits {
25 WATT = 'W',
26 KILO_WATT = 'kW'
27 }
28
29 export enum AmpereUnits {
30 MILLI_AMPERE = 'mA',
31 CENTI_AMPERE = 'cA',
32 DECI_AMPERE = 'dA',
33 AMPERE = 'A'
34 }
35
36 export enum Voltage {
37 VOLTAGE_110 = 110,
38 VOLTAGE_230 = 230,
39 VOLTAGE_400 = 400,
40 VOLTAGE_800 = 800
41 }
42
43 export type WsOptions = ClientOptions & ClientRequestArgs
44
45 export interface FirmwareUpgrade extends JsonObject {
46 versionUpgrade?: {
47 patternGroup?: number
48 step?: number
49 }
50 reset?: boolean
51 failureStatus?: FirmwareStatus
52 }
53
54 interface CommandsSupport extends JsonObject {
55 incomingCommands: Record<IncomingRequestCommand, boolean>
56 outgoingCommands?: Record<RequestCommand, boolean>
57 }
58
59 enum x509CertificateType {
60 V2GRootCertificate = 'V2GRootCertificate',
61 MORootCertificate = 'MORootCertificate',
62 CSMSRootCertificate = 'CSMSRootCertificate',
63 ManufacturerRootCertificate = 'ManufacturerRootCertificate',
64 ChargingStationCertificate = 'ChargingStationCertificate',
65 V2GCertificate = 'V2GCertificate'
66 }
67
68 export interface ChargingStationTemplate {
69 templateHash?: string
70 supervisionUrls?: string | string[]
71 supervisionUrlOcppConfiguration?: boolean
72 supervisionUrlOcppKey?: string
73 supervisionUser?: string
74 supervisionPassword?: string
75 autoStart?: boolean
76 ocppVersion?: OCPPVersion
77 ocppProtocol?: OCPPProtocol
78 ocppStrictCompliance?: boolean
79 ocppPersistentConfiguration?: boolean
80 stationInfoPersistentConfiguration?: boolean
81 automaticTransactionGeneratorPersistentConfiguration?: boolean
82 wsOptions?: WsOptions
83 idTagsFile?: string
84 baseName: string
85 nameSuffix?: string
86 fixedName?: boolean
87 chargePointModel: string
88 chargePointVendor: string
89 chargePointSerialNumberPrefix?: string
90 chargeBoxSerialNumberPrefix?: string
91 firmwareVersionPattern?: string
92 firmwareVersion?: string
93 firmwareUpgrade?: FirmwareUpgrade
94 iccid?: string
95 imsi?: string
96 meterSerialNumberPrefix?: string
97 meterType?: string
98 power?: number | number[]
99 powerUnit?: PowerUnits
100 powerSharedByConnectors?: boolean
101 currentOutType?: CurrentType
102 voltageOut?: Voltage
103 numberOfPhases?: number
104 numberOfConnectors?: number | number[]
105 useConnectorId0?: boolean
106 randomConnectors?: boolean
107 resetTime?: number
108 autoRegister?: boolean
109 autoReconnectMaxRetries?: number
110 reconnectExponentialDelay?: boolean
111 registrationMaxRetries?: number
112 enableStatistics?: boolean
113 remoteAuthorization?: boolean
114 /** @deprecated Replaced by remoteAuthorization */
115 mustAuthorizeAtRemoteStart?: boolean
116 /** @deprecated Replaced by ocppStrictCompliance */
117 payloadSchemaValidation?: boolean
118 amperageLimitationOcppKey?: string
119 amperageLimitationUnit?: AmpereUnits
120 beginEndMeterValues?: boolean
121 outOfOrderEndMeterValues?: boolean
122 meteringPerTransaction?: boolean
123 transactionDataMeterValues?: boolean
124 stopTransactionsOnStopped?: boolean
125 mainVoltageMeterValues?: boolean
126 phaseLineToLineVoltageMeterValues?: boolean
127 customValueLimitationMeterValues?: boolean
128 commandsSupport?: CommandsSupport
129 messageTriggerSupport?: Record<MessageTrigger, boolean>
130 Configuration?: ChargingStationOcppConfiguration
131 AutomaticTransactionGenerator?: AutomaticTransactionGeneratorConfiguration
132 Evses?: Record<string, EvseTemplate>
133 Connectors?: Record<string, ConnectorStatus>
134 x509Certificates?: Record<x509CertificateType, string>
135 }