Merge branch 'main' into combined-prs-branch
[e-mobility-charging-stations-simulator.git] / src / types / ocpp / 2.0 / Requests.ts
index 72ad392eace7838e6e00295ee55189e4d6319345..ef7a5161b3797282425947b30d5e0c30c85bddaa 100644 (file)
@@ -1,47 +1,58 @@
-import type { EmptyObject } from '../../EmptyObject';
-import type { JsonObject } from '../../JsonType';
+import type {
+  BootReasonEnumType,
+  InstallCertificateUseEnumType,
+  OCPP20ConnectorStatusEnumType
+} from './Common.js'
+import type { OCPP20SetVariableDataType } from './Variables.js'
+import type { EmptyObject } from '../../EmptyObject.js'
+import type { JsonObject } from '../../JsonType.js'
 
 export enum OCPP20RequestCommand {
   BOOT_NOTIFICATION = 'BootNotification',
   HEARTBEAT = 'Heartbeat',
+  STATUS_NOTIFICATION = 'StatusNotification'
 }
 
 export enum OCPP20IncomingRequestCommand {
   CLEAR_CACHE = 'ClearCache',
   REQUEST_START_TRANSACTION = 'RequestStartTransaction',
-  REQUEST_STOP_TRANSACTION = 'RequestStopTransaction',
+  REQUEST_STOP_TRANSACTION = 'RequestStopTransaction'
 }
 
-export enum BootReasonEnumType {
-  ApplicationReset = 'ApplicationReset',
-  FirmwareUpdate = 'FirmwareUpdate',
-  LocalReset = 'LocalReset',
-  PowerUp = 'PowerUp',
-  RemoteReset = 'RemoteReset',
-  ScheduledReset = 'ScheduledReset',
-  Triggered = 'Triggered',
-  Unknown = 'Unknown',
-  Watchdog = 'Watchdog',
-}
-
-export type ModemType = {
-  iccid?: string;
-  imsi?: string;
-} & JsonObject;
+type ModemType = {
+  iccid?: string
+  imsi?: string
+} & JsonObject
 
-export type ChargingStationType = {
-  serialNumber?: string;
-  model: string;
-  vendorName: string;
-  firmwareVersion?: string;
-  modem?: ModemType;
-} & JsonObject;
+type ChargingStationType = {
+  serialNumber?: string
+  model: string
+  vendorName: string
+  firmwareVersion?: string
+  modem?: ModemType
+} & JsonObject
 
 export type OCPP20BootNotificationRequest = {
-  reason: BootReasonEnumType;
-  chargingStation: ChargingStationType;
-} & JsonObject;
+  reason: BootReasonEnumType
+  chargingStation: ChargingStationType
+} & JsonObject
+
+export type OCPP20HeartbeatRequest = EmptyObject
+
+export type OCPP20ClearCacheRequest = EmptyObject
+
+export type OCPP20StatusNotificationRequest = {
+  timestamp: Date
+  connectorStatus: OCPP20ConnectorStatusEnumType
+  evseId: number
+  connectorId: number
+} & JsonObject
 
-export type OCPP20HeartbeatRequest = EmptyObject;
+export type OCPP20SetVariablesRequest = {
+  setVariableData: OCPP20SetVariableDataType[]
+} & JsonObject
 
-export type OCPP20ClearCacheRequest = EmptyObject;
+export type OCPP20InstallCertificateRequest = {
+  certificateType: InstallCertificateUseEnumType
+  certificate: string
+} & JsonObject