Buffer OCPP message when an error occur at sending it
[e-mobility-charging-stations-simulator.git] / src / types / ocpp / 1.6 / Requests.ts
index 31825e16b18b12996166ff480eef42178f07662f..678eacc990e50012964a66611eac978ed0d8c55c 100644 (file)
@@ -1,11 +1,10 @@
-import { ChargingProfilePurposeType, OCPP16ChargingProfile } from './ChargingProfile';
-
-import { EmptyObject } from '../../EmptyObject';
-import { JsonObject } from '../../JsonType';
-import { OCPP16ChargePointErrorCode } from './ChargePointErrorCode';
-import { OCPP16ChargePointStatus } from './ChargePointStatus';
-import { OCPP16DiagnosticsStatus } from './DiagnosticsStatus';
-import { OCPP16StandardParametersKey } from './Configuration';
+import type { EmptyObject } from '../../EmptyObject';
+import type { JsonObject } from '../../JsonType';
+import type { OCPP16ChargePointErrorCode } from './ChargePointErrorCode';
+import type { OCPP16ChargePointStatus } from './ChargePointStatus';
+import type { ChargingProfilePurposeType, OCPP16ChargingProfile } from './ChargingProfile';
+import type { OCPP16StandardParametersKey } from './Configuration';
+import type { OCPP16DiagnosticsStatus } from './DiagnosticsStatus';
 
 export enum OCPP16RequestCommand {
   BOOT_NOTIFICATION = 'BootNotification',
@@ -16,6 +15,8 @@ export enum OCPP16RequestCommand {
   STOP_TRANSACTION = 'StopTransaction',
   METER_VALUES = 'MeterValues',
   DIAGNOSTICS_STATUS_NOTIFICATION = 'DiagnosticsStatusNotification',
+  FIRMWARE_STATUS_NOTIFICATION = 'FirmwareStatusNotification',
+  DATA_TRANSFER = 'DataTransfer',
 }
 
 export enum OCPP16IncomingRequestCommand {
@@ -31,32 +32,36 @@ export enum OCPP16IncomingRequestCommand {
   REMOTE_STOP_TRANSACTION = 'RemoteStopTransaction',
   GET_DIAGNOSTICS = 'GetDiagnostics',
   TRIGGER_MESSAGE = 'TriggerMessage',
+  DATA_TRANSFER = 'DataTransfer',
+  UPDATE_FIRMWARE = 'UpdateFirmware',
 }
 
 export type OCPP16HeartbeatRequest = EmptyObject;
 
 export interface OCPP16BootNotificationRequest extends JsonObject {
-  chargeBoxSerialNumber?: string;
+  chargePointVendor: string;
   chargePointModel: string;
   chargePointSerialNumber?: string;
-  chargePointVendor: string;
+  chargeBoxSerialNumber?: string;
   firmwareVersion?: string;
   iccid?: string;
   imsi?: string;
-  meterSerialNumber?: string;
   meterType?: string;
+  meterSerialNumber?: string;
 }
 
 export interface OCPP16StatusNotificationRequest extends JsonObject {
   connectorId: number;
   errorCode: OCPP16ChargePointErrorCode;
-  info?: string;
   status: OCPP16ChargePointStatus;
-  timestamp?: string;
+  info?: string;
+  timestamp?: Date;
   vendorId?: string;
   vendorErrorCode?: string;
 }
 
+export type OCPP16ClearCacheRequest = EmptyObject;
+
 export interface ChangeConfigurationRequest extends JsonObject {
   key: string | OCPP16StandardParametersKey;
   value: string;
@@ -111,6 +116,27 @@ export interface ClearChargingProfileRequest extends JsonObject {
   stackLevel?: number;
 }
 
+export interface OCPP16UpdateFirmwareRequest extends JsonObject {
+  location: string;
+  retrieveDate: Date;
+  retries?: number;
+  retryInterval?: number;
+}
+
+export enum OCPP16FirmwareStatus {
+  Downloaded = 'Downloaded',
+  DownloadFailed = 'DownloadFailed',
+  Downloading = 'Downloading',
+  Idle = 'Idle',
+  InstallationFailed = 'InstallationFailed',
+  Installing = 'Installing',
+  Installed = 'Installed',
+}
+
+export type OCPP16FirmwareStatusNotificationRequest = {
+  status: OCPP16FirmwareStatus;
+};
+
 export interface GetDiagnosticsRequest extends JsonObject {
   location: string;
   retries?: number;
@@ -123,7 +149,7 @@ export interface DiagnosticsStatusNotificationRequest extends JsonObject {
   status: OCPP16DiagnosticsStatus;
 }
 
-export enum MessageTrigger {
+export enum OCPP16MessageTrigger {
   BootNotification = 'BootNotification',
   DiagnosticsStatusNotification = 'DiagnosticsStatusNotification',
   FirmwareStatusNotification = 'FirmwareStatusNotification',
@@ -133,6 +159,14 @@ export enum MessageTrigger {
 }
 
 export interface OCPP16TriggerMessageRequest extends JsonObject {
-  requestedMessage: MessageTrigger;
+  requestedMessage: OCPP16MessageTrigger;
   connectorId?: number;
 }
+
+export enum OCPP16DataTransferVendorId {}
+
+export interface OCPP16DataTransferRequest extends JsonObject {
+  vendorId: string;
+  messageId?: string;
+  data?: string;
+}