ocpp-standard-schema
Version:
Contains OCPP JSON schemas for validation purposes
141 lines (140 loc) • 5.35 kB
TypeScript
/**
* Sampled_ Value. Context. Reading_ Context_ Code
* urn:x-oca:ocpp:uid:1:569261
* Type of detail value: start, end or sample. Default = "Sample.Periodic"
*
*/
export declare type ReadingContextEnumType = 'Interruption.Begin' | 'Interruption.End' | 'Other' | 'Sample.Clock' | 'Sample.Periodic' | 'Transaction.Begin' | 'Transaction.End' | 'Trigger';
/**
* Sampled_ Value. Measurand. Measurand_ Code
* urn:x-oca:ocpp:uid:1:569263
* Type of measurement. Default = "Energy.Active.Import.Register"
*
*/
export declare type MeasurandEnumType = 'Current.Export' | 'Current.Import' | 'Current.Offered' | 'Energy.Active.Export.Register' | 'Energy.Active.Import.Register' | 'Energy.Reactive.Export.Register' | 'Energy.Reactive.Import.Register' | 'Energy.Active.Export.Interval' | 'Energy.Active.Import.Interval' | 'Energy.Active.Net' | 'Energy.Reactive.Export.Interval' | 'Energy.Reactive.Import.Interval' | 'Energy.Reactive.Net' | 'Energy.Apparent.Net' | 'Energy.Apparent.Import' | 'Energy.Apparent.Export' | 'Frequency' | 'Power.Active.Export' | 'Power.Active.Import' | 'Power.Factor' | 'Power.Offered' | 'Power.Reactive.Export' | 'Power.Reactive.Import' | 'SoC' | 'Voltage';
/**
* Sampled_ Value. Phase. Phase_ Code
* urn:x-oca:ocpp:uid:1:569264
* Indicates how the measured value is to be interpreted. For instance between L1 and neutral (L1-N) Please note that not all values of phase are applicable to all Measurands. When phase is absent, the measured value is interpreted as an overall value.
*
*/
export declare type PhaseEnumType = 'L1' | 'L2' | 'L3' | 'N' | 'L1-N' | 'L2-N' | 'L3-N' | 'L1-L2' | 'L2-L3' | 'L3-L1';
/**
* Sampled_ Value. Location. Location_ Code
* urn:x-oca:ocpp:uid:1:569265
* Indicates where the measured value has been sampled. Default = "Outlet"
*
*
*/
export declare type LocationEnumType = 'Body' | 'Cable' | 'EV' | 'Inlet' | 'Outlet';
/**
* Request_ Body
* urn:x-enexis:ecdm:uid:2:234744
*
*/
export default interface MeterValuesRequest {
customData?: CustomDataType;
/**
* Request_ Body. EVSEID. Numeric_ Identifier
* urn:x-enexis:ecdm:uid:1:571101
* This contains a number (>0) designating an EVSE of the Charging Station. ‘0’ (zero) is used to designate the main power meter.
*
*/
evseId: number;
meterValue: [MeterValueType, ...MeterValueType[]];
}
/**
* This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.
*/
export interface CustomDataType {
vendorId: string;
[k: string]: unknown;
}
/**
* Meter_ Value
* urn:x-oca:ocpp:uid:2:233265
* Collection of one or more sampled values in MeterValuesRequest and TransactionEvent. All sampled values in a MeterValue are sampled at the same point in time.
*
*/
export interface MeterValueType {
customData?: CustomDataType;
sampledValue: [SampledValueType, ...SampledValueType[]];
/**
* Meter_ Value. Timestamp. Date_ Time
* urn:x-oca:ocpp:uid:1:569259
* Timestamp for measured value(s).
*
*/
timestamp: string;
}
/**
* Sampled_ Value
* urn:x-oca:ocpp:uid:2:233266
* Single sampled value in MeterValues. Each value can be accompanied by optional fields.
*
* To save on mobile data usage, default values of all of the optional fields are such that. The value without any additional fields will be interpreted, as a register reading of active import energy in Wh (Watt-hour) units.
*
*/
export interface SampledValueType {
customData?: CustomDataType;
/**
* Sampled_ Value. Value. Measure
* urn:x-oca:ocpp:uid:1:569260
* Indicates the measured value.
*
*
*/
value: number;
context?: ReadingContextEnumType;
measurand?: MeasurandEnumType;
phase?: PhaseEnumType;
location?: LocationEnumType;
signedMeterValue?: SignedMeterValueType;
unitOfMeasure?: UnitOfMeasureType;
}
/**
* Represent a signed version of the meter value.
*
*/
export interface SignedMeterValueType {
customData?: CustomDataType;
/**
* Base64 encoded, contains the signed data which might contain more then just the meter value. It can contain information like timestamps, reference to a customer etc.
*
*/
signedMeterData: string;
/**
* Method used to create the digital signature.
*
*/
signingMethod: string;
/**
* Method used to encode the meter values before applying the digital signature algorithm.
*
*/
encodingMethod: string;
/**
* Base64 encoded, sending depends on configuration variable _PublicKeyWithSignedMeterValue_.
*
*/
publicKey: string;
}
/**
* Represents a UnitOfMeasure with a multiplier
*
*/
export interface UnitOfMeasureType {
customData?: CustomDataType;
/**
* Unit of the value. Default = "Wh" if the (default) measurand is an "Energy" type.
* This field SHALL use a value from the list Standardized Units of Measurements in Part 2 Appendices.
* If an applicable unit is available in that list, otherwise a "custom" unit might be used.
*
*/
unit?: string;
/**
* Multiplier, this value represents the exponent to base 10. I.e. multiplier 3 means 10 raised to the 3rd power. Default is 0.
*
*/
multiplier?: number;
}