X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=ui%2Fweb%2Fsrc%2Ftypes%2FChargingStationType.ts;h=6814737e811106b70d9212e61cff24a9b007500a;hb=258666f9962451dda19d0db528bbf07e41838ff2;hp=d7387b233e39642f19956a7a3ac38bafa45b266f;hpb=afbb820255fb5afe908c743ae53ae5a5f990c700;p=e-mobility-charging-stations-simulator.git diff --git a/ui/web/src/types/ChargingStationType.ts b/ui/web/src/types/ChargingStationType.ts index d7387b23..6814737e 100644 --- a/ui/web/src/types/ChargingStationType.ts +++ b/ui/web/src/types/ChargingStationType.ts @@ -1,5 +1,29 @@ 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 @@ -13,7 +37,7 @@ export type ChargingStationData = { | typeof WebSocket.CLOSING | typeof WebSocket.CLOSED bootNotificationResponse?: BootNotificationResponse - automaticTransactionGenerator?: Status[] + automaticTransactionGenerator?: ChargingStationAutomaticTransactionGeneratorConfiguration } export enum OCPP16FirmwareStatus { @@ -26,42 +50,63 @@ 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 @@ -84,6 +129,7 @@ export type ChargingStationInfo = { outOfOrderEndMeterValues?: boolean meteringPerTransaction?: boolean transactionDataMeterValues?: boolean + stopTransactionsOnStopped?: boolean mainVoltageMeterValues?: boolean phaseLineToLineVoltageMeterValues?: boolean customValueLimitationMeterValues?: boolean @@ -177,7 +223,8 @@ type CommandsSupport = { export enum OCPPVersion { VERSION_16 = '1.6', - VERSION_20 = '2.0' + VERSION_20 = '2.0', + VERSION_201 = '2.0.1' } export enum OCPPProtocol {