xref: /openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/BatteryMetrics.v1_1_0.json (revision 5ecf7b4e1bb6988dd3403fa80b723afbe2be30ae)
1{
2    "$id": "http://redfish.dmtf.org/schemas/v1/BatteryMetrics.v1_1_0.json",
3    "$ref": "#/definitions/BatteryMetrics",
4    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
5    "copyright": "Copyright 2014-2025 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                "CRate": {
71                    "description": "The rate at which the battery is charging or discharging, based on current in ampere units, relative to its rated maximum capacity in ampere-hour units.  For example, `0.5` indicates it takes two hours to charge or discharge the battery based upon the current charge rate and capacity.",
72                    "longDescription": "This property shall contain the rate at which the battery is charging or discharging, based on current in ampere units, relative to its rated maximum capacity in ampere-hour units.  If the battery is discharging, services shall calculate the value as `SUM(OutputCurrentAmps) / CapacityRatedAmpHours`.  Otherwise, services shall calculate the value as `InputCurrentAmps / CapacityRatedAmpHours`.",
73                    "minimum": 0,
74                    "readonly": true,
75                    "type": [
76                        "number",
77                        "null"
78                    ],
79                    "versionAdded": "v1_1_0"
80                },
81                "CellVoltages": {
82                    "description": "The cell voltages (V) for this battery.",
83                    "excerptCopy": "SensorVoltageExcerpt",
84                    "items": {
85                        "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorVoltageExcerpt"
86                    },
87                    "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`.",
88                    "type": "array"
89                },
90                "CellVoltages@odata.count": {
91                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
92                },
93                "ChargePercent": {
94                    "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorExcerpt",
95                    "description": "The amount of charge available (percent) in this battery.",
96                    "excerptCopy": "SensorExcerpt",
97                    "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`."
98                },
99                "Description": {
100                    "anyOf": [
101                        {
102                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
103                        },
104                        {
105                            "type": "null"
106                        }
107                    ],
108                    "readonly": true
109                },
110                "DischargeCycles": {
111                    "description": "The number of discharges this battery has sustained.",
112                    "longDescription": "This property shall contain the number of discharges this battery has sustained.",
113                    "minimum": 0,
114                    "readonly": true,
115                    "type": [
116                        "number",
117                        "null"
118                    ]
119                },
120                "ERate": {
121                    "description": "The rate at which the battery is charging or discharging, based on power in watt units, relative to its rated maximum capacity in watt-hour units.  For example, `0.5` indicates it takes two hours to charge or discharge the battery based upon the current charge rate and capacity.",
122                    "longDescription": "This property shall contain the rate at which the battery is charging or discharging, based on power in watt units, relative to its rated maximum capacity in watt-hour units.  If the battery is discharging, services shall calculate the value as `SUM(OutputCurrentAmps[x] * OutputVoltages[x]) / CapacityRatedWattHours`.  Otherwise, services shall calculate the value as `(InputCurrentAmps * InputVoltage) / CapacityRatedWattHours`.",
123                    "minimum": 0,
124                    "readonly": true,
125                    "type": [
126                        "number",
127                        "null"
128                    ],
129                    "versionAdded": "v1_1_0"
130                },
131                "Id": {
132                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
133                    "readonly": true
134                },
135                "InputCurrentAmps": {
136                    "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorCurrentExcerpt",
137                    "description": "The input current (A) for this battery.",
138                    "excerptCopy": "SensorCurrentExcerpt",
139                    "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`."
140                },
141                "InputVoltage": {
142                    "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorVoltageExcerpt",
143                    "description": "The input voltage (V) for this battery.",
144                    "excerptCopy": "SensorVoltageExcerpt",
145                    "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`."
146                },
147                "Name": {
148                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
149                    "readonly": true
150                },
151                "Oem": {
152                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
153                    "description": "The OEM extension property.",
154                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
155                },
156                "OutputCurrentAmps": {
157                    "description": "The output currents (A) for this battery.",
158                    "excerptCopy": "SensorCurrentExcerpt",
159                    "items": {
160                        "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorCurrentExcerpt"
161                    },
162                    "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.",
163                    "type": "array"
164                },
165                "OutputCurrentAmps@odata.count": {
166                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
167                },
168                "OutputVoltages": {
169                    "description": "The output voltages (V) for this battery.",
170                    "excerptCopy": "SensorVoltageExcerpt",
171                    "items": {
172                        "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorVoltageExcerpt"
173                    },
174                    "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.",
175                    "type": "array"
176                },
177                "OutputVoltages@odata.count": {
178                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
179                },
180                "Status": {
181                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
182                    "description": "The status and health of the resource and its subordinate or dependent resources.",
183                    "longDescription": "This property shall contain any status or health properties of the resource."
184                },
185                "StoredChargeAmpHours": {
186                    "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorExcerpt",
187                    "description": "The charge (Ah) stored in this battery.",
188                    "excerptCopy": "SensorExcerpt",
189                    "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`."
190                },
191                "StoredEnergyWattHours": {
192                    "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorExcerpt",
193                    "description": "The energy (Wh) stored in this battery.",
194                    "excerptCopy": "SensorExcerpt",
195                    "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`."
196                },
197                "TemperatureCelsius": {
198                    "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorExcerpt",
199                    "description": "The temperature (C) for this battery.",
200                    "excerptCopy": "SensorExcerpt",
201                    "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`."
202                }
203            },
204            "required": [
205                "@odata.id",
206                "@odata.type",
207                "Id",
208                "Name"
209            ],
210            "type": "object"
211        },
212        "OemActions": {
213            "additionalProperties": true,
214            "description": "The available OEM-specific actions for this resource.",
215            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
216            "patternProperties": {
217                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
218                    "description": "This property shall specify a valid odata or Redfish property.",
219                    "type": [
220                        "array",
221                        "boolean",
222                        "integer",
223                        "number",
224                        "null",
225                        "object",
226                        "string"
227                    ]
228                }
229            },
230            "properties": {},
231            "type": "object"
232        }
233    },
234    "language": "en",
235    "owningEntity": "DMTF",
236    "release": "2025.3",
237    "title": "#BatteryMetrics.v1_1_0.BatteryMetrics"
238}