X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2Focpp%2FOCPPServiceUtils.ts;h=02755c4ec3da6b5d90e2bcb97668e2204ea55450;hb=8f46463be058ed68cc4cc962c51722f7e3b55c54;hp=8a42bf67a7b05f361374a1d04bf996ab5d6b304f;hpb=16c46962f43a692c996b1c89a94dc572fea52d63;p=e-mobility-charging-stations-simulator.git diff --git a/src/charging-station/ocpp/OCPPServiceUtils.ts b/src/charging-station/ocpp/OCPPServiceUtils.ts index 8a42bf67..02755c4e 100644 --- a/src/charging-station/ocpp/OCPPServiceUtils.ts +++ b/src/charging-station/ocpp/OCPPServiceUtils.ts @@ -18,7 +18,8 @@ import { type AuthorizeResponse, ChargePointErrorCode, ChargingStationEvents, - type ConnectorStatusEnum, + type ConnectorStatus, + ConnectorStatusEnum, CurrentType, ErrorType, FileType, @@ -194,6 +195,18 @@ export const sendAndSetConnectorStatus = async ( }) } +export const restoreConnectorStatus = async ( + chargingStation: ChargingStation, + connectorId: number, + connectorStatus: ConnectorStatus | undefined +): Promise => { + if (connectorStatus?.reservation != null) { + await sendAndSetConnectorStatus(chargingStation, connectorId, ConnectorStatusEnum.Reserved) + } else if (connectorStatus?.status !== ConnectorStatusEnum.Available) { + await sendAndSetConnectorStatus(chargingStation, connectorId, ConnectorStatusEnum.Available) + } +} + const checkConnectorStatusTransition = ( chargingStation: ChargingStation, connectorId: number, @@ -1228,6 +1241,7 @@ const getMeasurandDefaultLocation = ( export class OCPPServiceUtils { public static readonly getMessageTypeString = getMessageTypeString public static readonly sendAndSetConnectorStatus = sendAndSetConnectorStatus + public static readonly restoreConnectorStatus = restoreConnectorStatus public static readonly isIdTagAuthorized = isIdTagAuthorized public static readonly buildTransactionEndMeterValue = buildTransactionEndMeterValue protected static getSampledValueTemplate = getSampledValueTemplate