-import type { WebSocket } from 'ws';
+import type { WebSocket } from 'ws'
-import type { ChargingStationAutomaticTransactionGeneratorConfiguration } from './AutomaticTransactionGenerator';
-import { ChargingStationEvents } from './ChargingStation';
-import type { ChargingStationInfo } from './ChargingStationInfo';
-import type { ChargingStationOcppConfiguration } from './ChargingStationOcppConfiguration';
-import type { ConnectorStatus } from './ConnectorStatus';
-import type { EvseStatus } from './Evse';
-import type { JsonObject } from './JsonType';
-import type { BootNotificationResponse } from './ocpp/Responses';
-import type { Statistics } from './Statistics';
-import { type WorkerData, type WorkerMessage, WorkerMessageEvents } from '../worker';
+import type { WorkerData } from '../worker/index.js'
+import type { ChargingStationAutomaticTransactionGeneratorConfiguration } from './AutomaticTransactionGenerator.js'
+import { ChargingStationEvents } from './ChargingStationEvents.js'
+import type { ChargingStationInfo } from './ChargingStationInfo.js'
+import type { ChargingStationOcppConfiguration } from './ChargingStationOcppConfiguration.js'
+import type { ConnectorStatus } from './ConnectorStatus.js'
+import type { EvseStatus } from './Evse.js'
+import type { JsonObject } from './JsonType.js'
+import type { BootNotificationResponse } from './ocpp/Responses.js'
+import type { Statistics } from './Statistics.js'
-interface ChargingStationWorkerOptions extends JsonObject {
- elementStartDelay?: number;
+export interface ChargingStationOptions extends JsonObject {
+ supervisionUrls?: string | string[]
+ persistentConfiguration?: boolean
+ autoStart?: boolean
+ autoRegister?: boolean
+ enableStatistics?: boolean
+ ocppStrictCompliance?: boolean
+ stopTransactionsOnStopped?: boolean
}
export interface ChargingStationWorkerData extends WorkerData {
- index: number;
- templateFile: string;
- chargingStationWorkerOptions?: ChargingStationWorkerOptions;
+ index: number
+ templateFile: string
+ options?: ChargingStationOptions
}
export type EvseStatusWorkerType = Omit<EvseStatus, 'connectors'> & {
- connectors?: ConnectorStatus[];
-};
+ connectors?: ConnectorStatus[]
+}
export interface ChargingStationData extends WorkerData {
- started: boolean;
- stationInfo: ChargingStationInfo;
- connectors: ConnectorStatus[];
- evses: EvseStatusWorkerType[];
- ocppConfiguration: ChargingStationOcppConfiguration;
+ started: boolean
+ stationInfo: ChargingStationInfo
+ connectors: ConnectorStatus[]
+ evses: EvseStatusWorkerType[]
+ ocppConfiguration: ChargingStationOcppConfiguration
+ supervisionUrl: string
wsState?:
- | typeof WebSocket.CONNECTING
- | typeof WebSocket.OPEN
- | typeof WebSocket.CLOSING
- | typeof WebSocket.CLOSED;
- bootNotificationResponse?: BootNotificationResponse;
- automaticTransactionGenerator?: ChargingStationAutomaticTransactionGeneratorConfiguration;
+ | typeof WebSocket.CONNECTING
+ | typeof WebSocket.OPEN
+ | typeof WebSocket.CLOSING
+ | typeof WebSocket.CLOSED
+ bootNotificationResponse?: BootNotificationResponse
+ automaticTransactionGenerator?: ChargingStationAutomaticTransactionGeneratorConfiguration
}
enum ChargingStationMessageEvents {
- performanceStatistics = 'performanceStatistics',
+ performanceStatistics = 'performanceStatistics'
}
export const ChargingStationWorkerMessageEvents = {
- ...WorkerMessageEvents,
...ChargingStationEvents,
- ...ChargingStationMessageEvents,
-} as const;
+ ...ChargingStationMessageEvents
+} as const
+// eslint-disable-next-line @typescript-eslint/no-redeclare
export type ChargingStationWorkerMessageEvents =
- | WorkerMessageEvents
| ChargingStationEvents
- | ChargingStationMessageEvents;
+ | ChargingStationMessageEvents
-export type ChargingStationWorkerMessageData = ChargingStationData | Statistics;
+export type ChargingStationWorkerMessageData = ChargingStationData | Statistics
-export type ChargingStationWorkerMessage<T extends ChargingStationWorkerMessageData> = Omit<
- WorkerMessage<T>,
- 'event'
-> & {
- event: ChargingStationWorkerMessageEvents;
-};
+export interface ChargingStationWorkerMessage<T extends ChargingStationWorkerMessageData> {
+ event: ChargingStationWorkerMessageEvents
+ data: T
+}