Title: / CR Unit Of Measure
Author: / Robert de Leeuw (IHomer)
Date: / 31 Oct 2016
Version: / 0.2 Draft
Charge Request: Units of Measure
Goal:
Extend/optimize the list of possible values for the UnitOfMeasure enumeration of OASIS OCPP 2.0
Description:
OCPP contains a list of possible/allowed Units of Measure. We want to extend to list with more values. To support more possible values. We also want to move away from a fixed list of enumerations so any implementation can add their own when they need a Unit of Measure that is not part of the fixed list by OCPP.
History
The OCPP 1.6 UnitOfMeasureenumeration has the following values:
•Wh•kWh
•varh
•kvarh
•W
•kW / •VA
•kVA
•var
•kvar
•A
•V / •Celsius
•Fahrenheit
•K
•Percent
In OCPP 2.0 RC2 (old) the following were added
•ASU - Arbitrary Strength Unit (Signal Strength)•dB - Decibel (Signal Strength)
•Deg - Degrees
•g - g-force
•Hz – Hertz
•kPa - kiloPascal (Pressure) / •N - Newtons
•RH - Relative Humidity%
•RPM - Rotation per Minute
•s - Second
•lx - Lux (Light Intensity)
•ms2 - (Acceleration)
Proposal
The proposal for OASIS OCPP is to add some of the old 2.0 units of measure and clean up the existing list, adding ‘kilo’ for ‘every’ unit of measure seems too much, doesn’t solve anything (max reduce data by to bytes, ‘000’ instead of ‘k’) This will create the following list of Units of Measure for OASIS OCPP 2.0:
Value / DescriptionA / Amperes (current).
ASU / Arbitrary Strength Unit (Signal Strength)
Celsius / Degrees (temperature).
dB / Decibel (for example Signal Strength)
Deg / Degrees (angle/rotation)
Fahrenheit / Degrees (temperature).
Hz / Hertz (frequency)
K / Kelvin (temperature).
kPa / kiloPascal (Pressure)
lx / Lux (Light Intensity)
ms2 / ms2 (Acceleration)
N / Newtons (Force)
Percent / Percentage.
RH / Relative Humidity%
RPM / Revolutions per Minute
s / Seconds (Time)
V / Voltage (r.m.s. AC).
var / Vars (reactive power).
varh / Var-hours (reactive energy).
W / Watts (power).
Wh / Watt-hours (energy). Default.
Extensible enumeration
The goal of this CR is also to create an extensible enumeration for units of measure in the next version of OCPP. In OCPP 1.6 it was not yet possible to use a unit that was not part of the specification. In the next version we want to solve this.
So in the next version we don’t want to limit the list of Units of Measure to the list known/given at the time the specification was finished. By making it possible the use units that were not thought about when the spec was finished.
The idea is that the OCPP specification gives a list of known Units of Measure (the once we think are useful for Charge Points) and allow others to be used. When the Charge Point and Central System know they can receive units they don’t understand, we can define how this should be handled (most likely drop the value) But if both system support the “unknown” unit they can work with it.
Options for how to make an extensible enumerations:
-String with list of given units in an Appendix
-SOAP: XML Extensible Enumeration?? How does this work?
-JSON: Is there a standard way to implement extensible enumeration in JSON?
1