X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Ftypes%2FChargingStationTemplate.ts;h=cd92616c11063cb4060013081ce8ffd45e974bc2;hb=b25b86842dc61b2a95f672dcf38992f7d63d6ec3;hp=255fb8d0563fe83be9f1366af79745b73d4e01d2;hpb=9ac86a7ea04eb1155c2a720b36f6bf33ba336767;p=e-mobility-charging-stations-simulator.git diff --git a/src/types/ChargingStationTemplate.ts b/src/types/ChargingStationTemplate.ts index 255fb8d0..cd92616c 100644 --- a/src/types/ChargingStationTemplate.ts +++ b/src/types/ChargingStationTemplate.ts @@ -1,48 +1,112 @@ -import ChargingStationConfiguration from './ChargingStationConfiguration'; -import Connectors from './Connectors'; +import type { ClientRequestArgs } from 'http'; -export enum PowerOutType { +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, MessageTrigger, RequestCommand } from './ocpp/Requests'; + +export enum CurrentType { AC = 'AC', DC = 'DC', } -export enum PowerUnit { +export enum PowerUnits { WATT = 'W', KILO_WATT = 'kW', } -export interface AutomaticTransactionGenerator { - enable: boolean; - minDuration: number; - maxDuration: number; - minDelayBetweenTwoTransactions: number; - maxDelayBetweenTwoTransactions: number; - probabilityOfStart: number; - stopAfterHours: number; - stopOnConnectionFailure: boolean +export enum AmpereUnits { + MILLI_AMPERE = 'mA', + CENTI_AMPERE = 'cA', + DECI_AMPERE = 'dA', + AMPERE = 'A', +} + +export enum Voltage { + VOLTAGE_110 = 110, + VOLTAGE_230 = 230, + VOLTAGE_400 = 400, + VOLTAGE_800 = 800, } -export default interface ChargingStationTemplate { - supervisionURL?: string; +export type WsOptions = ClientOptions & ClientRequestArgs; + +type FirmwareUpgrade = { + versionUpgrade: { + patternGroup?: number | number[]; + to?: string; + }; + reset?: boolean; + resetDelay?: number; + checkIntegrity?: boolean; +}; + +type CommandsSupport = { + incomingCommands: Record; + outgoingCommands?: Record; +}; + +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; - fixedName?: 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[]; powerSharedByConnectors?: boolean; - powerUnit: PowerUnit; - powerOutType?: PowerOutType; + 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; - voltageOut?: number; - Configuration?: ChargingStationConfiguration; - AutomaticTransactionGenerator: AutomaticTransactionGenerator; - Connectors: Connectors; -} + mustAuthorizeAtRemoteStart?: boolean; + payloadSchemaValidation?: boolean; + amperageLimitationOcppKey?: string; + amperageLimitationUnit?: AmpereUnits; + beginEndMeterValues?: boolean; + outOfOrderEndMeterValues?: boolean; + meteringPerTransaction?: boolean; + transactionDataMeterValues?: boolean; + mainVoltageMeterValues?: boolean; + phaseLineToLineVoltageMeterValues?: boolean; + customValueLimitationMeterValues?: boolean; + commandsSupport?: CommandsSupport; + messageTriggerSupport?: Record; + Configuration?: ChargingStationOcppConfiguration; + AutomaticTransactionGenerator?: AutomaticTransactionGeneratorConfiguration; + Connectors: Record; +};