X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2Focpp%2F1.6%2FOCPP16ResponseService.ts;h=372c4d7216bf195b80a81970173e1b5ec1fcb2de;hb=fba11dc656de000473d0639be238c8151f217d93;hp=2aaeb23dccfb6107dcd4b1f4ea5ead4539b2965f;hpb=51022aa0d811eec79514fbeb56cb9556e7168cd7;p=e-mobility-charging-stations-simulator.git diff --git a/src/charging-station/ocpp/1.6/OCPP16ResponseService.ts b/src/charging-station/ocpp/1.6/OCPP16ResponseService.ts index 2aaeb23d..372c4d72 100644 --- a/src/charging-station/ocpp/1.6/OCPP16ResponseService.ts +++ b/src/charging-station/ocpp/1.6/OCPP16ResponseService.ts @@ -8,8 +8,7 @@ import { OCPP16ServiceUtils } from './OCPP16ServiceUtils'; import { type ChargingStation, ChargingStationConfigurationUtils, - ChargingStationUtils, - MessageChannelUtils, + resetConnectorStatus, } from '../../../charging-station'; import { OCPPError } from '../../../exception'; import { @@ -36,6 +35,7 @@ import { type OCPP16MeterValuesRequest, type OCPP16MeterValuesResponse, OCPP16RequestCommand, + type OCPP16ReserveNowResponse, OCPP16StandardParametersKey, type OCPP16StartTransactionRequest, type OCPP16StartTransactionResponse, @@ -50,7 +50,13 @@ import { type SetChargingProfileResponse, type UnlockConnectorResponse, } from '../../../types'; -import { Constants, Utils, logger } from '../../../utils'; +import { + Constants, + buildUpdatedMessage, + convertToInt, + isNullOrUndefined, + logger, +} from '../../../utils'; import { OCPPResponseService } from '../OCPPResponseService'; const moduleName = 'OCPP16ResponseService'; @@ -284,6 +290,22 @@ export class OCPP16ResponseService extends OCPPResponseService { 'constructor' ), ], + [ + OCPP16IncomingRequestCommand.RESERVE_NOW, + OCPP16ServiceUtils.parseJsonSchemaFile( + 'assets/json-schemas/ocpp/1.6/ReserveNowResponse.json', + moduleName, + 'constructor' + ), + ], + [ + OCPP16IncomingRequestCommand.CANCEL_RESERVATION, + OCPP16ServiceUtils.parseJsonSchemaFile( + 'assets/json-schemas/ocpp/1.6/CancelReservationResponse.json', + moduleName, + 'constructor' + ), + ], ]); this.validatePayload = this.validatePayload.bind(this) as ( chargingStation: ChargingStation, @@ -426,7 +448,7 @@ export class OCPP16ResponseService extends OCPPResponseService { } } } - const authorizeConnectorIdDefined = !Utils.isNullOrUndefined(authorizeConnectorId); + const authorizeConnectorIdDefined = !isNullOrUndefined(authorizeConnectorId); if (payload.idTagInfo.status === OCPP16AuthorizationStatus.ACCEPTED) { authorizeConnectorIdDefined && (chargingStation.getConnectorStatus(authorizeConnectorId).idTagAuthorized = true); @@ -573,7 +595,7 @@ export class OCPP16ResponseService extends OCPPResponseService { payload.transactionId }, converting to integer` ); - payload.transactionId = Utils.convertToInt(payload.transactionId); + payload.transactionId = convertToInt(payload.transactionId); } if (payload.idTagInfo?.status === OCPP16AuthorizationStatus.ACCEPTED) { @@ -613,7 +635,7 @@ export class OCPP16ResponseService extends OCPPResponseService { }#${transactionConnectorId.toString()} for idTag '${requestPayload.idTag}'` ); if (chargingStation.stationInfo.powerSharedByConnectors) { - chargingStation.powerDivider++; + ++chargingStation.powerDivider; } const configuredMeterValueSampleInterval = ChargingStationConfigurationUtils.getConfigurationKey( @@ -623,7 +645,7 @@ export class OCPP16ResponseService extends OCPPResponseService { chargingStation.startMeterValues( transactionConnectorId, configuredMeterValueSampleInterval - ? Utils.convertToInt(configuredMeterValueSampleInterval.value) * 1000 + ? convertToInt(configuredMeterValueSampleInterval.value) * 1000 : Constants.DEFAULT_METER_VALUES_INTERVAL ); } else { @@ -640,9 +662,9 @@ export class OCPP16ResponseService extends OCPPResponseService { chargingStation: ChargingStation, connectorId: number ): Promise { - ChargingStationUtils.resetConnectorStatus(chargingStation.getConnectorStatus(connectorId)); + resetConnectorStatus(chargingStation.getConnectorStatus(connectorId)); chargingStation.stopMeterValues(connectorId); - parentPort?.postMessage(MessageChannelUtils.buildUpdatedMessage(chargingStation)); + parentPort?.postMessage(buildUpdatedMessage(chargingStation)); if ( chargingStation.getConnectorStatus(connectorId)?.status !== OCPP16ChargePointStatus.Available ) { @@ -662,7 +684,7 @@ export class OCPP16ResponseService extends OCPPResponseService { const transactionConnectorId = chargingStation.getConnectorIdByTransactionId( requestPayload.transactionId ); - if (Utils.isNullOrUndefined(transactionConnectorId)) { + if (isNullOrUndefined(transactionConnectorId)) { logger.error( `${chargingStation.logPrefix()} Trying to stop a non existing transaction with id ${requestPayload.transactionId.toString()}` ); @@ -704,18 +726,16 @@ export class OCPP16ResponseService extends OCPPResponseService { if (chargingStation.stationInfo.powerSharedByConnectors) { chargingStation.powerDivider--; } - ChargingStationUtils.resetConnectorStatus( - chargingStation.getConnectorStatus(transactionConnectorId) - ); + resetConnectorStatus(chargingStation.getConnectorStatus(transactionConnectorId)); chargingStation.stopMeterValues(transactionConnectorId); - parentPort?.postMessage(MessageChannelUtils.buildUpdatedMessage(chargingStation)); + parentPort?.postMessage(buildUpdatedMessage(chargingStation)); const logMsg = `${chargingStation.logPrefix()} Transaction with id ${requestPayload.transactionId.toString()} STOPPED on ${ chargingStation.stationInfo.chargingStationId }#${transactionConnectorId?.toString()} with status '${ payload.idTagInfo?.status ?? 'undefined' }'`; if ( - Utils.isNullOrUndefined(payload.idTagInfo) || + isNullOrUndefined(payload.idTagInfo) || payload.idTagInfo?.status === OCPP16AuthorizationStatus.ACCEPTED ) { logger.info(logMsg);