Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,10 @@
- Rename `SensorStateCode.SENSOR_STATE_CODE_ON` to `SensorStateCode.SENSOR_STATE_CODE_OK`, to better indicate that we do not control on/off state of sensors.
- Rename `ComponentData` to `ElectricalComponentTelemetry` to better specify its purpose of encapsulating general telemetry data from electrical components.
- Rename `SensorData` to `SensorTelemetry` to better specify its purpose of encapsulating general telemetry data from sensors.
- The following changes have been made to the `ElectricalComponentDiagnosticCode` enum (previously `ComponentErrorCode`):
- The code `UNDERVOLTAGE_SHUTDOWN` has been removed in favour of `UNDERVOLTAGE`.
- New diagnostic codes have been added to cover more cases, especially for inverters.
- The codes have been renumbered.

## Bug Fixes

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -264,50 +264,97 @@ enum ElectricalComponentDiagnosticCode {
// sanity checks to fail.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_PLAUSIBILITY_ERROR = 13;

// There is or was a system shutdown due to undervoltage.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_UNDERVOLTAGE_SHUTDOWN = 14;

// There is an unexpected pilot failure in an electric vehicle (EV) component.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_EV_UNEXPECTED_PILOT_FAILURE = 15;

// A fault current has been detected in the component.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_FAULT_CURRENT = 16;
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_FAULT_CURRENT = 14;

// A short circuit has been detected in the component.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_SHORT_CIRCUIT = 17;
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_SHORT_CIRCUIT = 15;

// The component has been configured incorrectly.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_CONFIG_ERROR = 18;
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_CONFIG_ERROR = 16;

// A illegal state has been requested for the component.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_ILLEGAL_COMPONENT_STATE_CODE_REQUESTED
= 19;
= 17;

// The hardware of the component is inaccessible.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_HARDWARE_INACCESSIBLE = 20;
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_HARDWARE_INACCESSIBLE = 18;

// There is an internal error within the component.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_INTERNAL = 21;
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_INTERNAL = 19;

// The component is unauthorized to perform the last requested action.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_UNAUTHORIZED = 22;
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_UNAUTHORIZED = 20;

// There is excessive leakage current in the component.
// The threshold for excessive leakage current is defined by the component
// manufacturer.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_EXCESS_LEAKAGE_CURRENT = 21;

// The component is inoperable due to the insulation resistance being too low.
// The threshold for low insulation resistance is defined by the component
// manufacturer, or can be configured by the user in the component.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_LOW_SYSTEM_INSULATION_RESISTANCE = 22;

// The component is inoperable due to the faulty grounding.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_GROUND_FAULT = 23;

// The component is inoperable due to arcing.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_ARC_FAULT = 24;

// The component is inoperable due to its fan being faulty.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_FAN_FAULT = 25;

// The component is inoperable due to the component's hardware being faulty.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_HARDWARE_FAULT = 26;

// The component is inoperable due to its hardware being faulty.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_PROTECTIVE_SHUTDOWN = 27;

// The component is inoperable due to the grid voltage being too high.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_GRID_OVERVOLTAGE = 30;

// The component is inoperable due to the grid voltage being too low.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_GRID_UNDERVOLTAGE = 31;

// The component is inoperable due to the grid frequency being too high.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_GRID_OVERFREQUENCY = 32;

// The component is inoperable due to the grid frequency being too low.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_GRID_UNDERFREQUENCY = 33;

// The component is inoperable due to the grid being disconnected, despite
// the AC relay being closed.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_GRID_DISCONNECTED = 34;

// The component is inoperable due to the grid voltage being imbalanced.
// This happens when the voltage of one or more phases is outside the
// acceptable range.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_GRID_VOLTAGE_IMBALANCE = 35;

// The component is inoperable due to the grid being in a non-standard
// configuration.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_GRID_ABNORMAL = 36;

// There is an unexpected pilot failure in an electric vehicle (EV) component.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_EV_UNEXPECTED_PILOT_FAILURE = 40;

// The electric vehicle (EV) cable was abruptly unplugged from the charging
// station.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_EV_CHARGING_CABLE_UNPLUGGED_FROM_STATION
= 40;
= 41;

// The electric vehicle (EV) cable was abruptly unplugged from the vehicle.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_EV_CHARGING_CABLE_UNPLUGGED_FROM_EV = 41;
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_EV_CHARGING_CABLE_UNPLUGGED_FROM_EV = 42;

// There is a cable lock failure with the electric vehicle (EV).
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_EV_CHARGING_CABLE_LOCK_FAILED = 42;
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_EV_CHARGING_CABLE_LOCK_FAILED = 43;

// The electric vehicle (EV) charging cable is invalid.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_EV_CHARGING_CABLE_INVALID = 43;
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_EV_CHARGING_CABLE_INVALID = 44;

// The incompatible electric vehicle (EV) charging plug is invalid.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_EV_CONSUMER_INCOMPATIBLE = 44;
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_EV_CONSUMER_INCOMPATIBLE = 45;

// There is a battery system imbalance.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_BATTERY_IMBALANCE = 50;
Expand All @@ -329,6 +376,28 @@ enum ElectricalComponentDiagnosticCode {

// The battery's DC contactor or relays have reached end of life.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_RELAY_CYCLE_LIMIT_REACHED = 60;

// The PV panels have been connected with reversed polarity.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_PV_REVERSAL_POLARITY = 70;

// The PV panels are underperforming.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_PV_UNDERPERFORMANCE = 71;

// The PV panels have a fault.
// The component is not able to determine or specify the fault.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_PV_FAULT = 72;

// The PV panels are receiving a reverse current.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_PV_REVERSE_CURRENT = 73;

// The PV panels are not grounded properly.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_PV_GROUND_FAULT = 74;

// The inverter is inoperable due to the DC voltage being too low.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_INVERTER_DC_UNDERVOLTAGE = 80;

// The inverter is inoperable due to the DC voltage being too high.
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_INVERTER_DC_OVERVOLTAGE = 81;
}

// MetricConfigBounds describes a set of limits for a specific metric consisting
Expand Down
Loading