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 {
Installed = 'Installed'
}
+export interface FirmwareUpgrade {
+ versionUpgrade?: {
+ patternGroup?: number
+ step?: number
+ }
+ reset?: boolean
+ failureStatus?: FirmwareStatus
+}
+
export const FirmwareStatus = {
...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
- chargePointModel: string
- chargePointVendor: string
- firmwareVersionPattern?: string
- firmwareVersion?: string
- firmwareStatus?: FirmwareStatus
- numberOfConnectors?: number | number[]
- baseName: string
- templateHash?: string
+ chargingStationId: string
chargeBoxSerialNumber?: string
chargePointSerialNumber?: string
meterSerialNumber?: string
maximumPower?: number // Always in Watt
maximumAmperage?: number // Always in Ampere
+ firmwareStatus?: FirmwareStatus
+ templateHash?: string
supervisionUrls?: string | string[]
supervisionUrlOcppConfiguration?: boolean
supervisionUrlOcppKey?: string
supervisionUser?: string
supervisionPassword?: string
+ autoStart?: boolean
ocppVersion?: OCPPVersion
ocppProtocol?: OCPPProtocol
ocppStrictCompliance?: boolean
ocppPersistentConfiguration?: boolean
stationInfoPersistentConfiguration?: boolean
+ automaticTransactionGeneratorPersistentConfiguration?: boolean
idTagsFile?: string
+ baseName: string
nameSuffix?: string
fixedName?: boolean
+ chargePointModel: string
+ chargePointVendor: string
+ firmwareVersionPattern?: string
+ firmwareVersion?: string
+ firmwareUpgrade?: FirmwareUpgrade
iccid?: string
imsi?: string
meterType?: string
outOfOrderEndMeterValues?: boolean
meteringPerTransaction?: boolean
transactionDataMeterValues?: boolean
+ stopTransactionsOnStopped?: boolean
mainVoltageMeterValues?: boolean
phaseLineToLineVoltageMeterValues?: boolean
customValueLimitationMeterValues?: boolean
export enum OCPPVersion {
VERSION_16 = '1.6',
- VERSION_20 = '2.0'
+ VERSION_20 = '2.0',
+ VERSION_201 = '2.0.1'
}
export enum OCPPProtocol {