import type { ChargingStationAutomaticTransactionGeneratorConfiguration } from './AutomaticTransactionGenerator';
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';
-export interface ChargingStationWorkerOptions extends JsonObject {
+interface ChargingStationWorkerOptions extends JsonObject {
elementStartDelay?: number;
}
chargingStationWorkerOptions?: ChargingStationWorkerOptions;
}
+export type EvseStatusWorkerType = Omit<EvseStatus, 'connectors'> & {
+ connectors?: ConnectorStatus[];
+};
+
export interface ChargingStationData extends WorkerData {
- stationInfo: ChargingStationInfo;
started: boolean;
+ stationInfo: ChargingStationInfo;
+ connectors: ConnectorStatus[];
+ evses: EvseStatusWorkerType[];
+ ocppConfiguration: ChargingStationOcppConfiguration;
wsState?:
| typeof WebSocket.CONNECTING
| typeof WebSocket.OPEN
| typeof WebSocket.CLOSING
| typeof WebSocket.CLOSED;
bootNotificationResponse?: BootNotificationResponse;
- connectors: ConnectorStatus[];
automaticTransactionGenerator?: ChargingStationAutomaticTransactionGeneratorConfiguration;
}
enum ChargingStationMessageEvents {
- STARTED = 'started',
- STOPPED = 'stopped',
- UPDATED = 'updated',
- PERFORMANCE_STATISTICS = 'performanceStatistics',
+ started = 'started',
+ stopped = 'stopped',
+ updated = 'updated',
+ performanceStatistics = 'performanceStatistics',
}
export const ChargingStationWorkerMessageEvents = {
export type ChargingStationWorkerMessage<T extends ChargingStationWorkerMessageData> = Omit<
WorkerMessage<T>,
- 'id'
+ 'event'
> & {
- id: ChargingStationWorkerMessageEvents;
+ event: ChargingStationWorkerMessageEvents;
};