Track OCPP commande use at sending error message
authorJérôme Benoit <jerome.benoit@sap.com>
Wed, 23 Feb 2022 16:28:39 +0000 (17:28 +0100)
committerJérôme Benoit <jerome.benoit@sap.com>
Wed, 23 Feb 2022 16:28:39 +0000 (17:28 +0100)
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
src/charging-station/ocpp/OCPPRequestService.ts

index 081d8fad179e79b701be7d69123e3afa1a435b53..15ad6e8ac84ef7fe18b24285f34e60363f9312e2 100644 (file)
@@ -62,7 +62,7 @@ export default abstract class OCPPRequestService {
     }
   }
 
-  private async internalSendMessage(messageId: string, messagePayload: JsonType | OCPPError, messageType: MessageType, commandName: RequestCommand | IncomingRequestCommand,
+  private async internalSendMessage(messageId: string, messagePayload: JsonType | OCPPError, messageType: MessageType, commandName?: RequestCommand | IncomingRequestCommand,
       params: SendParams = {
         skipBufferingOnError: false,
         triggerMessage: false
@@ -147,9 +147,9 @@ export default abstract class OCPPRequestService {
     throw new OCPPError(ErrorType.SECURITY_ERROR, `Cannot send command ${commandName} payload when the charging station is in ${this.chargingStation.getRegistrationStatus()} state on the central server`, commandName);
   }
 
-  private buildMessageToSend(messageId: string, messagePayload: JsonType | OCPPError, messageType: MessageType, commandName: RequestCommand | IncomingRequestCommand,
-      responseCallback: (payload: JsonType | string, requestPayload: JsonType) => Promise<void>,
-      rejectCallback: (error: OCPPError, requestStatistic?: boolean) => void): string {
+  private buildMessageToSend(messageId: string, messagePayload: JsonType | OCPPError, messageType: MessageType, commandName?: RequestCommand | IncomingRequestCommand,
+      responseCallback?: (payload: JsonType | string, requestPayload: JsonType) => Promise<void>,
+      rejectCallback?: (error: OCPPError, requestStatistic?: boolean) => void): string {
     let messageToSend: string;
     // Type of message
     switch (messageType) {
@@ -167,7 +167,7 @@ export default abstract class OCPPRequestService {
       // Error Message
       case MessageType.CALL_ERROR_MESSAGE:
         // Build Error Message
-        messageToSend = JSON.stringify([messageType, messageId, messagePayload?.code ?? ErrorType.GENERIC_ERROR, messagePayload?.message ?? '', messagePayload?.details ?? {}]);
+        messageToSend = JSON.stringify([messageType, messageId, messagePayload?.code ?? ErrorType.GENERIC_ERROR, messagePayload?.message ?? '', messagePayload?.details ?? { commandName }]);
         break;
     }
     return messageToSend;