@@ -264,50 +264,97 @@ enum ElectricalComponentDiagnosticCode {
264264 // sanity checks to fail.
265265 ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_PLAUSIBILITY_ERROR = 13 ;
266266
267- // There is or was a system shutdown due to undervoltage.
268- ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_UNDERVOLTAGE_SHUTDOWN = 14 ;
269-
270- // There is an unexpected pilot failure in an electric vehicle (EV) component.
271- ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_EV_UNEXPECTED_PILOT_FAILURE = 15 ;
272-
273267 // A fault current has been detected in the component.
274- ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_FAULT_CURRENT = 16 ;
268+ ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_FAULT_CURRENT = 14 ;
275269
276270 // A short circuit has been detected in the component.
277- ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_SHORT_CIRCUIT = 17 ;
271+ ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_SHORT_CIRCUIT = 15 ;
278272
279273 // The component has been configured incorrectly.
280- ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_CONFIG_ERROR = 18 ;
274+ ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_CONFIG_ERROR = 16 ;
281275
282276 // A illegal state has been requested for the component.
283277 ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_ILLEGAL_COMPONENT_STATE_CODE_REQUESTED
284- = 19 ;
278+ = 17 ;
285279
286280 // The hardware of the component is inaccessible.
287- ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_HARDWARE_INACCESSIBLE = 20 ;
281+ ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_HARDWARE_INACCESSIBLE = 18 ;
288282
289283 // There is an internal error within the component.
290- ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_INTERNAL = 21 ;
284+ ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_INTERNAL = 19 ;
291285
292286 // The component is unauthorized to perform the last requested action.
293- ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_UNAUTHORIZED = 22 ;
287+ ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_UNAUTHORIZED = 20 ;
288+
289+ // There is excessive leakage current in the component.
290+ // The threshold for excessive leakage current is defined by the component
291+ // manufacturer.
292+ ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_EXCESS_LEAKAGE_CURRENT = 21 ;
293+
294+ // The component is inoperable due to the insulation resistance being too low.
295+ // The threshold for low insulation resistance is defined by the component
296+ // manufacturer, or can be configured by the user in the component.
297+ ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_LOW_SYSTEM_INSULATION_RESISTANCE = 22 ;
298+
299+ // The component is inoperable due to the faulty grounding.
300+ ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_GROUND_FAULT = 23 ;
301+
302+ // The component is inoperable due to arcing.
303+ ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_ARC_FAULT = 24 ;
304+
305+ // The component is inoperable due to its fan being faulty.
306+ ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_FAN_FAULT = 25 ;
307+
308+ // The component is inoperable due to the component's hardware being faulty.
309+ ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_HARDWARE_FAULT = 26 ;
310+
311+ // The component is inoperable due to its hardware being faulty.
312+ ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_PROTECTIVE_SHUTDOWN = 27 ;
313+
314+ // The component is inoperable due to the grid voltage being too high.
315+ ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_GRID_OVERVOLTAGE = 30 ;
316+
317+ // The component is inoperable due to the grid voltage being too low.
318+ ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_GRID_UNDERVOLTAGE = 31 ;
319+
320+ // The component is inoperable due to the grid frequency being too high.
321+ ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_GRID_OVERFREQUENCY = 32 ;
322+
323+ // The component is inoperable due to the grid frequency being too low.
324+ ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_GRID_UNDERFREQUENCY = 33 ;
325+
326+ // The component is inoperable due to the grid being disconnected, despite
327+ // the AC relay being closed.
328+ ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_GRID_DISCONNECTED = 34 ;
329+
330+ // The component is inoperable due to the grid voltage being imbalanced.
331+ // This happens when the voltage of one or more phases is outside the
332+ // acceptable range.
333+ ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_GRID_VOLTAGE_IMBALANCE = 35 ;
334+
335+ // The component is inoperable due to the grid being in a non-standard
336+ // configuration.
337+ ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_GRID_ABNORMAL = 36 ;
338+
339+ // There is an unexpected pilot failure in an electric vehicle (EV) component.
340+ ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_EV_UNEXPECTED_PILOT_FAILURE = 40 ;
294341
295342 // The electric vehicle (EV) cable was abruptly unplugged from the charging
296343 // station.
297344 ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_EV_CHARGING_CABLE_UNPLUGGED_FROM_STATION
298- = 40 ;
345+ = 41 ;
299346
300347 // The electric vehicle (EV) cable was abruptly unplugged from the vehicle.
301- ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_EV_CHARGING_CABLE_UNPLUGGED_FROM_EV = 41 ;
348+ ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_EV_CHARGING_CABLE_UNPLUGGED_FROM_EV = 42 ;
302349
303350 // There is a cable lock failure with the electric vehicle (EV).
304- ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_EV_CHARGING_CABLE_LOCK_FAILED = 42 ;
351+ ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_EV_CHARGING_CABLE_LOCK_FAILED = 43 ;
305352
306353 // The electric vehicle (EV) charging cable is invalid.
307- ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_EV_CHARGING_CABLE_INVALID = 43 ;
354+ ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_EV_CHARGING_CABLE_INVALID = 44 ;
308355
309356 // The incompatible electric vehicle (EV) charging plug is invalid.
310- ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_EV_CONSUMER_INCOMPATIBLE = 44 ;
357+ ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_EV_CONSUMER_INCOMPATIBLE = 45 ;
311358
312359 // There is a battery system imbalance.
313360 ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_BATTERY_IMBALANCE = 50 ;
@@ -329,6 +376,28 @@ enum ElectricalComponentDiagnosticCode {
329376
330377 // The battery's DC contactor or relays have reached end of life.
331378 ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_RELAY_CYCLE_LIMIT_REACHED = 60 ;
379+
380+ // The PV panels have been connected with reversed polarity.
381+ ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_PV_REVERSAL_POLARITY = 70 ;
382+
383+ // The PV panels are underperforming.
384+ ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_PV_UNDERPERFORMANCE = 71 ;
385+
386+ // The PV panels have a fault.
387+ // The component is not able to determine or specify the fault.
388+ ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_PV_FAULT = 72 ;
389+
390+ // The PV panels are receiving a reverse current.
391+ ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_PV_REVERSE_CURRENT = 73 ;
392+
393+ // The PV panels are not grounded properly.
394+ ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_PV_GROUND_FAULT = 74 ;
395+
396+ // The inverter is inoperable due to the DC voltage being too low.
397+ ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_INVERTER_DC_UNDERVOLTAGE = 80 ;
398+
399+ // The inverter is inoperable due to the DC voltage being too high.
400+ ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_INVERTER_DC_OVERVOLTAGE = 81 ;
332401}
333402
334403// MetricConfigBounds describes a set of limits for a specific metric consisting
0 commit comments