xref: /openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/BatteryMetrics.v1_0_4.json (revision f2a8e57ede74a8252100b2281e3f4d170aa69391)
1 {
2     "$id": "http://redfish.dmtf.org/schemas/v1/BatteryMetrics.v1_0_4.json",
3     "$ref": "#/definitions/BatteryMetrics",
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                 "Oem": {
27                     "$ref": "#/definitions/OemActions",
28                     "description": "The available OEM-specific actions for this resource.",
29                     "longDescription": "This property shall contain the available OEM-specific actions for this resource."
30                 }
31             },
32             "type": "object"
33         },
34         "BatteryMetrics": {
35             "additionalProperties": false,
36             "description": "The `BatteryMetrics` schema contains definitions for the metrics of a battery unit.",
37             "longDescription": "This resource shall be used to represent the metrics of a battery unit for a Redfish implementation.",
38             "patternProperties": {
39                 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
40                     "description": "This property shall specify a valid odata or Redfish property.",
41                     "type": [
42                         "array",
43                         "boolean",
44                         "integer",
45                         "number",
46                         "null",
47                         "object",
48                         "string"
49                     ]
50                 }
51             },
52             "properties": {
53                 "@odata.context": {
54                     "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
55                 },
56                 "@odata.etag": {
57                     "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
58                 },
59                 "@odata.id": {
60                     "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
61                 },
62                 "@odata.type": {
63                     "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
64                 },
65                 "Actions": {
66                     "$ref": "#/definitions/Actions",
67                     "description": "The available actions for this resource.",
68                     "longDescription": "This property shall contain the available actions for this resource."
69                 },
70                 "CellVoltages": {
71                     "description": "The cell voltages (V) for this battery.",
72                     "excerptCopy": "SensorVoltageExcerpt",
73                     "items": {
74                         "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorVoltageExcerpt"
75                     },
76                     "longDescription": "This property shall contain the cell voltages, in volt units, for this battery.  The value of the `DataSourceUri` property, if present, shall reference a resource of type `Sensor` with the `ReadingType` property containing the value `Voltage`.",
77                     "type": "array"
78                 },
79                 "CellVoltages@odata.count": {
80                     "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
81                 },
82                 "ChargePercent": {
83                     "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorExcerpt",
84                     "description": "The amount of charge available (percent) in this battery.",
85                     "excerptCopy": "SensorExcerpt",
86                     "longDescription": "This property shall contain the amount of charge available, in percent units, typically `0` to `100`, in this battery.  The value of the `DataSourceUri` property, if present, shall reference a resource of type `Sensor` with the `ReadingType` property containing the value `Percent`."
87                 },
88                 "Description": {
89                     "anyOf": [
90                         {
91                             "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
92                         },
93                         {
94                             "type": "null"
95                         }
96                     ],
97                     "readonly": true
98                 },
99                 "DischargeCycles": {
100                     "description": "The number of discharges this battery has sustained.",
101                     "longDescription": "This property shall contain the number of discharges this battery has sustained.",
102                     "minimum": 0,
103                     "readonly": true,
104                     "type": [
105                         "number",
106                         "null"
107                     ]
108                 },
109                 "Id": {
110                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
111                     "readonly": true
112                 },
113                 "InputCurrentAmps": {
114                     "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorCurrentExcerpt",
115                     "description": "The input current (A) for this battery.",
116                     "excerptCopy": "SensorCurrentExcerpt",
117                     "longDescription": "This property shall contain the input current, in ampere units, for this battery.  The value of the `DataSourceUri` property, if present, shall reference a resource of type `Sensor` with the `ReadingType` property containing the value `Current`."
118                 },
119                 "InputVoltage": {
120                     "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorVoltageExcerpt",
121                     "description": "The input voltage (V) for this battery.",
122                     "excerptCopy": "SensorVoltageExcerpt",
123                     "longDescription": "This property shall contain the input voltage, in volt units, for this battery.  The value of the `DataSourceUri` property, if present, shall reference a resource of type `Sensor` with the `ReadingType` property containing the value `Voltage`."
124                 },
125                 "Name": {
126                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
127                     "readonly": true
128                 },
129                 "Oem": {
130                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
131                     "description": "The OEM extension property.",
132                     "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
133                 },
134                 "OutputCurrentAmps": {
135                     "description": "The output currents (A) for this battery.",
136                     "excerptCopy": "SensorCurrentExcerpt",
137                     "items": {
138                         "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorCurrentExcerpt"
139                     },
140                     "longDescription": "This property shall contain the output currents, in ampere units, for this battery.  The value of the `DataSourceUri` property, if present, shall reference a resource of type `Sensor` with the `ReadingType` property containing the value `Current`.  The sensors shall appear in the same array order as the `OutputVoltages` property.",
141                     "type": "array"
142                 },
143                 "OutputCurrentAmps@odata.count": {
144                     "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
145                 },
146                 "OutputVoltages": {
147                     "description": "The output voltages (V) for this battery.",
148                     "excerptCopy": "SensorVoltageExcerpt",
149                     "items": {
150                         "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorVoltageExcerpt"
151                     },
152                     "longDescription": "This property shall contain the output voltages, in volt units, for this battery.  The value of the `DataSourceUri` property, if present, shall reference a resource of type `Sensor` with the `ReadingType` property containing the value `Voltage`.  The sensors shall appear in the same array order as the `OutputCurrentAmps` property.",
153                     "type": "array"
154                 },
155                 "OutputVoltages@odata.count": {
156                     "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
157                 },
158                 "Status": {
159                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
160                     "description": "The status and health of the resource and its subordinate or dependent resources.",
161                     "longDescription": "This property shall contain any status or health properties of the resource."
162                 },
163                 "StoredChargeAmpHours": {
164                     "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorExcerpt",
165                     "description": "The charge (Ah) stored in this battery.",
166                     "excerptCopy": "SensorExcerpt",
167                     "longDescription": "This property shall contain the stored charge, in ampere-hour units, for this battery.  The value of the `DataSourceUri` property, if present, shall reference a resource of type `Sensor` with the `ReadingType` property containing the value `ChargeAh`."
168                 },
169                 "StoredEnergyWattHours": {
170                     "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorExcerpt",
171                     "description": "The energy (Wh) stored in this battery.",
172                     "excerptCopy": "SensorExcerpt",
173                     "longDescription": "This property shall contain the stored energy, in watt-hour units, for this battery.  The value of the `DataSourceUri` property, if present, shall reference a resource of type `Sensor` with the `ReadingType` property containing the value `EnergyWh`."
174                 },
175                 "TemperatureCelsius": {
176                     "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorExcerpt",
177                     "description": "The temperature (C) for this battery.",
178                     "excerptCopy": "SensorExcerpt",
179                     "longDescription": "This property shall contain the temperature, in degree Celsius units, for this battery.  The value of the `DataSourceUri` property, if present, shall reference a resource of type `Sensor` with the `ReadingType` property containing the value `Temperature`."
180                 }
181             },
182             "required": [
183                 "@odata.id",
184                 "@odata.type",
185                 "Id",
186                 "Name"
187             ],
188             "type": "object"
189         },
190         "OemActions": {
191             "additionalProperties": true,
192             "description": "The available OEM-specific actions for this resource.",
193             "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
194             "patternProperties": {
195                 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
196                     "description": "This property shall specify a valid odata or Redfish property.",
197                     "type": [
198                         "array",
199                         "boolean",
200                         "integer",
201                         "number",
202                         "null",
203                         "object",
204                         "string"
205                     ]
206                 }
207             },
208             "properties": {},
209             "type": "object"
210         }
211     },
212     "language": "en",
213     "owningEntity": "DMTF",
214     "release": "2021.2",
215     "title": "#BatteryMetrics.v1_0_4.BatteryMetrics"
216 }