import type { WebSocket } from 'ws'
+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 { JsonObject } from './JsonType.js'
import type { BootNotificationResponse } from './ocpp/Responses.js'
import type { Statistics } from './Statistics.js'
-import { type WorkerData, type WorkerMessage, WorkerMessageEvents } from '../worker/index.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
+ options?: ChargingStationOptions
}
export type EvseStatusWorkerType = Omit<EvseStatus, 'connectors'> & {
connectors: ConnectorStatus[]
evses: EvseStatusWorkerType[]
ocppConfiguration: ChargingStationOcppConfiguration
+ supervisionUrl: string
wsState?:
| typeof WebSocket.CONNECTING
| typeof WebSocket.OPEN
}
enum ChargingStationMessageEvents {
- performanceStatistics = 'performanceStatistics',
+ performanceStatistics = 'performanceStatistics'
}
export const ChargingStationWorkerMessageEvents = {
- ...WorkerMessageEvents,
...ChargingStationEvents,
...ChargingStationMessageEvents
} as const
// eslint-disable-next-line @typescript-eslint/no-redeclare
export type ChargingStationWorkerMessageEvents =
- | WorkerMessageEvents
| ChargingStationEvents
| ChargingStationMessageEvents
export type ChargingStationWorkerMessageData = ChargingStationData | Statistics
-export type ChargingStationWorkerMessage<T extends ChargingStationWorkerMessageData> = Omit<
-WorkerMessage<T>,
-'event'
-> & {
+export interface ChargingStationWorkerMessage<T extends ChargingStationWorkerMessageData> {
event: ChargingStationWorkerMessageEvents
+ data: T
}