import type { JsonObject } from './JsonType'
+export enum IdTagDistribution {
+ RANDOM = 'random',
+ ROUND_ROBIN = 'round-robin',
+ CONNECTOR_AFFINITY = 'connector-affinity'
+}
+
+export interface AutomaticTransactionGeneratorConfiguration {
+ enable: boolean
+ minDuration: number
+ maxDuration: number
+ minDelayBetweenTwoTransactions: number
+ maxDelayBetweenTwoTransactions: number
+ probabilityOfStart: number
+ stopAfterHours: number
+ stopAbsoluteDuration: boolean
+ requireAuthorize?: boolean
+ idTagDistribution?: IdTagDistribution
+}
+
+export interface ChargingStationAutomaticTransactionGeneratorConfiguration {
+ automaticTransactionGenerator?: AutomaticTransactionGeneratorConfiguration
+ automaticTransactionGeneratorStatuses?: Status[]
+}
+
export type ChargingStationData = {
started: boolean
stationInfo: ChargingStationInfo
| typeof WebSocket.CLOSING
| typeof WebSocket.CLOSED
bootNotificationResponse?: BootNotificationResponse
- automaticTransactionGenerator?: Status[]
+ automaticTransactionGenerator?: ChargingStationAutomaticTransactionGeneratorConfiguration
}
export enum OCPP16FirmwareStatus {
} as const
export type FirmwareStatus = OCPP16FirmwareStatus
+export interface ChargingStationOptions extends JsonObject {
+ supervisionUrls?: string | string[]
+ persistentConfiguration?: boolean
+ autoStart?: boolean
+ autoRegister?: boolean
+ enableStatistics?: boolean
+ ocppStrictCompliance?: boolean
+ stopTransactionsOnStopped?: boolean
+}
+
export type ChargingStationInfo = {
hashId: string
templateIndex: number
templateName: string
- chargingStationId?: string
+ chargingStationId: string
chargeBoxSerialNumber?: string
chargePointSerialNumber?: string
meterSerialNumber?: string
export enum OCPPVersion {
VERSION_16 = '1.6',
- VERSION_20 = '2.0'
+ VERSION_20 = '2.0',
+ VERSION_201 = '2.0.1'
}
export enum OCPPProtocol {