+import type { EmptyObject } from '../../EmptyObject';
+import type { JsonObject } from '../../JsonType';
+
export enum MeterValueUnit {
WATT_HOUR = 'Wh',
KILO_WATT_HOUR = 'kWh',
TEMP_CELSIUS = 'Celsius',
TEMP_FAHRENHEIT = 'Fahrenheit',
TEMP_KELVIN = 'K',
- PERCENT = 'Percent'
+ PERCENT = 'Percent',
}
export enum MeterValueContext {
SAMPLE_PERIODIC = 'Sample.Periodic',
TRANSACTION_BEGIN = 'Transaction.Begin',
TRANSACTION_END = 'Transaction.End',
- TRIGGER = 'Trigger'
+ TRIGGER = 'Trigger',
}
export enum OCPP16MeterValueMeasurand {
FAN_RPM = 'RPM',
STATE_OF_CHARGE = 'SoC',
TEMPERATURE = 'Temperature',
- VOLTAGE = 'Voltage'
+ VOLTAGE = 'Voltage',
}
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',
L3_N = 'L3-N',
L1_L2 = 'L1-L2',
L2_L3 = 'L2-L3',
- L3_L1 = 'L3-L1'
+ L3_L1 = 'L3-L1',
}
-export enum MeterValueFormat {
+enum MeterValueFormat {
RAW = 'Raw',
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 {
- timestamp: string;
+export interface OCPP16MeterValue extends JsonObject {
+ timestamp: Date;
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;