build(ci): fix pnpm lock file
[e-mobility-charging-stations-simulator.git] / src / types / ChargingStationTemplate.ts
index 0d063d51a05d0ce4f8d3d23facd9ca8c217de3b4..b3cc773489d0f384feb8bf93cb5934039628eeae 100644 (file)
-import type { ClientRequestArgs } from 'http';
+import type { ClientRequestArgs } from 'node:http'
 
-import type { ClientOptions } from 'ws';
+import type { ClientOptions } from 'ws'
 
-import type { AutomaticTransactionGeneratorConfiguration } from './AutomaticTransactionGenerator';
-import type { ChargingStationOcppConfiguration } from './ChargingStationOcppConfiguration';
-import type { ConnectorStatus } from './ConnectorStatus';
-import type { OCPPProtocol } from './ocpp/OCPPProtocol';
-import type { OCPPVersion } from './ocpp/OCPPVersion';
-import type { IncomingRequestCommand, RequestCommand } from './ocpp/Requests';
+import type { AutomaticTransactionGeneratorConfiguration } from './AutomaticTransactionGenerator.js'
+import type { ChargingStationOcppConfiguration } from './ChargingStationOcppConfiguration.js'
+import type { ConnectorStatus } from './ConnectorStatus.js'
+import type { EvseTemplate } from './Evse.js'
+import type { JsonObject } from './JsonType.js'
+import type { OCPPProtocol } from './ocpp/OCPPProtocol.js'
+import type { OCPPVersion } from './ocpp/OCPPVersion.js'
+import type {
+  FirmwareStatus,
+  IncomingRequestCommand,
+  MessageTrigger,
+  RequestCommand
+} from './ocpp/Requests.js'
 
 export enum CurrentType {
   AC = 'AC',
-  DC = 'DC',
+  DC = 'DC'
 }
 
 export enum PowerUnits {
   WATT = 'W',
-  KILO_WATT = 'kW',
+  KILO_WATT = 'kW'
 }
 
 export enum AmpereUnits {
   MILLI_AMPERE = 'mA',
   CENTI_AMPERE = 'cA',
   DECI_AMPERE = 'dA',
-  AMPERE = 'A',
+  AMPERE = 'A'
 }
 
 export enum Voltage {
   VOLTAGE_110 = 110,
   VOLTAGE_230 = 230,
   VOLTAGE_400 = 400,
-  VOLTAGE_800 = 800,
+  VOLTAGE_800 = 800
 }
 
-export type WsOptions = ClientOptions & ClientRequestArgs;
+export type WsOptions = ClientOptions & ClientRequestArgs
 
-type CommandsSupport = {
-  incomingCommands: Record<IncomingRequestCommand, boolean>;
-  outgoingCommands?: Record<RequestCommand, boolean>;
-};
+export interface FirmwareUpgrade extends JsonObject {
+  versionUpgrade?: {
+    patternGroup?: number
+    step?: number
+  }
+  reset?: boolean
+  failureStatus?: FirmwareStatus
+}
+
+interface CommandsSupport extends JsonObject {
+  incomingCommands: Record<IncomingRequestCommand, boolean>
+  outgoingCommands?: Record<RequestCommand, boolean>
+}
 
-export type ChargingStationTemplate = {
-  templateHash?: string;
-  supervisionUrls?: string | string[];
-  supervisionUrlOcppConfiguration?: boolean;
-  supervisionUrlOcppKey?: string;
-  supervisionUser?: string;
-  supervisionPassword?: string;
-  ocppVersion?: OCPPVersion;
-  ocppProtocol?: OCPPProtocol;
-  ocppStrictCompliance?: boolean;
-  ocppPersistentConfiguration?: boolean;
-  stationInfoPersistentConfiguration?: boolean;
-  wsOptions?: WsOptions;
-  authorizationFile?: string;
-  baseName: string;
-  nameSuffix?: string;
-  fixedName?: boolean;
-  chargePointModel: string;
-  chargePointVendor: string;
-  chargePointSerialNumberPrefix?: string;
-  chargeBoxSerialNumberPrefix?: string;
-  firmwareVersion?: string;
-  iccid?: string;
-  imsi?: string;
-  meterSerialNumberPrefix?: string;
-  meterType?: string;
-  power: number | number[];
-  powerSharedByConnectors?: boolean;
-  powerUnit: PowerUnits;
-  currentOutType?: CurrentType;
-  voltageOut?: Voltage;
-  numberOfPhases?: number;
-  numberOfConnectors?: number | number[];
-  useConnectorId0?: boolean;
-  randomConnectors?: boolean;
-  resetTime?: number;
-  autoRegister?: boolean;
-  autoReconnectMaxRetries?: number;
-  reconnectExponentialDelay?: boolean;
-  registrationMaxRetries?: number;
-  enableStatistics?: boolean;
-  mustAuthorizeAtRemoteStart?: boolean;
-  payloadSchemaValidation?: boolean;
-  amperageLimitationOcppKey?: string;
-  amperageLimitationUnit?: AmpereUnits;
-  beginEndMeterValues?: boolean;
-  outOfOrderEndMeterValues?: boolean;
-  meteringPerTransaction?: boolean;
-  transactionDataMeterValues?: boolean;
-  mainVoltageMeterValues?: boolean;
-  phaseLineToLineVoltageMeterValues?: boolean;
-  customValueLimitationMeterValues?: boolean;
-  commandsSupport?: CommandsSupport;
-  Configuration?: ChargingStationOcppConfiguration;
-  AutomaticTransactionGenerator?: AutomaticTransactionGeneratorConfiguration;
-  Connectors: Record<string, ConnectorStatus>;
-};
+enum x509CertificateType {
+  V2GRootCertificate = 'V2GRootCertificate',
+  MORootCertificate = 'MORootCertificate',
+  CSMSRootCertificate = 'CSMSRootCertificate',
+  ManufacturerRootCertificate = 'ManufacturerRootCertificate',
+  ChargingStationCertificate = 'ChargingStationCertificate',
+  V2GCertificate = 'V2GCertificate'
+}
+
+export interface ChargingStationTemplate {
+  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
+  wsOptions?: WsOptions
+  idTagsFile?: string
+  baseName: string
+  nameSuffix?: string
+  fixedName?: boolean
+  chargePointModel: string
+  chargePointVendor: string
+  chargePointSerialNumberPrefix?: string
+  chargeBoxSerialNumberPrefix?: string
+  firmwareVersionPattern?: string
+  firmwareVersion?: string
+  firmwareUpgrade?: FirmwareUpgrade
+  iccid?: string
+  imsi?: string
+  meterSerialNumberPrefix?: string
+  meterType?: string
+  power?: number | number[]
+  powerUnit?: PowerUnits
+  powerSharedByConnectors?: boolean
+  currentOutType?: CurrentType
+  voltageOut?: Voltage
+  numberOfPhases?: number
+  numberOfConnectors?: number | number[]
+  useConnectorId0?: boolean
+  randomConnectors?: boolean
+  resetTime?: number
+  autoRegister?: boolean
+  autoReconnectMaxRetries?: number
+  reconnectExponentialDelay?: boolean
+  registrationMaxRetries?: number
+  enableStatistics?: boolean
+  remoteAuthorization?: boolean
+  /** @deprecated Replaced by remoteAuthorization. */
+  mustAuthorizeAtRemoteStart?: boolean
+  /** @deprecated Replaced by ocppStrictCompliance. */
+  payloadSchemaValidation?: boolean
+  amperageLimitationOcppKey?: string
+  amperageLimitationUnit?: AmpereUnits
+  beginEndMeterValues?: boolean
+  outOfOrderEndMeterValues?: boolean
+  meteringPerTransaction?: boolean
+  transactionDataMeterValues?: boolean
+  stopTransactionsOnStopped?: boolean
+  mainVoltageMeterValues?: boolean
+  phaseLineToLineVoltageMeterValues?: boolean
+  customValueLimitationMeterValues?: boolean
+  commandsSupport?: CommandsSupport
+  messageTriggerSupport?: Record<MessageTrigger, boolean>
+  Configuration?: ChargingStationOcppConfiguration
+  AutomaticTransactionGenerator?: AutomaticTransactionGeneratorConfiguration
+  Evses?: Record<string, EvseTemplate>
+  Connectors?: Record<string, ConnectorStatus>
+  x509Certificates?: Record<x509CertificateType, string>
+}