Merge branch 'master' of github.com:LucasBrazi06/ev-simulator into master-enterprise
[e-mobility-charging-stations-simulator.git] / src / types / ocpp / 1.6 / Requests.ts
index 71f8384f475d1e61b57880c3d061e5b5d62df135..8af407c0ac3789fceb6ca52fb54c3cbec133398f 100644 (file)
@@ -1,34 +1,29 @@
-import { ChargePointErrorCode } from './ChargePointErrorCode';
-import { ChargePointStatus } from './ChargePointStatus';
-import { ChargingProfile } from './ChargingProfile';
-import { MessageType } from '../MessageType';
-import OCPPError from '../../../charging-station/OcppError';
-
-export default interface Requests {
-  [id: string]: Request;
-}
-
-export type Request = [(payload?, requestPayload?) => void, (error?: OCPPError) => void, Record<string, unknown>];
+import { ChargingProfilePurposeType, OCPP16ChargingProfile } from './ChargingProfile';
 
-export type IncomingRequest = [MessageType, string, IncomingRequestCommand, string, string];
+import { OCPP16ChargePointErrorCode } from './ChargePointErrorCode';
+import { OCPP16ChargePointStatus } from './ChargePointStatus';
+import { OCPP16StandardParametersKey } from './Configuration';
 
-export enum RequestCommand {
+export enum OCPP16RequestCommand {
   BOOT_NOTIFICATION = 'BootNotification',
   HEARTBEAT = 'Heartbeat',
   STATUS_NOTIFICATION = 'StatusNotification',
   CHANGE_CONFIGURATION = 'ChangeConfiguration',
+  AUTHORIZE = 'Authorize',
   START_TRANSACTION = 'StartTransaction',
   STOP_TRANSACTION = 'StopTransaction',
   METERVALUES = 'MeterValues'
 }
 
-export enum IncomingRequestCommand {
+export enum OCPP16IncomingRequestCommand {
   RESET = 'Reset',
   CLEAR_CACHE = 'ClearCache',
+  CHANGE_AVAILABILITY = 'ChangeAvailability',
   UNLOCK_CONNECTOR = 'UnlockConnector',
   GET_CONFIGURATION = 'GetConfiguration',
   CHANGE_CONFIGURATION = 'ChangeConfiguration',
   SET_CHARGING_PROFILE = 'SetChargingProfile',
+  CLEAR_CHARGING_PROFILE = 'ClearChargingProfile',
   REMOTE_START_TRANSACTION = 'RemoteStartTransaction',
   REMOTE_STOP_TRANSACTION = 'RemoteStopTransaction'
 }
@@ -36,7 +31,7 @@ export enum IncomingRequestCommand {
 // eslint-disable-next-line @typescript-eslint/no-empty-interface
 export interface HeartbeatRequest { }
 
-export interface BootNotificationRequest {
+export interface OCPP16BootNotificationRequest {
   chargeBoxSerialNumber?: string;
   chargePointModel: string;
   chargePointSerialNumber?: string;
@@ -50,23 +45,23 @@ export interface BootNotificationRequest {
 
 export interface StatusNotificationRequest {
   connectorId: number;
-  errorCode: ChargePointErrorCode;
+  errorCode: OCPP16ChargePointErrorCode;
   info?: string;
-  status: ChargePointStatus;
+  status: OCPP16ChargePointStatus;
   timestamp?: string;
   vendorId?: string;
   vendorErrorCode?: string;
 }
 
 export interface ChangeConfigurationRequest {
-  key: string;
+  key: string | OCPP16StandardParametersKey;
   value: string;
 }
 
 export interface RemoteStartTransactionRequest {
   connectorId: number;
   idTag: string;
-  chargingProfile?: ChargingProfile;
+  chargingProfile?: OCPP16ChargingProfile;
 }
 
 export interface RemoteStopTransactionRequest {
@@ -78,7 +73,7 @@ export interface UnlockConnectorRequest {
 }
 
 export interface GetConfigurationRequest {
-  key?: string[];
+  key?: string | OCPP16StandardParametersKey[];
 }
 
 export enum ResetType {
@@ -92,5 +87,22 @@ export interface ResetRequest {
 
 export interface SetChargingProfileRequest {
   connectorId: number;
-  csChargingProfiles: ChargingProfile;
+  csChargingProfiles: OCPP16ChargingProfile;
+}
+
+export enum OCPP16AvailabilityType {
+  INOPERATIVE = 'Inoperative',
+  OPERATIVE = 'Operative'
+}
+
+export interface ChangeAvailabilityRequest {
+  connectorId: number;
+  type: OCPP16AvailabilityType;
+}
+
+export interface ClearChargingProfileRequest {
+  id?: number;
+  connectorId?: number;
+  chargingProfilePurpose?: ChargingProfilePurposeType;
+  stackLevel?: number;
 }