Introduce JSON type and use it for OCPP and internal message structure
[e-mobility-charging-stations-simulator.git] / src / types / ocpp / 1.6 / MeterValues.ts
index 27d9cc3d9d36aa299eebeec487013178a4b61de4..97a7d24c9fd3396a1d7d364fec63c77fa6a347c1 100644 (file)
@@ -1,3 +1,6 @@
+import { EmptyObject } from '../../EmptyObject';
+import { JsonType } from '../../JsonType';
+
 export enum MeterValueUnit {
   WATT_HOUR = 'Wh',
   KILO_WATT_HOUR = 'kWh',
@@ -61,7 +64,7 @@ export enum MeterValueLocation {
   OUTLET = 'Outlet'
 }
 
-export enum MeterValuePhase {
+export enum OCPP16MeterValuePhase {
   L1 = 'L1',
   L2 = 'L2',
   L3 = 'L3',
@@ -79,27 +82,26 @@ export enum MeterValueFormat {
   SIGNED_DATA = 'SignedData',
 }
 
-export interface OCPP16SampledValue {
+export interface OCPP16SampledValue extends JsonType {
   value?: string;
   unit?: MeterValueUnit;
   context?: MeterValueContext;
   measurand?: OCPP16MeterValueMeasurand;
-  phase?: MeterValuePhase;
+  phase?: OCPP16MeterValuePhase;
   location?: MeterValueLocation;
   format?: MeterValueFormat;
 }
 
-export interface MeterValue {
+export interface OCPP16MeterValue extends JsonType {
   timestamp: string;
   sampledValue: OCPP16SampledValue[];
 }
 
-export interface MeterValuesRequest {
+export interface MeterValuesRequest extends JsonType {
   connectorId: number;
   transactionId?: number;
-  meterValue: MeterValue | MeterValue[];
+  meterValue: OCPP16MeterValue[];
 }
 
-// eslint-disable-next-line @typescript-eslint/no-empty-interface
-export interface MeterValuesResponse { }
+export type MeterValuesResponse = EmptyObject;