+ private initializeConnectorsOrEvsesFromFile(configuration: ChargingStationConfiguration): void {
+ if (configuration?.connectorsStatus && !configuration?.evsesStatus) {
+ this.connectors = new Map<number, ConnectorStatus>(
+ configuration?.connectorsStatus.map((connectorStatus, connectorId) => [
+ connectorId,
+ connectorStatus,
+ ])
+ );
+ } else if (configuration?.evsesStatus && !configuration?.connectorsStatus) {
+ for (const [evseId, evseStatusConfiguration] of configuration.evsesStatus.entries()) {
+ const evseStatus = Utils.cloneObject(evseStatusConfiguration);
+ delete evseStatus.connectorsStatus;
+ this.evses.set(evseId, {
+ ...evseStatus,
+ connectors: new Map<number, ConnectorStatus>(
+ evseStatusConfiguration.connectorsStatus.map((connectorStatus, connectorId) => [
+ connectorId,
+ connectorStatus,
+ ])
+ ),
+ });
+ }
+ } else if (configuration?.evsesStatus && configuration?.connectorsStatus) {
+ const errorMsg = `Connectors and evses defined at the same time in configuration file ${this.configurationFile}`;
+ logger.error(`${this.logPrefix()} ${errorMsg}`);
+ throw new BaseError(errorMsg);
+ } else {
+ const errorMsg = `No connectors or evses defined in configuration file ${this.configurationFile}`;
+ logger.error(`${this.logPrefix()} ${errorMsg}`);
+ throw new BaseError(errorMsg);
+ }
+ }
+