import path from 'path';
export default class ChargingStation {
- public stationTemplateFile: string;
+ public readonly stationTemplateFile: string;
public authorizedTags: string[];
public stationInfo!: ChargingStationInfo;
- public connectors: Map<number, ConnectorStatus>;
+ public readonly connectors: Map<number, ConnectorStatus>;
public configuration!: ChargingStationConfiguration;
public wsConnection!: WebSocket;
- public requests: Map<string, CachedRequest>;
+ public readonly requests: Map<string, CachedRequest>;
public performanceStatistics!: PerformanceStatistics;
public heartbeatSetInterval!: NodeJS.Timeout;
public ocppRequestService!: OCPPRequestService;
- private index: number;
+ private readonly index: number;
private bootNotificationRequest!: BootNotificationRequest;
private bootNotificationResponse!: BootNotificationResponse | null;
private connectorsConfigurationHash!: string;
private ocppIncomingRequestService!: OCPPIncomingRequestService;
- private messageQueue: string[];
+ private readonly messageQueue: string[];
private wsConnectionUrl!: URL;
private wsConnectionRestarted: boolean;
private stopped: boolean;
return this.getConnectorStatus(id).availability === AvailabilityType.OPERATIVE;
}
+ public getNumberOfConnectors(): number {
+ return this.connectors.get(0) ? this.connectors.size - 1 : this.connectors.size;
+ }
+
public getConnectorStatus(id: number): ConnectorStatus {
return this.connectors.get(id);
}
this.stationInfo.randomConnectors = true;
}
const connectorsConfigHash = crypto.createHash('sha256').update(JSON.stringify(this.stationInfo.Connectors) + maxConnectors.toString()).digest('hex');
- const connectorsConfigChanged = this.connectors.size !== 0 && this.connectorsConfigurationHash !== connectorsConfigHash;
- if (!this.connectors || this.connectors.size === 0 || connectorsConfigChanged) {
+ const connectorsConfigChanged = this.connectors?.size !== 0 && this.connectorsConfigurationHash !== connectorsConfigHash;
+ if (this.connectors?.size === 0 || connectorsConfigChanged) {
connectorsConfigChanged && (this.connectors.clear());
this.connectorsConfigurationHash = connectorsConfigHash;
// Add connector Id 0
return maxConnectors;
}
- private getNumberOfConnectors(): number {
- return this.connectors.get(0) ? this.connectors.size - 1 : this.connectors.size;
- }
-
private async startMessageSequence(): Promise<void> {
// Start WebSocket ping
this.startWebSocketPing();