-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',
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,
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<IncomingRequestCommand, boolean>;
+ outgoingCommands?: Record<RequestCommand, boolean>;
}
export default interface ChargingStationTemplate {
+ templateHash?: string;
supervisionUrls?: string | string[];
supervisionUrlOcppConfiguration?: boolean;
supervisionUrlOcppKey?: string;
ocppProtocol?: OCPPProtocol;
ocppStrictCompliance?: boolean;
ocppPersistentConfiguration?: boolean;
- wsOptions?: ClientOptions & ClientRequestArgs;
+ stationInfoPersistentConfiguration?: boolean;
+ wsOptions?: WsOptions;
authorizationFile?: string;
baseName: string;
nameSuffix?: string;
firmwareVersion?: string;
iccid?: string;
imsi?: string;
- meterSerialNumber?: string;
+ meterSerialNumberPrefix?: string;
meterType?: string;
power: number | number[];
powerSharedByConnectors?: boolean;
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<string, ConnectorStatus>;
}