X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=ui%2Fweb%2Fsrc%2Ftypes%2FChargingStationType.ts;h=1479e1d7a622f4e2dafdb082f2b78e3ab6eedfec;hb=68220b423c52da387fdf41967dd8c738da0ff52e;hp=a3f9931c2387cdcee226dcdddfb3d5d6c27dad4a;hpb=ebbfbf1c01e010d051956867484b74a94237f546;p=e-mobility-charging-stations-simulator.git diff --git a/ui/web/src/types/ChargingStationType.ts b/ui/web/src/types/ChargingStationType.ts index a3f9931c..1479e1d7 100644 --- a/ui/web/src/types/ChargingStationType.ts +++ b/ui/web/src/types/ChargingStationType.ts @@ -1,73 +1,91 @@ -import type { JsonObject } from './JsonType'; +import type { JsonObject } from './JsonType' export type ChargingStationData = { - stationInfo: ChargingStationInfo; - started: boolean; + started: boolean + stationInfo: ChargingStationInfo + connectors: ConnectorStatus[] + evses: EvseStatus[] wsState?: | typeof WebSocket.CONNECTING | typeof WebSocket.OPEN | typeof WebSocket.CLOSING - | typeof WebSocket.CLOSED; - bootNotificationResponse: BootNotificationResponse; - connectors: ConnectorStatus[]; - automaticTransactionGeneratorStatuses?: Status[]; -}; + | typeof WebSocket.CLOSED + bootNotificationResponse?: BootNotificationResponse + automaticTransactionGenerator?: Status[] +} + +export enum OCPP16FirmwareStatus { + Downloaded = 'Downloaded', + DownloadFailed = 'DownloadFailed', + Downloading = 'Downloading', + Idle = 'Idle', + InstallationFailed = 'InstallationFailed', + Installing = 'Installing', + Installed = 'Installed', +} + +export const FirmwareStatus = { + ...OCPP16FirmwareStatus, +} as const +export type FirmwareStatus = OCPP16FirmwareStatus export type ChargingStationInfo = { - hashId: string; - chargingStationId?: string; - chargePointModel: string; - chargePointVendor: string; - firmwareVersion?: string; - numberOfConnectors?: number | number[]; - baseName: string; - infoHash?: string; - templateHash?: string; - chargeBoxSerialNumber?: string; - chargePointSerialNumber?: string; - meterSerialNumber?: string; - maximumPower?: number; // Always in Watt - maximumAmperage?: number; // Always in Ampere - supervisionUrls?: string | string[]; - supervisionUrlOcppConfiguration?: boolean; - supervisionUrlOcppKey?: string; - supervisionUser?: string; - supervisionPassword?: string; - ocppVersion?: OCPPVersion; - ocppProtocol?: OCPPProtocol; - ocppStrictCompliance?: boolean; - ocppPersistentConfiguration?: boolean; - stationInfoPersistentConfiguration?: boolean; - authorizationFile?: string; - nameSuffix?: string; - fixedName?: boolean; - iccid?: string; - imsi?: string; - meterType?: string; - powerSharedByConnectors?: boolean; - currentOutType?: CurrentType; - voltageOut?: Voltage; - numberOfPhases?: number; - useConnectorId0?: boolean; - randomConnectors?: boolean; - resetTime?: number; - autoRegister?: boolean; - autoReconnectMaxRetries?: number; - reconnectExponentialDelay?: boolean; - registrationMaxRetries?: number; - enableStatistics?: boolean; - mustAuthorizeAtRemoteStart?: boolean; - amperageLimitationOcppKey?: string; - amperageLimitationUnit?: AmpereUnits; - beginEndMeterValues?: boolean; - outOfOrderEndMeterValues?: boolean; - meteringPerTransaction?: boolean; - transactionDataMeterValues?: boolean; - mainVoltageMeterValues?: boolean; - phaseLineToLineVoltageMeterValues?: boolean; - customValueLimitationMeterValues?: boolean; - commandsSupport?: CommandsSupport; -}; + hashId: 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 + supervisionUrls?: string | string[] + supervisionUrlOcppConfiguration?: boolean + supervisionUrlOcppKey?: string + supervisionUser?: string + supervisionPassword?: string + ocppVersion?: OCPPVersion + ocppProtocol?: OCPPProtocol + ocppStrictCompliance?: boolean + ocppPersistentConfiguration?: boolean + stationInfoPersistentConfiguration?: boolean + idTagsFile?: string + nameSuffix?: string + fixedName?: boolean + iccid?: string + imsi?: string + meterType?: string + powerSharedByConnectors?: boolean + currentOutType?: CurrentType + voltageOut?: Voltage + numberOfPhases?: number + useConnectorId0?: boolean + randomConnectors?: boolean + resetTime?: number + autoRegister?: boolean + autoReconnectMaxRetries?: number + reconnectExponentialDelay?: boolean + registrationMaxRetries?: number + enableStatistics?: boolean + remoteAuthorization?: boolean + amperageLimitationOcppKey?: string + amperageLimitationUnit?: AmpereUnits + beginEndMeterValues?: boolean + outOfOrderEndMeterValues?: boolean + meteringPerTransaction?: boolean + transactionDataMeterValues?: boolean + mainVoltageMeterValues?: boolean + phaseLineToLineVoltageMeterValues?: boolean + customValueLimitationMeterValues?: boolean + commandsSupport?: CommandsSupport + messageTriggerSupport?: Record +} export enum OCPP16IncomingRequestCommand { RESET = 'Reset', @@ -84,11 +102,10 @@ export enum OCPP16IncomingRequestCommand { TRIGGER_MESSAGE = 'TriggerMessage', } -export type IncomingRequestCommand = OCPP16IncomingRequestCommand; - export const IncomingRequestCommand = { ...OCPP16IncomingRequestCommand, -}; +} as const +export type IncomingRequestCommand = OCPP16IncomingRequestCommand export enum OCPP16RequestCommand { BOOT_NOTIFICATION = 'BootNotification', @@ -101,13 +118,12 @@ export enum OCPP16RequestCommand { DIAGNOSTICS_STATUS_NOTIFICATION = 'DiagnosticsStatusNotification', } -export type RequestCommand = OCPP16RequestCommand; - export const RequestCommand = { ...OCPP16RequestCommand, -}; +} as const +export type RequestCommand = OCPP16RequestCommand -export type BootNotificationResponse = OCPP16BootNotificationResponse; +export type BootNotificationResponse = OCPP16BootNotificationResponse export enum OCPP16RegistrationStatus { ACCEPTED = 'Accepted', @@ -116,15 +132,29 @@ export enum OCPP16RegistrationStatus { } export interface OCPP16BootNotificationResponse extends JsonObject { - status: OCPP16RegistrationStatus; - currentTime: string; - interval: number; + status: OCPP16RegistrationStatus + currentTime: Date + interval: number +} + +export enum OCPP16MessageTrigger { + BootNotification = 'BootNotification', + DiagnosticsStatusNotification = 'DiagnosticsStatusNotification', + FirmwareStatusNotification = 'FirmwareStatusNotification', + Heartbeat = 'Heartbeat', + MeterValues = 'MeterValues', + StatusNotification = 'StatusNotification', } +export const MessageTrigger = { + ...OCPP16MessageTrigger, +} as const +export type MessageTrigger = OCPP16MessageTrigger + type CommandsSupport = { - incomingCommands: Record; - outgoingCommands?: Record; -}; + incomingCommands: Record + outgoingCommands?: Record +} export enum OCPPVersion { VERSION_16 = '1.6', @@ -132,7 +162,6 @@ export enum OCPPVersion { } export enum OCPPProtocol { - SOAP = 'soap', JSON = 'json', } @@ -156,29 +185,31 @@ export enum AmpereUnits { } export type ConnectorStatus = { - availability: AvailabilityType; - bootStatus?: ChargePointStatus; - status?: ChargePointStatus; - authorizeIdTag?: string; - idTagAuthorized?: boolean; - localAuthorizeIdTag?: string; - idTagLocalAuthorized?: boolean; - transactionRemoteStarted?: boolean; - transactionStarted?: boolean; - transactionId?: number; - transactionIdTag?: string; - energyActiveImportRegisterValue?: number; // In Wh - transactionEnergyActiveImportRegisterValue?: number; // In Wh -}; - -export type AvailabilityType = OCPP16AvailabilityType; + availability: AvailabilityType + bootStatus?: ChargePointStatus + status?: ChargePointStatus + authorizeIdTag?: string + idTagAuthorized?: boolean + localAuthorizeIdTag?: string + idTagLocalAuthorized?: boolean + transactionRemoteStarted?: boolean + transactionStarted?: boolean + transactionId?: number + transactionIdTag?: string + energyActiveImportRegisterValue?: number // In Wh + transactionEnergyActiveImportRegisterValue?: number // In Wh +} + +export type EvseStatus = { + availability: AvailabilityType + connectors?: ConnectorStatus[] +} export enum OCPP16AvailabilityType { INOPERATIVE = 'Inoperative', OPERATIVE = 'Operative', } - -export type ChargePointStatus = OCPP16ChargePointStatus; +export type AvailabilityType = OCPP16AvailabilityType export enum OCPP16ChargePointStatus { AVAILABLE = 'Available', @@ -192,22 +223,23 @@ export enum OCPP16ChargePointStatus { UNAVAILABLE = 'Unavailable', FAULTED = 'Faulted', } +export type ChargePointStatus = OCPP16ChargePointStatus export type Status = { - start?: boolean; - startDate?: Date; - lastRunDate?: Date; - stopDate?: Date; - stoppedDate?: Date; - authorizeRequests?: number; - acceptedAuthorizeRequests?: number; - rejectedAuthorizeRequests?: number; - startTransactionRequests?: number; - acceptedStartTransactionRequests?: number; - rejectedStartTransactionRequests?: number; - stopTransactionRequests?: number; - acceptedStopTransactionRequests?: number; - rejectedStopTransactionRequests?: number; - skippedConsecutiveTransactions?: number; - skippedTransactions?: number; -}; + start?: boolean + startDate?: Date + lastRunDate?: Date + stopDate?: Date + stoppedDate?: Date + authorizeRequests?: number + acceptedAuthorizeRequests?: number + rejectedAuthorizeRequests?: number + startTransactionRequests?: number + acceptedStartTransactionRequests?: number + rejectedStartTransactionRequests?: number + stopTransactionRequests?: number + acceptedStopTransactionRequests?: number + rejectedStopTransactionRequests?: number + skippedConsecutiveTransactions?: number + skippedTransactions?: number +}