Merge dependabot/npm_and_yarn/ui/web/jsdom-23.1.0 into combined-prs-branch
[e-mobility-charging-stations-simulator.git] / ui / web / src / types / ChargingStationType.ts
index a3f9931c2387cdcee226dcdddfb3d5d6c27dad4a..1479e1d7a622f4e2dafdb082f2b78e3ab6eedfec 100644 (file)
@@ -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<MessageTrigger, boolean>
+}
 
 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<IncomingRequestCommand, boolean>;
-  outgoingCommands?: Record<RequestCommand, boolean>;
-};
+  incomingCommands: Record<IncomingRequestCommand, boolean>
+  outgoingCommands?: Record<RequestCommand, boolean>
+}
 
 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
+}