Implement firmwareUpgrade CS template section support
[e-mobility-charging-stations-simulator.git] / src / types / ChargingStationTemplate.ts
index acf70e499c8634e6067a6c4102a272c9644dd7d4..99b43765232fde1a66428745d7b411b5d0af89f7 100644 (file)
@@ -7,7 +7,12 @@ import type { ChargingStationOcppConfiguration } from './ChargingStationOcppConf
 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 {
+  FirmwareStatus,
+  IncomingRequestCommand,
+  MessageTrigger,
+  RequestCommand,
+} from './ocpp/Requests';
 
 export enum CurrentType {
   AC = 'AC',
@@ -35,12 +40,21 @@ export enum Voltage {
 
 export type WsOptions = ClientOptions & ClientRequestArgs;
 
+export type FirmwareUpgrade = {
+  versionUpgrade: {
+    patternGroup?: number;
+    step?: number;
+  };
+  reset?: boolean;
+  failureStatus?: FirmwareStatus;
+};
+
 type CommandsSupport = {
   incomingCommands: Record<IncomingRequestCommand, boolean>;
   outgoingCommands?: Record<RequestCommand, boolean>;
 };
 
-export default interface ChargingStationTemplate {
+export type ChargingStationTemplate = {
   templateHash?: string;
   supervisionUrls?: string | string[];
   supervisionUrlOcppConfiguration?: boolean;
@@ -61,7 +75,9 @@ export default interface ChargingStationTemplate {
   chargePointVendor: string;
   chargePointSerialNumberPrefix?: string;
   chargeBoxSerialNumberPrefix?: string;
+  firmwareVersionPattern?: string;
   firmwareVersion?: string;
+  firmwareUpgrade?: FirmwareUpgrade;
   iccid?: string;
   imsi?: string;
   meterSerialNumberPrefix?: string;
@@ -93,7 +109,8 @@ export default interface ChargingStationTemplate {
   phaseLineToLineVoltageMeterValues?: boolean;
   customValueLimitationMeterValues?: boolean;
   commandsSupport?: CommandsSupport;
+  messageTriggerSupport?: Record<MessageTrigger, boolean>;
   Configuration?: ChargingStationOcppConfiguration;
   AutomaticTransactionGenerator?: AutomaticTransactionGeneratorConfiguration;
   Connectors: Record<string, ConnectorStatus>;
-}
+};