Container message property overrides keywords
- Last UpdatedSep 04, 2025
- 2 minute read
When defining a container, the property overrides keyword can be used to override information retrieved from the dynamic type. For example, a container may want to use an engineering units that differ from the dynamic type's unit-of-measure, or have a different minimum or maximum value.
The following table shows the property override keywords defined by the OMF specification.
|
Keyword |
Type |
Required |
Supported by PI Web API |
Details |
|---|---|---|---|---|
|
name |
String |
Optional |
No |
Overrides the property's name. If included, this keyword is ignored. |
|
description |
String |
Optional |
No |
Overrides the property's description. If included, this keyword is ignored. |
|
uom |
String |
Optional |
Yes |
Overrides the property's unit of measure. |
|
minimum |
Data |
Optional |
Yes |
Overrides the property's minimum. Used to define the PI point's zero. |
|
maximum |
Data |
Optional |
Yes |
Overrides the property's maximum. Combined with minimum to define the PI point's span. |
|
interpolation |
String |
Optional |
Yes |
Overrides the interpolation mode for the property. Used to define the PI point's step. |
Any property overrides are defined as part of the container message as properties
on a nested object. The key indicates which type property the overrides apply to.
For example, you define a dynamic type for a large turbine:
[
{
"id": "turbine",
"classification": "dynamic",
"properties": {
"timestamp": {
"type": "string",
"format": "date-time",
"isindex": true
},
"speed": {
"type": "number",
"format": "float32",
"uom": "revolution per minute",
"minimum": 0.0,
"maximum": 20.0
},
"power": {
"type": "number",
"format": "float32",
"uom": "megawatt",
"minimum": 0.0,
"maximum": 3.0
}
}
}
]
Later, when defining containers, you decide that one turbine is a smaller model, but it is not sufficiently different that you want to change your data model. When you define the container, you can override some of the keywords that you would like to change:
[
{
"id": "small-turbine-1",
"typeid": "turbine",
"propertyoverrides": {
"speed": {
"maximum": 400.0
},
"power": {
"maximum": 1.5
}
}
}
]
The property indices speed and power are used to specify the property that the overrides apply to. This container definition would produce two PI points, small-turbine-1.speed and small-turbine-1.power.
