X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2FChargingStation.ts;h=70f511e0878c6d16944f046dde834c73d2fdc4b7;hb=007b5bdeabda751743fdff8faac672b3ec57fb61;hp=0d7f286532425e708632a8ea80f632c54d3a53e5;hpb=52952bf8f73e5ad1a85c0c9205412a9198bfc720;p=e-mobility-charging-stations-simulator.git diff --git a/src/charging-station/ChargingStation.ts b/src/charging-station/ChargingStation.ts index 0d7f2865..70f511e0 100644 --- a/src/charging-station/ChargingStation.ts +++ b/src/charging-station/ChargingStation.ts @@ -263,11 +263,11 @@ export class ChargingStation { } return numberOfConnectors; } - return this.connectors.get(0) ? this.connectors.size - 1 : this.connectors.size; + return this.connectors.has(0) ? this.connectors.size - 1 : this.connectors.size; } public getNumberOfEvses(): number { - return this.evses.size; + return this.evses.has(0) ? this.evses.size - 1 : this.evses.size; } public getConnectorStatus(connectorId: number): ConnectorStatus | undefined { @@ -1324,22 +1324,6 @@ export class ChargingStation { if (this.connectors?.size === 0 || connectorsConfigChanged) { connectorsConfigChanged && this.connectors.clear(); this.connectorsConfigurationHash = connectorsConfigHash; - const connectorZeroStatus = stationInfo?.Connectors[0]; - // Add connector id 0 - if (connectorZeroStatus && this.getUseConnectorId0(stationInfo) === true) { - ChargingStationUtils.checkStationInfoConnectorStatus( - 0, - connectorZeroStatus, - this.logPrefix(), - this.templateFile - ); - this.connectors.set(0, Utils.cloneObject(connectorZeroStatus)); - this.getConnectorStatus(0).availability = AvailabilityType.Operative; - if (Utils.isUndefined(this.getConnectorStatus(0)?.chargingProfiles)) { - this.getConnectorStatus(0).chargingProfiles = []; - } - } - // Add remaining connectors const templateMaxConnectors = ChargingStationUtils.getMaxNumberOfConnectors( stationInfo.Connectors ); @@ -1348,9 +1332,11 @@ export class ChargingStation { this.templateFile, this.logPrefix() ); + const templateMaxAvailableConnectors = stationInfo?.Connectors[0] + ? templateMaxConnectors - 1 + : templateMaxConnectors; if ( - configuredMaxConnectors > - (stationInfo?.Connectors[0] ? templateMaxConnectors - 1 : templateMaxConnectors) && + configuredMaxConnectors > templateMaxAvailableConnectors && !stationInfo?.randomConnectors ) { logger.warn( @@ -1360,14 +1346,19 @@ export class ChargingStation { ); stationInfo.randomConnectors = true; } - const templateMaxAvailableConnectors = stationInfo?.Connectors[0] - ? templateMaxConnectors - 1 - : templateMaxConnectors; - if (templateMaxAvailableConnectors > 0) { - for (let connectorId = 1; connectorId <= configuredMaxConnectors; connectorId++) { - const templateConnectorId = stationInfo?.randomConnectors - ? Utils.getRandomInteger(templateMaxAvailableConnectors, 1) - : connectorId; + if (templateMaxConnectors > 0) { + for (let connectorId = 0; connectorId <= configuredMaxConnectors; connectorId++) { + if ( + connectorId === 0 && + (!stationInfo?.Connectors[connectorId] || + this.getUseConnectorId0(stationInfo) === false) + ) { + continue; + } + const templateConnectorId = + connectorId > 0 && stationInfo?.randomConnectors + ? Utils.getRandomInteger(templateMaxAvailableConnectors, 1) + : connectorId; const connectorStatus = stationInfo?.Connectors[templateConnectorId]; ChargingStationUtils.checkStationInfoConnectorStatus( templateConnectorId,