- }, OCPPConstants.OCPP_WEBSOCKET_TIMEOUT);
- chargingStation.wsConnection?.send(messageToSend);
- logger.debug(
- `${chargingStation.logPrefix()} >> Command '${commandName}' sent ${OCPPServiceUtils.getMessageTypeString(
- messageType,
- )} payload: ${messageToSend}`,
- );
- } catch (error) {
- logger.error(
- `${chargingStation.logPrefix()} >> Command '${commandName}' failed to send ${OCPPServiceUtils.getMessageTypeString(
- messageType,
- )} payload: ${messageToSend}:`,
- error,
- );
- sendError = true;
- }
+ } else if (error) {
+ const ocppError = new OCPPError(
+ ErrorType.GENERIC_ERROR,
+ `WebSocket errored for non buffered message id '${messageId}' with content '${messageToSend}'`,
+ commandName,
+ { name: error.name, message: error.message, stack: error.stack } ??
+ Constants.EMPTY_FROZEN_OBJECT,
+ );
+ // Reject response
+ if (messageType !== MessageType.CALL_MESSAGE) {
+ return reject(ocppError);
+ }
+ // Reject and remove request from the cache
+ return errorCallback(ocppError, false);
+ }
+ clearTimeout(sendTimeout);
+ });
+ logger.debug(
+ `${chargingStation.logPrefix()} >> Command '${commandName}' sent ${OCPPServiceUtils.getMessageTypeString(
+ messageType,
+ )} payload: ${messageToSend}`,
+ );