1{
2    "$id": "http://redfish.dmtf.org/schemas/v1/Control.v1_5_1.json",
3    "$ref": "#/definitions/Control",
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                "#Control.ResetToDefaults": {
27                    "$ref": "#/definitions/ResetToDefaults"
28                },
29                "Oem": {
30                    "$ref": "#/definitions/OemActions",
31                    "description": "The available OEM-specific actions for this resource.",
32                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
33                }
34            },
35            "type": "object"
36        },
37        "Control": {
38            "additionalProperties": false,
39            "description": "The `Control` schema describes a control point and its properties.",
40            "longDescription": "This resource shall represent a control point for a Redfish implementation.",
41            "patternProperties": {
42                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
43                    "description": "This property shall specify a valid odata or Redfish property.",
44                    "type": [
45                        "array",
46                        "boolean",
47                        "integer",
48                        "number",
49                        "null",
50                        "object",
51                        "string"
52                    ]
53                }
54            },
55            "properties": {
56                "@odata.context": {
57                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
58                },
59                "@odata.etag": {
60                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
61                },
62                "@odata.id": {
63                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
64                },
65                "@odata.type": {
66                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
67                },
68                "Accuracy": {
69                    "deprecated": "This property has been deprecated in favor of `SetPointAccuracy` to provide a range instead of a percentage.",
70                    "description": "The estimated percent error of measured versus actual values.",
71                    "longDescription": "This property shall contain the percent error of the measured versus actual values of the `SetPoint` property.",
72                    "readonly": true,
73                    "type": [
74                        "number",
75                        "null"
76                    ],
77                    "units": "%",
78                    "versionDeprecated": "v1_4_0"
79                },
80                "Actions": {
81                    "$ref": "#/definitions/Actions",
82                    "description": "The available actions for this resource.",
83                    "longDescription": "This property shall contain the available actions for this resource."
84                },
85                "AllowableMax": {
86                    "description": "The maximum possible setting for this control.",
87                    "excerpt": "Control",
88                    "longDescription": "This property shall indicate the maximum possible value of the `SetPoint` or `SettingMax` properties for this control.  Services shall not accept values for `SetPoint` or `SettingMax` above this value.",
89                    "readonly": true,
90                    "type": [
91                        "number",
92                        "null"
93                    ]
94                },
95                "AllowableMin": {
96                    "description": "The minimum possible setting for this control.",
97                    "excerpt": "Control",
98                    "longDescription": "This property shall indicate the minimum possible value of the `SetPoint` or `SettingMin` properties for this control.  Services shall not accept values for `SetPoint` or `SettingMin` below this value.",
99                    "readonly": true,
100                    "type": [
101                        "number",
102                        "null"
103                    ]
104                },
105                "AllowableNumericValues": {
106                    "description": "The supported values for the set point.",
107                    "excerpt": "ControlRange",
108                    "items": {
109                        "type": [
110                            "number",
111                            "null"
112                        ]
113                    },
114                    "longDescription": "This property shall contain the supported values for this control.  The units shall follow the value of `SetPointUnits`.  This property should only be present when the set point or range has a limited set of supported values that cannot be accurately described using the `Increment` property.",
115                    "readonly": true,
116                    "type": "array"
117                },
118                "AssociatedSensors": {
119                    "description": "An array of links to the sensors associated with this control.",
120                    "items": {
121                        "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/Sensor"
122                    },
123                    "longDescription": "This property shall contain an array of links to resources of type `Sensor` that represent the sensors related to this control.",
124                    "readonly": true,
125                    "type": "array"
126                },
127                "AssociatedSensors@odata.count": {
128                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
129                },
130                "ControlDelaySeconds": {
131                    "description": "The time delay in seconds before the control will activate once the value has deviated from the set point.",
132                    "longDescription": "This property shall contain the time in seconds that will elapse after the control value deviates above or below the value of `SetPoint` before the control will activate.",
133                    "readonly": false,
134                    "type": [
135                        "number",
136                        "null"
137                    ]
138                },
139                "ControlLoop": {
140                    "$ref": "#/definitions/ControlLoop",
141                    "description": "The control loop details.",
142                    "excerpt": "ControlSingleLoop",
143                    "longDescription": "This property shall contain the details for the control loop described by this resource."
144                },
145                "ControlMode": {
146                    "anyOf": [
147                        {
148                            "$ref": "#/definitions/ControlMode"
149                        },
150                        {
151                            "type": "null"
152                        }
153                    ],
154                    "description": "The current operating mode of the control.",
155                    "excerpt": "Control",
156                    "longDescription": "This property shall contain the operating mode of the control.",
157                    "readonly": false
158                },
159                "ControlType": {
160                    "anyOf": [
161                        {
162                            "$ref": "#/definitions/ControlType"
163                        },
164                        {
165                            "type": "null"
166                        }
167                    ],
168                    "description": "The type of control.",
169                    "longDescription": "This property shall contain the type of the control.",
170                    "readonly": true
171                },
172                "DeadBand": {
173                    "description": "The maximum deviation from the set point allowed before the control will activate.",
174                    "longDescription": "This property shall contain the maximum deviation value allowed above or below the value of `SetPoint` before the control will activate.",
175                    "readonly": false,
176                    "type": [
177                        "number",
178                        "null"
179                    ]
180                },
181                "DefaultSetPoint": {
182                    "description": "The default set point of the control.",
183                    "excerpt": "ControlSingle",
184                    "longDescription": "This property shall contain the default set point control value.  The units shall follow the value of `SetPointUnits`.  Services apply this value to the `SetPoint` property under certain conditions, such as a reset of the manager or a `ResetToDefaults` action.",
185                    "readonly": true,
186                    "type": [
187                        "number",
188                        "null"
189                    ],
190                    "versionAdded": "v1_3_0"
191                },
192                "Description": {
193                    "anyOf": [
194                        {
195                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
196                        },
197                        {
198                            "type": "null"
199                        }
200                    ],
201                    "readonly": true
202                },
203                "Id": {
204                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
205                    "readonly": true
206                },
207                "Implementation": {
208                    "anyOf": [
209                        {
210                            "$ref": "#/definitions/ImplementationType"
211                        },
212                        {
213                            "type": "null"
214                        }
215                    ],
216                    "description": "The implementation of the control.",
217                    "longDescription": "This property shall contain the implementation of the control.",
218                    "readonly": true
219                },
220                "Increment": {
221                    "description": "The smallest increment supported for the set point.",
222                    "longDescription": "This property shall contain the smallest change allowed to the value of the `SetPoint`, `SettingMin`, or `SettingMax` properties.  The units shall follow the value of `SetPointUnits`.",
223                    "readonly": true,
224                    "type": [
225                        "number",
226                        "null"
227                    ]
228                },
229                "Location": {
230                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location",
231                    "description": "The location information for this control.",
232                    "longDescription": "This property shall indicate the location information for this control."
233                },
234                "Name": {
235                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
236                    "readonly": true
237                },
238                "Oem": {
239                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
240                    "description": "The OEM extension property.",
241                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
242                },
243                "PhysicalContext": {
244                    "anyOf": [
245                        {
246                            "$ref": "http://redfish.dmtf.org/schemas/v1/PhysicalContext.json#/definitions/PhysicalContext"
247                        },
248                        {
249                            "type": "null"
250                        }
251                    ],
252                    "description": "The area or device to which this control applies.",
253                    "longDescription": "This property shall contain a description of the affected component or region within the equipment to which this control applies.",
254                    "readonly": true
255                },
256                "PhysicalSubContext": {
257                    "anyOf": [
258                        {
259                            "$ref": "http://redfish.dmtf.org/schemas/v1/PhysicalContext.json#/definitions/PhysicalSubContext"
260                        },
261                        {
262                            "type": "null"
263                        }
264                    ],
265                    "description": "The usage or location within a device to which this control applies.",
266                    "longDescription": "This property shall contain a description of the usage or sub-region within the equipment to which this control applies.  This property generally differentiates multiple controls within the same `PhysicalContext` instance.",
267                    "readonly": true
268                },
269                "RelatedItem": {
270                    "description": "An array of links to resources that this control services.",
271                    "items": {
272                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/idRef"
273                    },
274                    "longDescription": "This property shall contain an array of links to resources that this control services.",
275                    "readonly": true,
276                    "type": "array"
277                },
278                "RelatedItem@odata.count": {
279                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
280                },
281                "Sensor": {
282                    "anyOf": [
283                        {
284                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorExcerpt"
285                        },
286                        {
287                            "type": "null"
288                        }
289                    ],
290                    "description": "The sensor reading associated with this control.",
291                    "excerptCopy": "SensorExcerpt",
292                    "longDescription": "This property shall contain the Sensor excerpt directly associated with this control.  The value of the `DataSourceUri` property shall reference a resource of type `Sensor`.  This property shall not be present if multiple sensors are associated with a single control."
293                },
294                "SetPoint": {
295                    "description": "The desired set point of the control.",
296                    "excerpt": "ControlSingle,ControlSingleLoop",
297                    "longDescription": "This property shall contain the desired set point control value.  The units shall follow the value of `SetPointUnits`.  If the `DefaultSetPoint` property is not supported and if a user-defined set point is not configured, the property may contain `null` in responses.",
298                    "readonly": false,
299                    "type": [
300                        "number",
301                        "null"
302                    ]
303                },
304                "SetPointAccuracy": {
305                    "description": "Accuracy (+/-) of the set point.",
306                    "longDescription": "This property shall contain the accuracy of the value of the `SetPoint` for this control.  The value shall be the absolute value of the maximum deviation of the `SetPoint` from its actual value.  The value shall be in units that follow the `SetPointUnits` for this control.",
307                    "readonly": true,
308                    "type": [
309                        "number",
310                        "null"
311                    ],
312                    "versionAdded": "v1_4_0"
313                },
314                "SetPointType": {
315                    "anyOf": [
316                        {
317                            "$ref": "#/definitions/SetPointType"
318                        },
319                        {
320                            "type": "null"
321                        }
322                    ],
323                    "description": "The set point type used to operate the control.",
324                    "longDescription": "This property shall contain the type of set point definitions used to describe this control.",
325                    "readonly": true
326                },
327                "SetPointUnits": {
328                    "description": "The units of the set point.",
329                    "longDescription": "This property shall contain the units of the control's set point.",
330                    "readonly": true,
331                    "type": [
332                        "string",
333                        "null"
334                    ]
335                },
336                "SetPointUpdateTime": {
337                    "description": "The date and time that the set point was changed.",
338                    "format": "date-time",
339                    "longDescription": "This property shall contain the date and time that the value of `SetPoint` was last changed.",
340                    "readonly": true,
341                    "type": [
342                        "string",
343                        "null"
344                    ]
345                },
346                "SettingMax": {
347                    "description": "The maximum set point in the allowed range.",
348                    "excerpt": "ControlRange",
349                    "longDescription": "This property shall contain the maximum desired set point within the acceptable range.  The service shall reject values greater than the value of `AllowableMax`.  The units shall follow the value of `SetPointUnits`.",
350                    "readonly": false,
351                    "type": [
352                        "number",
353                        "null"
354                    ]
355                },
356                "SettingMin": {
357                    "description": "The minimum set point in the allowed range.",
358                    "excerpt": "ControlRange",
359                    "longDescription": "This property shall contain the minimum desired set point within the acceptable range.  The service shall reject values less than the value of `AllowableMin`.  The units shall follow the value of `SetPointUnits`.",
360                    "readonly": false,
361                    "type": [
362                        "number",
363                        "null"
364                    ]
365                },
366                "Status": {
367                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
368                    "description": "The status and health of the resource and its subordinate or dependent resources.",
369                    "longDescription": "This property shall contain any status or health properties of the resource."
370                }
371            },
372            "required": [
373                "@odata.id",
374                "@odata.type",
375                "Id",
376                "Name"
377            ],
378            "type": "object"
379        },
380        "ControlExcerpt": {
381            "additionalProperties": false,
382            "description": "The `Control` schema describes a control point and its properties.",
383            "excerpt": "Control",
384            "longDescription": "This resource shall represent a control point for a Redfish implementation.",
385            "patternProperties": {
386                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
387                    "description": "This property shall specify a valid odata or Redfish property.",
388                    "type": [
389                        "array",
390                        "boolean",
391                        "integer",
392                        "number",
393                        "null",
394                        "object",
395                        "string"
396                    ]
397                }
398            },
399            "properties": {
400                "AllowableMax": {
401                    "description": "The maximum possible setting for this control.",
402                    "excerpt": "Control",
403                    "longDescription": "This property shall indicate the maximum possible value of the `SetPoint` or `SettingMax` properties for this control.  Services shall not accept values for `SetPoint` or `SettingMax` above this value.",
404                    "readonly": true,
405                    "type": [
406                        "number",
407                        "null"
408                    ]
409                },
410                "AllowableMin": {
411                    "description": "The minimum possible setting for this control.",
412                    "excerpt": "Control",
413                    "longDescription": "This property shall indicate the minimum possible value of the `SetPoint` or `SettingMin` properties for this control.  Services shall not accept values for `SetPoint` or `SettingMin` below this value.",
414                    "readonly": true,
415                    "type": [
416                        "number",
417                        "null"
418                    ]
419                },
420                "ControlMode": {
421                    "anyOf": [
422                        {
423                            "$ref": "#/definitions/ControlMode"
424                        },
425                        {
426                            "type": "null"
427                        }
428                    ],
429                    "description": "The current operating mode of the control.",
430                    "excerpt": "Control",
431                    "longDescription": "This property shall contain the operating mode of the control.",
432                    "readonly": false
433                },
434                "DataSourceUri": {
435                    "description": "The link to the resource that provides the data for this control.",
436                    "excerptCopyOnly": true,
437                    "format": "uri-reference",
438                    "longDescription": "This property shall contain a URI to the resource that provides the source of the excerpt contained within this copy.  If no source resource is implemented, meaning the excerpt represents the only available data, this property shall not be present.",
439                    "readonly": true,
440                    "type": [
441                        "string",
442                        "null"
443                    ]
444                },
445                "Reading": {
446                    "description": "The reading of the sensor associated with this control.",
447                    "excerptCopyOnly": true,
448                    "longDescription": "This property shall contain the value of the `Reading` property of the `Sensor` resource directly associated with this control.  This property shall not be present if multiple sensors are associated with a single control.",
449                    "readonly": true,
450                    "type": [
451                        "number",
452                        "null"
453                    ]
454                },
455                "ReadingUnits": {
456                    "description": "The units of the sensor reading associated with this control.",
457                    "excerptCopyOnly": true,
458                    "longDescription": "This property shall contain the units of the sensor's reading and thresholds.  This property shall not be present if multiple sensors are associated with a single control.",
459                    "readonly": true,
460                    "type": [
461                        "string",
462                        "null"
463                    ]
464                }
465            },
466            "type": "object"
467        },
468        "ControlLoop": {
469            "additionalProperties": false,
470            "description": "The details and coefficients used to operate a control loop.",
471            "longDescription": "This type shall describe the details of a control loop.",
472            "patternProperties": {
473                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
474                    "description": "This property shall specify a valid odata or Redfish property.",
475                    "type": [
476                        "array",
477                        "boolean",
478                        "integer",
479                        "number",
480                        "null",
481                        "object",
482                        "string"
483                    ]
484                }
485            },
486            "properties": {
487                "CoefficientUpdateTime": {
488                    "description": "The date and time that the control loop coefficients were changed.",
489                    "format": "date-time",
490                    "longDescription": "This property shall contain the date and time that any of the coefficients for the control loop were last changed.",
491                    "readonly": true,
492                    "type": [
493                        "string",
494                        "null"
495                    ]
496                },
497                "Differential": {
498                    "description": "The differential coefficient.",
499                    "excerpt": "ControlSingleLoop",
500                    "longDescription": "This property shall contain the coefficient for the differential factor in a control loop.",
501                    "readonly": false,
502                    "type": [
503                        "number",
504                        "null"
505                    ]
506                },
507                "Integral": {
508                    "description": "The integral coefficient.",
509                    "excerpt": "ControlSingleLoop",
510                    "longDescription": "This property shall contain the coefficient for the integral factor in a control loop.",
511                    "readonly": false,
512                    "type": [
513                        "number",
514                        "null"
515                    ]
516                },
517                "Proportional": {
518                    "description": "The proportional coefficient.",
519                    "excerpt": "ControlSingleLoop",
520                    "longDescription": "This property shall contain the coefficient for the proportional factor in a control loop.",
521                    "readonly": false,
522                    "type": [
523                        "number",
524                        "null"
525                    ]
526                }
527            },
528            "type": "object"
529        },
530        "ControlMode": {
531            "enum": [
532                "Automatic",
533                "Override",
534                "Manual",
535                "Disabled"
536            ],
537            "enumDescriptions": {
538                "Automatic": "Automatically adjust control to meet the set point.",
539                "Disabled": "The control has been disabled.",
540                "Manual": "No automatic adjustments are made to the control.",
541                "Override": "User override of the automatic set point value."
542            },
543            "type": "string"
544        },
545        "ControlRangeExcerpt": {
546            "additionalProperties": false,
547            "description": "The `Control` schema describes a control point and its properties.",
548            "excerpt": "ControlRange",
549            "longDescription": "This resource shall represent a control point for a Redfish implementation.",
550            "patternProperties": {
551                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
552                    "description": "This property shall specify a valid odata or Redfish property.",
553                    "type": [
554                        "array",
555                        "boolean",
556                        "integer",
557                        "number",
558                        "null",
559                        "object",
560                        "string"
561                    ]
562                }
563            },
564            "properties": {
565                "AllowableMax": {
566                    "description": "The maximum possible setting for this control.",
567                    "excerpt": "Control",
568                    "longDescription": "This property shall indicate the maximum possible value of the `SetPoint` or `SettingMax` properties for this control.  Services shall not accept values for `SetPoint` or `SettingMax` above this value.",
569                    "readonly": true,
570                    "type": [
571                        "number",
572                        "null"
573                    ]
574                },
575                "AllowableMin": {
576                    "description": "The minimum possible setting for this control.",
577                    "excerpt": "Control",
578                    "longDescription": "This property shall indicate the minimum possible value of the `SetPoint` or `SettingMin` properties for this control.  Services shall not accept values for `SetPoint` or `SettingMin` below this value.",
579                    "readonly": true,
580                    "type": [
581                        "number",
582                        "null"
583                    ]
584                },
585                "AllowableNumericValues": {
586                    "description": "The supported values for the set point.",
587                    "excerpt": "ControlRange",
588                    "items": {
589                        "type": [
590                            "number",
591                            "null"
592                        ]
593                    },
594                    "longDescription": "This property shall contain the supported values for this control.  The units shall follow the value of `SetPointUnits`.  This property should only be present when the set point or range has a limited set of supported values that cannot be accurately described using the `Increment` property.",
595                    "readonly": true,
596                    "type": "array"
597                },
598                "ControlMode": {
599                    "anyOf": [
600                        {
601                            "$ref": "#/definitions/ControlMode"
602                        },
603                        {
604                            "type": "null"
605                        }
606                    ],
607                    "description": "The current operating mode of the control.",
608                    "excerpt": "Control",
609                    "longDescription": "This property shall contain the operating mode of the control.",
610                    "readonly": false
611                },
612                "DataSourceUri": {
613                    "description": "The link to the resource that provides the data for this control.",
614                    "excerptCopyOnly": true,
615                    "format": "uri-reference",
616                    "longDescription": "This property shall contain a URI to the resource that provides the source of the excerpt contained within this copy.  If no source resource is implemented, meaning the excerpt represents the only available data, this property shall not be present.",
617                    "readonly": true,
618                    "type": [
619                        "string",
620                        "null"
621                    ]
622                },
623                "Reading": {
624                    "description": "The reading of the sensor associated with this control.",
625                    "excerptCopyOnly": true,
626                    "longDescription": "This property shall contain the value of the `Reading` property of the `Sensor` resource directly associated with this control.  This property shall not be present if multiple sensors are associated with a single control.",
627                    "readonly": true,
628                    "type": [
629                        "number",
630                        "null"
631                    ]
632                },
633                "ReadingUnits": {
634                    "description": "The units of the sensor reading associated with this control.",
635                    "excerptCopyOnly": true,
636                    "longDescription": "This property shall contain the units of the sensor's reading and thresholds.  This property shall not be present if multiple sensors are associated with a single control.",
637                    "readonly": true,
638                    "type": [
639                        "string",
640                        "null"
641                    ]
642                },
643                "SettingMax": {
644                    "description": "The maximum set point in the allowed range.",
645                    "excerpt": "ControlRange",
646                    "longDescription": "This property shall contain the maximum desired set point within the acceptable range.  The service shall reject values greater than the value of `AllowableMax`.  The units shall follow the value of `SetPointUnits`.",
647                    "readonly": false,
648                    "type": [
649                        "number",
650                        "null"
651                    ]
652                },
653                "SettingMin": {
654                    "description": "The minimum set point in the allowed range.",
655                    "excerpt": "ControlRange",
656                    "longDescription": "This property shall contain the minimum desired set point within the acceptable range.  The service shall reject values less than the value of `AllowableMin`.  The units shall follow the value of `SetPointUnits`.",
657                    "readonly": false,
658                    "type": [
659                        "number",
660                        "null"
661                    ]
662                }
663            },
664            "type": "object"
665        },
666        "ControlSingleExcerpt": {
667            "additionalProperties": false,
668            "description": "The `Control` schema describes a control point and its properties.",
669            "excerpt": "ControlSingle",
670            "longDescription": "This resource shall represent a control point for a Redfish implementation.",
671            "patternProperties": {
672                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
673                    "description": "This property shall specify a valid odata or Redfish property.",
674                    "type": [
675                        "array",
676                        "boolean",
677                        "integer",
678                        "number",
679                        "null",
680                        "object",
681                        "string"
682                    ]
683                }
684            },
685            "properties": {
686                "AllowableMax": {
687                    "description": "The maximum possible setting for this control.",
688                    "excerpt": "Control",
689                    "longDescription": "This property shall indicate the maximum possible value of the `SetPoint` or `SettingMax` properties for this control.  Services shall not accept values for `SetPoint` or `SettingMax` above this value.",
690                    "readonly": true,
691                    "type": [
692                        "number",
693                        "null"
694                    ]
695                },
696                "AllowableMin": {
697                    "description": "The minimum possible setting for this control.",
698                    "excerpt": "Control",
699                    "longDescription": "This property shall indicate the minimum possible value of the `SetPoint` or `SettingMin` properties for this control.  Services shall not accept values for `SetPoint` or `SettingMin` below this value.",
700                    "readonly": true,
701                    "type": [
702                        "number",
703                        "null"
704                    ]
705                },
706                "ControlMode": {
707                    "anyOf": [
708                        {
709                            "$ref": "#/definitions/ControlMode"
710                        },
711                        {
712                            "type": "null"
713                        }
714                    ],
715                    "description": "The current operating mode of the control.",
716                    "excerpt": "Control",
717                    "longDescription": "This property shall contain the operating mode of the control.",
718                    "readonly": false
719                },
720                "DataSourceUri": {
721                    "description": "The link to the resource that provides the data for this control.",
722                    "excerptCopyOnly": true,
723                    "format": "uri-reference",
724                    "longDescription": "This property shall contain a URI to the resource that provides the source of the excerpt contained within this copy.  If no source resource is implemented, meaning the excerpt represents the only available data, this property shall not be present.",
725                    "readonly": true,
726                    "type": [
727                        "string",
728                        "null"
729                    ]
730                },
731                "DefaultSetPoint": {
732                    "description": "The default set point of the control.",
733                    "excerpt": "ControlSingle",
734                    "longDescription": "This property shall contain the default set point control value.  The units shall follow the value of `SetPointUnits`.  Services apply this value to the `SetPoint` property under certain conditions, such as a reset of the manager or a `ResetToDefaults` action.",
735                    "readonly": true,
736                    "type": [
737                        "number",
738                        "null"
739                    ],
740                    "versionAdded": "v1_3_0"
741                },
742                "Reading": {
743                    "description": "The reading of the sensor associated with this control.",
744                    "excerptCopyOnly": true,
745                    "longDescription": "This property shall contain the value of the `Reading` property of the `Sensor` resource directly associated with this control.  This property shall not be present if multiple sensors are associated with a single control.",
746                    "readonly": true,
747                    "type": [
748                        "number",
749                        "null"
750                    ]
751                },
752                "ReadingUnits": {
753                    "description": "The units of the sensor reading associated with this control.",
754                    "excerptCopyOnly": true,
755                    "longDescription": "This property shall contain the units of the sensor's reading and thresholds.  This property shall not be present if multiple sensors are associated with a single control.",
756                    "readonly": true,
757                    "type": [
758                        "string",
759                        "null"
760                    ]
761                },
762                "SetPoint": {
763                    "description": "The desired set point of the control.",
764                    "excerpt": "ControlSingle,ControlSingleLoop",
765                    "longDescription": "This property shall contain the desired set point control value.  The units shall follow the value of `SetPointUnits`.  If the `DefaultSetPoint` property is not supported and if a user-defined set point is not configured, the property may contain `null` in responses.",
766                    "readonly": false,
767                    "type": [
768                        "number",
769                        "null"
770                    ]
771                }
772            },
773            "type": "object"
774        },
775        "ControlSingleLoopExcerpt": {
776            "additionalProperties": false,
777            "description": "The `Control` schema describes a control point and its properties.",
778            "excerpt": "ControlSingleLoop",
779            "longDescription": "This resource shall represent a control point for a Redfish implementation.",
780            "patternProperties": {
781                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
782                    "description": "This property shall specify a valid odata or Redfish property.",
783                    "type": [
784                        "array",
785                        "boolean",
786                        "integer",
787                        "number",
788                        "null",
789                        "object",
790                        "string"
791                    ]
792                }
793            },
794            "properties": {
795                "AllowableMax": {
796                    "description": "The maximum possible setting for this control.",
797                    "excerpt": "Control",
798                    "longDescription": "This property shall indicate the maximum possible value of the `SetPoint` or `SettingMax` properties for this control.  Services shall not accept values for `SetPoint` or `SettingMax` above this value.",
799                    "readonly": true,
800                    "type": [
801                        "number",
802                        "null"
803                    ]
804                },
805                "AllowableMin": {
806                    "description": "The minimum possible setting for this control.",
807                    "excerpt": "Control",
808                    "longDescription": "This property shall indicate the minimum possible value of the `SetPoint` or `SettingMin` properties for this control.  Services shall not accept values for `SetPoint` or `SettingMin` below this value.",
809                    "readonly": true,
810                    "type": [
811                        "number",
812                        "null"
813                    ]
814                },
815                "ControlLoop": {
816                    "$ref": "#/definitions/ControlLoop",
817                    "description": "The control loop details.",
818                    "excerpt": "ControlSingleLoop",
819                    "longDescription": "This property shall contain the details for the control loop described by this resource."
820                },
821                "ControlMode": {
822                    "anyOf": [
823                        {
824                            "$ref": "#/definitions/ControlMode"
825                        },
826                        {
827                            "type": "null"
828                        }
829                    ],
830                    "description": "The current operating mode of the control.",
831                    "excerpt": "Control",
832                    "longDescription": "This property shall contain the operating mode of the control.",
833                    "readonly": false
834                },
835                "DataSourceUri": {
836                    "description": "The link to the resource that provides the data for this control.",
837                    "excerptCopyOnly": true,
838                    "format": "uri-reference",
839                    "longDescription": "This property shall contain a URI to the resource that provides the source of the excerpt contained within this copy.  If no source resource is implemented, meaning the excerpt represents the only available data, this property shall not be present.",
840                    "readonly": true,
841                    "type": [
842                        "string",
843                        "null"
844                    ]
845                },
846                "Reading": {
847                    "description": "The reading of the sensor associated with this control.",
848                    "excerptCopyOnly": true,
849                    "longDescription": "This property shall contain the value of the `Reading` property of the `Sensor` resource directly associated with this control.  This property shall not be present if multiple sensors are associated with a single control.",
850                    "readonly": true,
851                    "type": [
852                        "number",
853                        "null"
854                    ]
855                },
856                "ReadingUnits": {
857                    "description": "The units of the sensor reading associated with this control.",
858                    "excerptCopyOnly": true,
859                    "longDescription": "This property shall contain the units of the sensor's reading and thresholds.  This property shall not be present if multiple sensors are associated with a single control.",
860                    "readonly": true,
861                    "type": [
862                        "string",
863                        "null"
864                    ]
865                },
866                "SetPoint": {
867                    "description": "The desired set point of the control.",
868                    "excerpt": "ControlSingle,ControlSingleLoop",
869                    "longDescription": "This property shall contain the desired set point control value.  The units shall follow the value of `SetPointUnits`.  If the `DefaultSetPoint` property is not supported and if a user-defined set point is not configured, the property may contain `null` in responses.",
870                    "readonly": false,
871                    "type": [
872                        "number",
873                        "null"
874                    ]
875                }
876            },
877            "type": "object"
878        },
879        "ControlType": {
880            "enum": [
881                "Temperature",
882                "Power",
883                "Frequency",
884                "FrequencyMHz",
885                "Pressure",
886                "PressurekPa",
887                "Valve",
888                "Percent",
889                "DutyCycle"
890            ],
891            "enumDeprecated": {
892                "Pressure": "This value has been deprecated in favor of `PressurekPa` for units consistency with the equivalent Sensor resource ReadingType value."
893            },
894            "enumDescriptions": {
895                "DutyCycle": "Duty cycle (%) control.",
896                "Frequency": "Frequency (Hz) control.",
897                "FrequencyMHz": "Frequency (MHz) control.",
898                "Percent": "Percent-based control.",
899                "Power": "Power (W) control or power limit.",
900                "Pressure": "Pressure (kPa) control.",
901                "PressurekPa": "Pressure (kPa) control.",
902                "Temperature": "Temperature (C) control or thermostat.",
903                "Valve": "Valve (% open) control."
904            },
905            "enumLongDescriptions": {
906                "DutyCycle": "This value shall indicate a control used to adjust the duty cycle, such as a PWM-based control, in percent units.  The `SetPointUnits` property shall contain `%`.",
907                "Frequency": "This value shall indicate a control used to limit the operating frequency, in hertz units, of a device, either to a single set point or within a range.  The `SetPointUnits` property shall contain `Hz`.",
908                "FrequencyMHz": "This value shall indicate a control used to limit the operating frequency, in megahertz units, of a device, either to a single set point or within a range.  The `SetPointUnits` property shall contain `MHz`.",
909                "Percent": "This value shall indicate a percent-based control, in percent units.  The `SetPointUnits` property shall contain `%`.",
910                "Power": "This value shall indicate a control used to regulate or limit maximum power consumption, in watt units, either to a single set point or within a range.  The `SetPointUnits` property shall contain `W`.",
911                "Pressure": "This value shall indicate a control used to adjust pressure in a system, in kilopascal units.  The `SetPointUnits` property shall contain `kPa`.",
912                "PressurekPa": "This value shall indicate a control used to adjust pressure in a system, in kilopascal units.  The `SetPointUnits` property shall contain `kPa`.",
913                "Temperature": "This value shall indicate a control used to regulate temperature, in degree Celsius units, either to a single set point or within a range.  The `SetPointUnits` property shall contain `Cel`.",
914                "Valve": "This value shall indicate a control used to adjust a valve in a system, in percent units.  The `SetPointUnits` property shall contain `%`.  A value of `100` shall indicate the valve is completely open, and a value of `0` shall indicate the valve is completely closed."
915            },
916            "enumVersionAdded": {
917                "DutyCycle": "v1_5_0",
918                "FrequencyMHz": "v1_1_0",
919                "Percent": "v1_5_0",
920                "Pressure": "v1_1_0",
921                "PressurekPa": "v1_3_0",
922                "Valve": "v1_3_0"
923            },
924            "enumVersionDeprecated": {
925                "Pressure": "v1_3_0"
926            },
927            "type": "string"
928        },
929        "ImplementationType": {
930            "enum": [
931                "Programmable",
932                "Direct",
933                "Monitored"
934            ],
935            "enumDescriptions": {
936                "Direct": "The set point directly affects the control value.",
937                "Monitored": "A physical control that cannot be adjusted through this interface.",
938                "Programmable": "The set point can be adjusted through this interface."
939            },
940            "type": "string"
941        },
942        "OemActions": {
943            "additionalProperties": true,
944            "description": "The available OEM-specific actions for this resource.",
945            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
946            "patternProperties": {
947                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
948                    "description": "This property shall specify a valid odata or Redfish property.",
949                    "type": [
950                        "array",
951                        "boolean",
952                        "integer",
953                        "number",
954                        "null",
955                        "object",
956                        "string"
957                    ]
958                }
959            },
960            "properties": {},
961            "type": "object"
962        },
963        "ResetToDefaults": {
964            "additionalProperties": false,
965            "description": "The action resets the values of writable properties to factory defaults.",
966            "longDescription": "This action shall reset the values of writable properties in this resource to their default values as specified by the manufacturer.",
967            "parameters": {},
968            "patternProperties": {
969                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
970                    "description": "This property shall specify a valid odata or Redfish property.",
971                    "type": [
972                        "array",
973                        "boolean",
974                        "integer",
975                        "number",
976                        "null",
977                        "object",
978                        "string"
979                    ]
980                }
981            },
982            "properties": {
983                "target": {
984                    "description": "Link to invoke action",
985                    "format": "uri-reference",
986                    "type": "string"
987                },
988                "title": {
989                    "description": "Friendly action name",
990                    "type": "string"
991                }
992            },
993            "type": "object",
994            "versionAdded": "v1_2_0"
995        },
996        "SetPointType": {
997            "enum": [
998                "Single",
999                "Range"
1000            ],
1001            "enumDescriptions": {
1002                "Range": "Control uses a range of values.",
1003                "Single": "Control uses a single set point."
1004            },
1005            "enumLongDescriptions": {
1006                "Range": "This value shall indicate the control utilizes a set point range for its operation.  The `SettingMin` and `SettingMax` properties shall be present for this control type.  The `SetPoint` property shall not be present for this control type.",
1007                "Single": "This value shall indicate the control utilizes a single set point for its operation.  The `SetPoint` property shall be present for this control type.  The `SettingMin` and `SettingMax` properties shall not be present for this control type."
1008            },
1009            "type": "string"
1010        }
1011    },
1012    "language": "en",
1013    "owningEntity": "DMTF",
1014    "release": "2023.3",
1015    "title": "#Control.v1_5_1.Control"
1016}