X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2Focpp%2F1.6%2FOCPP16ResponseService.ts;h=ae8b6287bd8757e01b134cfd2e50a67167bae383;hb=3b0ed03465692b766a2112aabbd3241d5bdc702d;hp=e5caf4bf3cfb9d23c41e1403125a23d784943fe2;hpb=6677db13413bf11bc6f8c4a509145e3b2453d59a;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 e5caf4bf..ae8b6287 100644 --- a/src/charging-station/ocpp/1.6/OCPP16ResponseService.ts +++ b/src/charging-station/ocpp/1.6/OCPP16ResponseService.ts @@ -14,7 +14,6 @@ import { } from '../../../charging-station'; import { OCPPError } from '../../../exception'; import { - type ChangeAvailabilityResponse, type ChangeConfigurationResponse, type ClearChargingProfileResponse, ErrorType, @@ -27,6 +26,7 @@ import { type OCPP16AuthorizeRequest, type OCPP16AuthorizeResponse, type OCPP16BootNotificationResponse, + type OCPP16ChangeAvailabilityResponse, OCPP16ChargePointStatus, type OCPP16DataTransferResponse, type OCPP16DiagnosticsStatusNotificationResponse, @@ -209,7 +209,7 @@ export class OCPP16ResponseService extends OCPPResponseService { ], [ OCPP16IncomingRequestCommand.CHANGE_AVAILABILITY, - OCPP16ServiceUtils.parseJsonSchemaFile( + OCPP16ServiceUtils.parseJsonSchemaFile( 'assets/json-schemas/ocpp/1.6/ChangeAvailabilityResponse.json', moduleName, 'constructor', @@ -472,9 +472,9 @@ export class OCPP16ResponseService extends OCPPResponseService { const authorizeConnectorIdDefined = !isNullOrUndefined(authorizeConnectorId); if (payload.idTagInfo.status === OCPP16AuthorizationStatus.ACCEPTED) { if (authorizeConnectorIdDefined) { + // chargingStation.getConnectorStatus(authorizeConnectorId!)!.authorizeIdTag = + // requestPayload.idTag; chargingStation.getConnectorStatus(authorizeConnectorId!)!.idTagAuthorized = true; - chargingStation.getConnectorStatus(authorizeConnectorId!)!.authorizeIdTag = - requestPayload.idTag; } logger.debug( `${chargingStation.logPrefix()} idTag '${requestPayload.idTag}' accepted${ @@ -529,7 +529,7 @@ export class OCPP16ResponseService extends OCPPResponseService { chargingStation.getConnectorStatus(transactionConnectorId)?.transactionRemoteStarted === true && chargingStation.getAuthorizeRemoteTxRequests() === true && - chargingStation.getMustAuthorizeAtRemoteStart() === true && + chargingStation.getRemoteAuthorization() === true && chargingStation.getConnectorStatus(transactionConnectorId)?.idTagLocalAuthorized === false && chargingStation.getConnectorStatus(transactionConnectorId)?.idTagAuthorized === false ) { @@ -613,7 +613,7 @@ export class OCPP16ResponseService extends OCPPResponseService { ); return; } - if (!Number.isInteger(payload.transactionId)) { + if (!Number.isSafeInteger(payload.transactionId)) { logger.warn( `${chargingStation.logPrefix()} Trying to start a transaction on connector id ${transactionConnectorId.toString()} with a non integer transaction id ${ payload.transactionId @@ -640,18 +640,17 @@ export class OCPP16ResponseService extends OCPPResponseService { requestPayload.meterStart, ); const reservedOnConnectorZero = - chargingStation.getConnectorStatus(0)!.status === OCPP16ChargePointStatus.Reserved; + chargingStation.getConnectorStatus(0)?.status === OCPP16ChargePointStatus.Reserved; if ( - chargingStation.getConnectorStatus(transactionConnectorId)!.status === + chargingStation.getConnectorStatus(transactionConnectorId)?.status === OCPP16ChargePointStatus.Reserved || reservedOnConnectorZero ) { - const reservation = chargingStation.getReservationBy( - 'connectorId', - reservedOnConnectorZero ? 0 : transactionConnectorId, - )!; await chargingStation.removeReservation( - reservation, + chargingStation.getReservationBy( + 'connectorId', + reservedOnConnectorZero ? 0 : transactionConnectorId, + )!, ReservationTerminationReason.TRANSACTION_STARTED, ); }