Move hashId to stationInfo
[e-mobility-charging-stations-simulator.git] / src / types / ChargingStationTemplate.ts
index 639cf8f7b8f1a54334bbce162bd6953f016ed241..1c68743d8b2903a61e84f9748cf2e020c258b2ef 100644 (file)
@@ -1,10 +1,13 @@
-import { AutomaticTransactionGeneratorConfiguration } from './AutomaticTransactionGenerator';
-import ChargingStationOcppConfiguration from './ChargingStationOcppConfiguration';
-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',
@@ -32,6 +35,11 @@ export enum Voltage {
 
 export type WsOptions = ClientOptions & ClientRequestArgs;
 
+interface CommandsSupport {
+  incomingCommands: Record<IncomingRequestCommand, boolean>;
+  outgoingCommands?: Record<RequestCommand, boolean>;
+}
+
 export default interface ChargingStationTemplate {
   templateHash?: string;
   supervisionUrls?: string | string[];
@@ -73,7 +81,8 @@ export default interface ChargingStationTemplate {
   reconnectExponentialDelay?: boolean;
   registrationMaxRetries?: number;
   enableStatistics?: boolean;
-  mayAuthorizeAtRemoteStart: boolean;
+  mustAuthorizeAtRemoteStart?: boolean;
+  payloadSchemaValidation?: boolean;
   amperageLimitationOcppKey?: string;
   amperageLimitationUnit?: AmpereUnits;
   beginEndMeterValues?: boolean;
@@ -83,6 +92,7 @@ export default interface ChargingStationTemplate {
   mainVoltageMeterValues?: boolean;
   phaseLineToLineVoltageMeterValues?: boolean;
   customValueLimitationMeterValues?: boolean;
+  commandsSupport?: CommandsSupport;
   Configuration?: ChargingStationOcppConfiguration;
   AutomaticTransactionGenerator?: AutomaticTransactionGeneratorConfiguration;
   Connectors: Record<string, ConnectorStatus>;