X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=ui%2Fweb%2Fsrc%2Ftypes%2FChargingStationType.ts;h=6814737e811106b70d9212e61cff24a9b007500a;hb=258666f9962451dda19d0db528bbf07e41838ff2;hp=1479e1d7a622f4e2dafdb082f2b78e3ab6eedfec;hpb=a807045be19c1ed4996a44d8c2c8774e926dc6dc;p=e-mobility-charging-stations-simulator.git diff --git a/ui/web/src/types/ChargingStationType.ts b/ui/web/src/types/ChargingStationType.ts index 1479e1d7..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 { @@ -21,43 +47,66 @@ export enum OCPP16FirmwareStatus { Idle = 'Idle', InstallationFailed = 'InstallationFailed', Installing = 'Installing', - Installed = 'Installed', + Installed = 'Installed' +} + +export interface FirmwareUpgrade { + versionUpgrade?: { + patternGroup?: number + step?: number + } + reset?: boolean + failureStatus?: FirmwareStatus } export const FirmwareStatus = { - ...OCPP16FirmwareStatus, + ...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', @@ -99,11 +164,11 @@ export enum OCPP16IncomingRequestCommand { REMOTE_START_TRANSACTION = 'RemoteStartTransaction', REMOTE_STOP_TRANSACTION = 'RemoteStopTransaction', GET_DIAGNOSTICS = 'GetDiagnostics', - TRIGGER_MESSAGE = 'TriggerMessage', + TRIGGER_MESSAGE = 'TriggerMessage' } export const IncomingRequestCommand = { - ...OCPP16IncomingRequestCommand, + ...OCPP16IncomingRequestCommand } as const export type IncomingRequestCommand = OCPP16IncomingRequestCommand @@ -115,11 +180,11 @@ export enum OCPP16RequestCommand { START_TRANSACTION = 'StartTransaction', STOP_TRANSACTION = 'StopTransaction', METER_VALUES = 'MeterValues', - DIAGNOSTICS_STATUS_NOTIFICATION = 'DiagnosticsStatusNotification', + DIAGNOSTICS_STATUS_NOTIFICATION = 'DiagnosticsStatusNotification' } export const RequestCommand = { - ...OCPP16RequestCommand, + ...OCPP16RequestCommand } as const export type RequestCommand = OCPP16RequestCommand @@ -128,7 +193,7 @@ export type BootNotificationResponse = OCPP16BootNotificationResponse export enum OCPP16RegistrationStatus { ACCEPTED = 'Accepted', PENDING = 'Pending', - REJECTED = 'Rejected', + REJECTED = 'Rejected' } export interface OCPP16BootNotificationResponse extends JsonObject { @@ -143,11 +208,11 @@ export enum OCPP16MessageTrigger { FirmwareStatusNotification = 'FirmwareStatusNotification', Heartbeat = 'Heartbeat', MeterValues = 'MeterValues', - StatusNotification = 'StatusNotification', + StatusNotification = 'StatusNotification' } export const MessageTrigger = { - ...OCPP16MessageTrigger, + ...OCPP16MessageTrigger } as const export type MessageTrigger = OCPP16MessageTrigger @@ -159,29 +224,30 @@ type CommandsSupport = { export enum OCPPVersion { VERSION_16 = '1.6', VERSION_20 = '2.0', + VERSION_201 = '2.0.1' } export enum OCPPProtocol { - JSON = 'json', + JSON = 'json' } export enum CurrentType { AC = 'AC', - DC = 'DC', + DC = 'DC' } export enum Voltage { VOLTAGE_110 = 110, VOLTAGE_230 = 230, VOLTAGE_400 = 400, - VOLTAGE_800 = 800, + VOLTAGE_800 = 800 } export enum AmpereUnits { MILLI_AMPERE = 'mA', CENTI_AMPERE = 'cA', DECI_AMPERE = 'dA', - AMPERE = 'A', + AMPERE = 'A' } export type ConnectorStatus = { @@ -207,7 +273,7 @@ export type EvseStatus = { export enum OCPP16AvailabilityType { INOPERATIVE = 'Inoperative', - OPERATIVE = 'Operative', + OPERATIVE = 'Operative' } export type AvailabilityType = OCPP16AvailabilityType @@ -221,7 +287,7 @@ export enum OCPP16ChargePointStatus { FINISHING = 'Finishing', RESERVED = 'Reserved', UNAVAILABLE = 'Unavailable', - FAULTED = 'Faulted', + FAULTED = 'Faulted' } export type ChargePointStatus = OCPP16ChargePointStatus