import type { ClientOptions } from 'ws';
import type { AutomaticTransactionGeneratorConfiguration } from './AutomaticTransactionGenerator';
-import type ChargingStationOcppConfiguration from './ChargingStationOcppConfiguration';
+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 { IncomingRequestCommand, MessageTrigger, RequestCommand } from './ocpp/Requests';
export enum CurrentType {
AC = 'AC',
export type WsOptions = ClientOptions & ClientRequestArgs;
-interface CommandsSupport {
+type FirmwareUpgrade = {
+ versionUpgrade: {
+ patternGroup?: number | number[];
+ to?: string;
+ };
+ reset?: boolean;
+ resetDelay?: number;
+ checkIntegrity?: boolean;
+};
+
+type CommandsSupport = {
incomingCommands: Record<IncomingRequestCommand, boolean>;
outgoingCommands?: Record<RequestCommand, boolean>;
-}
+};
-export default interface ChargingStationTemplate {
+export type ChargingStationTemplate = {
templateHash?: string;
supervisionUrls?: string | string[];
supervisionUrlOcppConfiguration?: boolean;
chargePointVendor: string;
chargePointSerialNumberPrefix?: string;
chargeBoxSerialNumberPrefix?: string;
+ firmwareVersionPattern?: string;
firmwareVersion?: string;
+ firmwareUpgrade?: FirmwareUpgrade;
iccid?: string;
imsi?: string;
meterSerialNumberPrefix?: string;
phaseLineToLineVoltageMeterValues?: boolean;
customValueLimitationMeterValues?: boolean;
commandsSupport?: CommandsSupport;
+ messageTriggerSupport?: Record<MessageTrigger, boolean>;
Configuration?: ChargingStationOcppConfiguration;
AutomaticTransactionGenerator?: AutomaticTransactionGeneratorConfiguration;
Connectors: Record<string, ConnectorStatus>;
-}
+};