X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Ftypes%2FChargingStationTemplate.ts;h=1c68743d8b2903a61e84f9748cf2e020c258b2ef;hb=9d73266c8bb85d7e2bc1fab9954a76910fd689eb;hp=ee7df49a0ab2e7220c540c6b04edee3cee965199;hpb=3f94cab5f9ffdc613338a715cf3fad1cede5a687;p=e-mobility-charging-stations-simulator.git diff --git a/src/types/ChargingStationTemplate.ts b/src/types/ChargingStationTemplate.ts index ee7df49a..1c68743d 100644 --- a/src/types/ChargingStationTemplate.ts +++ b/src/types/ChargingStationTemplate.ts @@ -1,9 +1,13 @@ -import ChargingStationConfiguration from './ChargingStationConfiguration'; -import { ClientOptions } from 'ws'; -import { ClientRequestArgs } from 'http'; -import { ConnectorStatus } from './ConnectorStatus'; -import { OCPPProtocol } from './ocpp/OCPPProtocol'; -import { OCPPVersion } from './ocpp/OCPPVersion'; +import type { ClientRequestArgs } from 'http'; + +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'; export enum CurrentType { AC = 'AC', @@ -15,6 +19,13 @@ export enum PowerUnits { KILO_WATT = 'kW', } +export enum AmpereUnits { + MILLI_AMPERE = 'mA', + CENTI_AMPERE = 'cA', + DECI_AMPERE = 'dA', + AMPERE = 'A', +} + export enum Voltage { VOLTAGE_110 = 110, VOLTAGE_230 = 230, @@ -22,19 +33,15 @@ export enum Voltage { VOLTAGE_800 = 800, } -export interface AutomaticTransactionGenerator { - enable: boolean; - minDuration: number; - maxDuration: number; - minDelayBetweenTwoTransactions: number; - maxDelayBetweenTwoTransactions: number; - probabilityOfStart: number; - stopAfterHours: number; - stopOnConnectionFailure: boolean; - requireAuthorize?: boolean; +export type WsOptions = ClientOptions & ClientRequestArgs; + +interface CommandsSupport { + incomingCommands: Record; + outgoingCommands?: Record; } export default interface ChargingStationTemplate { + templateHash?: string; supervisionUrls?: string | string[]; supervisionUrlOcppConfiguration?: boolean; supervisionUrlOcppKey?: string; @@ -44,18 +51,20 @@ export default interface ChargingStationTemplate { ocppProtocol?: OCPPProtocol; ocppStrictCompliance?: boolean; ocppPersistentConfiguration?: boolean; - wsOptions?: ClientOptions & ClientRequestArgs; + 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; - meterSerialNumber?: string; + meterSerialNumberPrefix?: string; meterType?: string; power: number | number[]; powerSharedByConnectors?: boolean; @@ -67,19 +76,24 @@ export default interface ChargingStationTemplate { useConnectorId0?: boolean; randomConnectors?: boolean; resetTime?: number; - autoRegister: boolean; + autoRegister?: boolean; autoReconnectMaxRetries?: number; reconnectExponentialDelay?: boolean; registrationMaxRetries?: number; enableStatistics?: boolean; - mayAuthorizeAtRemoteStart: boolean; + mustAuthorizeAtRemoteStart?: boolean; + payloadSchemaValidation?: boolean; + amperageLimitationOcppKey?: string; + amperageLimitationUnit?: AmpereUnits; beginEndMeterValues?: boolean; outOfOrderEndMeterValues?: boolean; meteringPerTransaction?: boolean; transactionDataMeterValues?: boolean; mainVoltageMeterValues?: boolean; phaseLineToLineVoltageMeterValues?: boolean; - Configuration?: ChargingStationConfiguration; - AutomaticTransactionGenerator: AutomaticTransactionGenerator; + customValueLimitationMeterValues?: boolean; + commandsSupport?: CommandsSupport; + Configuration?: ChargingStationOcppConfiguration; + AutomaticTransactionGenerator?: AutomaticTransactionGeneratorConfiguration; Connectors: Record; }