1 import type { WebSocket
} from
'ws';
3 import type { ChargingStationAutomaticTransactionGeneratorConfiguration
} from
'./AutomaticTransactionGenerator';
4 import type { ChargingStationInfo
} from
'./ChargingStationInfo';
5 import type { ChargingStationOcppConfiguration
} from
'./ChargingStationOcppConfiguration';
6 import type { ConnectorStatus
} from
'./ConnectorStatus';
7 import type { EvseStatus
} from
'./Evse';
8 import type { JsonObject
} from
'./JsonType';
9 import type { BootNotificationResponse
} from
'./ocpp/Responses';
10 import type { Statistics
} from
'./Statistics';
11 import { type WorkerData
, type WorkerMessage
, WorkerMessageEvents
} from
'../worker';
13 interface ChargingStationWorkerOptions
extends JsonObject
{
14 elementStartDelay
?: number;
17 export interface ChargingStationWorkerData
extends WorkerData
{
20 chargingStationWorkerOptions
?: ChargingStationWorkerOptions
;
23 export type EvseStatusWorkerType
= Omit
<EvseStatus
, 'connectors'> & {
24 connectors
?: ConnectorStatus
[];
27 export interface ChargingStationData
extends WorkerData
{
29 stationInfo
: ChargingStationInfo
;
30 connectors
: ConnectorStatus
[];
31 evses
: EvseStatusWorkerType
[];
32 ocppConfiguration
: ChargingStationOcppConfiguration
;
34 | typeof WebSocket
.CONNECTING
35 | typeof WebSocket
.OPEN
36 | typeof WebSocket
.CLOSING
37 | typeof WebSocket
.CLOSED
;
38 bootNotificationResponse
?: BootNotificationResponse
;
39 automaticTransactionGenerator
?: ChargingStationAutomaticTransactionGeneratorConfiguration
;
42 enum ChargingStationMessageEvents
{
46 performanceStatistics
= 'performanceStatistics',
49 export const ChargingStationWorkerMessageEvents
= {
50 ...WorkerMessageEvents
,
51 ...ChargingStationMessageEvents
,
53 export type ChargingStationWorkerMessageEvents
= WorkerMessageEvents
| ChargingStationMessageEvents
;
55 export type ChargingStationWorkerMessageData
= ChargingStationData
| Statistics
;
57 export type ChargingStationWorkerMessage
<T
extends ChargingStationWorkerMessageData
> = Omit
<
61 event
: ChargingStationWorkerMessageEvents
;