1{
2    "$id": "http://redfish.dmtf.org/schemas/v1/Sensor.v1_10_1.json",
3    "$ref": "#/definitions/Sensor",
4    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
5    "copyright": "Copyright 2014-2024 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
6    "definitions": {
7        "Actions": {
8            "additionalProperties": false,
9            "description": "The available actions for this resource.",
10            "longDescription": "This type shall contain the available actions for this resource.",
11            "patternProperties": {
12                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
13                    "description": "This property shall specify a valid odata or Redfish property.",
14                    "type": [
15                        "array",
16                        "boolean",
17                        "integer",
18                        "number",
19                        "null",
20                        "object",
21                        "string"
22                    ]
23                }
24            },
25            "properties": {
26                "#Sensor.ResetMetrics": {
27                    "$ref": "#/definitions/ResetMetrics"
28                },
29                "#Sensor.ResetToDefaults": {
30                    "$ref": "#/definitions/ResetToDefaults"
31                },
32                "Oem": {
33                    "$ref": "#/definitions/OemActions",
34                    "description": "The available OEM-specific actions for this resource.",
35                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
36                }
37            },
38            "type": "object"
39        },
40        "ImplementationType": {
41            "enum": [
42                "PhysicalSensor",
43                "Synthesized",
44                "Reported"
45            ],
46            "enumDescriptions": {
47                "PhysicalSensor": "The reading is acquired from a physical sensor.",
48                "Reported": "The reading is obtained from software or a device.",
49                "Synthesized": "The reading is obtained by applying a calculation on one or more properties or multiple sensors.  The calculation is not provided."
50            },
51            "type": "string"
52        },
53        "Links": {
54            "additionalProperties": false,
55            "description": "The links to other resources that are related to this resource.",
56            "longDescription": "This Redfish Specification-described type shall contain links to resources that are related to but are not contained by, or subordinate to, this resource.",
57            "patternProperties": {
58                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
59                    "description": "This property shall specify a valid odata or Redfish property.",
60                    "type": [
61                        "array",
62                        "boolean",
63                        "integer",
64                        "number",
65                        "null",
66                        "object",
67                        "string"
68                    ]
69                }
70            },
71            "properties": {
72                "AssociatedControls": {
73                    "description": "An array of links to the controls that can affect this sensor.",
74                    "items": {
75                        "$ref": "http://redfish.dmtf.org/schemas/v1/Control.json#/definitions/Control"
76                    },
77                    "longDescription": "This property shall contain an array of links to resources of type `Control` that represent the controls that can affect this sensor.",
78                    "readonly": true,
79                    "type": "array",
80                    "versionAdded": "v1_4_0"
81                },
82                "AssociatedControls@odata.count": {
83                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
84                },
85                "Oem": {
86                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
87                    "description": "The OEM extension property.",
88                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
89                }
90            },
91            "type": "object"
92        },
93        "OemActions": {
94            "additionalProperties": true,
95            "description": "The available OEM-specific actions for this resource.",
96            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
97            "patternProperties": {
98                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
99                    "description": "This property shall specify a valid odata or Redfish property.",
100                    "type": [
101                        "array",
102                        "boolean",
103                        "integer",
104                        "number",
105                        "null",
106                        "object",
107                        "string"
108                    ]
109                }
110            },
111            "properties": {},
112            "type": "object"
113        },
114        "ReadingBasisType": {
115            "enum": [
116                "Zero",
117                "Delta",
118                "Headroom"
119            ],
120            "enumDescriptions": {
121                "Delta": "A reading that reports the difference between two measurements.",
122                "Headroom": "A reading that decreases as it approaches a defined reference point.",
123                "Zero": "A zero-based reading."
124            },
125            "enumLongDescriptions": {
126                "Delta": "This value shall indicate a reading that reports the difference between two measurements.",
127                "Headroom": "This value shall indicate a reading that decreases in value as it approaches the reference point.  If the value crosses the reference point, the value may be reported as a negative number or may report a value of zero.",
128                "Zero": "This value shall indicate a reading with zero as its reference point."
129            },
130            "type": "string"
131        },
132        "ReadingType": {
133            "enum": [
134                "Temperature",
135                "Humidity",
136                "Power",
137                "EnergykWh",
138                "EnergyJoules",
139                "EnergyWh",
140                "ChargeAh",
141                "Voltage",
142                "Current",
143                "Frequency",
144                "Pressure",
145                "PressurekPa",
146                "PressurePa",
147                "LiquidLevel",
148                "Rotational",
149                "AirFlow",
150                "AirFlowCMM",
151                "LiquidFlow",
152                "LiquidFlowLPM",
153                "Barometric",
154                "Altitude",
155                "Percent",
156                "AbsoluteHumidity",
157                "Heat"
158            ],
159            "enumDeprecated": {
160                "AirFlow": "This value has been deprecated in favor of `AirFlowCMM` for consistent use of SI units.",
161                "LiquidFlow": "This value has been deprecated in favor of `LiquidFlowLPM` for consistency of units typically expected or reported by `Sensor` and `Control` resources.",
162                "Pressure": "This value has been deprecated in favor of `PressurePa` or `PressurekPa` for consistency of units between `Sensor` and `Control` resources."
163            },
164            "enumDescriptions": {
165                "AbsoluteHumidity": "Absolute humidity (g/m^3).",
166                "AirFlow": "Air flow (cu ft/min).",
167                "AirFlowCMM": "Air flow (m^3/min).",
168                "Altitude": "Altitude (m).",
169                "Barometric": "Barometric pressure (mm).",
170                "ChargeAh": "Charge (Ah).",
171                "Current": "Current (A).",
172                "EnergyJoules": "Energy (J).",
173                "EnergyWh": "Energy (Wh).",
174                "EnergykWh": "Energy (kWh).",
175                "Frequency": "Frequency (Hz).",
176                "Heat": "Heat (kW).",
177                "Humidity": "Relative humidity (percent).",
178                "LiquidFlow": "Liquid flow (L/s).",
179                "LiquidFlowLPM": "Liquid flow (L/min).",
180                "LiquidLevel": "Liquid level (cm).",
181                "Percent": "Percent (%).",
182                "Power": "Power (W).",
183                "Pressure": "Pressure (Pa).",
184                "PressurePa": "Pressure (Pa).",
185                "PressurekPa": "Pressure (kPa).",
186                "Rotational": "Rotational (RPM).",
187                "Temperature": "Temperature (C).",
188                "Voltage": "Voltage (VAC or VDC)."
189            },
190            "enumLongDescriptions": {
191                "AbsoluteHumidity": "This value shall indicate an absolute (volumetric) humidity measurement, in grams per cubic meter units.  The `ReadingUnits` property shall contain `g/m3`.",
192                "AirFlow": "This value shall indicate a measurement of a volume of gas per unit of time, in cubic feet per minute units, that flows through a particular junction.  The `ReadingUnits` property shall contain `[ft_i]3/min`.",
193                "AirFlowCMM": "This value shall indicate a measurement of a volume of gas per unit of time, in cubic meters per minute units, that flows through a particular junction.  The `ReadingUnits` property shall contain `m3/min`.",
194                "Altitude": "This value shall indicate a measurement of altitude, in meter units, defined as the elevation above sea level.  The `ReadingUnits` property shall contain `m`.",
195                "Barometric": "This value shall indicate a measurement of barometric pressure, in millimeters of a mercury column.  The `ReadingUnits` property shall contain `mm[Hg]`.",
196                "ChargeAh": "This value shall indicate the amount of charge, integral of current over time, of the monitored item.  If representing metered charge consumption the value shall reflect the charge consumption since the sensor metrics were last reset.  The value of the `Reading` property shall be in ampere-hour units and the `ReadingUnits` property shall contain `A.h`.",
197                "Current": "This value shall indicate a measurement of the root mean square (RMS) of instantaneous current calculated over an integer number of line cycles for a circuit.  Current is expressed in ampere units and the `ReadingUnits` property shall contain `A`.",
198                "EnergyJoules": "This value shall indicate the energy, integral of real power over time, of the monitored item.  If representing metered power consumption the value shall reflect the power consumption since the sensor metrics were last reset.  The value of the `Reading` property shall be in joule units and the `ReadingUnits` property shall contain `J`.  This value is used for device-level energy consumption measurements, while `EnergykWh` is used for large-scale consumption measurements.",
199                "EnergyWh": "This value shall indicate the energy, integral of real power over time, of the monitored item.  If representing metered power consumption the value shall reflect the power consumption since the sensor metrics were last reset.  The value of the `Reading` property shall be in watt-hour units and the `ReadingUnits` property shall contain `W.h`.  This value is used for device-level energy consumption measurements, while `EnergykWh` is used for large-scale consumption measurements.",
200                "EnergykWh": "This value shall indicate the energy, integral of real power over time, of the monitored item.  If representing metered power consumption the value shall reflect the power consumption since the sensor metrics were last reset.  The value of the `Reading` property shall be in kilowatt-hour units and the `ReadingUnits` property shall contain `kW.h`.  This value is used for large-scale energy consumption measurements, while `EnergyJoules` and `EnergyWh` are used for device-level consumption measurements.",
201                "Frequency": "This value shall indicate a frequency measurement, in hertz units.  The `ReadingUnits` property shall contain `Hz`.",
202                "Heat": "This value shall indicate a heat measurement, in kilowatt units.  The `ReadingUnits` property shall contain `kW`.",
203                "Humidity": "This value shall indicate a relative humidity measurement, in percent units.  The `ReadingUnits` property shall contain `%`.",
204                "LiquidFlow": "This value shall indicate a measurement of a volume of liquid per unit of time, in liters per second units, that flows through a particular junction.  The `ReadingUnits` property shall contain `L/s`.",
205                "LiquidFlowLPM": "This value shall indicate a measurement of a volume of liquid per unit of time, in liters per minute units, that flows through a particular junction.  The `ReadingUnits` property shall contain `L/min`.",
206                "LiquidLevel": "This value shall indicate a measurement of fluid height, in centimeter units, relative to a specified vertical datum and the `ReadingUnits` property shall contain `cm`.",
207                "Percent": "This value shall indicate a percentage measurement, in percent units.  The `Reading` value, while typically `0` to `100`, may exceed `100` for rate-of-change or similar readings.  The `ReadingUnits` property shall contain `%`.",
208                "Power": "This value shall indicate the arithmetic mean of product terms of instantaneous voltage and current values measured over integer number of line cycles for a circuit, in watt units.  The `ReadingUnits` property shall contain `W`.",
209                "Pressure": "This value shall indicate a measurement of force, in pascal units, applied perpendicular to the surface of an object per unit area over which that force is distributed.  The `ReadingUnits` property shall contain `Pa`.",
210                "PressurePa": "This value shall indicate a measurement of pressure, in pascal units, relative to atmospheric pressure.  The `ReadingUnits` property shall contain `Pa`.",
211                "PressurekPa": "This value shall indicate a measurement of pressure, in kilopascal units, relative to atmospheric pressure.  The `ReadingUnits` property shall contain `kPa`.",
212                "Rotational": "This value shall indicate a measurement of rotational frequency, in revolutions per minute units.  The `ReadingUnits` property shall contain either `{rev}/min`, which is preferred, or `RPM`, which is a deprecated value.",
213                "Temperature": "This value shall indicate a temperature measurement, in degree Celsius units.  The `ReadingUnits` property shall contain `Cel`.",
214                "Voltage": "This value shall indicate a measurement of the root mean square (RMS) of instantaneous voltage calculated over an integer number of line cycles for a circuit.  Voltage is expressed in volt units and the `ReadingUnits` property shall contain `V`."
215            },
216            "enumVersionAdded": {
217                "AbsoluteHumidity": "v1_5_0",
218                "AirFlowCMM": "v1_7_0",
219                "ChargeAh": "v1_4_0",
220                "EnergyWh": "v1_4_0",
221                "Heat": "v1_7_0",
222                "LiquidFlowLPM": "v1_7_0",
223                "Percent": "v1_1_0",
224                "PressurePa": "v1_7_0",
225                "PressurekPa": "v1_5_0"
226            },
227            "enumVersionDeprecated": {
228                "AirFlow": "v1_7_0",
229                "LiquidFlow": "v1_7_0",
230                "Pressure": "v1_7_0"
231            },
232            "type": "string"
233        },
234        "ResetMetrics": {
235            "additionalProperties": false,
236            "description": "Resets metrics related to this sensor.",
237            "longDescription": "This action shall reset any time intervals or counted values for this sensor.  The `SensorResetTime` property shall be updated to reflect the time that this action was performed.",
238            "parameters": {},
239            "patternProperties": {
240                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
241                    "description": "This property shall specify a valid odata or Redfish property.",
242                    "type": [
243                        "array",
244                        "boolean",
245                        "integer",
246                        "number",
247                        "null",
248                        "object",
249                        "string"
250                    ]
251                }
252            },
253            "properties": {
254                "target": {
255                    "description": "Link to invoke action",
256                    "format": "uri-reference",
257                    "type": "string"
258                },
259                "title": {
260                    "description": "Friendly action name",
261                    "type": "string"
262                }
263            },
264            "type": "object"
265        },
266        "ResetToDefaults": {
267            "additionalProperties": false,
268            "description": "The action resets the values of writable properties to factory defaults.",
269            "longDescription": "This action shall reset the values of writable properties in this resource to their default values as specified by the manufacturer.",
270            "parameters": {},
271            "patternProperties": {
272                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
273                    "description": "This property shall specify a valid odata or Redfish property.",
274                    "type": [
275                        "array",
276                        "boolean",
277                        "integer",
278                        "number",
279                        "null",
280                        "object",
281                        "string"
282                    ]
283                }
284            },
285            "properties": {
286                "target": {
287                    "description": "Link to invoke action",
288                    "format": "uri-reference",
289                    "type": "string"
290                },
291                "title": {
292                    "description": "Friendly action name",
293                    "type": "string"
294                }
295            },
296            "type": "object",
297            "versionAdded": "v1_6_0"
298        },
299        "Sensor": {
300            "additionalProperties": false,
301            "description": "The `Sensor` schema describes a sensor and its properties.",
302            "longDescription": "This resource shall represent a sensor for a Redfish implementation.",
303            "patternProperties": {
304                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
305                    "description": "This property shall specify a valid odata or Redfish property.",
306                    "type": [
307                        "array",
308                        "boolean",
309                        "integer",
310                        "number",
311                        "null",
312                        "object",
313                        "string"
314                    ]
315                }
316            },
317            "properties": {
318                "@odata.context": {
319                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
320                },
321                "@odata.etag": {
322                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
323                },
324                "@odata.id": {
325                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
326                },
327                "@odata.type": {
328                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
329                },
330                "Accuracy": {
331                    "deprecated": "This property has been deprecated in favor of ReadingAccuracy.",
332                    "description": "The estimated percent error of measured versus actual values.",
333                    "longDescription": "This property shall contain the percent error +/- of the measured versus actual values of the `Reading` property.",
334                    "readonly": true,
335                    "type": [
336                        "number",
337                        "null"
338                    ],
339                    "units": "%",
340                    "versionDeprecated": "v1_8_0"
341                },
342                "Actions": {
343                    "$ref": "#/definitions/Actions",
344                    "description": "The available actions for this resource.",
345                    "longDescription": "This property shall contain the available actions for this resource."
346                },
347                "AdjustedMaxAllowableOperatingValue": {
348                    "description": "The adjusted maximum allowable operating value for this equipment based on the environmental conditions.",
349                    "longDescription": "This property shall contain the adjusted maximum allowable operating value for the equipment that this sensor monitors, as specified by a standards body, manufacturer, or both.  The value is adjusted based on environmental conditions.  For example, liquid inlet temperature can be adjusted based on the available liquid pressure.",
350                    "readonly": true,
351                    "type": [
352                        "number",
353                        "null"
354                    ]
355                },
356                "AdjustedMinAllowableOperatingValue": {
357                    "description": "The adjusted minimum allowable operating value for this equipment based on the environmental conditions.",
358                    "longDescription": "This property shall contain the adjusted minimum allowable operating value for the equipment that this sensor monitors, as specified by a standards body, manufacturer, or both.  This value is adjusted based on environmental conditions.  For example, liquid inlet temperature can be adjusted based on the available liquid pressure.",
359                    "readonly": true,
360                    "type": [
361                        "number",
362                        "null"
363                    ]
364                },
365                "ApparentVA": {
366                    "description": "The product of voltage and current for an AC circuit, in volt-ampere units.",
367                    "excerpt": "SensorPower,SensorPowerArray",
368                    "longDescription": "This property shall contain the product of voltage (RMS) multiplied by current (RMS) for a circuit.  This property can appear in sensors of the `Power` `ReadingType`, and shall not appear in sensors of other `ReadingType` values.",
369                    "readonly": true,
370                    "type": [
371                        "number",
372                        "null"
373                    ],
374                    "units": "V.A"
375                },
376                "ApparentkVAh": {
377                    "description": "Apparent energy (kVAh).",
378                    "excerpt": "SensorEnergykWh",
379                    "longDescription": "This property shall contain the apparent energy, in kilovolt-ampere-hour units, for an electrical energy measurement.  This property can appear in sensors with a `ReadingType` containing `EnergykWh`, and shall not appear in sensors with other `ReadingType` values.",
380                    "readonly": true,
381                    "type": [
382                        "number",
383                        "null"
384                    ],
385                    "units": "kV.A.h",
386                    "versionAdded": "v1_5_0"
387                },
388                "AverageReading": {
389                    "description": "The average sensor value.",
390                    "longDescription": "This property shall contain the average sensor value over the time specified by the value of the `AveragingInterval` property.  The value shall be reset by the `ResetMetrics` action or by a service reset of time-based property values.",
391                    "readonly": true,
392                    "type": [
393                        "number",
394                        "null"
395                    ],
396                    "versionAdded": "v1_4_0"
397                },
398                "AveragingInterval": {
399                    "description": "The interval over which the average sensor value is calculated.",
400                    "longDescription": "This property shall contain the interval over which the sensor value is averaged to produce the value of the `AverageReading` property.  This property shall only be present if the `AverageReading` property is present.",
401                    "pattern": "^P(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(.\\d+)?S)?)?$",
402                    "readonly": false,
403                    "type": [
404                        "string",
405                        "null"
406                    ],
407                    "versionAdded": "v1_4_0"
408                },
409                "AveragingIntervalAchieved": {
410                    "description": "Indicates that enough readings were collected to calculate the average sensor reading over the averaging interval time.",
411                    "longDescription": "This property shall indicate that enough readings were collected to calculate the `AverageReading` value over the interval specified by the `AveragingInterval` property.  The value shall be reset by the `ResetMetrics` action.  This property shall only be present if the `AveragingInterval` property is present.",
412                    "readonly": true,
413                    "type": [
414                        "boolean",
415                        "null"
416                    ],
417                    "versionAdded": "v1_4_0"
418                },
419                "Calibration": {
420                    "description": "The calibration offset applied to the Reading.",
421                    "longDescription": "This property shall contain the offset applied to the raw sensor value to provide a calibrated value for the sensor as returned by the `Reading` property.  The value of this property shall follow the units of the `Reading` property for this sensor instance.  Updating the value of this property shall not affect the value of the `CalibrationTime` property.",
422                    "readonly": false,
423                    "type": [
424                        "number",
425                        "null"
426                    ],
427                    "versionAdded": "v1_4_0"
428                },
429                "CalibrationTime": {
430                    "description": "The date and time that the sensor was last calibrated.",
431                    "format": "date-time",
432                    "longDescription": "This property shall contain the date and time that the sensor was last calibrated.  This property is intended to reflect the actual time the calibration occurred.",
433                    "readonly": false,
434                    "type": [
435                        "string",
436                        "null"
437                    ],
438                    "versionAdded": "v1_4_0"
439                },
440                "CrestFactor": {
441                    "description": "The crest factor for this sensor.",
442                    "excerpt": "SensorCurrent,SensorVoltage",
443                    "longDescription": "This property shall contain the ratio of the peak measurement divided by the RMS measurement and calculated over same N line cycles.  A sine wave would have a value of 1.414.",
444                    "readonly": true,
445                    "type": [
446                        "number",
447                        "null"
448                    ],
449                    "versionAdded": "v1_1_0"
450                },
451                "Description": {
452                    "anyOf": [
453                        {
454                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
455                        },
456                        {
457                            "type": "null"
458                        }
459                    ],
460                    "readonly": true
461                },
462                "ElectricalContext": {
463                    "anyOf": [
464                        {
465                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/ElectricalContext"
466                        },
467                        {
468                            "type": "null"
469                        }
470                    ],
471                    "description": "The combination of current-carrying conductors.",
472                    "longDescription": "This property shall represent the combination of current-carrying conductors that distribute power.",
473                    "readonly": true
474                },
475                "Enabled": {
476                    "description": "Indicates whether the sensor is enabled and provides a reading.",
477                    "longDescription": "This property shall indicate whether the sensor is enabled and provides a `Reading`.  The value `true` shall indicate the sensor is enabled and returns the `Reading` property with a valid value.  The value `false` shall indicate the sensor is disabled, shall not return the `Reading` property, and shall not trigger events, logging, or other functionality.  This property allows a user to disable a faulty sensor or to otherwise remove it from use.",
478                    "readonly": false,
479                    "type": [
480                        "boolean",
481                        "null"
482                    ],
483                    "versionAdded": "v1_10_0"
484                },
485                "Id": {
486                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
487                    "readonly": true
488                },
489                "Implementation": {
490                    "anyOf": [
491                        {
492                            "$ref": "#/definitions/ImplementationType"
493                        },
494                        {
495                            "type": "null"
496                        }
497                    ],
498                    "description": "The implementation of the sensor.",
499                    "longDescription": "This property shall contain the implementation of the sensor.",
500                    "readonly": true,
501                    "versionAdded": "v1_1_0"
502                },
503                "LifetimeReading": {
504                    "description": "The total accumulation value for this sensor.",
505                    "excerpt": "SensorEnergykWh",
506                    "longDescription": "This property shall contain the total accumulation of the `Reading` property over the sensor's lifetime.  This value shall not be reset by the `ResetMetrics` action.",
507                    "readonly": true,
508                    "type": [
509                        "number",
510                        "null"
511                    ],
512                    "versionAdded": "v1_1_0"
513                },
514                "LifetimeStartDateTime": {
515                    "description": "The date and time when the sensor started accumulating readings for the `LifetimeReading` property.",
516                    "format": "date-time",
517                    "longDescription": "This property shall contain the date and time when the sensor started accumulating readings for the `LifetimeReading` property.  This might contain the same value as the production date of the device that contains this sensor.",
518                    "readonly": true,
519                    "type": [
520                        "string",
521                        "null"
522                    ],
523                    "versionAdded": "v1_9_0"
524                },
525                "Links": {
526                    "$ref": "#/definitions/Links",
527                    "description": "The links to other resources that are related to this resource.",
528                    "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource.",
529                    "versionAdded": "v1_3_0"
530                },
531                "LoadPercent": {
532                    "deprecated": "This property has been deprecated in favor of using a sensor instance with a `ReadingType` of `Percent` to show utilization values when needed.",
533                    "description": "The power load utilization for this sensor.",
534                    "longDescription": "This property shall indicate the power load utilization percent for this sensor.  This property can appear in sensors of the `Power` `ReadingType`, and shall not appear in sensors of other `ReadingType` values.",
535                    "readonly": true,
536                    "type": [
537                        "number",
538                        "null"
539                    ],
540                    "units": "%",
541                    "versionDeprecated": "v1_1_0"
542                },
543                "Location": {
544                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location",
545                    "description": "The location information for this sensor.",
546                    "longDescription": "This property shall indicate the location information for this sensor."
547                },
548                "LowestReading": {
549                    "description": "The lowest sensor value.",
550                    "longDescription": "This property shall contain the lowest sensor value since the last `ResetMetrics` action was performed or since the service last reset the time-based property values.",
551                    "readonly": true,
552                    "type": [
553                        "number",
554                        "null"
555                    ],
556                    "versionAdded": "v1_4_0"
557                },
558                "LowestReadingTime": {
559                    "description": "The time when the lowest sensor value occurred.",
560                    "format": "date-time",
561                    "longDescription": "This property shall contain the date and time when the lowest sensor value was observed, as reported as the value of `LowestReading`.",
562                    "readonly": true,
563                    "type": [
564                        "string",
565                        "null"
566                    ],
567                    "versionAdded": "v1_4_0"
568                },
569                "Manufacturer": {
570                    "description": "The manufacturer of this sensor.",
571                    "longDescription": "This property shall contain the name of the organization responsible for producing the sensor.  This organization may be the entity from whom the sensor is purchased, but this is not necessarily true.  This property is generally used only for replaceable or user-configurable sensors.",
572                    "readonly": true,
573                    "type": [
574                        "string",
575                        "null"
576                    ],
577                    "versionAdded": "v1_9_0"
578                },
579                "MaxAllowableOperatingValue": {
580                    "description": "The maximum allowable operating value for this equipment.",
581                    "longDescription": "This property shall contain the maximum allowable operating value for the equipment that this sensor monitors, as specified by a standards body, manufacturer, or both.",
582                    "readonly": true,
583                    "type": [
584                        "number",
585                        "null"
586                    ]
587                },
588                "MinAllowableOperatingValue": {
589                    "description": "The minimum allowable operating value for this equipment.",
590                    "longDescription": "This property shall contain the minimum allowable operating value for the equipment that this sensor monitors, as specified by a standards body, manufacturer, or both.",
591                    "readonly": true,
592                    "type": [
593                        "number",
594                        "null"
595                    ]
596                },
597                "Model": {
598                    "description": "The model number of the sensor.",
599                    "longDescription": "This property shall contain the name by which the manufacturer generally refers to the sensor.  This property is generally used only for replaceable or user-configurable sensors.",
600                    "readonly": true,
601                    "type": [
602                        "string",
603                        "null"
604                    ],
605                    "versionAdded": "v1_9_0"
606                },
607                "Name": {
608                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
609                    "readonly": true
610                },
611                "Oem": {
612                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
613                    "description": "The OEM extension property.",
614                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
615                },
616                "PartNumber": {
617                    "description": "The part number of the sensor.",
618                    "longDescription": "This property shall contain a part number assigned by the organization that is responsible for producing or manufacturing the sensor.  This property is generally used only for replaceable or user-configurable sensors.",
619                    "readonly": true,
620                    "type": [
621                        "string",
622                        "null"
623                    ],
624                    "versionAdded": "v1_9_0"
625                },
626                "PeakReading": {
627                    "description": "The peak sensor value.",
628                    "longDescription": "This property shall contain the peak sensor value since the last `ResetMetrics` action was performed or since the service last reset the time-based property values.",
629                    "readonly": true,
630                    "type": [
631                        "number",
632                        "null"
633                    ]
634                },
635                "PeakReadingTime": {
636                    "description": "The time when the peak sensor value occurred.",
637                    "format": "date-time",
638                    "longDescription": "This property shall contain the date and time when the peak sensor value was observed, as reported as the value of `PeakReading`.",
639                    "readonly": true,
640                    "type": [
641                        "string",
642                        "null"
643                    ]
644                },
645                "PhaseAngleDegrees": {
646                    "description": "The phase angle (degrees) between the current and voltage waveforms.",
647                    "excerpt": "SensorPower,SensorPowerArray",
648                    "longDescription": "This property shall contain the phase angle, in degree units, between the current and voltage waveforms for an electrical measurement.  This property can appear in sensors with a `ReadingType` containing `Power`, and shall not appear in sensors with other `ReadingType` values.",
649                    "maximum": 90,
650                    "minimum": -90,
651                    "readonly": true,
652                    "type": [
653                        "number",
654                        "null"
655                    ],
656                    "versionAdded": "v1_5_0"
657                },
658                "PhysicalContext": {
659                    "anyOf": [
660                        {
661                            "$ref": "http://redfish.dmtf.org/schemas/v1/PhysicalContext.json#/definitions/PhysicalContext"
662                        },
663                        {
664                            "type": "null"
665                        }
666                    ],
667                    "description": "The area or device to which this sensor measurement applies.",
668                    "excerpt": "SensorArray,SensorFanArray,SensorPowerArray",
669                    "longDescription": "This property shall contain a description of the affected component or region within the equipment to which this sensor measurement applies.",
670                    "readonly": true
671                },
672                "PhysicalSubContext": {
673                    "anyOf": [
674                        {
675                            "$ref": "http://redfish.dmtf.org/schemas/v1/PhysicalContext.json#/definitions/PhysicalSubContext"
676                        },
677                        {
678                            "type": "null"
679                        }
680                    ],
681                    "description": "The usage or location within a device to which this sensor measurement applies.",
682                    "excerpt": "SensorArray,SensorFanArray,SensorPowerArray",
683                    "longDescription": "This property shall contain a description of the usage or sub-region within the equipment to which this sensor measurement applies.  This property generally differentiates multiple sensors within the same `PhysicalContext` instance.",
684                    "readonly": true
685                },
686                "PowerFactor": {
687                    "description": "The power factor for this sensor.",
688                    "excerpt": "SensorPower,SensorPowerArray",
689                    "longDescription": "This property shall identify the quotient of real power (W) and apparent power (VA) for a circuit.  `PowerFactor` is expressed in unit-less 1/100ths.  This property can appear in sensors containing a `ReadingType` value of `Power`, and shall not appear in sensors of other `ReadingType` values.",
690                    "maximum": 1,
691                    "minimum": -1,
692                    "readonly": true,
693                    "type": [
694                        "number",
695                        "null"
696                    ]
697                },
698                "Precision": {
699                    "description": "The number of significant digits in the reading.",
700                    "longDescription": "This property shall contain the number of significant digits in the `Reading` property.",
701                    "readonly": true,
702                    "type": [
703                        "number",
704                        "null"
705                    ]
706                },
707                "ReactiveVAR": {
708                    "description": "The square root of the difference term of squared apparent VA and squared power (Reading) for a circuit, in VAR units.",
709                    "excerpt": "SensorPower,SensorPowerArray",
710                    "longDescription": "This property shall contain the arithmetic mean of product terms of instantaneous voltage and quadrature current measurements calculated over an integer number of line cycles for a circuit.  This property can appear in sensors of the `Power` `ReadingType`, and shall not appear in sensors of other `ReadingType` values.",
711                    "readonly": true,
712                    "type": [
713                        "number",
714                        "null"
715                    ],
716                    "units": "V.A"
717                },
718                "ReactivekVARh": {
719                    "description": "Reactive energy (kVARh).",
720                    "excerpt": "SensorEnergykWh",
721                    "longDescription": "This property shall contain the reactive energy, in kilovolt-ampere-hours (reactive) units, for an electrical energy measurement.  This property can appear in sensors with a `ReadingType` containing `EnergykWh`, and shall not appear in sensors with other `ReadingType` values.",
722                    "readonly": true,
723                    "type": [
724                        "number",
725                        "null"
726                    ],
727                    "units": "kV.A.h",
728                    "versionAdded": "v1_5_0"
729                },
730                "Reading": {
731                    "description": "The sensor value.",
732                    "excerpt": "Sensor",
733                    "longDescription": "This property shall contain the sensor value.  This property shall not be returned if the `Enabled` property is supported and contains `false`.",
734                    "readonly": true,
735                    "type": [
736                        "number",
737                        "null"
738                    ]
739                },
740                "ReadingAccuracy": {
741                    "description": "Accuracy (+/-) of the reading.",
742                    "longDescription": "This property shall contain the accuracy of the value of the `Reading` property for this sensor.  The value shall be the absolute value of the maximum deviation of the `Reading` from its actual value.  The value shall be in units that follow the `ReadingUnits` for this sensor.",
743                    "readonly": true,
744                    "type": [
745                        "number",
746                        "null"
747                    ],
748                    "versionAdded": "v1_8_0"
749                },
750                "ReadingBasis": {
751                    "anyOf": [
752                        {
753                            "$ref": "#/definitions/ReadingBasisType"
754                        },
755                        {
756                            "type": "null"
757                        }
758                    ],
759                    "description": "The basis for the reading of this sensor.",
760                    "longDescription": "This property shall indicate the basis or frame of reference for the value of the `Reading` property.  If this property is not present, the value shall be assumed to be `Zero`.",
761                    "readonly": true,
762                    "versionAdded": "v1_7_0"
763                },
764                "ReadingRangeMax": {
765                    "description": "The maximum possible value for this sensor.",
766                    "longDescription": "This property shall indicate the maximum possible value of the `Reading` property for this sensor.  This value is the range of valid readings for this sensor.  Values outside this range are discarded as reading errors.",
767                    "readonly": true,
768                    "type": [
769                        "number",
770                        "null"
771                    ]
772                },
773                "ReadingRangeMin": {
774                    "description": "The minimum possible value for this sensor.",
775                    "longDescription": "This property shall indicate the minimum possible value of the `Reading` property for this sensor.  This value is the range of valid readings for this sensor.  Values outside this range are discarded as reading errors.",
776                    "readonly": true,
777                    "type": [
778                        "number",
779                        "null"
780                    ]
781                },
782                "ReadingTime": {
783                    "description": "The date and time that the reading was acquired from the sensor.",
784                    "format": "date-time",
785                    "longDescription": "This property shall contain the date and time that the reading data was acquired from the sensor.  This value is used to synchronize readings from multiple sensors and does not represent the time at which the resource was accessed.",
786                    "readonly": true,
787                    "type": [
788                        "string",
789                        "null"
790                    ],
791                    "versionAdded": "v1_1_0"
792                },
793                "ReadingType": {
794                    "anyOf": [
795                        {
796                            "$ref": "#/definitions/ReadingType"
797                        },
798                        {
799                            "type": "null"
800                        }
801                    ],
802                    "description": "The type of sensor.",
803                    "longDescription": "This property shall contain the type of the sensor.",
804                    "readonly": true
805                },
806                "ReadingUnits": {
807                    "description": "The units of the reading, thresholds, and other reading-related properties in UCUM c/s format.",
808                    "longDescription": "This property shall contain the units of the sensor's reading, thresholds, and other reading-related properties.  The value shall follow the case-sensitive symbol format defined by the Unified Code for Units of Measure (UCUM), as specified by the 'Units of measure annotation' clause of the Redfish Specification.",
809                    "readonly": true,
810                    "type": [
811                        "string",
812                        "null"
813                    ]
814                },
815                "RelatedItem": {
816                    "description": "An array of links to resources or objects that this sensor services.",
817                    "items": {
818                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/idRef"
819                    },
820                    "longDescription": "This property shall contain an array of links to resources or objects that this sensor services.",
821                    "readonly": true,
822                    "type": "array",
823                    "versionAdded": "v1_2_0"
824                },
825                "RelatedItem@odata.count": {
826                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
827                },
828                "SKU": {
829                    "description": "The SKU of the sensor.",
830                    "longDescription": "This property shall contain the stock-keeping unit number for this sensor.  This property is generally used only for replaceable or user-configurable sensors.",
831                    "readonly": true,
832                    "type": [
833                        "string",
834                        "null"
835                    ],
836                    "versionAdded": "v1_9_0"
837                },
838                "SensingFrequency": {
839                    "deprecated": "This property has been deprecated in favor of the `SensingInterval` property, which uses the duration time format for interoperability.",
840                    "description": "The time interval between readings of the physical sensor.",
841                    "longDescription": "This property shall contain the time interval between readings of the physical sensor.",
842                    "readonly": true,
843                    "type": [
844                        "number",
845                        "null"
846                    ],
847                    "versionDeprecated": "v1_1_0"
848                },
849                "SensingInterval": {
850                    "description": "The time interval between readings of the sensor.",
851                    "longDescription": "This property shall contain the time interval between readings of data from the sensor.",
852                    "pattern": "^P(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(.\\d+)?S)?)?$",
853                    "readonly": true,
854                    "type": [
855                        "string",
856                        "null"
857                    ],
858                    "versionAdded": "v1_1_0"
859                },
860                "SensorGroup": {
861                    "$ref": "http://redfish.dmtf.org/schemas/v1/Redundancy.json#/definitions/RedundantGroup",
862                    "description": "The group of sensors that provide readings for this sensor.",
863                    "longDescription": "This property shall contain information for a group of sensors that provide input for the value of this sensor's reading.  If this property is present, the `Implementation` property shall contain the value `Synthesized`.  The group may be created for redundancy or to improve the accuracy of the reading through multiple sensor inputs.",
864                    "versionAdded": "v1_4_0"
865                },
866                "SensorResetTime": {
867                    "description": "The date and time when the time-based properties were last reset.",
868                    "excerpt": "SensorEnergykWh",
869                    "format": "date-time",
870                    "longDescription": "This property shall contain the date and time when the `ResetMetrics` action was last performed or when the service last reset the time-based property values.",
871                    "readonly": true,
872                    "type": [
873                        "string",
874                        "null"
875                    ]
876                },
877                "SerialNumber": {
878                    "description": "The serial number of the sensor.",
879                    "longDescription": "This property shall contain a manufacturer-allocated number that identifies the sensor.  This property is generally used only for replaceable or user-configurable sensors.",
880                    "readonly": true,
881                    "type": [
882                        "string",
883                        "null"
884                    ],
885                    "versionAdded": "v1_9_0"
886                },
887                "SparePartNumber": {
888                    "description": "The spare part number of the sensor.",
889                    "longDescription": "This property shall contain the spare part number of the sensor.  This property is generally used only for replaceable or user-configurable sensors.",
890                    "readonly": true,
891                    "type": [
892                        "string",
893                        "null"
894                    ],
895                    "versionAdded": "v1_9_0"
896                },
897                "SpeedRPM": {
898                    "description": "The rotational speed.",
899                    "excerpt": "SensorFan,SensorFanArray,SensorPump",
900                    "longDescription": "This property shall contain a reading of the rotational speed of the device in revolutions per minute (RPM) units.",
901                    "readonly": true,
902                    "type": [
903                        "number",
904                        "null"
905                    ],
906                    "units": "{rev}/min",
907                    "versionAdded": "v1_2_0"
908                },
909                "Status": {
910                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
911                    "description": "The status and health of the resource and its subordinate or dependent resources.",
912                    "longDescription": "This property shall contain any status or health properties of the resource."
913                },
914                "THDPercent": {
915                    "description": "The total harmonic distortion percent (% THD).",
916                    "excerpt": "SensorCurrent,SensorVoltage",
917                    "longDescription": "This property shall contain the total harmonic distortion of the `Reading` property in percent units, typically `0` to `100`.",
918                    "minimum": 0,
919                    "readonly": true,
920                    "type": [
921                        "number",
922                        "null"
923                    ],
924                    "units": "%",
925                    "versionAdded": "v1_1_0"
926                },
927                "Thresholds": {
928                    "$ref": "#/definitions/Thresholds",
929                    "description": "The set of thresholds defined for this sensor.",
930                    "longDescription": "This property shall contain the set of thresholds that derive a sensor's health and operational range."
931                },
932                "UserLabel": {
933                    "description": "A user-assigned label.",
934                    "longDescription": "This property shall contain a user-assigned label used to identify this resource.  This property shall only be present if the sensor can be configured for different purposes, or is dependent on configuration or end-user settings.  This property shall not be present for embedded sensors with defined functions that cannot be altered.  If a value has not been assigned by a user, the value of this property shall be an empty string.",
935                    "readonly": false,
936                    "type": "string",
937                    "versionAdded": "v1_9_0"
938                },
939                "VoltageType": {
940                    "anyOf": [
941                        {
942                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/VoltageType"
943                        },
944                        {
945                            "type": "null"
946                        }
947                    ],
948                    "description": "The voltage type for this sensor.",
949                    "longDescription": "This property shall represent the type of input voltage the sensor monitors.",
950                    "readonly": true
951                }
952            },
953            "required": [
954                "@odata.id",
955                "@odata.type",
956                "Id",
957                "Name"
958            ],
959            "type": "object"
960        },
961        "SensorArrayExcerpt": {
962            "additionalProperties": false,
963            "description": "The `Sensor` schema describes a sensor and its properties.",
964            "excerpt": "SensorArray",
965            "longDescription": "This resource shall represent a sensor for a Redfish implementation.",
966            "patternProperties": {
967                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
968                    "description": "This property shall specify a valid odata or Redfish property.",
969                    "type": [
970                        "array",
971                        "boolean",
972                        "integer",
973                        "number",
974                        "null",
975                        "object",
976                        "string"
977                    ]
978                }
979            },
980            "properties": {
981                "DataSourceUri": {
982                    "description": "The link to the resource that provides the data for this sensor.",
983                    "excerptCopyOnly": true,
984                    "format": "uri-reference",
985                    "longDescription": "This property shall contain a URI to the resource that provides the source of the excerpt contained within this copy.",
986                    "readonly": true,
987                    "type": [
988                        "string",
989                        "null"
990                    ]
991                },
992                "DeviceName": {
993                    "description": "The name of the device.",
994                    "excerpt": "SensorArray,SensorFanArray",
995                    "excerptCopyOnly": true,
996                    "longDescription": "This property shall contain the name of the device associated with this sensor.  If the device is represented by a resource, the value shall contain the value of the `Name` property of the associated resource.",
997                    "readonly": true,
998                    "type": [
999                        "string",
1000                        "null"
1001                    ],
1002                    "versionAdded": "v1_2_0"
1003                },
1004                "PhysicalContext": {
1005                    "anyOf": [
1006                        {
1007                            "$ref": "http://redfish.dmtf.org/schemas/v1/PhysicalContext.json#/definitions/PhysicalContext"
1008                        },
1009                        {
1010                            "type": "null"
1011                        }
1012                    ],
1013                    "description": "The area or device to which this sensor measurement applies.",
1014                    "excerpt": "SensorArray,SensorFanArray,SensorPowerArray",
1015                    "longDescription": "This property shall contain a description of the affected component or region within the equipment to which this sensor measurement applies.",
1016                    "readonly": true
1017                },
1018                "PhysicalSubContext": {
1019                    "anyOf": [
1020                        {
1021                            "$ref": "http://redfish.dmtf.org/schemas/v1/PhysicalContext.json#/definitions/PhysicalSubContext"
1022                        },
1023                        {
1024                            "type": "null"
1025                        }
1026                    ],
1027                    "description": "The usage or location within a device to which this sensor measurement applies.",
1028                    "excerpt": "SensorArray,SensorFanArray,SensorPowerArray",
1029                    "longDescription": "This property shall contain a description of the usage or sub-region within the equipment to which this sensor measurement applies.  This property generally differentiates multiple sensors within the same `PhysicalContext` instance.",
1030                    "readonly": true
1031                },
1032                "Reading": {
1033                    "description": "The sensor value.",
1034                    "excerpt": "Sensor",
1035                    "longDescription": "This property shall contain the sensor value.  This property shall not be returned if the `Enabled` property is supported and contains `false`.",
1036                    "readonly": true,
1037                    "type": [
1038                        "number",
1039                        "null"
1040                    ]
1041                }
1042            },
1043            "type": "object"
1044        },
1045        "SensorCurrentExcerpt": {
1046            "additionalProperties": false,
1047            "description": "The `Sensor` schema describes a sensor and its properties.",
1048            "excerpt": "SensorCurrent",
1049            "longDescription": "This resource shall represent a sensor for a Redfish implementation.",
1050            "patternProperties": {
1051                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
1052                    "description": "This property shall specify a valid odata or Redfish property.",
1053                    "type": [
1054                        "array",
1055                        "boolean",
1056                        "integer",
1057                        "number",
1058                        "null",
1059                        "object",
1060                        "string"
1061                    ]
1062                }
1063            },
1064            "properties": {
1065                "CrestFactor": {
1066                    "description": "The crest factor for this sensor.",
1067                    "excerpt": "SensorCurrent,SensorVoltage",
1068                    "longDescription": "This property shall contain the ratio of the peak measurement divided by the RMS measurement and calculated over same N line cycles.  A sine wave would have a value of 1.414.",
1069                    "readonly": true,
1070                    "type": [
1071                        "number",
1072                        "null"
1073                    ],
1074                    "versionAdded": "v1_1_0"
1075                },
1076                "DataSourceUri": {
1077                    "description": "The link to the resource that provides the data for this sensor.",
1078                    "excerptCopyOnly": true,
1079                    "format": "uri-reference",
1080                    "longDescription": "This property shall contain a URI to the resource that provides the source of the excerpt contained within this copy.",
1081                    "readonly": true,
1082                    "type": [
1083                        "string",
1084                        "null"
1085                    ]
1086                },
1087                "Reading": {
1088                    "description": "The sensor value.",
1089                    "excerpt": "Sensor",
1090                    "longDescription": "This property shall contain the sensor value.  This property shall not be returned if the `Enabled` property is supported and contains `false`.",
1091                    "readonly": true,
1092                    "type": [
1093                        "number",
1094                        "null"
1095                    ]
1096                },
1097                "THDPercent": {
1098                    "description": "The total harmonic distortion percent (% THD).",
1099                    "excerpt": "SensorCurrent,SensorVoltage",
1100                    "longDescription": "This property shall contain the total harmonic distortion of the `Reading` property in percent units, typically `0` to `100`.",
1101                    "minimum": 0,
1102                    "readonly": true,
1103                    "type": [
1104                        "number",
1105                        "null"
1106                    ],
1107                    "units": "%",
1108                    "versionAdded": "v1_1_0"
1109                }
1110            },
1111            "type": "object"
1112        },
1113        "SensorEnergykWhExcerpt": {
1114            "additionalProperties": false,
1115            "description": "The `Sensor` schema describes a sensor and its properties.",
1116            "excerpt": "SensorEnergykWh",
1117            "longDescription": "This resource shall represent a sensor for a Redfish implementation.",
1118            "patternProperties": {
1119                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
1120                    "description": "This property shall specify a valid odata or Redfish property.",
1121                    "type": [
1122                        "array",
1123                        "boolean",
1124                        "integer",
1125                        "number",
1126                        "null",
1127                        "object",
1128                        "string"
1129                    ]
1130                }
1131            },
1132            "properties": {
1133                "ApparentkVAh": {
1134                    "description": "Apparent energy (kVAh).",
1135                    "excerpt": "SensorEnergykWh",
1136                    "longDescription": "This property shall contain the apparent energy, in kilovolt-ampere-hour units, for an electrical energy measurement.  This property can appear in sensors with a `ReadingType` containing `EnergykWh`, and shall not appear in sensors with other `ReadingType` values.",
1137                    "readonly": true,
1138                    "type": [
1139                        "number",
1140                        "null"
1141                    ],
1142                    "units": "kV.A.h",
1143                    "versionAdded": "v1_5_0"
1144                },
1145                "DataSourceUri": {
1146                    "description": "The link to the resource that provides the data for this sensor.",
1147                    "excerptCopyOnly": true,
1148                    "format": "uri-reference",
1149                    "longDescription": "This property shall contain a URI to the resource that provides the source of the excerpt contained within this copy.",
1150                    "readonly": true,
1151                    "type": [
1152                        "string",
1153                        "null"
1154                    ]
1155                },
1156                "LifetimeReading": {
1157                    "description": "The total accumulation value for this sensor.",
1158                    "excerpt": "SensorEnergykWh",
1159                    "longDescription": "This property shall contain the total accumulation of the `Reading` property over the sensor's lifetime.  This value shall not be reset by the `ResetMetrics` action.",
1160                    "readonly": true,
1161                    "type": [
1162                        "number",
1163                        "null"
1164                    ],
1165                    "versionAdded": "v1_1_0"
1166                },
1167                "ReactivekVARh": {
1168                    "description": "Reactive energy (kVARh).",
1169                    "excerpt": "SensorEnergykWh",
1170                    "longDescription": "This property shall contain the reactive energy, in kilovolt-ampere-hours (reactive) units, for an electrical energy measurement.  This property can appear in sensors with a `ReadingType` containing `EnergykWh`, and shall not appear in sensors with other `ReadingType` values.",
1171                    "readonly": true,
1172                    "type": [
1173                        "number",
1174                        "null"
1175                    ],
1176                    "units": "kV.A.h",
1177                    "versionAdded": "v1_5_0"
1178                },
1179                "Reading": {
1180                    "description": "The sensor value.",
1181                    "excerpt": "Sensor",
1182                    "longDescription": "This property shall contain the sensor value.  This property shall not be returned if the `Enabled` property is supported and contains `false`.",
1183                    "readonly": true,
1184                    "type": [
1185                        "number",
1186                        "null"
1187                    ]
1188                },
1189                "SensorResetTime": {
1190                    "description": "The date and time when the time-based properties were last reset.",
1191                    "excerpt": "SensorEnergykWh",
1192                    "format": "date-time",
1193                    "longDescription": "This property shall contain the date and time when the `ResetMetrics` action was last performed or when the service last reset the time-based property values.",
1194                    "readonly": true,
1195                    "type": [
1196                        "string",
1197                        "null"
1198                    ]
1199                }
1200            },
1201            "type": "object"
1202        },
1203        "SensorExcerpt": {
1204            "additionalProperties": false,
1205            "description": "The `Sensor` schema describes a sensor and its properties.",
1206            "excerpt": "Sensor",
1207            "longDescription": "This resource shall represent a sensor for a Redfish implementation.",
1208            "patternProperties": {
1209                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
1210                    "description": "This property shall specify a valid odata or Redfish property.",
1211                    "type": [
1212                        "array",
1213                        "boolean",
1214                        "integer",
1215                        "number",
1216                        "null",
1217                        "object",
1218                        "string"
1219                    ]
1220                }
1221            },
1222            "properties": {
1223                "DataSourceUri": {
1224                    "description": "The link to the resource that provides the data for this sensor.",
1225                    "excerptCopyOnly": true,
1226                    "format": "uri-reference",
1227                    "longDescription": "This property shall contain a URI to the resource that provides the source of the excerpt contained within this copy.",
1228                    "readonly": true,
1229                    "type": [
1230                        "string",
1231                        "null"
1232                    ]
1233                },
1234                "Reading": {
1235                    "description": "The sensor value.",
1236                    "excerpt": "Sensor",
1237                    "longDescription": "This property shall contain the sensor value.  This property shall not be returned if the `Enabled` property is supported and contains `false`.",
1238                    "readonly": true,
1239                    "type": [
1240                        "number",
1241                        "null"
1242                    ]
1243                }
1244            },
1245            "type": "object"
1246        },
1247        "SensorFanArrayExcerpt": {
1248            "additionalProperties": false,
1249            "description": "The `Sensor` schema describes a sensor and its properties.",
1250            "excerpt": "SensorFanArray",
1251            "longDescription": "This resource shall represent a sensor for a Redfish implementation.",
1252            "patternProperties": {
1253                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
1254                    "description": "This property shall specify a valid odata or Redfish property.",
1255                    "type": [
1256                        "array",
1257                        "boolean",
1258                        "integer",
1259                        "number",
1260                        "null",
1261                        "object",
1262                        "string"
1263                    ]
1264                }
1265            },
1266            "properties": {
1267                "DataSourceUri": {
1268                    "description": "The link to the resource that provides the data for this sensor.",
1269                    "excerptCopyOnly": true,
1270                    "format": "uri-reference",
1271                    "longDescription": "This property shall contain a URI to the resource that provides the source of the excerpt contained within this copy.",
1272                    "readonly": true,
1273                    "type": [
1274                        "string",
1275                        "null"
1276                    ]
1277                },
1278                "DeviceName": {
1279                    "description": "The name of the device.",
1280                    "excerpt": "SensorArray,SensorFanArray",
1281                    "excerptCopyOnly": true,
1282                    "longDescription": "This property shall contain the name of the device associated with this sensor.  If the device is represented by a resource, the value shall contain the value of the `Name` property of the associated resource.",
1283                    "readonly": true,
1284                    "type": [
1285                        "string",
1286                        "null"
1287                    ],
1288                    "versionAdded": "v1_2_0"
1289                },
1290                "PhysicalContext": {
1291                    "anyOf": [
1292                        {
1293                            "$ref": "http://redfish.dmtf.org/schemas/v1/PhysicalContext.json#/definitions/PhysicalContext"
1294                        },
1295                        {
1296                            "type": "null"
1297                        }
1298                    ],
1299                    "description": "The area or device to which this sensor measurement applies.",
1300                    "excerpt": "SensorArray,SensorFanArray,SensorPowerArray",
1301                    "longDescription": "This property shall contain a description of the affected component or region within the equipment to which this sensor measurement applies.",
1302                    "readonly": true
1303                },
1304                "PhysicalSubContext": {
1305                    "anyOf": [
1306                        {
1307                            "$ref": "http://redfish.dmtf.org/schemas/v1/PhysicalContext.json#/definitions/PhysicalSubContext"
1308                        },
1309                        {
1310                            "type": "null"
1311                        }
1312                    ],
1313                    "description": "The usage or location within a device to which this sensor measurement applies.",
1314                    "excerpt": "SensorArray,SensorFanArray,SensorPowerArray",
1315                    "longDescription": "This property shall contain a description of the usage or sub-region within the equipment to which this sensor measurement applies.  This property generally differentiates multiple sensors within the same `PhysicalContext` instance.",
1316                    "readonly": true
1317                },
1318                "Reading": {
1319                    "description": "The sensor value.",
1320                    "excerpt": "Sensor",
1321                    "longDescription": "This property shall contain the sensor value.  This property shall not be returned if the `Enabled` property is supported and contains `false`.",
1322                    "readonly": true,
1323                    "type": [
1324                        "number",
1325                        "null"
1326                    ]
1327                },
1328                "SpeedRPM": {
1329                    "description": "The rotational speed.",
1330                    "excerpt": "SensorFan,SensorFanArray,SensorPump",
1331                    "longDescription": "This property shall contain a reading of the rotational speed of the device in revolutions per minute (RPM) units.",
1332                    "readonly": true,
1333                    "type": [
1334                        "number",
1335                        "null"
1336                    ],
1337                    "units": "{rev}/min",
1338                    "versionAdded": "v1_2_0"
1339                }
1340            },
1341            "type": "object"
1342        },
1343        "SensorFanExcerpt": {
1344            "additionalProperties": false,
1345            "description": "The `Sensor` schema describes a sensor and its properties.",
1346            "excerpt": "SensorFan",
1347            "longDescription": "This resource shall represent a sensor for a Redfish implementation.",
1348            "patternProperties": {
1349                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
1350                    "description": "This property shall specify a valid odata or Redfish property.",
1351                    "type": [
1352                        "array",
1353                        "boolean",
1354                        "integer",
1355                        "number",
1356                        "null",
1357                        "object",
1358                        "string"
1359                    ]
1360                }
1361            },
1362            "properties": {
1363                "DataSourceUri": {
1364                    "description": "The link to the resource that provides the data for this sensor.",
1365                    "excerptCopyOnly": true,
1366                    "format": "uri-reference",
1367                    "longDescription": "This property shall contain a URI to the resource that provides the source of the excerpt contained within this copy.",
1368                    "readonly": true,
1369                    "type": [
1370                        "string",
1371                        "null"
1372                    ]
1373                },
1374                "Reading": {
1375                    "description": "The sensor value.",
1376                    "excerpt": "Sensor",
1377                    "longDescription": "This property shall contain the sensor value.  This property shall not be returned if the `Enabled` property is supported and contains `false`.",
1378                    "readonly": true,
1379                    "type": [
1380                        "number",
1381                        "null"
1382                    ]
1383                },
1384                "SpeedRPM": {
1385                    "description": "The rotational speed.",
1386                    "excerpt": "SensorFan,SensorFanArray,SensorPump",
1387                    "longDescription": "This property shall contain a reading of the rotational speed of the device in revolutions per minute (RPM) units.",
1388                    "readonly": true,
1389                    "type": [
1390                        "number",
1391                        "null"
1392                    ],
1393                    "units": "{rev}/min",
1394                    "versionAdded": "v1_2_0"
1395                }
1396            },
1397            "type": "object"
1398        },
1399        "SensorPowerArrayExcerpt": {
1400            "additionalProperties": false,
1401            "description": "The `Sensor` schema describes a sensor and its properties.",
1402            "excerpt": "SensorPowerArray",
1403            "longDescription": "This resource shall represent a sensor for a Redfish implementation.",
1404            "patternProperties": {
1405                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
1406                    "description": "This property shall specify a valid odata or Redfish property.",
1407                    "type": [
1408                        "array",
1409                        "boolean",
1410                        "integer",
1411                        "number",
1412                        "null",
1413                        "object",
1414                        "string"
1415                    ]
1416                }
1417            },
1418            "properties": {
1419                "ApparentVA": {
1420                    "description": "The product of voltage and current for an AC circuit, in volt-ampere units.",
1421                    "excerpt": "SensorPower,SensorPowerArray",
1422                    "longDescription": "This property shall contain the product of voltage (RMS) multiplied by current (RMS) for a circuit.  This property can appear in sensors of the `Power` `ReadingType`, and shall not appear in sensors of other `ReadingType` values.",
1423                    "readonly": true,
1424                    "type": [
1425                        "number",
1426                        "null"
1427                    ],
1428                    "units": "V.A"
1429                },
1430                "DataSourceUri": {
1431                    "description": "The link to the resource that provides the data for this sensor.",
1432                    "excerptCopyOnly": true,
1433                    "format": "uri-reference",
1434                    "longDescription": "This property shall contain a URI to the resource that provides the source of the excerpt contained within this copy.",
1435                    "readonly": true,
1436                    "type": [
1437                        "string",
1438                        "null"
1439                    ]
1440                },
1441                "PhaseAngleDegrees": {
1442                    "description": "The phase angle (degrees) between the current and voltage waveforms.",
1443                    "excerpt": "SensorPower,SensorPowerArray",
1444                    "longDescription": "This property shall contain the phase angle, in degree units, between the current and voltage waveforms for an electrical measurement.  This property can appear in sensors with a `ReadingType` containing `Power`, and shall not appear in sensors with other `ReadingType` values.",
1445                    "maximum": 90,
1446                    "minimum": -90,
1447                    "readonly": true,
1448                    "type": [
1449                        "number",
1450                        "null"
1451                    ],
1452                    "versionAdded": "v1_5_0"
1453                },
1454                "PhysicalContext": {
1455                    "anyOf": [
1456                        {
1457                            "$ref": "http://redfish.dmtf.org/schemas/v1/PhysicalContext.json#/definitions/PhysicalContext"
1458                        },
1459                        {
1460                            "type": "null"
1461                        }
1462                    ],
1463                    "description": "The area or device to which this sensor measurement applies.",
1464                    "excerpt": "SensorArray,SensorFanArray,SensorPowerArray",
1465                    "longDescription": "This property shall contain a description of the affected component or region within the equipment to which this sensor measurement applies.",
1466                    "readonly": true
1467                },
1468                "PhysicalSubContext": {
1469                    "anyOf": [
1470                        {
1471                            "$ref": "http://redfish.dmtf.org/schemas/v1/PhysicalContext.json#/definitions/PhysicalSubContext"
1472                        },
1473                        {
1474                            "type": "null"
1475                        }
1476                    ],
1477                    "description": "The usage or location within a device to which this sensor measurement applies.",
1478                    "excerpt": "SensorArray,SensorFanArray,SensorPowerArray",
1479                    "longDescription": "This property shall contain a description of the usage or sub-region within the equipment to which this sensor measurement applies.  This property generally differentiates multiple sensors within the same `PhysicalContext` instance.",
1480                    "readonly": true
1481                },
1482                "PowerFactor": {
1483                    "description": "The power factor for this sensor.",
1484                    "excerpt": "SensorPower,SensorPowerArray",
1485                    "longDescription": "This property shall identify the quotient of real power (W) and apparent power (VA) for a circuit.  `PowerFactor` is expressed in unit-less 1/100ths.  This property can appear in sensors containing a `ReadingType` value of `Power`, and shall not appear in sensors of other `ReadingType` values.",
1486                    "maximum": 1,
1487                    "minimum": -1,
1488                    "readonly": true,
1489                    "type": [
1490                        "number",
1491                        "null"
1492                    ]
1493                },
1494                "ReactiveVAR": {
1495                    "description": "The square root of the difference term of squared apparent VA and squared power (Reading) for a circuit, in VAR units.",
1496                    "excerpt": "SensorPower,SensorPowerArray",
1497                    "longDescription": "This property shall contain the arithmetic mean of product terms of instantaneous voltage and quadrature current measurements calculated over an integer number of line cycles for a circuit.  This property can appear in sensors of the `Power` `ReadingType`, and shall not appear in sensors of other `ReadingType` values.",
1498                    "readonly": true,
1499                    "type": [
1500                        "number",
1501                        "null"
1502                    ],
1503                    "units": "V.A"
1504                },
1505                "Reading": {
1506                    "description": "The sensor value.",
1507                    "excerpt": "Sensor",
1508                    "longDescription": "This property shall contain the sensor value.  This property shall not be returned if the `Enabled` property is supported and contains `false`.",
1509                    "readonly": true,
1510                    "type": [
1511                        "number",
1512                        "null"
1513                    ]
1514                }
1515            },
1516            "type": "object"
1517        },
1518        "SensorPowerExcerpt": {
1519            "additionalProperties": false,
1520            "description": "The `Sensor` schema describes a sensor and its properties.",
1521            "excerpt": "SensorPower",
1522            "longDescription": "This resource shall represent a sensor for a Redfish implementation.",
1523            "patternProperties": {
1524                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
1525                    "description": "This property shall specify a valid odata or Redfish property.",
1526                    "type": [
1527                        "array",
1528                        "boolean",
1529                        "integer",
1530                        "number",
1531                        "null",
1532                        "object",
1533                        "string"
1534                    ]
1535                }
1536            },
1537            "properties": {
1538                "ApparentVA": {
1539                    "description": "The product of voltage and current for an AC circuit, in volt-ampere units.",
1540                    "excerpt": "SensorPower,SensorPowerArray",
1541                    "longDescription": "This property shall contain the product of voltage (RMS) multiplied by current (RMS) for a circuit.  This property can appear in sensors of the `Power` `ReadingType`, and shall not appear in sensors of other `ReadingType` values.",
1542                    "readonly": true,
1543                    "type": [
1544                        "number",
1545                        "null"
1546                    ],
1547                    "units": "V.A"
1548                },
1549                "DataSourceUri": {
1550                    "description": "The link to the resource that provides the data for this sensor.",
1551                    "excerptCopyOnly": true,
1552                    "format": "uri-reference",
1553                    "longDescription": "This property shall contain a URI to the resource that provides the source of the excerpt contained within this copy.",
1554                    "readonly": true,
1555                    "type": [
1556                        "string",
1557                        "null"
1558                    ]
1559                },
1560                "PhaseAngleDegrees": {
1561                    "description": "The phase angle (degrees) between the current and voltage waveforms.",
1562                    "excerpt": "SensorPower,SensorPowerArray",
1563                    "longDescription": "This property shall contain the phase angle, in degree units, between the current and voltage waveforms for an electrical measurement.  This property can appear in sensors with a `ReadingType` containing `Power`, and shall not appear in sensors with other `ReadingType` values.",
1564                    "maximum": 90,
1565                    "minimum": -90,
1566                    "readonly": true,
1567                    "type": [
1568                        "number",
1569                        "null"
1570                    ],
1571                    "versionAdded": "v1_5_0"
1572                },
1573                "PowerFactor": {
1574                    "description": "The power factor for this sensor.",
1575                    "excerpt": "SensorPower,SensorPowerArray",
1576                    "longDescription": "This property shall identify the quotient of real power (W) and apparent power (VA) for a circuit.  `PowerFactor` is expressed in unit-less 1/100ths.  This property can appear in sensors containing a `ReadingType` value of `Power`, and shall not appear in sensors of other `ReadingType` values.",
1577                    "maximum": 1,
1578                    "minimum": -1,
1579                    "readonly": true,
1580                    "type": [
1581                        "number",
1582                        "null"
1583                    ]
1584                },
1585                "ReactiveVAR": {
1586                    "description": "The square root of the difference term of squared apparent VA and squared power (Reading) for a circuit, in VAR units.",
1587                    "excerpt": "SensorPower,SensorPowerArray",
1588                    "longDescription": "This property shall contain the arithmetic mean of product terms of instantaneous voltage and quadrature current measurements calculated over an integer number of line cycles for a circuit.  This property can appear in sensors of the `Power` `ReadingType`, and shall not appear in sensors of other `ReadingType` values.",
1589                    "readonly": true,
1590                    "type": [
1591                        "number",
1592                        "null"
1593                    ],
1594                    "units": "V.A"
1595                },
1596                "Reading": {
1597                    "description": "The sensor value.",
1598                    "excerpt": "Sensor",
1599                    "longDescription": "This property shall contain the sensor value.  This property shall not be returned if the `Enabled` property is supported and contains `false`.",
1600                    "readonly": true,
1601                    "type": [
1602                        "number",
1603                        "null"
1604                    ]
1605                }
1606            },
1607            "type": "object"
1608        },
1609        "SensorPumpExcerpt": {
1610            "additionalProperties": false,
1611            "description": "The `Sensor` schema describes a sensor and its properties.",
1612            "excerpt": "SensorPump",
1613            "longDescription": "This resource shall represent a sensor for a Redfish implementation.",
1614            "patternProperties": {
1615                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
1616                    "description": "This property shall specify a valid odata or Redfish property.",
1617                    "type": [
1618                        "array",
1619                        "boolean",
1620                        "integer",
1621                        "number",
1622                        "null",
1623                        "object",
1624                        "string"
1625                    ]
1626                }
1627            },
1628            "properties": {
1629                "DataSourceUri": {
1630                    "description": "The link to the resource that provides the data for this sensor.",
1631                    "excerptCopyOnly": true,
1632                    "format": "uri-reference",
1633                    "longDescription": "This property shall contain a URI to the resource that provides the source of the excerpt contained within this copy.",
1634                    "readonly": true,
1635                    "type": [
1636                        "string",
1637                        "null"
1638                    ]
1639                },
1640                "Reading": {
1641                    "description": "The sensor value.",
1642                    "excerpt": "Sensor",
1643                    "longDescription": "This property shall contain the sensor value.  This property shall not be returned if the `Enabled` property is supported and contains `false`.",
1644                    "readonly": true,
1645                    "type": [
1646                        "number",
1647                        "null"
1648                    ]
1649                },
1650                "SpeedRPM": {
1651                    "description": "The rotational speed.",
1652                    "excerpt": "SensorFan,SensorFanArray,SensorPump",
1653                    "longDescription": "This property shall contain a reading of the rotational speed of the device in revolutions per minute (RPM) units.",
1654                    "readonly": true,
1655                    "type": [
1656                        "number",
1657                        "null"
1658                    ],
1659                    "units": "{rev}/min",
1660                    "versionAdded": "v1_2_0"
1661                }
1662            },
1663            "type": "object"
1664        },
1665        "SensorVoltageExcerpt": {
1666            "additionalProperties": false,
1667            "description": "The `Sensor` schema describes a sensor and its properties.",
1668            "excerpt": "SensorVoltage",
1669            "longDescription": "This resource shall represent a sensor for a Redfish implementation.",
1670            "patternProperties": {
1671                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
1672                    "description": "This property shall specify a valid odata or Redfish property.",
1673                    "type": [
1674                        "array",
1675                        "boolean",
1676                        "integer",
1677                        "number",
1678                        "null",
1679                        "object",
1680                        "string"
1681                    ]
1682                }
1683            },
1684            "properties": {
1685                "CrestFactor": {
1686                    "description": "The crest factor for this sensor.",
1687                    "excerpt": "SensorCurrent,SensorVoltage",
1688                    "longDescription": "This property shall contain the ratio of the peak measurement divided by the RMS measurement and calculated over same N line cycles.  A sine wave would have a value of 1.414.",
1689                    "readonly": true,
1690                    "type": [
1691                        "number",
1692                        "null"
1693                    ],
1694                    "versionAdded": "v1_1_0"
1695                },
1696                "DataSourceUri": {
1697                    "description": "The link to the resource that provides the data for this sensor.",
1698                    "excerptCopyOnly": true,
1699                    "format": "uri-reference",
1700                    "longDescription": "This property shall contain a URI to the resource that provides the source of the excerpt contained within this copy.",
1701                    "readonly": true,
1702                    "type": [
1703                        "string",
1704                        "null"
1705                    ]
1706                },
1707                "Reading": {
1708                    "description": "The sensor value.",
1709                    "excerpt": "Sensor",
1710                    "longDescription": "This property shall contain the sensor value.  This property shall not be returned if the `Enabled` property is supported and contains `false`.",
1711                    "readonly": true,
1712                    "type": [
1713                        "number",
1714                        "null"
1715                    ]
1716                },
1717                "THDPercent": {
1718                    "description": "The total harmonic distortion percent (% THD).",
1719                    "excerpt": "SensorCurrent,SensorVoltage",
1720                    "longDescription": "This property shall contain the total harmonic distortion of the `Reading` property in percent units, typically `0` to `100`.",
1721                    "minimum": 0,
1722                    "readonly": true,
1723                    "type": [
1724                        "number",
1725                        "null"
1726                    ],
1727                    "units": "%",
1728                    "versionAdded": "v1_1_0"
1729                }
1730            },
1731            "type": "object"
1732        },
1733        "Threshold": {
1734            "additionalProperties": false,
1735            "description": "The threshold definition for a sensor.",
1736            "longDescription": "This type shall contain the properties for an individual threshold for this sensor.",
1737            "patternProperties": {
1738                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
1739                    "description": "This property shall specify a valid odata or Redfish property.",
1740                    "type": [
1741                        "array",
1742                        "boolean",
1743                        "integer",
1744                        "number",
1745                        "null",
1746                        "object",
1747                        "string"
1748                    ]
1749                }
1750            },
1751            "properties": {
1752                "Activation": {
1753                    "anyOf": [
1754                        {
1755                            "$ref": "#/definitions/ThresholdActivation"
1756                        },
1757                        {
1758                            "type": "null"
1759                        }
1760                    ],
1761                    "description": "The direction of crossing that activates this threshold.",
1762                    "longDescription": "This property shall indicate the direction of crossing of the reading for this sensor that activates the threshold.",
1763                    "readonly": false
1764                },
1765                "DwellTime": {
1766                    "description": "The duration the sensor value must violate the threshold before the threshold is activated.",
1767                    "longDescription": "This property shall indicate the duration the sensor value violates the threshold before the threshold is activated.",
1768                    "pattern": "^P(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(.\\d+)?S)?)?$",
1769                    "readonly": false,
1770                    "type": [
1771                        "string",
1772                        "null"
1773                    ]
1774                },
1775                "HysteresisDuration": {
1776                    "description": "The duration the sensor value must not violate the threshold before the threshold is deactivated.",
1777                    "longDescription": "This property shall indicate the duration the sensor value no longer violates the threshold before the threshold is deactivated.  A duration of zero seconds, or if the property is not present in the resource, shall indicate the threshold is deactivated immediately once the sensor value no longer violates the threshold.  The threshold shall not deactivate until the conditions of both `HysteresisReading` and `HysteresisDuration` are met.",
1778                    "pattern": "^P(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(.\\d+)?S)?)?$",
1779                    "readonly": false,
1780                    "type": [
1781                        "string",
1782                        "null"
1783                    ],
1784                    "versionAdded": "v1_7_0"
1785                },
1786                "HysteresisReading": {
1787                    "description": "The reading offset from the threshold value required to clear the threshold.",
1788                    "longDescription": "This property shall indicate the offset from the reading for this sensor and the threshold value that deactivates the threshold.  For example, a value of `-2` indicates the sensor reading shall fall 2 units below an upper threshold value to deactivate the threshold.  The value of the property shall use the same units as the `Reading` property.  A value of `0`, or if the property is not present in the resource, shall indicate the threshold is deactivated when the sensor value no longer violates the threshold.  The threshold shall not deactivate until the conditions of both `HysteresisReading` and `HysteresisDuration` are met.",
1789                    "readonly": false,
1790                    "type": [
1791                        "number",
1792                        "null"
1793                    ],
1794                    "versionAdded": "v1_7_0"
1795                },
1796                "Reading": {
1797                    "description": "The threshold value.",
1798                    "longDescription": "This property shall indicate the reading for this sensor that activates the threshold.  The value of the property shall use the same units as the `Reading` property.",
1799                    "readonly": false,
1800                    "type": [
1801                        "number",
1802                        "null"
1803                    ]
1804                }
1805            },
1806            "type": "object"
1807        },
1808        "ThresholdActivation": {
1809            "enum": [
1810                "Increasing",
1811                "Decreasing",
1812                "Either",
1813                "Disabled"
1814            ],
1815            "enumDescriptions": {
1816                "Decreasing": "Value decreases below the threshold.",
1817                "Disabled": "The threshold is disabled.",
1818                "Either": "Value crosses the threshold in either direction.",
1819                "Increasing": "Value increases above the threshold."
1820            },
1821            "enumLongDescriptions": {
1822                "Decreasing": "This threshold is activated when the reading changes from a value higher than the threshold to a value lower than the threshold.",
1823                "Disabled": "This value shall indicate the threshold is disabled and no actions shall be taken as a result of the reading crossing the threshold value.",
1824                "Either": "This threshold is activated when either the increasing or decreasing conditions are met.",
1825                "Increasing": "This threshold is activated when the reading changes from a value lower than the threshold to a value higher than the threshold."
1826            },
1827            "enumVersionAdded": {
1828                "Disabled": "v1_7_0"
1829            },
1830            "type": "string"
1831        },
1832        "Thresholds": {
1833            "additionalProperties": false,
1834            "description": "The set of thresholds defined for a sensor.",
1835            "longDescription": "This object shall contain the set of thresholds that derive a sensor's health and operational range.",
1836            "patternProperties": {
1837                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
1838                    "description": "This property shall specify a valid odata or Redfish property.",
1839                    "type": [
1840                        "array",
1841                        "boolean",
1842                        "integer",
1843                        "number",
1844                        "null",
1845                        "object",
1846                        "string"
1847                    ]
1848                }
1849            },
1850            "properties": {
1851                "LowerCaution": {
1852                    "$ref": "#/definitions/Threshold",
1853                    "description": "The value at which the reading is below normal range.",
1854                    "longDescription": "This property shall contain the value at which the `Reading` property is below normal range.  The value of the property shall use the same units as the `Reading` property."
1855                },
1856                "LowerCautionUser": {
1857                    "$ref": "#/definitions/Threshold",
1858                    "description": "A user-defined value at which the reading is considered below normal range.",
1859                    "longDescription": "This property shall contain a user-defined value at which the `Reading` property is considered below the normal range.  The value of the property shall use the same units as the `Reading` property.  The `Reading` property shall be considered below normal range if either the `LowerCaution` or `LowerCautionUser` threshold has been violated.  This property is used to provide an additional, user-defined threshold value when the `LowerCaution` threshold is implemented as read-only to reflect a service-defined value that cannot be changed.",
1860                    "versionAdded": "v1_2_0"
1861                },
1862                "LowerCritical": {
1863                    "$ref": "#/definitions/Threshold",
1864                    "description": "The value at which the reading is below normal range but not yet fatal.",
1865                    "longDescription": "This property shall contain the value at which the `Reading` property is below the normal range but is not yet fatal.  The value of the property shall use the same units as the `Reading` property."
1866                },
1867                "LowerCriticalUser": {
1868                    "$ref": "#/definitions/Threshold",
1869                    "description": "A user-defined value at which the reading is considered below normal range but not yet fatal.",
1870                    "longDescription": "This property shall contain a user-defined value at which the `Reading` property is considered below the normal range but is not yet fatal.  The value of the property shall use the same units as the `Reading` property.  The `Reading` property shall be considered below normal range if either the `LowerCritical` or `LowerCriticalUser` threshold has been violated.  This property is used to provide an additional, user-defined threshold value when the `LowerCritical` threshold is implemented as read-only to reflect a service-defined value that cannot be changed.",
1871                    "versionAdded": "v1_2_0"
1872                },
1873                "LowerFatal": {
1874                    "$ref": "#/definitions/Threshold",
1875                    "description": "The value at which the reading is below normal range and fatal.",
1876                    "longDescription": "This property shall contain the value at which the `Reading` property is below the normal range and is fatal.  The value of the property shall use the same units as the `Reading` property."
1877                },
1878                "UpperCaution": {
1879                    "$ref": "#/definitions/Threshold",
1880                    "description": "The value at which the reading is above normal range.",
1881                    "longDescription": "This property shall contain the value at which the `Reading` property is above the normal range.  The value of the property shall use the same units as the `Reading` property."
1882                },
1883                "UpperCautionUser": {
1884                    "$ref": "#/definitions/Threshold",
1885                    "description": "A user-defined value at which the reading is considered above normal range.",
1886                    "longDescription": "This property shall contain a user-defined value at which the `Reading` property is considered above the normal range.  The value of the property shall use the same units as the `Reading` property.  The `Reading` property shall be considered above normal range if either the `UpperCaution` or `UpperCautionUser` threshold has been violated.  This property is used to provide an additional, user-defined threshold value when the `UpperCaution` threshold is implemented as read-only to reflect a service-defined value that cannot be changed.",
1887                    "versionAdded": "v1_2_0"
1888                },
1889                "UpperCritical": {
1890                    "$ref": "#/definitions/Threshold",
1891                    "description": "The value at which the reading is above normal range but not yet fatal.",
1892                    "longDescription": "This property shall contain the value at which the `Reading` property is above the normal range but is not yet fatal.  The value of the property shall use the same units as the `Reading` property."
1893                },
1894                "UpperCriticalUser": {
1895                    "$ref": "#/definitions/Threshold",
1896                    "description": "A user-defined value at which the reading is considered above normal range but not yet fatal.",
1897                    "longDescription": "This property shall contain a user-defined value at which the `Reading` property is considered above the normal range but is not yet fatal.  The value of the property shall use the same units as the `Reading` property.  The `Reading` property shall be considered above normal range if either the `UpperCritical` or `UpperCriticalUser` threshold has been violated.  This property is used to provide an additional, user-defined threshold value when the `UpperCritical` threshold is implemented as read-only to reflect a service-defined value that cannot be changed.",
1898                    "versionAdded": "v1_2_0"
1899                },
1900                "UpperFatal": {
1901                    "$ref": "#/definitions/Threshold",
1902                    "description": "The value at which the reading is above normal range and fatal.",
1903                    "longDescription": "This property shall contain the value at which the `Reading` property is above the normal range and is fatal.  The value of the property shall use the same units as the `Reading` property."
1904                }
1905            },
1906            "type": "object"
1907        }
1908    },
1909    "language": "en",
1910    "owningEntity": "DMTF",
1911    "release": "2024.2",
1912    "title": "#Sensor.v1_10_1.Sensor"
1913}