HIM supports the following metadata for restricting the valid values of data.
The minimum value, within the interval of the given datatype, that the data entry can be assigned.
If omitted, the minimum value will be the “Min” value for the given datatype.
The min
restrictions can only be used data having a “number"datatype (intx, uintx, float, double).
Must not be specified if allowed
is defined in the same node.
The maximum value, within the interval of the given datatype, that the data entry can be assigned.
If omitted, the maximum value will be the “Max” value for the given datatype.
The max
restrictions can only be used data having a “number"datatype (intx, uintx, float, double).
Must not be specified if allowed
is defined in the same node.
Powertrain.TractionBattery.StateOfCharge.Current:
type: sensor
unit: percent
datatype: float
min: 0
max: 100.0
description: Physical state of charge of the high voltage battery, relative to net capacity.
The allowed
restriction defines a array of accepted data values, defined as a comma separated list of values confined within square brackets, see example below.
It is expected, that any value not mentioned in the array is considered an error and the implementation of the specification shall react accordingly.
The datatype of the array elements shall be compatible with the datatype
defined for the data entry itself.
SteeringWheel.Position:
datatype: string
type: attribute
default: 'FRONT_LEFT'
allowed: ['FRONT_LEFT', 'FRONT_RIGHT']
description: Position of the steering wheel on the left or right side of the vehicle.
If allowed
is set, min
or max
cannot be defined.
allowed
is valid for all datatypes.
For string values used for allowed
statements it is recommended to start with A-Z
and then use only A-Z
, 0-9
and underscore (_
).
It is recommended to use single quotes ('
) as delimiter before and after the string value.
It is not recommended to specify a dedicated value corresponding to “unknown” or “undefined” as data values in general are not expected to have unique values for this.
The allowed
keyword can also be used for array datatypes. In that case, allowed
specifies the only valid values for all the array elements, see example below.
DogBreeds:
datatype: string[]
type: attribute
allowed: ['AKITA', 'BOXER', 'DACHSHUND', 'PAPILLON', 'PUG', 'VIZSLA']
description: Brief list of dog breeds.
Examples of valid arrays:
[] # Empty array
['BOXER']
['PAPILLON', 'VIZSLA', 'BOXER', 'AKITA', 'DACHSHUND']
['PUG', 'PUG'] # duplication is allowed
Example of an invalid array:
['PAPILLON', 'VIZSLA', 'LOBSTER'] # LOBSTER is not in the allowed value list
Please see struct documentation.