import Utils from '../../../utils/Utils';
import type ChargingStation from '../../ChargingStation';
import { ChargingStationConfigurationUtils } from '../../ChargingStationConfigurationUtils';
+import { ChargingStationUtils } from '../../ChargingStationUtils';
import OCPPResponseService from '../OCPPResponseService';
import { OCPP16ServiceUtils } from './OCPP16ServiceUtils';
requestPayload: JsonType
): Promise<void> {
if (chargingStation.isRegistered() || commandName === OCPP16RequestCommand.BOOT_NOTIFICATION) {
- if (this.responseHandlers.has(commandName)) {
+ if (
+ this.responseHandlers.has(commandName) &&
+ ChargingStationUtils.isCommandSupported(commandName, chargingStation.stationInfo)
+ ) {
try {
await this.responseHandlers.get(commandName)(chargingStation, payload, requestPayload);
} catch (error) {
null,
2
)}`,
- commandName
+ commandName,
+ payload
);
}
} else {
null,
2
)} while the charging station is not registered on the central server. `,
- commandName
+ commandName,
+ payload
);
}
}
>(chargingStation, OCPP16RequestCommand.METER_VALUES, {
connectorId,
transactionId: payload.transactionId,
- meterValue: chargingStation.getConnectorStatus(connectorId).transactionBeginMeterValue,
+ meterValue: [chargingStation.getConnectorStatus(connectorId).transactionBeginMeterValue],
}));
await chargingStation.ocppRequestService.requestHandler<
OCPP16StatusNotificationRequest,
>(chargingStation, OCPP16RequestCommand.METER_VALUES, {
connectorId: transactionConnectorId,
transactionId: requestPayload.transactionId,
- meterValue: OCPP16ServiceUtils.buildTransactionEndMeterValue(
- chargingStation,
- transactionConnectorId,
- requestPayload.meterStop
- ),
+ meterValue: [
+ OCPP16ServiceUtils.buildTransactionEndMeterValue(
+ chargingStation,
+ transactionConnectorId,
+ requestPayload.meterStop
+ ),
+ ],
}));
if (
!chargingStation.isChargingStationAvailable() ||