X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2Focpp%2F1.6%2FOCPP16ResponseService.ts;h=f2a08a1656b339f79ba5830b62cb2d96c575ace5;hb=dc6617020896c78ee5b3d4ef2513c98b4d61f06f;hp=9eb82d2aca41d920eac7261553b975e2fe919dd5;hpb=3f94cab5f9ffdc613338a715cf3fad1cede5a687;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 9eb82d2a..f2a08a16 100644 --- a/src/charging-station/ocpp/1.6/OCPP16ResponseService.ts +++ b/src/charging-station/ocpp/1.6/OCPP16ResponseService.ts @@ -1,26 +1,28 @@ // Partial Copyright Jerome Benoit. 2021. All Rights Reserved. import { - AuthorizeRequest, OCPP16AuthorizationStatus, + OCPP16AuthorizeRequest, OCPP16AuthorizeResponse, + OCPP16StartTransactionRequest, OCPP16StartTransactionResponse, + OCPP16StopTransactionRequest, OCPP16StopTransactionResponse, - StartTransactionRequest, - StopTransactionRequest, } from '../../../types/ocpp/1.6/Transaction'; import { - HeartbeatRequest, + OCPP16BootNotificationRequest, OCPP16RequestCommand, - StatusNotificationRequest, + OCPP16StatusNotificationRequest, } from '../../../types/ocpp/1.6/Requests'; import { - HeartbeatResponse, OCPP16BootNotificationResponse, OCPP16RegistrationStatus, - StatusNotificationResponse, + OCPP16StatusNotificationResponse, } from '../../../types/ocpp/1.6/Responses'; -import { MeterValuesRequest, MeterValuesResponse } from '../../../types/ocpp/1.6/MeterValues'; +import { + OCPP16MeterValuesRequest, + OCPP16MeterValuesResponse, +} from '../../../types/ocpp/1.6/MeterValues'; import type ChargingStation from '../../ChargingStation'; import { ErrorType } from '../../../types/ocpp/ErrorType'; @@ -56,9 +58,9 @@ export default class OCPP16ResponseService extends OCPPResponseService { ]); } - public async handleResponse( + public async responseHandler( commandName: OCPP16RequestCommand, - payload: JsonType | string, + payload: JsonType, requestPayload: JsonType ): Promise { if ( @@ -111,7 +113,7 @@ export default class OCPP16ResponseService extends OCPPResponseService { this.chargingStation.addConfigurationKey( OCPP16StandardParametersKey.HeartbeatInterval, payload.interval.toString(), - { visible: false, reboot: false }, + { visible: false }, { overwrite: true, save: true } ); this.chargingStation.heartbeatSetInterval @@ -134,21 +136,12 @@ export default class OCPP16ResponseService extends OCPPResponseService { } } - private handleResponseHeartbeat( - payload: HeartbeatResponse, - requestPayload: HeartbeatRequest - ): void { - logger.debug( - this.chargingStation.logPrefix() + - ' Heartbeat response received: %j to Heartbeat request: %j', - payload, - requestPayload - ); - } + // eslint-disable-next-line @typescript-eslint/no-empty-function + private handleResponseHeartbeat(): void {} private handleResponseAuthorize( payload: OCPP16AuthorizeResponse, - requestPayload: AuthorizeRequest + requestPayload: OCPP16AuthorizeRequest ): void { let authorizeConnectorId: number; for (const connectorId of this.chargingStation.connectors.keys()) { @@ -181,7 +174,7 @@ export default class OCPP16ResponseService extends OCPPResponseService { private async handleResponseStartTransaction( payload: OCPP16StartTransactionResponse, - requestPayload: StartTransactionRequest + requestPayload: OCPP16StartTransactionRequest ): Promise { const connectorId = requestPayload.connectorId; @@ -313,23 +306,23 @@ export default class OCPP16ResponseService extends OCPPResponseService { requestPayload.meterStart ); this.chargingStation.getBeginEndMeterValues() && - (await this.chargingStation.ocppRequestService.sendMessageHandler( - OCPP16RequestCommand.METER_VALUES, - { - connectorId, - transactionId: payload.transactionId, - meterValue: - this.chargingStation.getConnectorStatus(connectorId).transactionBeginMeterValue, - } - )); - await this.chargingStation.ocppRequestService.sendMessageHandler( - OCPP16RequestCommand.STATUS_NOTIFICATION, - { + (await this.chargingStation.ocppRequestService.requestHandler< + OCPP16MeterValuesRequest, + OCPP16MeterValuesResponse + >(OCPP16RequestCommand.METER_VALUES, { connectorId, - status: OCPP16ChargePointStatus.CHARGING, - errorCode: OCPP16ChargePointErrorCode.NO_ERROR, - } - ); + transactionId: payload.transactionId, + meterValue: + this.chargingStation.getConnectorStatus(connectorId).transactionBeginMeterValue, + })); + await this.chargingStation.ocppRequestService.requestHandler< + OCPP16StatusNotificationRequest, + OCPP16StatusNotificationResponse + >(OCPP16RequestCommand.STATUS_NOTIFICATION, { + connectorId, + status: OCPP16ChargePointStatus.CHARGING, + errorCode: OCPP16ChargePointErrorCode.NO_ERROR, + }); this.chargingStation.getConnectorStatus(connectorId).status = OCPP16ChargePointStatus.CHARGING; logger.info( @@ -375,14 +368,14 @@ export default class OCPP16ResponseService extends OCPPResponseService { this.chargingStation.getConnectorStatus(connectorId).status !== OCPP16ChargePointStatus.AVAILABLE ) { - await this.chargingStation.ocppRequestService.sendMessageHandler( - OCPP16RequestCommand.STATUS_NOTIFICATION, - { - connectorId, - status: OCPP16ChargePointStatus.AVAILABLE, - errorCode: OCPP16ChargePointErrorCode.NO_ERROR, - } - ); + await this.chargingStation.ocppRequestService.requestHandler< + OCPP16StatusNotificationRequest, + OCPP16StatusNotificationResponse + >(OCPP16RequestCommand.STATUS_NOTIFICATION, { + connectorId, + status: OCPP16ChargePointStatus.AVAILABLE, + errorCode: OCPP16ChargePointErrorCode.NO_ERROR, + }); this.chargingStation.getConnectorStatus(connectorId).status = OCPP16ChargePointStatus.AVAILABLE; } @@ -390,7 +383,7 @@ export default class OCPP16ResponseService extends OCPPResponseService { private async handleResponseStopTransaction( payload: OCPP16StopTransactionResponse, - requestPayload: StopTransactionRequest + requestPayload: OCPP16StopTransactionRequest ): Promise { const transactionConnectorId = this.chargingStation.getConnectorIdByTransactionId( requestPayload.transactionId @@ -407,41 +400,41 @@ export default class OCPP16ResponseService extends OCPPResponseService { this.chargingStation.getBeginEndMeterValues() && !this.chargingStation.getOcppStrictCompliance() && this.chargingStation.getOutOfOrderEndMeterValues() && - (await this.chargingStation.ocppRequestService.sendMessageHandler( - OCPP16RequestCommand.METER_VALUES, - { - connectorId: transactionConnectorId, - transactionId: requestPayload.transactionId, - meterValue: OCPP16ServiceUtils.buildTransactionEndMeterValue( - this.chargingStation, - transactionConnectorId, - requestPayload.meterStop - ), - } - )); + (await this.chargingStation.ocppRequestService.requestHandler< + OCPP16MeterValuesRequest, + OCPP16MeterValuesResponse + >(OCPP16RequestCommand.METER_VALUES, { + connectorId: transactionConnectorId, + transactionId: requestPayload.transactionId, + meterValue: OCPP16ServiceUtils.buildTransactionEndMeterValue( + this.chargingStation, + transactionConnectorId, + requestPayload.meterStop + ), + })); if ( !this.chargingStation.isChargingStationAvailable() || !this.chargingStation.isConnectorAvailable(transactionConnectorId) ) { - await this.chargingStation.ocppRequestService.sendMessageHandler( - OCPP16RequestCommand.STATUS_NOTIFICATION, - { - connectorId: transactionConnectorId, - status: OCPP16ChargePointStatus.UNAVAILABLE, - errorCode: OCPP16ChargePointErrorCode.NO_ERROR, - } - ); + await this.chargingStation.ocppRequestService.requestHandler< + OCPP16StatusNotificationRequest, + OCPP16StatusNotificationResponse + >(OCPP16RequestCommand.STATUS_NOTIFICATION, { + connectorId: transactionConnectorId, + status: OCPP16ChargePointStatus.UNAVAILABLE, + errorCode: OCPP16ChargePointErrorCode.NO_ERROR, + }); this.chargingStation.getConnectorStatus(transactionConnectorId).status = OCPP16ChargePointStatus.UNAVAILABLE; } else { - await this.chargingStation.ocppRequestService.sendMessageHandler( - OCPP16RequestCommand.STATUS_NOTIFICATION, - { - connectorId: transactionConnectorId, - status: OCPP16ChargePointStatus.AVAILABLE, - errorCode: OCPP16ChargePointErrorCode.NO_ERROR, - } - ); + await this.chargingStation.ocppRequestService.requestHandler< + OCPP16BootNotificationRequest, + OCPP16BootNotificationResponse + >(OCPP16RequestCommand.STATUS_NOTIFICATION, { + connectorId: transactionConnectorId, + status: OCPP16ChargePointStatus.AVAILABLE, + errorCode: OCPP16ChargePointErrorCode.NO_ERROR, + }); this.chargingStation.getConnectorStatus(transactionConnectorId).status = OCPP16ChargePointStatus.AVAILABLE; } @@ -470,27 +463,9 @@ export default class OCPP16ResponseService extends OCPPResponseService { } } - private handleResponseStatusNotification( - payload: StatusNotificationRequest, - requestPayload: StatusNotificationResponse - ): void { - logger.debug( - this.chargingStation.logPrefix() + - ' Status notification response received: %j to StatusNotification request: %j', - payload, - requestPayload - ); - } + // eslint-disable-next-line @typescript-eslint/no-empty-function + private handleResponseStatusNotification(): void {} - private handleResponseMeterValues( - payload: MeterValuesRequest, - requestPayload: MeterValuesResponse - ): void { - logger.debug( - this.chargingStation.logPrefix() + - ' MeterValues response received: %j to MeterValues request: %j', - payload, - requestPayload - ); - } + // eslint-disable-next-line @typescript-eslint/no-empty-function + private handleResponseMeterValues(): void {} }