X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=ui%2Fweb%2Fsrc%2Ftypes%2FChargingStationType.ts;h=6814737e811106b70d9212e61cff24a9b007500a;hb=258666f9962451dda19d0db528bbf07e41838ff2;hp=2e79fbc8b44204fe57ea395b3aa934555ae650da;hpb=13a6f27c10768faa05acf33fd8e0637511d49e3e;p=e-mobility-charging-stations-simulator.git diff --git a/ui/web/src/types/ChargingStationType.ts b/ui/web/src/types/ChargingStationType.ts index 2e79fbc8..6814737e 100644 --- a/ui/web/src/types/ChargingStationType.ts +++ b/ui/web/src/types/ChargingStationType.ts @@ -1,17 +1,43 @@ 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 connectors: ConnectorStatus[] evses: EvseStatus[] + ocppConfiguration: ChargingStationOcppConfiguration + supervisionUrl: string wsState?: | typeof WebSocket.CONNECTING | typeof WebSocket.OPEN | typeof WebSocket.CLOSING | typeof WebSocket.CLOSED bootNotificationResponse?: BootNotificationResponse - automaticTransactionGenerator?: Status[] + automaticTransactionGenerator?: ChargingStationAutomaticTransactionGeneratorConfiguration } export enum OCPP16FirmwareStatus { @@ -24,40 +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 - chargingStationId?: string - chargePointModel: string - chargePointVendor: string - firmwareVersionPattern?: string - firmwareVersion?: string - firmwareStatus?: FirmwareStatus - numberOfConnectors?: number | number[] - baseName: string - templateHash?: string + templateIndex: number + templateName: 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 @@ -80,6 +129,7 @@ export type ChargingStationInfo = { outOfOrderEndMeterValues?: boolean meteringPerTransaction?: boolean transactionDataMeterValues?: boolean + stopTransactionsOnStopped?: boolean mainVoltageMeterValues?: boolean phaseLineToLineVoltageMeterValues?: boolean customValueLimitationMeterValues?: boolean @@ -87,6 +137,21 @@ export type ChargingStationInfo = { messageTriggerSupport?: Record } +export interface ChargingStationOcppConfiguration { + configurationKey?: ConfigurationKey[] +} + +export type ConfigurationKey = OCPPConfigurationKey & { + visible?: boolean + reboot?: boolean +} + +export type OCPPConfigurationKey = { + key: string + readonly: boolean + value?: string +} & JsonObject + export enum OCPP16IncomingRequestCommand { RESET = 'Reset', CLEAR_CACHE = 'ClearCache', @@ -158,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 {