refactor: cleanup eslint configuration
[e-mobility-charging-stations-simulator.git] / src / types / ocpp / 2.0 / Requests.ts
1 import type { EmptyObject } from '../../EmptyObject.js'
2 import type { JsonObject } from '../../JsonType.js'
3 import type {
4 BootReasonEnumType,
5 InstallCertificateUseEnumType,
6 OCPP20ConnectorStatusEnumType
7 } from './Common.js'
8 import type { OCPP20SetVariableDataType } from './Variables.js'
9
10 export enum OCPP20RequestCommand {
11 BOOT_NOTIFICATION = 'BootNotification',
12 HEARTBEAT = 'Heartbeat',
13 STATUS_NOTIFICATION = 'StatusNotification'
14 }
15
16 export enum OCPP20IncomingRequestCommand {
17 CLEAR_CACHE = 'ClearCache',
18 REQUEST_START_TRANSACTION = 'RequestStartTransaction',
19 REQUEST_STOP_TRANSACTION = 'RequestStopTransaction'
20 }
21
22 interface ModemType extends JsonObject {
23 iccid?: string
24 imsi?: string
25 }
26
27 interface ChargingStationType extends JsonObject {
28 serialNumber?: string
29 model: string
30 vendorName: string
31 firmwareVersion?: string
32 modem?: ModemType
33 }
34
35 export interface OCPP20BootNotificationRequest extends JsonObject {
36 reason: BootReasonEnumType
37 chargingStation: ChargingStationType
38 }
39
40 export type OCPP20HeartbeatRequest = EmptyObject
41
42 export type OCPP20ClearCacheRequest = EmptyObject
43
44 export interface OCPP20StatusNotificationRequest extends JsonObject {
45 timestamp: Date
46 connectorStatus: OCPP20ConnectorStatusEnumType
47 evseId: number
48 connectorId: number
49 }
50
51 export interface OCPP20SetVariablesRequest extends JsonObject {
52 setVariableData: OCPP20SetVariableDataType[]
53 }
54
55 export interface OCPP20InstallCertificateRequest extends JsonObject {
56 certificateType: InstallCertificateUseEnumType
57 certificate: string
58 }