X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2FChargingStationUtils.ts;h=4564f389674f45e4dba051e2bf0432e8db11dafa;hb=c3b8313087c651563b66173c2d6dd41034d194f9;hp=49a61101533043ae15cb09c6783eb197bf452cfd;hpb=007b5bdeabda751743fdff8faac672b3ec57fb61;p=e-mobility-charging-stations-simulator.git diff --git a/src/charging-station/ChargingStationUtils.ts b/src/charging-station/ChargingStationUtils.ts index 49a61101..4564f389 100644 --- a/src/charging-station/ChargingStationUtils.ts +++ b/src/charging-station/ChargingStationUtils.ts @@ -19,6 +19,7 @@ import { type ChargingStationInfo, type ChargingStationTemplate, type ConnectorStatus, + ConnectorStatusEnum, CurrentType, type EvseTemplate, type OCPP16BootNotificationRequest, @@ -125,6 +126,31 @@ export class ChargingStationUtils { } } + public static getBootConnectorStatus( + chargingStation: ChargingStation, + connectorId: number, + connectorStatus: ConnectorStatus + ): ConnectorStatusEnum { + let connectorBootStatus: ConnectorStatusEnum; + if ( + !connectorStatus?.status && + (chargingStation.isChargingStationAvailable() === false || + chargingStation.isConnectorAvailable(connectorId) === false) + ) { + connectorBootStatus = ConnectorStatusEnum.Unavailable; + } else if (!connectorStatus?.status && connectorStatus?.bootStatus) { + // Set boot status in template at startup + connectorBootStatus = connectorStatus?.bootStatus; + } else if (connectorStatus?.status) { + // Set previous status at startup + connectorBootStatus = connectorStatus?.status; + } else { + // Set default status + connectorBootStatus = ConnectorStatusEnum.Available; + } + return connectorBootStatus; + } + public static getConfiguredNumberOfConnectors(stationInfo: ChargingStationInfo): number { let configuredMaxConnectors: number; if (Utils.isNotEmptyArray(stationInfo.numberOfConnectors) === true) {