X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=ui%2Fweb%2Fsrc%2Ftypes%2FChargingStationType.ts;h=a0c1b4c734ff9f9fc586063b3389fb34fb2fcae3;hb=9dc8b66f4d1fa4e298e260a33f08debb69b1d944;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..a0c1b4c7 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,56 @@ 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 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 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 +119,7 @@ export type ChargingStationInfo = { outOfOrderEndMeterValues?: boolean meteringPerTransaction?: boolean transactionDataMeterValues?: boolean + stopTransactionsOnStopped?: boolean mainVoltageMeterValues?: boolean phaseLineToLineVoltageMeterValues?: boolean customValueLimitationMeterValues?: boolean @@ -87,6 +127,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 +154,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 +170,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 +183,7 @@ export type BootNotificationResponse = OCPP16BootNotificationResponse export enum OCPP16RegistrationStatus { ACCEPTED = 'Accepted', PENDING = 'Pending', - REJECTED = 'Rejected', + REJECTED = 'Rejected' } export interface OCPP16BootNotificationResponse extends JsonObject { @@ -143,11 +198,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 @@ -158,30 +213,30 @@ type CommandsSupport = { export enum OCPPVersion { VERSION_16 = '1.6', - VERSION_20 = '2.0', + VERSION_20 = '2.0' } 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 +262,7 @@ export type EvseStatus = { export enum OCPP16AvailabilityType { INOPERATIVE = 'Inoperative', - OPERATIVE = 'Operative', + OPERATIVE = 'Operative' } export type AvailabilityType = OCPP16AvailabilityType @@ -221,7 +276,7 @@ export enum OCPP16ChargePointStatus { FINISHING = 'Finishing', RESERVED = 'Reserved', UNAVAILABLE = 'Unavailable', - FAULTED = 'Faulted', + FAULTED = 'Faulted' } export type ChargePointStatus = OCPP16ChargePointStatus