Remove string literal from log messages
[e-mobility-charging-stations-simulator.git] / src / types / ocpp / 1.6 / Requests.ts
index 873d41a044df6c0484116cba82612010b1934690..97b5d756e440b9478c573e48762aa9f6a7205456 100644 (file)
@@ -1,5 +1,7 @@
 import { ChargingProfilePurposeType, OCPP16ChargingProfile } from './ChargingProfile';
 
+import { EmptyObject } from '../../EmptyObject';
+import { JsonType } from '../../JsonType';
 import { OCPP16ChargePointErrorCode } from './ChargePointErrorCode';
 import { OCPP16ChargePointStatus } from './ChargePointStatus';
 import { OCPP16DiagnosticsStatus } from './DiagnosticsStatus';
@@ -14,7 +16,7 @@ export enum OCPP16RequestCommand {
   START_TRANSACTION = 'StartTransaction',
   STOP_TRANSACTION = 'StopTransaction',
   METER_VALUES = 'MeterValues',
-  DIAGNOSTICS_STATUS_NOTIFICATION= 'DiagnosticsStatusNotification'
+  DIAGNOSTICS_STATUS_NOTIFICATION = 'DiagnosticsStatusNotification'
 }
 
 export enum OCPP16IncomingRequestCommand {
@@ -28,13 +30,13 @@ export enum OCPP16IncomingRequestCommand {
   CLEAR_CHARGING_PROFILE = 'ClearChargingProfile',
   REMOTE_START_TRANSACTION = 'RemoteStartTransaction',
   REMOTE_STOP_TRANSACTION = 'RemoteStopTransaction',
-  GET_DIAGNOSTICS = 'GetDiagnostics'
+  GET_DIAGNOSTICS = 'GetDiagnostics',
+  TRIGGER_MESSAGE = 'TriggerMessage'
 }
 
-// eslint-disable-next-line @typescript-eslint/no-empty-interface
-export interface HeartbeatRequest { }
+export type HeartbeatRequest = EmptyObject;
 
-export interface OCPP16BootNotificationRequest {
+export interface OCPP16BootNotificationRequest extends JsonType {
   chargeBoxSerialNumber?: string;
   chargePointModel: string;
   chargePointSerialNumber?: string;
@@ -46,7 +48,7 @@ export interface OCPP16BootNotificationRequest {
   meterType?: string;
 }
 
-export interface StatusNotificationRequest {
+export interface StatusNotificationRequest extends JsonType {
   connectorId: number;
   errorCode: OCPP16ChargePointErrorCode;
   info?: string;
@@ -56,26 +58,26 @@ export interface StatusNotificationRequest {
   vendorErrorCode?: string;
 }
 
-export interface ChangeConfigurationRequest {
+export interface ChangeConfigurationRequest extends JsonType {
   key: string | OCPP16StandardParametersKey;
   value: string;
 }
 
-export interface RemoteStartTransactionRequest {
+export interface RemoteStartTransactionRequest extends JsonType {
   connectorId: number;
   idTag: string;
   chargingProfile?: OCPP16ChargingProfile;
 }
 
-export interface RemoteStopTransactionRequest {
+export interface RemoteStopTransactionRequest extends JsonType {
   transactionId: number;
 }
 
-export interface UnlockConnectorRequest {
+export interface UnlockConnectorRequest extends JsonType {
   connectorId: number;
 }
 
-export interface GetConfigurationRequest {
+export interface GetConfigurationRequest extends JsonType {
   key?: string | OCPP16StandardParametersKey[];
 }
 
@@ -84,11 +86,11 @@ export enum ResetType {
   SOFT = 'Soft'
 }
 
-export interface ResetRequest {
+export interface ResetRequest extends JsonType {
   type: ResetType;
 }
 
-export interface SetChargingProfileRequest {
+export interface SetChargingProfileRequest extends JsonType {
   connectorId: number;
   csChargingProfiles: OCPP16ChargingProfile;
 }
@@ -98,19 +100,19 @@ export enum OCPP16AvailabilityType {
   OPERATIVE = 'Operative'
 }
 
-export interface ChangeAvailabilityRequest {
+export interface ChangeAvailabilityRequest extends JsonType {
   connectorId: number;
   type: OCPP16AvailabilityType;
 }
 
-export interface ClearChargingProfileRequest {
+export interface ClearChargingProfileRequest extends JsonType {
   id?: number;
   connectorId?: number;
   chargingProfilePurpose?: ChargingProfilePurposeType;
   stackLevel?: number;
 }
 
-export interface GetDiagnosticsRequest {
+export interface GetDiagnosticsRequest extends JsonType {
   location: string;
   retries?: number;
   retryInterval?: number;
@@ -118,6 +120,20 @@ export interface GetDiagnosticsRequest {
   stopTime?: Date;
 }
 
-export interface DiagnosticsStatusNotificationRequest {
+export interface DiagnosticsStatusNotificationRequest extends JsonType {
   status: OCPP16DiagnosticsStatus
 }
+
+export enum MessageTrigger {
+  BootNotification = 'BootNotification',
+  DiagnosticsStatusNotification = 'DiagnosticsStatusNotification',
+  FirmwareStatusNotification = 'FirmwareStatusNotification',
+  Heartbeat = 'Heartbeat',
+  MeterValues = 'MeterValues',
+  StatusNotification = 'StatusNotification'
+}
+
+export interface OCPP16TriggerMessageRequest extends JsonType {
+  requestedMessage: MessageTrigger;
+  connectorId?: number
+}