Refine TS and linter configuration
[e-mobility-charging-stations-simulator.git] / src / types / ocpp / 1.6 / MeterValues.ts
index 27d9cc3d9d36aa299eebeec487013178a4b61de4..79bad3626e7dfd650cde76c8cdc6a3af79dc04e8 100644 (file)
@@ -1,3 +1,6 @@
+import type { EmptyObject } from '../../EmptyObject';
+import type { JsonObject } from '../../JsonType';
+
 export enum MeterValueUnit {
   WATT_HOUR = 'Wh',
   KILO_WATT_HOUR = 'kWh',
@@ -14,7 +17,7 @@ export enum MeterValueUnit {
   TEMP_CELSIUS = 'Celsius',
   TEMP_FAHRENHEIT = 'Fahrenheit',
   TEMP_KELVIN = 'K',
-  PERCENT = 'Percent'
+  PERCENT = 'Percent',
 }
 
 export enum MeterValueContext {
@@ -25,7 +28,7 @@ export enum MeterValueContext {
   SAMPLE_PERIODIC = 'Sample.Periodic',
   TRANSACTION_BEGIN = 'Transaction.Begin',
   TRANSACTION_END = 'Transaction.End',
-  TRIGGER = 'Trigger'
+  TRIGGER = 'Trigger',
 }
 
 export enum OCPP16MeterValueMeasurand {
@@ -50,7 +53,7 @@ export enum OCPP16MeterValueMeasurand {
   FAN_RPM = 'RPM',
   STATE_OF_CHARGE = 'SoC',
   TEMPERATURE = 'Temperature',
-  VOLTAGE = 'Voltage'
+  VOLTAGE = 'Voltage',
 }
 
 export enum MeterValueLocation {
@@ -58,10 +61,10 @@ export enum MeterValueLocation {
   CABLE = 'Cable',
   EV = 'EV',
   INLET = 'Inlet',
-  OUTLET = 'Outlet'
+  OUTLET = 'Outlet',
 }
 
-export enum MeterValuePhase {
+export enum OCPP16MeterValuePhase {
   L1 = 'L1',
   L2 = 'L2',
   L3 = 'L3',
@@ -71,7 +74,7 @@ export enum MeterValuePhase {
   L3_N = 'L3-N',
   L1_L2 = 'L1-L2',
   L2_L3 = 'L2-L3',
-  L3_L1 = 'L3-L1'
+  L3_L1 = 'L3-L1',
 }
 
 export enum MeterValueFormat {
@@ -79,27 +82,25 @@ export enum MeterValueFormat {
   SIGNED_DATA = 'SignedData',
 }
 
-export interface OCPP16SampledValue {
-  value?: string;
+export interface OCPP16SampledValue extends JsonObject {
+  value: string;
   unit?: MeterValueUnit;
   context?: MeterValueContext;
   measurand?: OCPP16MeterValueMeasurand;
-  phase?: MeterValuePhase;
+  phase?: OCPP16MeterValuePhase;
   location?: MeterValueLocation;
   format?: MeterValueFormat;
 }
 
-export interface MeterValue {
+export interface OCPP16MeterValue extends JsonObject {
   timestamp: string;
   sampledValue: OCPP16SampledValue[];
 }
 
-export interface MeterValuesRequest {
+export interface OCPP16MeterValuesRequest extends JsonObject {
   connectorId: number;
   transactionId?: number;
-  meterValue: MeterValue | MeterValue[];
+  meterValue: OCPP16MeterValue[];
 }
 
-// eslint-disable-next-line @typescript-eslint/no-empty-interface
-export interface MeterValuesResponse { }
-
+export type OCPP16MeterValuesResponse = EmptyObject;