2169 lines
142 KiB
C#
2169 lines
142 KiB
C#
namespace InnovEnergy.App.Backend.Services;
|
||
|
||
/// <summary>
|
||
/// Static knowledge base for Sinexcel and Growatt alarms.
|
||
/// Provides pre-defined diagnostics without requiring Mistral API calls.
|
||
/// Updated by generate_alarm_translations.py after the review campaign.
|
||
/// </summary>
|
||
public static class AlarmKnowledgeBase
|
||
{
|
||
public static DiagnosticResponse? TryGetDiagnosis(string alarmDescription)
|
||
{
|
||
if (string.IsNullOrWhiteSpace(alarmDescription)) return null;
|
||
var normalized = alarmDescription.Trim();
|
||
if (SinexcelAlarms.TryGetValue(normalized, out var s)) return s;
|
||
if (GrowattAlarms.TryGetValue(normalized, out var g)) return g;
|
||
var lower = normalized.ToLowerInvariant();
|
||
foreach (var kvp in SinexcelAlarms) if (kvp.Key.ToLowerInvariant() == lower) return kvp.Value;
|
||
foreach (var kvp in GrowattAlarms) if (kvp.Key.ToLowerInvariant() == lower) return kvp.Value;
|
||
return null;
|
||
}
|
||
|
||
// ── Sinexcel Alarms ──────────────────────────────────────────────────────
|
||
|
||
private static readonly IReadOnlyDictionary<string, DiagnosticResponse> SinexcelAlarms = new Dictionary<string, DiagnosticResponse>
|
||
{
|
||
["AbnormalGridVoltage"] = new()
|
||
{
|
||
Explanation = "The inverter has detected that the grid voltage is outside the allowed range. The system requires manual intervention to restore operation.",
|
||
Causes = new[] { "Voltage fluctuations or instability in the power grid",
|
||
"Poor or loose grid connection at the inverter terminals",
|
||
"Issues with the local transformer",
|
||
"High load demand in the local grid" },
|
||
NextSteps = new[] { "Check the grid voltage with a multimeter at the inverter terminals",
|
||
"Ensure all grid connections are tight and undamaged",
|
||
"Contact your power provider if the grid voltage remains abnormal",
|
||
"Restart the inverter after the issue is resolved" }
|
||
},
|
||
["AbnormalGridFrequency"] = new()
|
||
{
|
||
Explanation = "The inverter has detected that the grid frequency is outside the allowed range (typically 50 Hz or 60 Hz ± tolerance). The system will not operate until the frequency returns to normal.",
|
||
Causes = new[] { "Grid instability or disruption from the power provider",
|
||
"Generator frequency drift if one is being used",
|
||
"Rapid load changes in the local grid" },
|
||
NextSteps = new[] { "Check if the grid frequency is stable",
|
||
"If using a generator, ensure its frequency matches the inverter specifications",
|
||
"Wait for the grid to stabilize, then restart the inverter" }
|
||
},
|
||
["InvertedSequenceOfGridVoltage"] = new()
|
||
{
|
||
Explanation = "The order of the three power phases from the grid is incorrectly connected. The system cannot operate safely.",
|
||
Causes = new[] { "Incorrect wiring of the grid phases (L1, L2, L3) during installation",
|
||
"Later changes to the wiring without checking the phase sequence" },
|
||
NextSteps = new[] { "Safely shut down the entire system before touching any wiring",
|
||
"Swap two of the three phase wires at the grid connection to correct the order",
|
||
"Turn the system back on and check if the warning has cleared" }
|
||
},
|
||
["GridVoltagePhaseLoss"] = new()
|
||
{
|
||
Explanation = "One or more phases of the three-phase grid connection are missing. The inverter cannot safely operate with an incomplete three-phase supply.",
|
||
Causes = new[] { "Blown fuse in one of the grid phases",
|
||
"Loose or disconnected phase wire at the inverter terminals or distribution box",
|
||
"Tripped phase circuit breaker in the grid",
|
||
"Cable damage interrupting a phase" },
|
||
NextSteps = new[] { "Check all three phase connections at the inverter input terminals",
|
||
"Inspect fuses and circuit breakers for each phase",
|
||
"Examine cables for visible damage or loose connections",
|
||
"Restore the missing phase and restart after repairs" }
|
||
},
|
||
["AbnormalGridCurrent"] = new()
|
||
{
|
||
Explanation = "The grid current is abnormal, which may indicate overcurrent or an imbalance between phases.",
|
||
Causes = new[] { "Short circuit or wiring fault on the grid side",
|
||
"System load exceeding capacity",
|
||
"Faulty current sensor providing incorrect readings",
|
||
"Ground fault causing current leaks" },
|
||
NextSteps = new[] { "Check for short circuits in the wiring and on the load side",
|
||
"Reduce the system load and see if the warning disappears",
|
||
"Inspect the connections and operation of the current sensor",
|
||
"Fix the underlying issue, then restart the inverter" }
|
||
},
|
||
["AbnormalOutputVoltage"] = new()
|
||
{
|
||
Explanation = "The inverter’s output voltage is outside the allowed range, which may affect connected devices and indicates a fault.",
|
||
Causes = new[] { "Internal inverter control errors",
|
||
"Overloading at the output",
|
||
"Grid voltage affecting output regulation" },
|
||
NextSteps = new[] { "Check all connected devices and disconnect any that may be overloading the system",
|
||
"Ensure the inverter’s output voltage settings match your installation requirements",
|
||
"Turn the inverter off and on again; if the alarm persists, contact a technician" }
|
||
},
|
||
["AbnormalOutputFrequency"] = new()
|
||
{
|
||
Explanation = "The inverter’s output frequency is unusual, which may affect sensitive devices.",
|
||
Causes = new[] { "Internal control errors affecting frequency regulation",
|
||
"Large or sudden load changes altering the frequency" },
|
||
NextSteps = new[] { "Reduce the connected load and check if the frequency stabilizes",
|
||
"Turn the inverter off and on again; if the problem continues, contact a technician" }
|
||
},
|
||
["AbnormalNullLine"] = new()
|
||
{
|
||
Explanation = "The neutral line connection is abnormal. A missing or damaged neutral line can cause voltage imbalance and dangerous conditions.",
|
||
Causes = new[] { "Loose or disconnected neutral line connection at the inverter or distribution board",
|
||
"Damaged or broken neutral line",
|
||
"Incorrect wiring during installation" },
|
||
NextSteps = new[] { "Safely turn off the system before checking the wiring",
|
||
"Inspect all neutral line connections at the inverter and distribution board",
|
||
"Fix any wiring issues found and only restart the system after confirming correct connections" }
|
||
},
|
||
["AbnormalOffGridOutputVoltage"] = new()
|
||
{
|
||
Explanation = "The backup (off-grid) output voltage is abnormal. Devices connected to the backup output may not receive the correct voltage.",
|
||
Causes = new[] { "Overloading at the backup output exceeding the inverter’s capacity",
|
||
"Internal inverter hardware issues",
|
||
"Battery voltage too low to maintain a stable output voltage" },
|
||
NextSteps = new[] { "Disconnect or reduce the load on the backup output",
|
||
"Check the battery’s charge level and recharge if necessary",
|
||
"Turn the inverter off and on again; if the problem persists, contact a technician" }
|
||
},
|
||
["ExcessivelyHighAmbientTemperature"] = new()
|
||
{
|
||
Explanation = "The temperature around the inverter is too high. The inverter may reduce output power to protect itself from heat damage.",
|
||
Causes = new[] { "Poor ventilation around the inverter",
|
||
"High ambient temperature (heatwave, summer heat)",
|
||
"Direct sunlight heating the inverter casing",
|
||
"Other nearby devices generating excessive heat" },
|
||
NextSteps = new[] { "Improve air circulation and ventilation around the inverter",
|
||
"Provide shade if the inverter is installed outdoors or in direct sunlight",
|
||
"Consider adding forced ventilation (a fan) if the inverter is in an enclosed space",
|
||
"The inverter will recover automatically once the temperature drops to a safe level" }
|
||
},
|
||
["ExcessiveRadiatorTemperature"] = new()
|
||
{
|
||
Explanation = "The inverter’s heatsink is too hot because heat is not being properly dissipated.",
|
||
Causes = new[] { "Clogged or blocked vents prevent heat from escaping",
|
||
"Cooling fan failure reduces airflow",
|
||
"High ambient temperature",
|
||
"Overloading generates excess heat" },
|
||
NextSteps = new[] { "Clean the vents and dust filters—dust buildup is a common cause",
|
||
"Check if the cooling fan is running (listen for fan noise during operation)",
|
||
"Temporarily reduce the load to lower heat generation" }
|
||
},
|
||
["PcbOvertemperature"] = new()
|
||
{
|
||
Explanation = "The inverter’s circuit board (PCB) has reached an excessively high temperature.",
|
||
Causes = new[] { "Inadequate cooling or poor ventilation inside the unit",
|
||
"High ambient temperature affects internal components",
|
||
"Excessive power output over an extended period" },
|
||
NextSteps = new[] { "Improve ventilation around the inverter",
|
||
"Check if the cooling fan is working properly",
|
||
"Let the inverter cool down before restarting it" }
|
||
},
|
||
["DcConverterOvertemperature"] = new()
|
||
{
|
||
Explanation = "The inverter’s DC converter section is overheating.",
|
||
Causes = new[] { "High charge or discharge current over a prolonged period",
|
||
"Poor cooling or clogged vents",
|
||
"High ambient temperature in the installation area" },
|
||
NextSteps = new[] { "Temporarily reduce the current flow through the system",
|
||
"Improve ventilation and check the fan’s operation",
|
||
"Allow cooling before restarting the inverter" }
|
||
},
|
||
["InverterOvertemperatureAlarm"] = new()
|
||
{
|
||
Explanation = "The inverter’s temperature is rising to dangerous levels, warning of an impending thermal shutdown.",
|
||
Causes = new[] { "Prolonged overload of output power",
|
||
"Poor ventilation traps heat around the inverter",
|
||
"Cooling fan failure",
|
||
"High ambient temperature in the installation area" },
|
||
NextSteps = new[] { "Immediately reduce the connected load",
|
||
"Check if the cooling fans are running and vents are clear",
|
||
"The inverter will recover once cooled; fix the issue before fully restarting" }
|
||
},
|
||
["InverterOvertemperature"] = new()
|
||
{
|
||
Explanation = "The inverter has overheated and the protective shutdown was triggered.",
|
||
Causes = new[] { "Sustained overload condition generates excessive heat",
|
||
"Cooling system failure (clogged vents, faulty fan)",
|
||
"Extreme ambient temperatures" },
|
||
NextSteps = new[] { "Let the inverter cool completely before attempting a restart",
|
||
"Check the fans and ensure all vents are clear",
|
||
"Reduce system load and improve cooling before restarting the inverter" }
|
||
},
|
||
["DcConverterOvertemperatureAlarm"] = new()
|
||
{
|
||
Explanation = "The DC converter temperature alarm is active – the temperature is approaching the shutdown threshold.",
|
||
Causes = new[] { "High power throughput for an extended period",
|
||
"Inadequate cooling or blocked ventilation slots" },
|
||
NextSteps = new[] { "Temporarily reduce power flow to allow cooling",
|
||
"Check the fan is working and clear any ventilation blockages",
|
||
"Let the temperature drop, then restart the inverter" }
|
||
},
|
||
["InsulationFault"] = new()
|
||
{
|
||
Explanation = "An insulation fault has been detected, indicating possible current leakage to earth. This is a safety-critical condition that must be investigated before resuming operation.",
|
||
Causes = new[] { "Damaged cable insulation on PV, battery, or grid cables",
|
||
"Moisture or water ingress in cable connections or enclosures",
|
||
"Insulation failure of a component in the inverter",
|
||
"Earth fault in the PV array – common after storm damage" },
|
||
NextSteps = new[] { "Do not touch the system – insulation faults can cause electric shocks",
|
||
"Safely switch off the system at all isolation points",
|
||
"Check all cables for visible insulation damage, especially in weather-exposed areas",
|
||
"Perform an insulation resistance test on PV strings and wiring",
|
||
"Repair damaged insulation before restarting the system" }
|
||
},
|
||
["LeakageProtectionFault"] = new()
|
||
{
|
||
Explanation = "The earth leakage or residual current protection has tripped. The leakage current to earth has exceeded the safe threshold.",
|
||
Causes = new[] { "Earth fault somewhere in the system wiring",
|
||
"Damaged cable insulation allowing current to leak to earth",
|
||
"Moisture in cable connectors or junction boxes",
|
||
"Faulty RCD or RCBO protective device" },
|
||
NextSteps = new[] { "Switch off the system before inspection",
|
||
"Check for earth faults by inspecting all cable connections and insulation",
|
||
"Look for moisture in connectors, junction boxes, and cable glands",
|
||
"Fix the fault, then restart the system" }
|
||
},
|
||
["AbnormalLeakageSelfCheck"] = new()
|
||
{
|
||
Explanation = "The inverter’s leakage current self-test failed during startup.",
|
||
Causes = new[] { "Fault in the self-test circuit inside the inverter",
|
||
"An actual earth fault in the system",
|
||
"Malfunction of the leakage current sensor" },
|
||
NextSteps = new[] { "Safely switch off and check the system’s grounding connections",
|
||
"Inspect wiring for insulation damage that could cause leakage currents",
|
||
"If the wiring is intact, the inverter’s internal sensor may be faulty – contact service" }
|
||
},
|
||
["PoorGrounding"] = new()
|
||
{
|
||
Explanation = "Poor or inadequate earthing has been detected. Proper earthing is essential for safety and lightning protection.",
|
||
Causes = new[] { "Loose earth connection at the inverter",
|
||
"Corroded or oxidized earth terminal",
|
||
"Excessive resistance in the earthing cable due to soil conditions or undersized cable",
|
||
"Missing or disconnected earth wire" },
|
||
NextSteps = new[] { "Safely switch off and check all earth connections at the inverter",
|
||
"Clean corroded terminals and tighten all earth connections",
|
||
"Measure the earthing resistance and compare it with the installation specification",
|
||
"Repair the earthing, then restart the inverter" }
|
||
},
|
||
["FanFault"] = new()
|
||
{
|
||
Explanation = "The cooling fan is not working properly or has failed. Without sufficient cooling, the inverter will overheat and shut down.",
|
||
Causes = new[] { "The fan motor is faulty and no longer spins",
|
||
"Fan blades are blocked by dirt or foreign objects",
|
||
"The fan power connection is loose or disconnected",
|
||
"A fault in the fan control system" },
|
||
NextSteps = new[] { "Check the fan and see if it spins when the inverter is running",
|
||
"Remove any obstructions from the fan blades",
|
||
"Ensure the fan power connection is securely attached",
|
||
"Replace the fan if it does not work—do not operate the inverter without cooling" }
|
||
},
|
||
["AuxiliaryPowerFault"] = new()
|
||
{
|
||
Explanation = "The internal auxiliary power supply in the inverter has failed. This supply powers the control electronics.",
|
||
Causes = new[] { "Failure of a component in the internal power supply",
|
||
"An issue with the input voltage affecting the auxiliary supply",
|
||
"Failure of an electronic component on the control board" },
|
||
NextSteps = new[] { "Turn off the inverter, wait 30 seconds, and turn it back on",
|
||
"If the alarm persists after restarting, the auxiliary power supply likely needs replacement—contact a service technician" }
|
||
},
|
||
["ModelCapacityFault"] = new()
|
||
{
|
||
Explanation = "The inverter has detected a mismatch between model or capacity settings and the hardware.",
|
||
Causes = new[] { "Incorrect model settings during commissioning",
|
||
"Firmware version is not compatible with the hardware",
|
||
"Hardware components were replaced without updating the settings" },
|
||
NextSteps = new[] { "Check the inverter’s model settings in the configuration menu",
|
||
"Ensure the firmware version is compatible with this hardware revision",
|
||
"Contact your installer or service team to correct the settings, then restart" }
|
||
},
|
||
["AbnormalLightningArrester"] = new()
|
||
{
|
||
Explanation = "The surge protection device (SPD/lightning arrester) has either failed or been triggered by a voltage surge.",
|
||
Causes = new[] { "A lightning strike or voltage surge activated and possibly damaged the SPD",
|
||
"The SPD component has reached the end of its lifespan and failed",
|
||
"Wiring fault in the SPD" },
|
||
NextSteps = new[] { "Check the SPD status indicator (most SPDs have a visual fault indicator)",
|
||
"Replace the SPD cartridge if it has been triggered or shows a fault",
|
||
"Restart the inverter after replacement" }
|
||
},
|
||
["IslandProtection"] = new()
|
||
{
|
||
Explanation = "Islanding protection is active—the inverter has disconnected from the grid to prevent feeding power into a dead grid. This is a safety feature.",
|
||
Causes = new[] { "Power outage in your local grid supply",
|
||
"Grid voltage or frequency is outside permitted limits",
|
||
"Intentional grid disconnection by the utility provider" },
|
||
NextSteps = new[] { "Wait for the grid supply to be restored and stabilized",
|
||
"The inverter will automatically reconnect and resume normal operation once the grid is healthy",
|
||
"No action is needed unless the outage persists" }
|
||
},
|
||
["Battery1NotConnected"] = new()
|
||
{
|
||
Explanation = "Battery 1 is not detected or connected. The inverter cannot find the battery on the DC bus.",
|
||
Causes = new[] { "Battery disconnect switch is turned off",
|
||
"Loose or disconnected battery cables at the inverter or battery terminals",
|
||
"Battery BMS has shut down the battery due to a protection event",
|
||
"Battery fuse is blown" },
|
||
NextSteps = new[] { "Check the battery disconnect switch and ensure it is turned ON",
|
||
"Inspect battery cable connections at both the inverter and battery terminals",
|
||
"Check the battery BMS status indicator for error codes",
|
||
"Inspect and replace the fuse if blown, then restart the inverter" }
|
||
},
|
||
["Battery1Overvoltage"] = new()
|
||
{
|
||
Explanation = "Battery 1 voltage is too high. Charging has been limited or stopped to protect the battery.",
|
||
Causes = new[] { "Battery is being charged beyond its maximum voltage level",
|
||
"BMS fault causing excessive voltage",
|
||
"Incorrect battery voltage or capacity settings in the inverter",
|
||
"Cell imbalance causing some cells to overcharge" },
|
||
NextSteps = new[] { "Check the battery’s state of charge and current voltage",
|
||
"Review the battery charge voltage settings in the inverter configuration",
|
||
"Check the BMS operation and any BMS error indicators",
|
||
"Resolve the underlying cause and then restart the inverter" }
|
||
},
|
||
["Battery1Undervoltage"] = new()
|
||
{
|
||
Explanation = "Battery 1 voltage is too low. Discharging has been limited or stopped to protect the battery from deep discharge.",
|
||
Causes = new[] { "Battery has been deeply discharged",
|
||
"Failure of an individual battery cell, reducing overall capacity",
|
||
"BMS shutdown due to low-voltage protection",
|
||
"High load is draining the battery faster than it is being charged" },
|
||
NextSteps = new[] { "Allow the battery to recharge from solar or grid power",
|
||
"Check for unusually high loads consuming excessive power",
|
||
"Inspect battery health—older batteries may no longer hold a charge",
|
||
"Resolve the underlying cause and then restart the inverter" }
|
||
},
|
||
["Battery1DischargeEnd"] = new()
|
||
{
|
||
Explanation = "Battery 1 has reached its minimum state of charge (discharge endpoint). The system will stop discharging to protect the battery.",
|
||
Causes = new[] { "Battery has been fully discharged to the configured state-of-charge limit",
|
||
"High power consumption exceeding available solar or grid charging" },
|
||
NextSteps = new[] { "Wait for the battery to recharge from solar or grid power",
|
||
"Consider reducing nighttime power usage to preserve battery capacity",
|
||
"This alarm will clear automatically once sufficient charge is restored" }
|
||
},
|
||
["Battery1Inverted"] = new()
|
||
{
|
||
Explanation = "Battery 1 polarity is reversed. Operating with reversed polarity can cause severe damage to the inverter and battery.",
|
||
Causes = new[] { "Battery cables were connected with reversed polarity during installation",
|
||
"Installation error—positive cable connected to the negative terminal or vice versa" },
|
||
NextSteps = new[] { "IMMEDIATELY shut down the entire system—do not attempt to charge or discharge",
|
||
"Disconnect the battery cables carefully after powering off",
|
||
"Reconnect with correct polarity: positive cable to positive (+) terminal, negative cable to negative (−) terminal",
|
||
"Check for damage to cables, fuses, or the inverter before restarting the system" }
|
||
},
|
||
["Battery1OverloadTimeout"] = new()
|
||
{
|
||
Explanation = "Battery 1 operated under overload conditions for too long and triggered its protection function.",
|
||
Causes = new[] { "Continuous high load exceeding the battery’s discharge rating",
|
||
"Battery is undersized for the connected load",
|
||
"Battery aging has reduced its available power" },
|
||
NextSteps = new[] { "Reduce the system’s total load",
|
||
"Check if the battery is properly sized for peak load demands",
|
||
"Fix the issue and then restart the inverter" }
|
||
},
|
||
["Battery1SoftStartFailure"] = new()
|
||
{
|
||
Explanation = "Battery 1 failed to complete the soft start sequence (pre-charge phase) during power-up.",
|
||
Causes = new[] { "Fault in the pre-charge circuit preventing a controlled start",
|
||
"Significant voltage difference between the battery and DC bus",
|
||
"Issue with the contactor or relay in the battery connection path" },
|
||
NextSteps = new[] { "Check the battery voltage and compare it with the DC bus voltage",
|
||
"Verify that the pre-charge circuit and contactors are functioning correctly",
|
||
"Fix the issue and then restart the inverter" }
|
||
},
|
||
["Battery1PowerTubeFault"] = new()
|
||
{
|
||
Explanation = "Battery 1’s power electronics (IGBT or MOSFET transistors) have failed, requiring professional service.",
|
||
Causes = new[] { "Power semiconductor (IGBT/MOSFET) failed due to overload",
|
||
"Damage from overcurrent or short circuit",
|
||
"Manufacturing defect that developed over time" },
|
||
NextSteps = new[] { "Do not attempt to restart the system",
|
||
"Contact a qualified service technician—this requires internal hardware repair or replacement",
|
||
"Do not operate the system until the fault is professionally repaired" }
|
||
},
|
||
["Battery1InsufficientPower"] = new()
|
||
{
|
||
Explanation = "Battery 1 cannot meet the current load demand.",
|
||
Causes = new[] { "Battery charge level is too low",
|
||
"Load demand temporarily exceeds the battery’s maximum discharge power",
|
||
"Battery capacity has decreased due to aging" },
|
||
NextSteps = new[] { "Wait for the battery to charge from PV or the grid",
|
||
"Reduce load if possible when battery charge is low",
|
||
"This alarm should clear automatically once the battery is sufficiently charged" }
|
||
},
|
||
["Battery1BackupProhibited"] = new()
|
||
{
|
||
Explanation = "Battery 1 is currently not allowed to provide backup power, usually due to a BMS protection state.",
|
||
Causes = new[] { "Battery BMS has activated a protection mode preventing discharge",
|
||
"Battery is in maintenance or calibration mode",
|
||
"Battery charge is below the minimum level required for backup operation" },
|
||
NextSteps = new[] { "Check the BMS status and error indicators",
|
||
"Charge the battery above the minimum state of charge (SOC) threshold for backup",
|
||
"Resolve BMS issues and then restart the inverter" }
|
||
},
|
||
["Battery2NotConnected"] = new()
|
||
{
|
||
Explanation = "Battery 2 is not detected or connected. The inverter cannot find the second battery on the DC bus.",
|
||
Causes = new[] { "Battery 2 disconnect switch is turned off",
|
||
"Loose or disconnected battery cables at the inverter or battery terminals",
|
||
"Battery 2 BMS shut down due to a protection event",
|
||
"Battery 2 fuse is blown" },
|
||
NextSteps = new[] { "Check if the Battery 2 disconnect switch is set to ON",
|
||
"Inspect the battery cable connections at the inverter and battery terminals",
|
||
"Check the Battery 2 BMS status for error codes",
|
||
"Inspect and replace the fuse if blown, then restart the inverter" }
|
||
},
|
||
["Battery2Overvoltage"] = new()
|
||
{
|
||
Explanation = "Battery 2 voltage is too high. Charging has been limited or stopped to protect the battery.",
|
||
Causes = new[] { "Battery 2 is being charged beyond its maximum voltage",
|
||
"BMS malfunction causing high voltage",
|
||
"Incorrect battery voltage settings in the inverter" },
|
||
NextSteps = new[] { "Check the charge level and voltage of Battery 2",
|
||
"Review the charging settings in the inverter configuration",
|
||
"Check the BMS function and any error indicators, then restart" }
|
||
},
|
||
["Battery2Undervoltage"] = new()
|
||
{
|
||
Explanation = "Battery 2 voltage is too low. Discharging has been limited to protect the battery from deep discharge.",
|
||
Causes = new[] { "Battery 2 has been deeply discharged",
|
||
"Cell failure reducing overall capacity",
|
||
"BMS undervoltage protection activated" },
|
||
NextSteps = new[] { "Allow Battery 2 to recharge from PV or grid power",
|
||
"Check battery health—older batteries lose capacity over time",
|
||
"Resolve the issue and restart the inverter" }
|
||
},
|
||
["Battery2DischargeEnd"] = new()
|
||
{
|
||
Explanation = "Battery 2 has reached its minimum charge level. Discharging has stopped to protect the battery.",
|
||
Causes = new[] { "Battery 2 was fully discharged to the configured state-of-charge (SOC) limit",
|
||
"High power consumption exceeding available charge" },
|
||
NextSteps = new[] { "Wait for Battery 2 to recharge from PV or grid power",
|
||
"This alarm will clear automatically once sufficient charge is restored" }
|
||
},
|
||
["Battery2Inverted"] = new()
|
||
{
|
||
Explanation = "Battery 2 polarity is reversed. This is a dangerous condition and must be corrected immediately.",
|
||
Causes = new[] { "Battery 2 cables are connected with reversed positive and negative polarity",
|
||
"Installation error during initial wiring" },
|
||
NextSteps = new[] { "Immediately shut down the entire system",
|
||
"Carefully disconnect Battery 2 cables after power is off",
|
||
"Reconnect the cables with correct polarity and check for damage before restarting the system" }
|
||
},
|
||
["Battery2OverloadTimeout"] = new()
|
||
{
|
||
Explanation = "Battery 2 has been operating under overload for too long.",
|
||
Causes = new[] { "Continuous high load exceeding Battery 2’s discharge capacity",
|
||
"Battery 2 is degraded and can provide less power" },
|
||
NextSteps = new[] { "Reduce overall power consumption",
|
||
"Check if Battery 2 is properly sized for the load demands",
|
||
"Restart the inverter after reducing the load",
|
||
"Review battery settings (e.g., charge/discharge current)" }
|
||
},
|
||
["Battery2SoftStartFailure"] = new()
|
||
{
|
||
Explanation = "Battery 2 failed to complete its startup sequence.",
|
||
Causes = new[] { "Fault in Battery 2’s pre-charge circuit",
|
||
"Voltage mismatch between Battery 2 and the DC bus" },
|
||
NextSteps = new[] { "Check Battery 2’s voltage and compare it with the DC bus voltage",
|
||
"Inspect the pre-charge circuit and contactors of Battery 2, then restart" }
|
||
},
|
||
["Battery2PowerTubeFault"] = new()
|
||
{
|
||
Explanation = "The power electronics (IGBT or MOSFET transistors) in Battery 2 are faulty. Professional repair required.",
|
||
Causes = new[] { "Power semiconductor failure due to overload, overcurrent, or wear",
|
||
"Short circuit damaging the power electronics" },
|
||
NextSteps = new[] { "Do not restart the system",
|
||
"Contact a qualified technician to repair the internal hardware" }
|
||
},
|
||
["Battery2InsufficientPower"] = new()
|
||
{
|
||
Explanation = "Battery 2 cannot meet the current power demand.",
|
||
Causes = new[] { "Battery 2’s charge level is too low",
|
||
"Power demand exceeds Battery 2’s maximum discharge capacity",
|
||
"Battery capacity reduced due to aging" },
|
||
NextSteps = new[] { "Wait until Battery 2 is recharged",
|
||
"Reduce load if the battery is low",
|
||
"The alarm should clear once the battery is recharged" }
|
||
},
|
||
["Battery2BackupProhibited"] = new()
|
||
{
|
||
Explanation = "Battery 2 is currently not allowed to provide backup power.",
|
||
Causes = new[] { "Battery 2’s BMS is preventing discharge",
|
||
"Battery 2’s charge is below the minimum required for backup" },
|
||
NextSteps = new[] { "Check Battery 2’s BMS for error codes",
|
||
"Charge Battery 2 above the minimum backup level, then restart" }
|
||
},
|
||
["LithiumBattery1ChargeForbidden"] = new()
|
||
{
|
||
Explanation = "The battery management system of Lithium Battery 1 has blocked charging. The system has detected that charging is currently unsafe.",
|
||
Causes = new[] { "The battery is already fully charged and does not need further charging",
|
||
"The battery temperature is outside the safe charging range (too hot or too cold)",
|
||
"The BMS has activated due to cell voltage imbalance or an internal fault",
|
||
"Cell imbalance that must be balanced before charging can resume" },
|
||
NextSteps = new[] { "Check the battery temperature – charging is usually blocked below 0°C or above ~45°C",
|
||
"Check the BMS status or indicators for error codes",
|
||
"Allow the battery to reach normal temperature before charging",
|
||
"If the issue persists at normal temperature, contact battery service" }
|
||
},
|
||
["LithiumBattery1DischargeForbidden"] = new()
|
||
{
|
||
Explanation = "The battery management system of Lithium Battery 1 has blocked discharging. The system has detected that discharging is currently unsafe.",
|
||
Causes = new[] { "The battery is at or below the minimum state of charge – too low for safe discharging",
|
||
"The battery temperature is outside the safe discharging range",
|
||
"The BMS has activated low-voltage protection",
|
||
"Cell imbalance or an internal BMS protection event" },
|
||
NextSteps = new[] { "Allow the battery to charge from PV or the grid until the state of charge is above the minimum level",
|
||
"Check the battery temperature – discharging is blocked in very cold conditions",
|
||
"Check the BMS status for specific error codes",
|
||
"If the battery does not accept charge, contact battery service" }
|
||
},
|
||
["LithiumBattery2ChargeForbidden"] = new()
|
||
{
|
||
Explanation = "The battery management system of Lithium Battery 2 has blocked charging.",
|
||
Causes = new[] { "Battery 2 is already fully charged",
|
||
"The temperature of Battery 2 is outside the safe charging range",
|
||
"BMS protection event on Battery 2" },
|
||
NextSteps = new[] { "Check the temperature and BMS status of Battery 2",
|
||
"Allow the temperature to normalize before charging",
|
||
"If the issue persists, check the BMS error codes" }
|
||
},
|
||
["LithiumBattery2DischargeForbidden"] = new()
|
||
{
|
||
Explanation = "The battery management system of Lithium Battery 2 has blocked discharging.",
|
||
Causes = new[] { "Battery 2 is at the minimum state of charge",
|
||
"The temperature of Battery 2 is outside the safe discharging range",
|
||
"BMS protection event on Battery 2" },
|
||
NextSteps = new[] { "Allow Battery 2 to charge from PV or the grid",
|
||
"Check the battery temperature and BMS status for error codes",
|
||
"If the battery cannot be charged, contact battery service" }
|
||
},
|
||
["LithiumBattery1Full"] = new()
|
||
{
|
||
Explanation = "Lithium Battery 1 is fully charged. Charging has been automatically stopped.",
|
||
Causes = new[] { "The battery has reached 100% state of charge",
|
||
"The cell voltage has reached the maximum safe level" },
|
||
NextSteps = new[] { "This is normal operation – no action required",
|
||
"Monitor the battery condition regularly to ensure cells are balanced correctly" }
|
||
},
|
||
["LithiumBattery1DischargeEnd"] = new()
|
||
{
|
||
Explanation = "Lithium battery 1 has reached the end of its discharge cycle — the minimum charge level has been reached.",
|
||
Causes = new[] { "The battery was discharged to the configured minimum charge level",
|
||
"High demand or daily load drained the battery" },
|
||
NextSteps = new[] { "Allow the battery to recharge using solar or grid power",
|
||
"Consider reducing power use during low sunlight to preserve charge" }
|
||
},
|
||
["LithiumBattery2Full"] = new()
|
||
{
|
||
Explanation = "Lithium battery 2 is fully charged. Charging has automatically stopped.",
|
||
Causes = new[] { "Battery 2 reached 100% charge level" },
|
||
NextSteps = new[] { "This is normal operation — no action needed",
|
||
"The system will resume charging automatically if the charge level drops" }
|
||
},
|
||
["LithiumBattery2DischargeEnd"] = new()
|
||
{
|
||
Explanation = "Lithium battery 2 has reached the end of its discharge cycle.",
|
||
Causes = new[] { "Battery 2 was discharged to the configured minimum charge level" },
|
||
NextSteps = new[] { "Allow battery 2 to recharge using solar or grid power",
|
||
"This alarm will clear automatically once the charge is restored" }
|
||
},
|
||
["LeadBatteryTemperatureAbnormality"] = new()
|
||
{
|
||
Explanation = "The lead battery temperature is outside the normal operating range.",
|
||
Causes = new[] { "Battery overheating due to high ambient temperature or excessive charging current",
|
||
"Temperature sensor fault causing incorrect readings",
|
||
"Very cold ambient temperature slowing chemical reactions" },
|
||
NextSteps = new[] { "Check the battery temperature directly if safe to do so",
|
||
"Improve battery ventilation or cooling if overheating",
|
||
"Ensure the temperature sensor is properly connected and working",
|
||
"Fix the underlying cause and restart the inverter" }
|
||
},
|
||
["BatteryAccessMethodError"] = new()
|
||
{
|
||
Explanation = "The battery access method is incorrectly configured — the inverter and battery are not set up to communicate using the same protocol.",
|
||
Causes = new[] { "Wrong battery communication protocol set in the inverter",
|
||
"Battery type or model does not match the configured access method" },
|
||
NextSteps = new[] { "Check the battery communication settings in the inverter configuration",
|
||
"Ensure the battery type and communication protocol match the connected battery, then restart" }
|
||
},
|
||
["Pv1NotAccessed"] = new()
|
||
{
|
||
Explanation = "PV line 1 is not detected or accessible. The inverter is not measuring any voltage or current from PV line 1.",
|
||
Causes = new[] { "PV line 1 is switched off (isolator open)",
|
||
"Cable break interrupts the circuit",
|
||
"Fault in a PV module on the line",
|
||
"No sunlight available (night or heavy cloud cover)" },
|
||
NextSteps = new[] { "Check if the isolator for PV line 1 is turned on",
|
||
"Inspect all cable connections for PV line 1",
|
||
"Look for shading or obstructions on the modules",
|
||
"Repair damaged cables or connectors, then restart" }
|
||
},
|
||
["Pv1Overvoltage"] = new()
|
||
{
|
||
Explanation = "The voltage of PV line 1 exceeds the inverter’s maximum DC input voltage, which may damage the inverter.",
|
||
Causes = new[] { "Too many PV modules connected in series for this inverter model",
|
||
"Cold temperatures significantly increase module voltage",
|
||
"Incorrect system design – wrong line sizing" },
|
||
NextSteps = new[] { "Check how many modules are connected in series and compare with the inverter’s maximum input voltage",
|
||
"Verify the open-circuit voltage at the lowest expected temperature – it must stay below the inverter’s maximum limit",
|
||
"Reduce the number of modules in series if necessary" }
|
||
},
|
||
["AbnormalPv1CurrentSharing"] = new()
|
||
{
|
||
Explanation = "The current flow in PV line 1 is uneven, indicating a problem.",
|
||
Causes = new[] { "Different PV modules with mismatched electrical characteristics",
|
||
"Partial shading activates bypass diodes",
|
||
"Module fault reduces current in part of the line" },
|
||
NextSteps = new[] { "Check for shading or dirt on PV line 1",
|
||
"Ensure all modules on the line are the same model and undamaged",
|
||
"Fix the underlying issue, then restart the inverter" }
|
||
},
|
||
["Pv1PowerTubeFault"] = new()
|
||
{
|
||
Explanation = "The power electronics (IGBT/MOSFET) of the PV1 DC converter have failed. This is a hardware defect.",
|
||
Causes = new[] { "IGBT or MOSFET failure due to overcurrent, overvoltage, or long-term wear",
|
||
"Short circuit or voltage spike damaged the power electronics" },
|
||
NextSteps = new[] { "Do not restart the system",
|
||
"Contact a qualified technician for repair" }
|
||
},
|
||
["Pv1SoftStartFailure"] = new()
|
||
{
|
||
Explanation = "PV line 1 could not complete the soft-start sequence (pre-charge) during startup.",
|
||
Causes = new[] { "Fault in the pre-charge circuit prevents controlled startup",
|
||
"PV voltage differs significantly from the expected DC bus voltage level" },
|
||
NextSteps = new[] { "Check the PV voltage at the inverter inputs",
|
||
"Repair the pre-charge circuit, then restart the inverter" }
|
||
},
|
||
["Pv1OverloadTimeout"] = new()
|
||
{
|
||
Explanation = "PV line 1 has been supplying too much power for too long.",
|
||
Causes = new[] { "The PV system is too large for the DC converter's capacity",
|
||
"The DC converter cannot handle the high sunlight intensity" },
|
||
NextSteps = new[] { "Check if the PV system size matches the inverter's input capacity",
|
||
"Fix the issue and restart the inverter" }
|
||
},
|
||
["Pv1InsufficientPower"] = new()
|
||
{
|
||
Explanation = "PV line 1 is supplying too little power, usually due to weather conditions.",
|
||
Causes = new[] { "Clouds or bad weather reduce sunlight",
|
||
"Shading on PV line 1",
|
||
"Low sun position in the morning or evening" },
|
||
NextSteps = new[] { "Wait for better sunlight—this resolves on its own",
|
||
"Check for new sources of shading like trees, buildings, or dirt",
|
||
"The alarm will clear automatically when sunlight returns" }
|
||
},
|
||
["Photovoltaic1Overcurrent"] = new()
|
||
{
|
||
Explanation = "The current in PV line 1 exceeds the inverter's maximum DC input capacity.",
|
||
Causes = new[] { "The PV system is too large with too many parallel strings",
|
||
"Ground fault causing unusual current flow",
|
||
"Short circuit in part of the PV line" },
|
||
NextSteps = new[] { "Check the configuration of PV line 1—number of parallel strings",
|
||
"Inspect for ground faults or short circuits in the wiring",
|
||
"Fix the issue and restart the inverter" }
|
||
},
|
||
["Pv2NotAccessed"] = new()
|
||
{
|
||
Explanation = "PV line 2 is not detected or is inaccessible.",
|
||
Causes = new[] { "The disconnect switch for PV line 2 is turned off",
|
||
"Damaged cable on line 2",
|
||
"No sunlight available" },
|
||
NextSteps = new[] { "Check if the disconnect switch for PV line 2 is ON",
|
||
"Inspect cable connections on line 2",
|
||
"Repair any damage and restart the inverter" }
|
||
},
|
||
["Pv2Overvoltage"] = new()
|
||
{
|
||
Explanation = "The voltage from PV line 2 exceeds the maximum DC input voltage.",
|
||
Causes = new[] { "Too many PV modules connected in series in line 2",
|
||
"Cold temperatures increase module voltage beyond inverter limits" },
|
||
NextSteps = new[] { "Check the number of modules and voltage of line 2 against the inverter's specifications",
|
||
"If needed, reduce the number of modules in series to stay within voltage limits" }
|
||
},
|
||
["AbnormalPv2CurrentSharing"] = new()
|
||
{
|
||
Explanation = "The current distribution in PV string 2 is abnormal.",
|
||
Causes = new[] { "Mismatched or degraded modules in string 2",
|
||
"Partial shading of the string 2 panels" },
|
||
NextSteps = new[] { "Check the string 2 panels for dirt or shading",
|
||
"Fix the issue and restart the inverter" }
|
||
},
|
||
["Pv2PowerTubeFault"] = new()
|
||
{
|
||
Explanation = "The power electronics of the PV2 DC converter have failed. Professional service is required.",
|
||
Causes = new[] { "Failure of a power semiconductor (IGBT/MOSFET)",
|
||
"Damage from overcurrent or voltage spikes" },
|
||
NextSteps = new[] { "Do not restart the system",
|
||
"Contact a qualified service technician for repair" }
|
||
},
|
||
["Pv2SoftStartFailure"] = new()
|
||
{
|
||
Explanation = "PV string 2 failed to complete the soft-start sequence.",
|
||
Causes = new[] { "Pre-charge fault in the PV2 converter",
|
||
"Voltage mismatch between PV2 and the DC bus" },
|
||
NextSteps = new[] { "Check the input voltage of PV string 2",
|
||
"Fix the pre-charge fault and restart the inverter" }
|
||
},
|
||
["Pv2OverloadTimeout"] = new()
|
||
{
|
||
Explanation = "PV string 2 has been supplying too much power for too long.",
|
||
Causes = new[] { "PV string 2 is too large for the converter’s capacity",
|
||
"Prolonged high sunlight exceeding converter limits" },
|
||
NextSteps = new[] { "Check the size of PV string 2 against the inverter specifications",
|
||
"Resolve the issue and restart the inverter" }
|
||
},
|
||
["Pv2InsufficientPower"] = new()
|
||
{
|
||
Explanation = "PV string 2 is not supplying enough power, usually due to weather conditions.",
|
||
Causes = new[] { "Low sunlight or heavy shading on string 2",
|
||
"Early morning or late evening with low sun angle" },
|
||
NextSteps = new[] { "Wait for better sunlight conditions",
|
||
"Check for new sources of shading on the string 2 panels" }
|
||
},
|
||
["Pv3NotConnected"] = new()
|
||
{
|
||
Explanation = "PV line 3 is not connected or not detected.",
|
||
Causes = new[] { "PV line 3 disconnect switch is turned off",
|
||
"Cable for line 3 is disconnected or damaged",
|
||
"No sunlight available" },
|
||
NextSteps = new[] { "Check if the PV line 3 disconnect switch is ON",
|
||
"Inspect cable connections for line 3",
|
||
"Repair any damage and then restart" }
|
||
},
|
||
["Pv3Overvoltage"] = new()
|
||
{
|
||
Explanation = "The voltage of PV line 3 exceeds the maximum DC input voltage.",
|
||
Causes = new[] { "Too many PV modules connected in series on line 3",
|
||
"Cold temperatures increase module voltage beyond inverter limits" },
|
||
NextSteps = new[] { "Check if the number of modules on line 3 complies with the inverter’s maximum input voltage",
|
||
"Reduce the number of modules if the voltage exceeds limits at minimum outdoor temperature" }
|
||
},
|
||
["Pv3AverageCurrentAnomaly"] = new()
|
||
{
|
||
Explanation = "The average current of PV line 3 is unusual, indicating uneven performance.",
|
||
Causes = new[] { "Module differences or degradation in line 3",
|
||
"Partial shading affecting some modules in line 3" },
|
||
NextSteps = new[] { "Check modules in line 3 for shading, dirt, or damage",
|
||
"Fix the issue and then restart the inverter" }
|
||
},
|
||
["Pv3PowerTubeFailure"] = new()
|
||
{
|
||
Explanation = "The power electronics for PV line 3 have failed. Professional service is required.",
|
||
Causes = new[] { "Failure of power semiconductors due to overload or aging",
|
||
"Damage from overcurrent or voltage spikes" },
|
||
NextSteps = new[] { "Do not restart the system",
|
||
"Contact a qualified service technician to repair the internal hardware" }
|
||
},
|
||
["Pv3SoftStartFailure"] = new()
|
||
{
|
||
Explanation = "PV line 3 failed to complete the soft start process.",
|
||
Causes = new[] { "Fault in the pre-charge circuit of the PV-3 converter",
|
||
"Voltage difference between PV-3 and the DC bus" },
|
||
NextSteps = new[] { "Check the voltage of PV line 3 at the inverter terminals",
|
||
"Repair the pre-charge circuit and then restart the inverter" }
|
||
},
|
||
["Pv3OverloadTimeout"] = new()
|
||
{
|
||
Explanation = "PV string 3 has been supplying too much current for too long.",
|
||
Causes = new[] { "PV string 3 is too large for the inverter",
|
||
"Prolonged high sunlight exceeds the inverter’s DC limits" },
|
||
NextSteps = new[] { "Check if PV string 3 matches the inverter’s specifications",
|
||
"Fix the issue and restart the inverter" }
|
||
},
|
||
["Pv3ReverseConnection"] = new()
|
||
{
|
||
Explanation = "PV string 3 is connected with reversed polarity. This wiring error must be fixed before operation.",
|
||
Causes = new[] { "Positive and negative cables of PV string 3 may have been swapped during installation",
|
||
"Incorrect cable connection at the inverter’s DC input" },
|
||
NextSteps = new[] { "Do not restart the inverter—reversed polarity can damage components",
|
||
"Turn off the system completely and swap the positive and negative connections of PV string 3",
|
||
"Verify correct polarity before restarting" }
|
||
},
|
||
["Pv4NotConnected"] = new()
|
||
{
|
||
Explanation = "PV string 4 is not connected or not detected.",
|
||
Causes = new[] { "Disconnect switch for PV string 4 is turned off",
|
||
"Cable for string 4 is loose or damaged",
|
||
"No sunlight available" },
|
||
NextSteps = new[] { "Check if the disconnect switch for PV string 4 is ON",
|
||
"Inspect the cable connections for string 4",
|
||
"Fix any damage and restart the system" }
|
||
},
|
||
["Pv4Overvoltage"] = new()
|
||
{
|
||
Explanation = "The voltage from PV string 4 exceeds the maximum DC input voltage.",
|
||
Causes = new[] { "Too many PV modules connected in series in string 4",
|
||
"Cold temperatures cause module voltage to rise above the inverter’s limit" },
|
||
NextSteps = new[] { "Check the number of modules in string 4 against the inverter’s maximum input voltage",
|
||
"Reduce the number of modules in series if the voltage exceeds specifications" }
|
||
},
|
||
["Pv4AverageCurrentAnomaly"] = new()
|
||
{
|
||
Explanation = "The average current from PV string 4 is unusual.",
|
||
Causes = new[] { "Module differences or degradation within string 4",
|
||
"Partial shading affecting modules in string 4" },
|
||
NextSteps = new[] { "Inspect modules in string 4 for shading, dirt, or damage",
|
||
"Fix the issue and restart the inverter" }
|
||
},
|
||
["Pv4PowerTubeFailure"] = new()
|
||
{
|
||
Explanation = "The power electronics of PV 4 have failed. A professional must inspect the system.",
|
||
Causes = new[] { "Failure of the power semiconductor due to overload or aging",
|
||
"Damage caused by overcurrent or voltage spike" },
|
||
NextSteps = new[] { "Do not restart the system",
|
||
"Contact a qualified technician for repair" }
|
||
},
|
||
["Pv4SoftStartFailure"] = new()
|
||
{
|
||
Explanation = "PV string 4 could not complete the soft start.",
|
||
Causes = new[] { "Fault in the pre-charge circuit of the PV 4 converter",
|
||
"Voltage difference between PV 4 and the DC bus" },
|
||
NextSteps = new[] { "Check the voltage of PV string 4 at the inverter terminals",
|
||
"Fix the pre-charge fault and restart the inverter" }
|
||
},
|
||
["Pv4OverloadTimeout"] = new()
|
||
{
|
||
Explanation = "PV string 4 has been supplying too much power for too long.",
|
||
Causes = new[] { "PV string 4 is oversized for the converter",
|
||
"Sustained high sunlight exceeds the capacity of the DC converter" },
|
||
NextSteps = new[] { "Check the sizing of PV string 4 against the inverter specifications",
|
||
"Resolve the cause and restart the inverter" }
|
||
},
|
||
["Pv4ReverseConnection"] = new()
|
||
{
|
||
Explanation = "PV string 4 is connected with reversed polarity. This must be corrected before operation.",
|
||
Causes = new[] { "The positive and negative cables of PV string 4 were swapped during installation",
|
||
"Incorrect cable connection at the inverter’s DC input" },
|
||
NextSteps = new[] { "Do not restart the system—turn it off completely first",
|
||
"Swap the positive and negative terminals of PV string 4 to correct the polarity",
|
||
"Check the polarity before restarting" }
|
||
},
|
||
["InsufficientPhotovoltaicPower"] = new()
|
||
{
|
||
Explanation = "The available PV power is insufficient for current consumption or system demand.",
|
||
Causes = new[] { "Low sunlight due to clouds or weather conditions",
|
||
"Morning or evening—sun angle too low for full power",
|
||
"Shading on one or more PV strings" },
|
||
NextSteps = new[] { "Wait for better sunlight conditions—this usually resolves itself",
|
||
"Check for module shading and remove it if possible",
|
||
"The alarm will clear automatically once sunlight improves" }
|
||
},
|
||
["DcBusOvervoltage"] = new()
|
||
{
|
||
Explanation = "The internal DC bus voltage is too high. This may indicate an energy imbalance in the system.",
|
||
Causes = new[] { "Too much charging power is flowing into the DC bus without any consumers",
|
||
"Energy is being fed back into the DC bus from regenerative loads",
|
||
"Fault in the DC bus voltage regulation" },
|
||
NextSteps = new[] { "Check the power balance between generation, consumption, and storage",
|
||
"Fix the fault and restart the inverter" }
|
||
},
|
||
["DcBusUndervoltage"] = new()
|
||
{
|
||
Explanation = "The internal DC bus voltage is too low, preventing normal operation.",
|
||
Causes = new[] { "The load is drawing more power than all sources can provide",
|
||
"Issue with the power supply or battery limiting the DC bus voltage",
|
||
"Battery is nearly empty" },
|
||
NextSteps = new[] { "Reduce the system load",
|
||
"Check all power sources—solar, grid, and battery—for proper function",
|
||
"Fix the cause and restart the inverter" }
|
||
},
|
||
["DcBusVoltageUnbalance"] = new()
|
||
{
|
||
Explanation = "The DC bus voltage is unbalanced between the positive and negative sides.",
|
||
Causes = new[] { "Failure in the DC bus capacitor block",
|
||
"Issue with the DC bus control system",
|
||
"Uneven load between the two DC bus halves" },
|
||
NextSteps = new[] { "Check the DC bus capacitor block for faulty capacitors",
|
||
"Fix the issue and restart the inverter" }
|
||
},
|
||
["BusSlowOvervoltage"] = new()
|
||
{
|
||
Explanation = "A slow, gradual increase in the DC bus voltage beyond safe limits has been detected.",
|
||
Causes = new[] { "Gradual voltage rise due to charging imbalance over time",
|
||
"Issue with charge control causing a slow voltage increase" },
|
||
NextSteps = new[] { "Check the charging power control and confirm the settings are correct",
|
||
"Resolve the fault and restart the inverter" }
|
||
},
|
||
["HardwareBusOvervoltage"] = new()
|
||
{
|
||
Explanation = "The hardware protection for DC bus overvoltage has been triggered. This is a serious overvoltage condition.",
|
||
Causes = new[] { "Severe overvoltage event caused by an external source or internal failure",
|
||
"Component failure leading to uncontrolled voltage increase" },
|
||
NextSteps = new[] { "Do not restart – this requires a professional inspection",
|
||
"Contact a service technician to investigate the cause of the overvoltage" }
|
||
},
|
||
["BusSoftStartFailure"] = new()
|
||
{
|
||
Explanation = "The DC bus could not pre-charge properly and start up smoothly.",
|
||
Causes = new[] { "Faulty pre-charge resistor or circuit",
|
||
"Failed DC bus capacitor preventing charging",
|
||
"Relay or contactor in the pre-charge circuit not working correctly" },
|
||
NextSteps = new[] { "Check the pre-charge circuit and all associated relays",
|
||
"Fix the issue and restart the inverter" }
|
||
},
|
||
["InverterPowerTubeFault"] = new()
|
||
{
|
||
Explanation = "The inverter’s main power electronics (IGBT or MOSFET transistors) are faulty, requiring professional service.",
|
||
Causes = new[] { "Power semiconductor failure due to prolonged overload",
|
||
"Overcurrent damage from a short circuit",
|
||
"Thermal damage from overheating",
|
||
"Component failure due to end of lifespan" },
|
||
NextSteps = new[] { "Do not attempt to restart the inverter—this could cause further damage",
|
||
"Contact a qualified service technician immediately",
|
||
"Hardware repair or module replacement is required" }
|
||
},
|
||
["HardwareOvercurrent"] = new()
|
||
{
|
||
Explanation = "The hardware overcurrent protection has triggered—the current exceeded the absolute hardware limit.",
|
||
Causes = new[] { "Short circuit in the output wiring or connected loads",
|
||
"Severe overload exceeding the hardware protection threshold",
|
||
"Failure of an internal power electronics component" },
|
||
NextSteps = new[] { "Do not restart the system until the cause is identified",
|
||
"Contact a service technician to check for short circuits and component damage" }
|
||
},
|
||
["DcConverterOvervoltage"] = new()
|
||
{
|
||
Explanation = "The input or output voltage of the DC converter is too high.",
|
||
Causes = new[] { "Input voltage (PV or battery) exceeds the converter’s limits",
|
||
"Fault in the DC converter’s voltage regulation" },
|
||
NextSteps = new[] { "Check the PV and battery voltage",
|
||
"Fix the cause and restart the inverter" }
|
||
},
|
||
["DcConverterHardwareOvervoltage"] = new()
|
||
{
|
||
Explanation = "The DC converter’s hardware overvoltage protection has triggered—a severe overvoltage condition occurred.",
|
||
Causes = new[] { "Severe overvoltage at the DC converter’s input or output",
|
||
"Lightning strike or external voltage spike" },
|
||
NextSteps = new[] { "Do not restart the system—contact a service technician to check for damage before further operation" }
|
||
},
|
||
["DcConverterOvercurrent"] = new()
|
||
{
|
||
Explanation = "The current in the DC converter is too high.",
|
||
Causes = new[] { "Overload due to excessive current draw in the converter",
|
||
"Short circuit in the DC circuit" },
|
||
NextSteps = new[] { "Reduce the load or charging/discharging current",
|
||
"Check for short circuits, then restart the inverter" }
|
||
},
|
||
["DcConverterHardwareOvercurrent"] = new()
|
||
{
|
||
Explanation = "The DC converter’s hardware overcurrent protection has tripped—the current limit was exceeded.",
|
||
Causes = new[] { "Severe overcurrent due to a short circuit or hardware failure",
|
||
"Fault in the power electronics causing uncontrolled current flow" },
|
||
NextSteps = new[] { "Do not restart—contact a service technician to inspect for damage before resuming operation" }
|
||
},
|
||
["DcConverterResonatorOvercurrent"] = new()
|
||
{
|
||
Explanation = "The DC converter’s resonance circuit has an overcurrent.",
|
||
Causes = new[] { "Resonance condition causing excessive current fluctuations in the converter",
|
||
"Control issue in the DC converter affecting the resonance circuit" },
|
||
NextSteps = new[] { "Fix the underlying issue, then restart the inverter; if the problem persists, contact service" }
|
||
},
|
||
["SystemOutputOverload"] = new()
|
||
{
|
||
Explanation = "The system’s total output power is overloaded—more power is being demanded than the system can safely provide.",
|
||
Causes = new[] { "Too many high-power devices are connected at the same time",
|
||
"Total load demand exceeds the inverter’s rated capacity",
|
||
"Short circuit in one of the connected devices" },
|
||
NextSteps = new[] { "Disconnect some devices to reduce total power consumption",
|
||
"Check for short circuits or faults in connected devices",
|
||
"Fix the cause, then restart the inverter" }
|
||
},
|
||
["InverterOverload"] = new()
|
||
{
|
||
Explanation = "The inverter is overloaded—the connected devices are drawing more power than the inverter can handle.",
|
||
Causes = new[] { "Connected load exceeds the inverter’s rated capacity",
|
||
"High startup currents from large motors or compressors",
|
||
"Short circuit in a connected device" },
|
||
NextSteps = new[] { "Reduce the total load",
|
||
"Stagger the startup of large devices to lower the initial current surge",
|
||
"Fix the cause, then restart the inverter" }
|
||
},
|
||
["InverterOverloadTimeout"] = new()
|
||
{
|
||
Explanation = "The inverter was overloaded for too long and shut down automatically.",
|
||
Causes = new[] { "Prolonged overload exceeding the inverter’s short-term overload capacity",
|
||
"The inverter is undersized for the actual load" },
|
||
NextSteps = new[] { "Check the sensible distribution of loads between backup power and the regular household grid.",
|
||
"Permanently reduce the connected load",
|
||
"If the load is necessary, upgrade to a larger inverter",
|
||
"Fix the cause and restart the inverter" }
|
||
},
|
||
["LoadPowerOverload"] = new()
|
||
{
|
||
Explanation = "The connected load exceeds the system’s capacity.",
|
||
Causes = new[] { "Too many high-power devices running at the same time",
|
||
"A new high-power device was added that exceeds the system’s capacity" },
|
||
NextSteps = new[] { "Check the sensible distribution of loads between backup power and the regular household grid.",
|
||
"Reduce the load by turning off non-essential devices",
|
||
"Stagger the use of high-power devices and restart the inverter" }
|
||
},
|
||
["BalancedCircuitOverloadTimeout"] = new()
|
||
{
|
||
Explanation = "The phase balancing was overloaded for too long.",
|
||
Causes = new[] { "Uneven load distribution between phases—one phase carries significantly more than the others",
|
||
"A single phase is severely overloaded" },
|
||
NextSteps = new[] { "Distribute the load more evenly across the three phases",
|
||
"Fix the cause and restart the inverter" }
|
||
},
|
||
["InverterSoftStartFailure"] = new()
|
||
{
|
||
Explanation = "The inverter failed to complete the soft-start sequence when turning on.",
|
||
Causes = new[] { "The pre-charge resistor is faulty and prevents controlled charging of the DC bus",
|
||
"The contactor or relay does not close correctly during the start sequence",
|
||
"Issue with the DC bus capacitor affecting pre-charging",
|
||
"Fault on the control board interrupting the start sequence" },
|
||
NextSteps = new[] { "Restart the system—turn off all disconnect switches, wait 30 seconds, then turn them back on",
|
||
"Check if the DC bus voltage rises evenly during pre-charging",
|
||
"If the issue persists, contact a service technician" }
|
||
},
|
||
["Dsp1ParameterSettingFault"] = new()
|
||
{
|
||
Explanation = "The inverter detected an incorrect setting in its internal parameters.",
|
||
Causes = new[] { "One or more inverter parameters are outside the allowed range.",
|
||
"The firmware is corrupted and affects parameter storage.",
|
||
"After a firmware update, the settings no longer match." },
|
||
NextSteps = new[] { "Review all inverter parameters and correct any invalid values.",
|
||
"Reset the parameters to factory settings if unsure." }
|
||
},
|
||
["Dsp2ParameterSettingFault"] = new()
|
||
{
|
||
Explanation = "DSP 2 has detected an incorrect parameter configuration.",
|
||
Causes = new[] { "One or more parameters are outside the valid range",
|
||
"Firmware corruption affecting parameter storage" },
|
||
NextSteps = new[] { "Check and correct the parameters",
|
||
"Fix the cause and then restart the inverter" }
|
||
},
|
||
["DspVersionCompatibilityFault"] = new()
|
||
{
|
||
Explanation = "The DSP firmware version is not compatible with other system components.",
|
||
Causes = new[] { "Firmware versions of DSP and other boards do not match",
|
||
"Incomplete or failed firmware update, causing components to have different versions" },
|
||
NextSteps = new[] { "Update all firmware components to the same compatible version",
|
||
"Contact technical support if the correct version is unknown" }
|
||
},
|
||
["CpldVersionCompatibilityFault"] = new()
|
||
{
|
||
Explanation = "The CPLD (Complex Programmable Logic Device) version is not compatible with the system.",
|
||
Causes = new[] { "CPLD firmware does not match other components",
|
||
"Incomplete firmware update" },
|
||
NextSteps = new[] { "Perform a complete firmware update to ensure all components have matching versions",
|
||
"Restart the inverter after the update" }
|
||
},
|
||
["CpldCommunicationFault"] = new()
|
||
{
|
||
Explanation = "Communication with the internal CPLD chip has failed.",
|
||
Causes = new[] { "Internal communication bus error between DSP and CPLD",
|
||
"CPLD chip failure" },
|
||
NextSteps = new[] { "Restart the system—this may restore communication",
|
||
"If the error persists after restarting, contact a service technician" }
|
||
},
|
||
["DspCommunicationFault"] = new()
|
||
{
|
||
Explanation = "Communication with the DSP has failed.",
|
||
Causes = new[] { "Internal communication bus error",
|
||
"DSP hardware failure" },
|
||
NextSteps = new[] { "Restart the system",
|
||
"If the error persists after restarting, contact a service technician" }
|
||
},
|
||
["OutputVoltageDcOverlimit"] = new()
|
||
{
|
||
Explanation = "A DC voltage component has appeared in the AC voltage and exceeds the allowed limit.",
|
||
Causes = new[] { "Control loop drift causes DC offset in the output",
|
||
"Voltage sensor has an offset error",
|
||
"Hardware issue in the output stage" },
|
||
NextSteps = new[] { "Restart the inverter—this often resolves temporary offset errors",
|
||
"If the problem persists, contact a service technician" }
|
||
},
|
||
["OutputCurrentDcOverlimit"] = new()
|
||
{
|
||
Explanation = "A DC current component has appeared in the AC current and exceeds the allowed limit.",
|
||
Causes = new[] { "Control issue causes DC offset in the output current",
|
||
"Current sensor has an error or calibration issue" },
|
||
NextSteps = new[] { "Restart the inverter",
|
||
"If the error persists, contact service for sensor inspection" }
|
||
},
|
||
["RelaySelfCheckFails"] = new()
|
||
{
|
||
Explanation = "The relay self-test failed during startup or periodic testing.",
|
||
Causes = new[] { "Relay contact is faulty—possibly damaged or welded",
|
||
"Relay driver circuit is defective",
|
||
"Relay contacts welded due to overcurrent" },
|
||
NextSteps = new[] { "Check relay function by listening for clicking sounds during startup",
|
||
"Fix the issue and restart the inverter" }
|
||
},
|
||
["InverterRelayOpen"] = new()
|
||
{
|
||
Explanation = "The inverter output relay is unexpectedly open when it should be closed.",
|
||
Causes = new[] { "Relay driver circuit prevents the relay from closing",
|
||
"A protection mechanism has opened the relay" },
|
||
NextSteps = new[] { "Check for other active protection alarms that may have opened the relay",
|
||
"Fix the issue and restart the inverter" }
|
||
},
|
||
["InverterRelayShortCircuit"] = new()
|
||
{
|
||
Explanation = "The inverter relay contacts are welded (short-circuited) and cannot open when needed.",
|
||
Causes = new[] { "Relay contacts welded due to overcurrent during a fault event",
|
||
"Relay component is defective" },
|
||
NextSteps = new[] { "Do not restart—a welded relay is a safety hazard",
|
||
"Contact a service technician for inspection and relay replacement" }
|
||
},
|
||
["OpenCircuitOfPowerGridRelay"] = new()
|
||
{
|
||
Explanation = "The grid connection relay is unexpectedly open.",
|
||
Causes = new[] { "Grid relay faulty, not closing properly",
|
||
"Protection trip has opened the grid relay",
|
||
"Issue with the relay control signal" },
|
||
NextSteps = new[] { "Check for other active alarms that could explain the opening",
|
||
"Inspect the relay and its control, then restart the inverter" }
|
||
},
|
||
["ShortCircuitOfPowerGridRelay"] = new()
|
||
{
|
||
Explanation = "The contacts of the grid relay are welded shut and no longer open.",
|
||
Causes = new[] { "Relay contacts welded due to overcurrent",
|
||
"Relay faulty or at end of life" },
|
||
NextSteps = new[] { "Do not restart—contact a technician to replace the relay before continuing operation" }
|
||
},
|
||
["GeneratorRelayOpenCircuit"] = new()
|
||
{
|
||
Explanation = "The generator connection relay is unexpectedly open.",
|
||
Causes = new[] { "Generator relay faulty, not closing",
|
||
"Protection trip has opened the relay",
|
||
"Issue with the relay control signal" },
|
||
NextSteps = new[] { "Check for other active alarms that could explain the condition",
|
||
"Inspect the relay, then restart the inverter" }
|
||
},
|
||
["GeneratorRelayShortCircuit"] = new()
|
||
{
|
||
Explanation = "The contacts of the generator relay are welded shut and no longer open.",
|
||
Causes = new[] { "Relay contacts welded due to overcurrent",
|
||
"Generator relay faulty" },
|
||
NextSteps = new[] { "Do not restart—contact a technician to replace the generator relay before continuing operation" }
|
||
},
|
||
["AbnormalInverter"] = new()
|
||
{
|
||
Explanation = "A general inverter anomaly has been detected. Check for other more specific alarms that may indicate the cause.",
|
||
Causes = new[] { "Internal control errors without a precise diagnosis",
|
||
"Multiple minor faults occurring simultaneously",
|
||
"Power electronics operating outside normal parameters" },
|
||
NextSteps = new[] { "Turn off the inverter and restart to see if other specific alarms appear",
|
||
"Check all input voltages and load values for unusual readings",
|
||
"If the alarm persists, contact a technician with the full alarm log" }
|
||
},
|
||
["ParallelCommunicationAlarm"] = new()
|
||
{
|
||
Explanation = "Communication between parallel inverters has failed. Without communication, the inverters cannot synchronize or share the load correctly.",
|
||
Causes = new[] { "The communication cable between parallel inverters is damaged or disconnected",
|
||
"Failure of the parallel communication interface on one device",
|
||
"Settings do not match between the parallel units" },
|
||
NextSteps = new[] { "Check all parallel communication cables between the inverter units",
|
||
"Ensure all parallel settings (voltage, frequency, droop settings) match on all units",
|
||
"Fix the underlying issue and then restart the inverter system" }
|
||
},
|
||
["ParallelModuleMissing"] = new()
|
||
{
|
||
Explanation = "One of the expected parallel inverter modules is not responding.",
|
||
Causes = new[] { "A parallel module is offline or turned off",
|
||
"Communication to a module has been lost",
|
||
"A module shut down due to its own alarm" },
|
||
NextSteps = new[] { "Check all parallel inverter units for individual alarms or power loss",
|
||
"Fix the underlying issue on the missing module and then restart it" }
|
||
},
|
||
["DuplicateMachineNumbersForParallelModules"] = new()
|
||
{
|
||
Explanation = "Two parallel inverter modules were configured with the same device number, causing a conflict.",
|
||
Causes = new[] { "Configuration error — the same device number was assigned to two different units during setup",
|
||
"Duplicate address was not detected during commissioning" },
|
||
NextSteps = new[] { "Access each device’s settings and assign a unique device number to each unit",
|
||
"Fix the configuration and then restart the inverter system" }
|
||
},
|
||
["ParameterConflictInParallelModule"] = new()
|
||
{
|
||
Explanation = "A parameter conflict exists between parallel inverter modules — their settings do not match.",
|
||
Causes = new[] { "Key parameters like voltage setpoint, frequency, or droop settings differ between units",
|
||
"One unit was updated or reconfigured without updating the others" },
|
||
NextSteps = new[] { "Compare the settings of all parallel units and synchronize them to the same values",
|
||
"Fix the configuration conflict and then restart the system" }
|
||
},
|
||
["SystemDerating"] = new()
|
||
{
|
||
Explanation = "The system is operating at reduced power (derating) to protect itself. Performance will stay below rated levels until the issue is resolved.",
|
||
Causes = new[] { "High inverter temperature causing thermal derating",
|
||
"Input voltage (PV or grid) is at the edge of the operating range",
|
||
"A component is reaching its operational limits" },
|
||
NextSteps = new[] { "Check the inverter temperature and improve ventilation if overheating",
|
||
"Ensure input voltages are within the inverter’s normal operating range",
|
||
"Identify and fix the specific cause of derating — check if other alarms are active" }
|
||
},
|
||
["PvAccessMethodErrorAlarm"] = new()
|
||
{
|
||
Explanation = "The PV input configuration is set incorrectly, causing a mismatch between the physical wiring and the software settings.",
|
||
Causes = new[] { "The PV string wiring does not match the selected configuration (e.g., incorrect series or parallel setting)",
|
||
"Wiring is not compatible with the PV access method configured in the inverter" },
|
||
NextSteps = new[] { "Check the PV configuration settings and compare them with the actual physical wiring",
|
||
"Correct either the settings or the wiring, then restart the system" }
|
||
},
|
||
["ReservedAlarms4"] = new()
|
||
{
|
||
Explanation = "Reserved Alarm 4 is active. This alarm code is not documented in the standard alarm tables.",
|
||
Causes = new[] { "An undocumented internal condition has been detected" },
|
||
NextSteps = new[] { "Monitor the system for other alarms that may provide more context",
|
||
"Contact technical support with the full alarm log if this alarm persists" }
|
||
},
|
||
["ReservedAlarms5"] = new()
|
||
{
|
||
Explanation = "Reserved Alarm 5 is active. This alarm code is not documented in the standard alarm tables.",
|
||
Causes = new[] { "An undocumented internal condition has been detected" },
|
||
NextSteps = new[] { "Monitor the system for other alarms that may provide more context",
|
||
"Contact technical support with the full alarm log if this alarm persists" }
|
||
},
|
||
["ReverseMeterConnection"] = new()
|
||
{
|
||
Explanation = "The electricity meter is connected incorrectly, causing inaccurate readings for power consumption or feed-in.",
|
||
Causes = new[] { "The current transformer (CT) is installed in the wrong direction",
|
||
"The meter’s live (L) and neutral (N) wires are swapped",
|
||
"Other nearby transformers are causing interference—keep at least 30 cm distance" },
|
||
NextSteps = new[] { "Do not rely on the meter readings until the issue is corrected",
|
||
"Contact your installer or a qualified electrician to check the CT or meter wiring" }
|
||
},
|
||
["InverterSealPulse"] = new()
|
||
{
|
||
Explanation = "The inverter seal pulse signal is active, indicating that power output is being limited.",
|
||
Causes = new[] { "A protection feature has activated the power limit",
|
||
"External signals or grid code compliance functions are restricting power" },
|
||
NextSteps = new[] { "Check the system status for other active alarms that may explain the limitation",
|
||
"Resolve the underlying cause and restart the inverter" }
|
||
},
|
||
["AbnormalDieselGeneratorVoltage"] = new()
|
||
{
|
||
Explanation = "The diesel generator voltage is outside the allowed range, so the inverter cannot connect to it.",
|
||
Causes = new[] { "Generator output voltage not set to the correct level",
|
||
"Fault in the generator’s automatic voltage regulator (AVR)",
|
||
"Generator is underloaded or overloaded, affecting output voltage" },
|
||
NextSteps = new[] { "Check the generator voltage and adjust it to match the inverter’s specifications",
|
||
"Inspect the AVR—if voltage remains unstable, restart the generator" }
|
||
},
|
||
["AbnormalDieselGeneratorFrequency"] = new()
|
||
{
|
||
Explanation = "The diesel generator frequency is outside the allowed range.",
|
||
Causes = new[] { "Generator engine speed not set correctly for the target frequency",
|
||
"Fault in the governor causing frequency instability" },
|
||
NextSteps = new[] { "Adjust the generator speed to reach the correct frequency (50 Hz or 60 Hz)",
|
||
"Inspect and repair the governor—if frequency remains unstable, restart the generator" }
|
||
},
|
||
["DieselGeneratorVoltageReverseSequence"] = new()
|
||
{
|
||
Explanation = "The diesel generator is connected with reversed phase sequence.",
|
||
Causes = new[] { "Generator output cables incorrectly connected to phases (L1, L2, L3)" },
|
||
NextSteps = new[] { "Do not restart—contact a qualified electrician to correct the generator phase wiring" }
|
||
},
|
||
["DieselGeneratorVoltageOutOfPhase"] = new()
|
||
{
|
||
Explanation = "The generator voltage is not synchronized with the grid or system, preventing synchronization.",
|
||
Causes = new[] { "Synchronization issue—generator not aligning with grid phase angle",
|
||
"Phase angle mismatch between generator and grid" },
|
||
NextSteps = new[] { "Check synchronization settings and ensure the generator supports auto-sync with this inverter",
|
||
"Fix synchronization errors, then restart" }
|
||
},
|
||
["GeneratorOverload"] = new()
|
||
{
|
||
Explanation = "The diesel generator is overloaded—the system is drawing more power than the generator can supply.",
|
||
Causes = new[] { "Total load demand exceeds the generator’s rated capacity",
|
||
"Battery charging combined with load demand exceeds generator capacity",
|
||
"Generator is undersized for the installation" },
|
||
NextSteps = new[] { "Reduce load or battery charging to keep total demand within the generator’s capacity",
|
||
"Restart the inverter after reducing the load" }
|
||
},
|
||
};
|
||
|
||
// ── Growatt Alarms ───────────────────────────────────────────────────────
|
||
|
||
private static readonly IReadOnlyDictionary<string, DiagnosticResponse> GrowattAlarms = new Dictionary<string, DiagnosticResponse>
|
||
{
|
||
["StringFault"] = new()
|
||
{
|
||
Explanation = "A fault has been detected in the PV string. One or more PV strings may have issues affecting power generation.",
|
||
Causes = new[] { "Fault or damage in a PV module within the string",
|
||
"Problem with the string wiring or loose connection",
|
||
"Damaged or corroded MC4 connector",
|
||
"Module degradation causing reduced or no output" },
|
||
NextSteps = new[] { "Check if the PV modules look intact—look for cracks, discoloration, or damage",
|
||
"Inspect cable connections and MC4 connectors for damage or corrosion",
|
||
"Look for damaged cables along the string path",
|
||
"Have a technician test each string with a multimeter if the issue persists" }
|
||
},
|
||
["PvStringPidQuickConnectAbnormal"] = new()
|
||
{
|
||
Explanation = "The PV string or PID quick connectors are abnormal.",
|
||
Causes = new[] { "Loose or improperly locked quick connector",
|
||
"Damaged quick connector housing",
|
||
"Corrosion or oxidation on the contacts" },
|
||
NextSteps = new[] { "Turn off the system before inspecting the connectors",
|
||
"Check all quick connectors and ensure they are fully locked",
|
||
"Clean corroded contacts and reconnect securely" }
|
||
},
|
||
["DcSpdFunctionAbnormal"] = new()
|
||
{
|
||
Explanation = "The DC surge protection device (SPD) function is abnormal. The SPD protects against lightning strikes and voltage surges on the DC side.",
|
||
Causes = new[] { "DC SPD has tripped or failed after a surge event",
|
||
"SPD cartridge has reached the end of its lifespan",
|
||
"Wiring issue with the SPD" },
|
||
NextSteps = new[] { "Turn off the system and check the DC SPD indicator—most SPDs have a visual fault display",
|
||
"Replace the SPD cartridge if it has tripped or shows a fault",
|
||
"Restart the inverter after replacement or inspection" }
|
||
},
|
||
["PvShortCircuited"] = new()
|
||
{
|
||
Explanation = "The PV1 or PV2 string appears to be short-circuited.",
|
||
Causes = new[] { "Damaged cable insulation causing a short between positive and negative wires",
|
||
"MC4 connector failure causing an internal short",
|
||
"Module junction box fault creating a short circuit path" },
|
||
NextSteps = new[] { "Turn off all DC disconnect switches before inspection",
|
||
"Check PV1 and PV2 strings individually for short-circuit symptoms (zero voltage, unusual heat)",
|
||
"Inspect cables for damage and test insulation resistance",
|
||
"Repair or replace damaged cables/connectors before restarting the system" }
|
||
},
|
||
["PvBoostDriverAbnormal"] = new()
|
||
{
|
||
Explanation = "The PV boost converter driver circuit is abnormal.",
|
||
Causes = new[] { "Fault or component failure in the boost driver circuit",
|
||
"EMC interference affecting the driver signal",
|
||
"Internal hardware issues on the inverter board" },
|
||
NextSteps = new[] { "Restart the inverter—temporary driver faults often clear after reboot",
|
||
"If the fault persists after restart, contact the manufacturer for service" }
|
||
},
|
||
["AcSpdFunctionAbnormal"] = new()
|
||
{
|
||
Explanation = "The AC surge protection device (SPD) is not working properly. The SPD protects against lightning strikes and voltage spikes on the AC side.",
|
||
Causes = new[] { "AC SPD tripped after a voltage surge or is faulty",
|
||
"SPD cartridge has reached the end of its lifespan",
|
||
"Broken cable in the AC SPD" },
|
||
NextSteps = new[] { "Turn off the system and check the AC SPD indicator",
|
||
"Replace the AC SPD cartridge if it shows an error or has tripped",
|
||
"Restart the inverter after replacement or inspection" }
|
||
},
|
||
["DcFuseBlown"] = new()
|
||
{
|
||
Explanation = "The DC fuse has blown, cutting off the PV input to the inverter.",
|
||
Causes = new[] { "Overcurrent in the DC circuit from the PV array, exceeding the fuse limit",
|
||
"Short circuit in the DC wiring causing the fuse to blow",
|
||
"Fuse fatigue after repeated overcurrent events" },
|
||
NextSteps = new[] { "Switch off all DC switches and disconnectors before working on the circuit",
|
||
"Locate and inspect the DC fuse—it will appear visibly blown or measure as open with a multimeter",
|
||
"Identify and fix the cause of the overcurrent before replacing the fuse",
|
||
"Replace the fuse with the correct size and then restart the inverter" }
|
||
},
|
||
["DcInputVoltageTooHigh"] = new()
|
||
{
|
||
Explanation = "The DC input voltage from the PV array exceeds the inverter’s maximum safe input voltage, which can immediately damage the inverter.",
|
||
Causes = new[] { "Too many PV modules connected in series, exceeding the maximum string voltage",
|
||
"Cold temperatures increase the module’s open-circuit voltage (Voc) beyond the inverter’s limit",
|
||
"Design error—the string was incorrectly sized for this inverter" },
|
||
NextSteps = new[] { "Immediately switch off the DC disconnect to protect the inverter",
|
||
"Measure the actual DC voltage before reconnecting",
|
||
"Review the string design—ensure the Voc at the expected minimum temperature does not exceed the inverter’s limit",
|
||
"Reconfigure the string by reducing the number of modules in series if needed" }
|
||
},
|
||
["PvReversed"] = new()
|
||
{
|
||
Explanation = "The PV string polarity is reversed—positive and negative terminals are swapped.",
|
||
Causes = new[] { "PV string cables are connected with reversed polarity at the inverter or junction box",
|
||
"Installation error during initial wiring" },
|
||
NextSteps = new[] { "Switch off all DC disconnectors before working on the wiring",
|
||
"Identify the reversed connection—check the PV string polarity with a multimeter",
|
||
"Swap the positive and negative terminals to correct the polarity before restarting" }
|
||
},
|
||
["PidFunctionAbnormal"] = new()
|
||
{
|
||
Explanation = "The PID (Potential Induced Degradation) protection function is not working properly.",
|
||
Causes = new[] { "PID module failure or configuration error",
|
||
"Communication issue between the inverter and PID module" },
|
||
NextSteps = new[] { "Restart the inverter—this often resolves temporary PID errors",
|
||
"Check the PID module settings and connections if the issue persists after restart" }
|
||
},
|
||
["PvStringDisconnected"] = new()
|
||
{
|
||
Explanation = "A PV string is disconnected or not supplying power.",
|
||
Causes = new[] { "The DC isolator or switch for this string is turned off",
|
||
"A cable is loose or disconnected at a connector",
|
||
"Faulty MC4 connector" },
|
||
NextSteps = new[] { "Check if all PV string isolators are turned on",
|
||
"Inspect cable connections at both ends (panel and inverter)",
|
||
"Reconnect any loose connections and restart the inverter" }
|
||
},
|
||
["PvStringCurrentUnbalanced"] = new()
|
||
{
|
||
Explanation = "The currents from different PV strings are significantly unbalanced, indicating one string is performing worse than others.",
|
||
Causes = new[] { "Shading on some modules in one string but not others",
|
||
"Module differences or degradation in part of the system",
|
||
"Partial string failure — some modules are not contributing",
|
||
"Dirt or bird droppings on panels in one area" },
|
||
NextSteps = new[] { "Check all PV panels for shading, dirt, or visible damage",
|
||
"Compare string voltages and currents individually to identify the underperforming string",
|
||
"Clean panels if dirt is visible and check for new sources of shading" }
|
||
},
|
||
["NoUtilityGrid"] = new()
|
||
{
|
||
Explanation = "No connection to the power grid is detected, or the grid is down.",
|
||
Causes = new[] { "Power outage in your area",
|
||
"The AC circuit breaker between the inverter and grid is turned off",
|
||
"AC grid cable disconnected at the inverter or distribution box",
|
||
"Utility maintenance work cutting local power supply" },
|
||
NextSteps = new[] { "Check if other devices in the building have power — if not, it’s a grid outage",
|
||
"Verify the AC circuit breaker is on and hasn’t tripped",
|
||
"Inspect AC cable connections at the inverter",
|
||
"Wait for the utility to restore power if it’s a grid outage" }
|
||
},
|
||
["GridVoltageOutOfRange"] = new()
|
||
{
|
||
Explanation = "The grid voltage is outside the range the inverter is allowed to operate in.",
|
||
Causes = new[] { "Grid voltage at your connection point is too high or too low",
|
||
"Local grid issues like overload or transformer problems",
|
||
"Transformer tap setting not optimal for your location" },
|
||
NextSteps = new[] { "Check the actual grid voltage at the inverter terminals",
|
||
"If the voltage is consistently out of range, contact your utility provider",
|
||
"The inverter will reconnect automatically when the voltage returns to normal" }
|
||
},
|
||
["GridFrequencyOutOfRange"] = new()
|
||
{
|
||
Explanation = "The grid frequency is outside the range the inverter is allowed to operate in.",
|
||
Causes = new[] { "Grid frequency unstable due to high-demand events on the network",
|
||
"If using a generator, its frequency has drifted out of tolerance",
|
||
"Grid disturbance event" },
|
||
NextSteps = new[] { "Check the actual grid frequency at the inverter",
|
||
"If using a generator, adjust the regulator to correct the output frequency",
|
||
"Wait for the grid to stabilize — the inverter will reconnect automatically" }
|
||
},
|
||
["Overload"] = new()
|
||
{
|
||
Explanation = "The system is overloaded—more power is being demanded than the inverter can supply to the backup power (EPS) outlet.",
|
||
Causes = new[] { "Total load on the EPS outlet exceeds the inverter’s backup power capacity",
|
||
"High startup current from devices with motors or compressors",
|
||
"Short circuit in one of the backup power loads" },
|
||
NextSteps = new[] { "Reduce the load on the EPS outlet by turning off non-essential devices",
|
||
"Check for faulty devices that may be drawing excessive power",
|
||
"Start large devices one at a time to reduce startup current" }
|
||
},
|
||
["MeterDisconnected"] = new()
|
||
{
|
||
Explanation = "The electricity meter has lost connection to the inverter.",
|
||
Causes = new[] { "The meter is powered off or has no power supply",
|
||
"The communication cable between the inverter and meter is damaged or disconnected",
|
||
"The meter’s communication port is faulty" },
|
||
NextSteps = new[] { "Check if the meter has power and is turned on",
|
||
"Inspect the communication cable connections at the inverter and meter",
|
||
"Verify the meter’s power supply and communication port" }
|
||
},
|
||
["MeterReverselyConnected"] = new()
|
||
{
|
||
Explanation = "The live (L) and neutral (N) wires of the meter are reversed.",
|
||
Causes = new[] { "Live and neutral wires were swapped during installation",
|
||
"Installation error—common if meter polarity was not checked" },
|
||
NextSteps = new[] { "Have a qualified electrician inspect and correct the meter wiring",
|
||
"Swap the L and N connections at the meter terminal to fix the polarity" }
|
||
},
|
||
["LinePeVoltageAbnormal"] = new()
|
||
{
|
||
Explanation = "Abnormal voltage detected between the neutral (N) and protective earth (PE) wires, indicating a grounding or wiring issue.",
|
||
Causes = new[] { "Poor or missing PE (protective earth) connection",
|
||
"Neutral and PE wires are short-circuited somewhere in the installation",
|
||
"Ground fault in the building wiring" },
|
||
NextSteps = new[] { "Turn off the system before inspecting the wiring",
|
||
"Check that the PE (ground) cable is securely connected to the inverter and distribution box",
|
||
"Inspect the grounding system—consult a qualified electrician if needed" }
|
||
},
|
||
["PhaseSequenceError"] = new()
|
||
{
|
||
Explanation = "A phase sequence error was detected in the three-phase connection. The inverter will attempt to correct this automatically.",
|
||
Causes = new[] { "Three-phase cables connected in the wrong order (L1, L2, L3 swapped)" },
|
||
NextSteps = new[] { "No immediate action required—the inverter will automatically adjust the phase sequence",
|
||
"If the alarm persists, have an electrician check and correct the phase wiring" }
|
||
},
|
||
["FanFailure"] = new()
|
||
{
|
||
Explanation = "A cooling fan failure has been detected. Without proper cooling, the inverter will overheat and shut down.",
|
||
Causes = new[] { "Fan motor failure – fan no longer spins",
|
||
"Fan blades blocked by dirt or foreign objects",
|
||
"Loose or disconnected fan power connection",
|
||
"Fault in the fan control circuit" },
|
||
NextSteps = new[] { "Turn off the inverter before checking the fan",
|
||
"Check if the fan spins freely and is not blocked",
|
||
"Ensure the fan power connection is secure",
|
||
"Replace the fan if it has failed – do not operate the inverter without cooling" }
|
||
},
|
||
["MeterAbnormal"] = new()
|
||
{
|
||
Explanation = "The energy meter is showing unusual readings.",
|
||
Causes = new[] { "Meter is faulty or has an internal error",
|
||
"Incorrect meter settings or scaling",
|
||
"Communication issue causing data errors" },
|
||
NextSteps = new[] { "Check if the meter is powered on and working",
|
||
"Verify that meter settings match inverter settings (current transformer ratio, communication protocol)" }
|
||
},
|
||
["OptimizerCommunicationAbnormal"] = new()
|
||
{
|
||
Explanation = "Communication with a PV module optimizer has failed.",
|
||
Causes = new[] { "Optimizer is off or not receiving PV voltage",
|
||
"Power line communication disruption",
|
||
"Hardware failure of the optimizer" },
|
||
NextSteps = new[] { "Check if the optimizer is receiving PV voltage and is turned on",
|
||
"Inspect the communication connection between the inverter and optimizers",
|
||
"Replace the optimizer if it is faulty" }
|
||
},
|
||
["OverTemperature"] = new()
|
||
{
|
||
Explanation = "The inverter temperature has exceeded the normal operating range. Power output is reduced to protect the hardware.",
|
||
Causes = new[] { "Poor ventilation – hot air trapped around the inverter",
|
||
"High ambient temperature at the installation site",
|
||
"Fan failure reducing airflow inside the inverter",
|
||
"Overloading causing excessive heat buildup" },
|
||
NextSteps = new[] { "Restart the inverter after it has cooled down",
|
||
"Improve ventilation – ensure sufficient clearance around the inverter",
|
||
"Check if the cooling fan is working properly",
|
||
"Contact the manufacturer if the issue persists despite proper ventilation" }
|
||
},
|
||
["OverTemperatureAlarm"] = new()
|
||
{
|
||
Explanation = "The inverter has detected an elevated temperature warning – this is an early alert before thermal shutdown.",
|
||
Causes = new[] { "High ambient temperature in the installation area",
|
||
"Poor airflow or blocked ventilation around the inverter",
|
||
"High load during hot weather",
|
||
"Cooling fan running at reduced speed or irregularly" },
|
||
NextSteps = new[] { "Improve ventilation around the inverter immediately",
|
||
"Temporarily reduce the load to allow the inverter to cool down",
|
||
"Check fan operation and clear any blocked vents",
|
||
"Monitor the temperature until it drops below the warning threshold" }
|
||
},
|
||
["NtcTemperatureSensorBroken"] = new()
|
||
{
|
||
Explanation = "The NTC temperature sensor in the inverter is faulty or disconnected.",
|
||
Causes = new[] { "The NTC sensor has failed due to aging or mechanical damage",
|
||
"The sensor cable is damaged or disconnected from the board",
|
||
"The sensor connector has come loose from the PCB" },
|
||
NextSteps = new[] { "Restart the inverter—if the sensor is truly faulty, the warning will remain after reboot",
|
||
"If the warning persists, a technician must inspect and replace the NTC sensor in the inverter" }
|
||
},
|
||
["SyncSignalAbnormal"] = new()
|
||
{
|
||
Explanation = "The synchronization signal between parallel-connected inverters is abnormal.",
|
||
Causes = new[] { "The synchronization cable between parallel-connected inverters is damaged or disconnected",
|
||
"The synchronization communication interface is faulty",
|
||
"Configuration differences between the units" },
|
||
NextSteps = new[] { "Check the synchronization cable connections between all parallel-connected inverter units",
|
||
"Ensure the parallel communication settings match on all units",
|
||
"Replace the cable if it is damaged" }
|
||
},
|
||
["GridStartupConditionsNotMet"] = new()
|
||
{
|
||
Explanation = "The grid connection startup conditions are not met. The inverter is waiting for the grid to meet required parameters before connecting.",
|
||
Causes = new[] { "Grid voltage or frequency is outside the permissible range for connection",
|
||
"The grid startup voltage threshold is incorrectly configured" },
|
||
NextSteps = new[] { "Check if the grid voltage is within the inverter’s permissible operating range",
|
||
"Review the configuration settings for grid connection voltage and frequency" }
|
||
},
|
||
["BatteryCommunicationFailure"] = new()
|
||
{
|
||
Explanation = "The inverter cannot communicate with the battery BMS (Battery Management System). Without BMS communication, charging and discharging cannot be safely controlled.",
|
||
Causes = new[] { "The battery BMS is offline or powered off",
|
||
"The RS485 or CAN communication cable between the inverter and battery is faulty or disconnected",
|
||
"The communication protocol between the inverter and battery does not match",
|
||
"The battery is in standby mode—BMS has activated energy-saving mode" },
|
||
NextSteps = new[] { "Ensure the battery system is powered on and not in standby mode",
|
||
"Check the RS485 communication cable between the inverter and battery for damage",
|
||
"Verify that the battery communication protocol setting in the inverter matches the battery BMS",
|
||
"Wake the battery from standby by pressing the battery power button" }
|
||
},
|
||
["BatteryDisconnected"] = new()
|
||
{
|
||
Explanation = "The battery is not connected to the inverter. The system is running without battery storage.",
|
||
Causes = new[] { "The battery circuit breaker or disconnect switch is turned off",
|
||
"The battery cable is loose or disconnected",
|
||
"The BMS has shut down the battery due to a protection event",
|
||
"A battery hardware fault is preventing connection" },
|
||
NextSteps = new[] { "Check if the battery circuit breaker is turned on",
|
||
"Inspect the battery cable connections at the inverter and battery terminals",
|
||
"Check the BMS status indicators for error or protection codes",
|
||
"Resolve any BMS protection events before reconnecting the battery" }
|
||
},
|
||
["BatteryVoltageTooHigh"] = new()
|
||
{
|
||
Explanation = "The battery voltage exceeds the allowed maximum. Charging may have pushed the voltage beyond safe limits.",
|
||
Causes = new[] { "The battery was charged beyond its maximum voltage limit",
|
||
"A BMS fault allowed the voltage to rise too high",
|
||
"Cell imbalance causes individual cells to be overcharged",
|
||
"Incorrect maximum charging voltage setting in the inverter" },
|
||
NextSteps = new[] { "Check the battery voltage and compare it with the manufacturer’s maximum specification",
|
||
"Adjust the charging voltage settings in the inverter",
|
||
"Verify the BMS function—it should protect against overvoltage" }
|
||
},
|
||
["BatteryVoltageTooLow"] = new()
|
||
{
|
||
Explanation = "The battery voltage is below the allowed minimum. The battery is deeply discharged.",
|
||
Causes = new[] { "The battery was discharged below its minimum safe voltage",
|
||
"Individual battery cells are faulty and lowering the pack voltage",
|
||
"High load discharges the battery faster than it can be charged",
|
||
"The BMS low-voltage cutoff was activated" },
|
||
NextSteps = new[] { "Check the battery voltage and compare it with the manufacturer’s minimum specification",
|
||
"Recharge the battery—first using grid power if solar power is insufficient",
|
||
"If the voltage is extremely low, the battery may need professional recovery charging" }
|
||
},
|
||
["BatteryReverseConnected"] = new()
|
||
{
|
||
Explanation = "The battery is connected with reversed polarity. This is dangerous and can cause immediate damage.",
|
||
Causes = new[] { "Battery positive and negative terminals were swapped during installation",
|
||
"Installation error—a serious wiring mistake" },
|
||
NextSteps = new[] { "IMMEDIATELY SHUT DOWN the entire system—do not charge or discharge",
|
||
"Check all battery cable connections before touching anything",
|
||
"Have a qualified electrician verify and correct the battery polarity",
|
||
"Inspect for damage to cables, fuses, or the inverter before restarting the system" }
|
||
},
|
||
["LeadAcidTempSensorDisconnected"] = new()
|
||
{
|
||
Explanation = "The temperature sensor for the lead-acid battery is disconnected or not installed.",
|
||
Causes = new[] { "The temperature sensor was not installed with the battery",
|
||
"The sensor cable is loose or damaged",
|
||
"The sensor plug was disconnected from the battery or inverter" },
|
||
NextSteps = new[] { "Check if a temperature sensor is installed on the lead-acid battery—it is typically a small probe attached to the battery",
|
||
"Inspect the sensor cable connections at both ends",
|
||
"Install or reconnect the sensor according to the installation instructions" }
|
||
},
|
||
["BatteryTemperatureOutOfRange"] = new()
|
||
{
|
||
Explanation = "The battery temperature is outside the safe range for charging or discharging.",
|
||
Causes = new[] { "High ambient temperature in the battery installation area",
|
||
"Poor battery ventilation leads to heat buildup",
|
||
"Battery overheats during heavy charging or discharging",
|
||
"Very cold ambient temperatures in winter reduce battery performance" },
|
||
NextSteps = new[] { "Check the ambient temperature in the battery installation area",
|
||
"Improve battery ventilation or relocate the battery to a cooler place if overheating",
|
||
"In cold climates, ensure the battery is not exposed to frost—charging is usually not allowed below 0°C" }
|
||
},
|
||
["BmsFault"] = new()
|
||
{
|
||
Explanation = "The battery's BMS has reported a fault that prevents normal charging and discharging.",
|
||
Causes = new[] { "Internal BMS malfunction or battery-triggered protection",
|
||
"Individual cell protection activated due to over/under-voltage or temperature",
|
||
"BMS communication error causing a fault message" },
|
||
NextSteps = new[] { "Check the battery system display or indicator lights for a BMS-specific fault or error code",
|
||
"Refer to the battery manufacturer’s documentation for the specific BMS error code",
|
||
"Contact battery support if the BMS fault cannot be resolved by restarting" }
|
||
},
|
||
["LithiumBatteryOverload"] = new()
|
||
{
|
||
Explanation = "The battery’s overload protection has activated—the load is drawing more power than the battery can supply.",
|
||
Causes = new[] { "Total load power exceeds the battery’s maximum discharge capacity",
|
||
"High inrush current from large motors or compressors temporarily exceeds battery limits" },
|
||
NextSteps = new[] { "Check the total load power and compare it to the battery’s rated discharge capacity",
|
||
"Reduce the load by turning off high-power devices",
|
||
"Stagger the startup of large devices to lower peak demand" }
|
||
},
|
||
["BmsCommunicationAbnormal"] = new()
|
||
{
|
||
Explanation = "Communication with the BMS is disrupted—data is received irregularly or with errors.",
|
||
Causes = new[] { "Communication timeout due to cable quality or length",
|
||
"Protocol mismatch or incorrect baud rate",
|
||
"Physical cable defect causing an interrupted connection" },
|
||
NextSteps = new[] { "Restart the inverter to re-establish communication",
|
||
"Inspect the BMS communication cable for damage or loose connections",
|
||
"Ensure communication parameters (protocol, baud rate) match between the inverter and BMS" }
|
||
},
|
||
["BatterySpdAbnormal"] = new()
|
||
{
|
||
Explanation = "The battery-side surge protection device (SPD) is malfunctioning.",
|
||
Causes = new[] { "Battery SPD was triggered by a voltage surge",
|
||
"SPD is faulty or has reached the end of its lifespan",
|
||
"Lightning-induced voltage surge in the battery wiring" },
|
||
NextSteps = new[] { "Turn off the system and check the battery SPD indicator",
|
||
"Replace the SPD if it shows a tripped or faulty state",
|
||
"Restart the system after replacement" }
|
||
},
|
||
["OutputDcComponentBiasAbnormal"] = new()
|
||
{
|
||
Explanation = "An abnormal DC offset component in the output may affect sensitive connected devices.",
|
||
Causes = new[] { "Control loop drift causing DC offset in the AC output",
|
||
"Output measurement sensor calibration drift",
|
||
"Hardware fault in the output stage" },
|
||
NextSteps = new[] { "Restart the inverter—DC offset faults often clear after a reboot",
|
||
"If the fault persists, contact the manufacturer for service" }
|
||
},
|
||
["DcComponentOverHighOutputVoltage"] = new()
|
||
{
|
||
Explanation = "The DC component in the output voltage is too high, which may affect sensitive devices and indicates a control issue.",
|
||
Causes = new[] { "Control circuit drift causing a DC voltage shift in the output voltage",
|
||
"Faulty output voltage sensor",
|
||
"Transformer saturation or issue in the DC path" },
|
||
NextSteps = new[] { "Restart the inverter to reset the control circuits",
|
||
"Check the output voltage for DC shift if devices are affected" }
|
||
},
|
||
["OffGridOutputVoltageTooLow"] = new()
|
||
{
|
||
Explanation = "The off-grid (EPS/backup) output voltage is too low to properly power connected devices.",
|
||
Causes = new[] { "The load exceeds the inverter’s backup capacity, causing a voltage drop",
|
||
"The battery voltage is too low to maintain a stable output voltage",
|
||
"Internal inverter limitation" },
|
||
NextSteps = new[] { "Restart the inverter",
|
||
"Reduce the load on the backup output",
|
||
"Charge the battery if its state of charge is low",
|
||
"If the issue persists, contact the manufacturer" }
|
||
},
|
||
["OffGridOutputVoltageTooHigh"] = new()
|
||
{
|
||
Explanation = "The off-grid output voltage is too high, which could damage connected devices.",
|
||
Causes = new[] { "Control error causing the output voltage regulation to be set too high",
|
||
"Voltage reference error in the control system" },
|
||
NextSteps = new[] { "Restart the inverter",
|
||
"If the issue persists, contact the manufacturer immediately, as high output voltage can damage devices" }
|
||
},
|
||
["OffGridOutputOverCurrent"] = new()
|
||
{
|
||
Explanation = "The off-grid output current exceeds the overcurrent limit.",
|
||
Causes = new[] { "Total load current exceeds the inverter’s rated current for the backup output",
|
||
"Short circuit in one of the backup devices",
|
||
"Inrush current from a large motor" },
|
||
NextSteps = new[] { "Check that all devices on the backup output are within the inverter’s current rating",
|
||
"Disconnect devices one by one to identify a faulty unit",
|
||
"Repair or remove the overloading device before restarting the inverter" }
|
||
},
|
||
["OffGridBusVoltageTooLow"] = new()
|
||
{
|
||
Explanation = "The DC voltage in off-grid mode has dropped too low to maintain stable operation.",
|
||
Causes = new[] { "Battery charge level is too low",
|
||
"Excessive load on the off-grid output",
|
||
"Fault or loose connection in the DC bus wiring" },
|
||
NextSteps = new[] { "Reduce the load on the off-grid output",
|
||
"Check the battery charge level and charge if needed",
|
||
"Inspect the DC bus wiring for loose connections or damage" }
|
||
},
|
||
["OffGridOutputOverload"] = new()
|
||
{
|
||
Explanation = "The off-grid (EPS/backup) output is overloaded—more power is being drawn than the inverter can supply in backup mode.",
|
||
Causes = new[] { "The total load on the EPS output exceeds the inverter’s backup capacity",
|
||
"Too many devices are connected to the backup circuit at the same time",
|
||
"A large motor or compressor is causing an excessive startup current" },
|
||
NextSteps = new[] { "Check that all appliances are within the inverter’s EPS output specifications",
|
||
"Reduce the number of devices connected to the backup circuit",
|
||
"Stagger the startup of large appliances during backup operation" }
|
||
},
|
||
["BalancedCircuitAbnormal"] = new()
|
||
{
|
||
Explanation = "The phase-balancing circuit is not working normally.",
|
||
Causes = new[] { "Internal fault in the phase-balancing circuit",
|
||
"Control issue affecting phase balancing" },
|
||
NextSteps = new[] { "Restart the inverter",
|
||
"If the fault persists, check phase-balancing settings and contact service" }
|
||
},
|
||
["ExportLimitationFailSafe"] = new()
|
||
{
|
||
Explanation = "The export limitation fail-safe has been triggered. The inverter is no longer feeding power into the grid because it cannot verify compliance with export limits.",
|
||
Causes = new[] { "The current transformer (CT) is disconnected or measuring incorrectly",
|
||
"Communication with the meter is interrupted, preventing export monitoring",
|
||
"The export limitation feedback has failed—the inverter cannot confirm controlled grid export" },
|
||
NextSteps = new[] { "Turn off the system before inspecting CT or meter connections",
|
||
"Check that the current transformer (CT) is installed correctly and securely connected",
|
||
"Verify that the energy meter’s communication cable is intact",
|
||
"Confirm export limitation settings and feedback, then restart" }
|
||
},
|
||
["DcBiasAbnormal"] = new()
|
||
{
|
||
Explanation = "The DC injection protection (DCI) has detected abnormal DC bias in the AC output—a safety mechanism to prevent DC from being fed into the grid.",
|
||
Causes = new[] { "DC injection into the grid from the inverter output",
|
||
"Faulty output current sensor providing incorrect readings",
|
||
"Transformer saturation or control issue" },
|
||
NextSteps = new[] { "Restart the inverter—this may resolve temporary DCI faults",
|
||
"If the fault persists, professional service is required" }
|
||
},
|
||
["HighDcComponentOutputCurrent"] = new()
|
||
{
|
||
Explanation = "A high DC component in the AC output current has been detected. This is a protective state.",
|
||
Causes = new[] { "Output filter issue allowing DC components to pass through",
|
||
"Control error affecting the symmetry of the current waveform",
|
||
"Output transformer saturation" },
|
||
NextSteps = new[] { "Restart the inverter",
|
||
"Check the quality of the output current waveform if measuring equipment is available",
|
||
"If the fault persists, contact the manufacturer for service" }
|
||
},
|
||
["BusVoltageSamplingAbnormal"] = new()
|
||
{
|
||
Explanation = "The DC voltage measurement is faulty—the sensor is providing incorrect readings.",
|
||
Causes = new[] { "Faulty voltage sensor or measurement circuit",
|
||
"Issue with the control board’s analog-to-digital converter (ADC)",
|
||
"Hardware problem affecting measurement accuracy" },
|
||
NextSteps = new[] { "Restart the inverter",
|
||
"If the issue persists, professional servicing of the measurement circuit is required" }
|
||
},
|
||
["RelayFault"] = new()
|
||
{
|
||
Explanation = "An internal relay fault has been detected—the relay is not functioning as expected.",
|
||
Causes = new[] { "Relay is defective—contacts stuck open or closed",
|
||
"Contacts welded due to overcurrent",
|
||
"Fault in the relay control circuit" },
|
||
NextSteps = new[] { "Restart the inverter to reset the relay",
|
||
"If the fault remains, the relay likely needs replacement—contact service" }
|
||
},
|
||
["BusVoltageAbnormal"] = new()
|
||
{
|
||
Explanation = "The internal DC voltage is abnormal.",
|
||
Causes = new[] { "Fault in power electronics affecting DC voltage regulation",
|
||
"Issue with the capacitor in the DC circuit",
|
||
"Failure of the control system" },
|
||
NextSteps = new[] { "Restart the inverter",
|
||
"If the issue persists, professional inspection of the system is required" }
|
||
},
|
||
["InternalCommunicationFailure"] = new()
|
||
{
|
||
Explanation = "Internal communication between the inverter’s control boards has failed.",
|
||
Causes = new[] { "Fault or failure of the communication board",
|
||
"Internal ribbon cable or connector is loose",
|
||
"Electromagnetic interference (EMI) disrupting internal communication" },
|
||
NextSteps = new[] { "Turn off the inverter, wait 30 seconds, then restart to check if communication is restored",
|
||
"If the issue persists, a technician should open the inverter and inspect internal communication connections" }
|
||
},
|
||
["TemperatureSensorDisconnected"] = new()
|
||
{
|
||
Explanation = "A temperature sensor in the inverter is disconnected, disabling thermal monitoring.",
|
||
Causes = new[] { "Sensor element is faulty or detached from its mount",
|
||
"Sensor cable is damaged or disconnected",
|
||
"Sensor connector is unplugged from the circuit board" },
|
||
NextSteps = new[] { "Turn off the inverter and check internal sensor wiring if accessible",
|
||
"If not accessible, contact a service technician to inspect and replace the sensor" }
|
||
},
|
||
["IgbtDriveFault"] = new()
|
||
{
|
||
Explanation = "A fault in the IGBT drive circuit has been detected. The IGBT is not being controlled correctly, which may affect power conversion.",
|
||
Causes = new[] { "Failure of the drive circuit",
|
||
"Defective IGBT transistor — the component may have failed",
|
||
"Power supply issue with the drive circuit" },
|
||
NextSteps = new[] { "Restart the inverter — temporary faults may clear",
|
||
"If the fault persists: professional service required — the IGBT or drive circuit may need replacement" }
|
||
},
|
||
["EepromError"] = new()
|
||
{
|
||
Explanation = "A read or write error has occurred in the EEPROM. The inverter’s non-volatile memory is not functioning properly.",
|
||
Causes = new[] { "Defective EEPROM chip — common after many years of operation",
|
||
"Data corruption in the EEPROM memory",
|
||
"Hardware failure in the memory circuit" },
|
||
NextSteps = new[] { "Restart the inverter — this may clear a temporary memory fault",
|
||
"If the fault persists: a factory reset may restore function; contact support before attempting" }
|
||
},
|
||
["AuxiliaryPowerAbnormal"] = new()
|
||
{
|
||
Explanation = "The internal auxiliary power supply is abnormal. This powers the control electronics.",
|
||
Causes = new[] { "Failure of a component in the auxiliary power supply",
|
||
"Fault in the voltage regulator on the control board" },
|
||
NextSteps = new[] { "Restart the inverter",
|
||
"If the fault persists: contact service — the auxiliary power supply may need replacement" }
|
||
},
|
||
["DcAcOvercurrentProtection"] = new()
|
||
{
|
||
Explanation = "The DC/AC overcurrent protection has been triggered — the current exceeded the safe limit.",
|
||
Causes = new[] { "Short circuit in the AC output wiring or connected loads",
|
||
"Severe overload far beyond the rated power",
|
||
"Fault in the power electronics causing overcurrent" },
|
||
NextSteps = new[] { "Restart the inverter after checking and clearing any possible short circuits",
|
||
"Inspect all connected loads for faults",
|
||
"Reduce the load before restarting the inverter" }
|
||
},
|
||
["CommunicationProtocolMismatch"] = new()
|
||
{
|
||
Explanation = "A protocol error between components has been detected.",
|
||
Causes = new[] { "Firmware versions of the control board do not match",
|
||
"Incorrect communication configuration" },
|
||
NextSteps = new[] { "Restart the inverter",
|
||
"If the fault persists: perform a full firmware update to ensure all components are on the same version" }
|
||
},
|
||
["DspComFirmwareMismatch"] = new()
|
||
{
|
||
Explanation = "The firmware versions of the DSP (signal processor) and COM (communication) boards do not match.",
|
||
Causes = new[] { "Firmware update was incomplete, leaving the boards with different versions",
|
||
"Incorrect firmware file was loaded onto one of the boards" },
|
||
NextSteps = new[] { "Restart the inverter",
|
||
"Perform a complete firmware update—ensure all boards are updated to the correct matching version" }
|
||
},
|
||
["DspSoftwareHardwareMismatch"] = new()
|
||
{
|
||
Explanation = "The DSP software version is not compatible with the hardware version.",
|
||
Causes = new[] { "Hardware board was replaced with a newer or older revision requiring a different firmware version" },
|
||
NextSteps = new[] { "Restart the inverter",
|
||
"Contact technical support to determine the correct firmware version for this hardware revision" }
|
||
},
|
||
["CpldAbnormal"] = new()
|
||
{
|
||
Explanation = "The CPLD (Complex Programmable Logic Device) in the inverter is not functioning correctly.",
|
||
Causes = new[] { "CPLD chip is defective or firmware is corrupted",
|
||
"Power supply issue affecting the CPLD" },
|
||
NextSteps = new[] { "Restart the inverter",
|
||
"If the problem persists: Professional maintenance required—the CPLD may need replacement or reprogramming" }
|
||
},
|
||
["RedundancySamplingInconsistent"] = new()
|
||
{
|
||
Explanation = "The redundant voltage or current measurement circuits are providing different results—the two measurement paths do not match.",
|
||
Causes = new[] { "One of the redundant sensors has drifted or is defective",
|
||
"ADC calibration error on one measurement channel",
|
||
"Hardware fault in one of the measurement circuits" },
|
||
NextSteps = new[] { "Restart the inverter to reset the measurement circuits",
|
||
"If the problem persists: Recalibration or sensor replacement required—contact service" }
|
||
},
|
||
["PwmPassThroughSignalFailure"] = new()
|
||
{
|
||
Explanation = "The PWM (Pulse-Width Modulation) pass-through signal path has failed.",
|
||
Causes = new[] { "Control board failure affecting PWM signal transmission",
|
||
"Hardware issue in the signal path" },
|
||
NextSteps = new[] { "Restart the inverter",
|
||
"If the problem persists: Contact service—internal board inspection required" }
|
||
},
|
||
["AfciSelfTestFailure"] = new()
|
||
{
|
||
Explanation = "The AFCI (arc fault circuit interrupter) self-test has failed. The AFCI protects against dangerous arcs in the PV wiring.",
|
||
Causes = new[] { "Fault in the AFCI detection module preventing the self-test",
|
||
"Issue in the self-test circuit on the control board" },
|
||
NextSteps = new[] { "Restart the inverter to attempt the self-test again",
|
||
"If the self-test continues to fail, the AFCI module may need replacement—contact service" }
|
||
},
|
||
["PvCurrentSamplingAbnormal"] = new()
|
||
{
|
||
Explanation = "The PV current measurement is showing unusual values.",
|
||
Causes = new[] { "Fault in the PV current sensor or Hall sensor",
|
||
"ADC error in the current measurement channel" },
|
||
NextSteps = new[] { "Restart the inverter",
|
||
"If the issue persists, the current sensor circuit must be checked by a professional" }
|
||
},
|
||
["AcCurrentSamplingAbnormal"] = new()
|
||
{
|
||
Explanation = "The AC current measurement is showing unusual values.",
|
||
Causes = new[] { "Fault in the CT sensor (current transformer) or incorrect connection",
|
||
"Fault in the AC current sensor",
|
||
"ADC error in the AC measurement channel" },
|
||
NextSteps = new[] { "Restart the inverter",
|
||
"Check the CT connections and orientation if accessible",
|
||
"If the issue persists, the measurement circuit must be checked by a professional" }
|
||
},
|
||
["BusSoftbootFailure"] = new()
|
||
{
|
||
Explanation = "The DC bus failed to pre-charge correctly during startup (pre-conditioning).",
|
||
Causes = new[] { "Fault in the pre-charge circuit preventing controlled capacitor charging",
|
||
"Issue with the DC bus capacitor",
|
||
"Fault in the pre-charge relay or contactor" },
|
||
NextSteps = new[] { "Restart the inverter",
|
||
"If the issue persists, the pre-charge circuit must be checked by a professional" }
|
||
},
|
||
["EpoFault"] = new()
|
||
{
|
||
Explanation = "An EPO (emergency stop) fault has been triggered.",
|
||
Causes = new[] { "The EPO emergency stop button was pressed",
|
||
"The EPO circuit was activated by an external safety system",
|
||
"Fault in the EPO circuit causing an unintended shutdown" },
|
||
NextSteps = new[] { "Check if the EPO button was pressed—reset it if needed",
|
||
"Inspect the EPO circuit wiring if the activation was unintended",
|
||
"Restart the inverter after confirming the EPO circuit is clear" }
|
||
},
|
||
["MonitoringChipBootVerificationFailed"] = new()
|
||
{
|
||
Explanation = "The monitoring chip failed its startup verification — there may be an issue with the firmware or the boot sequence.",
|
||
Causes = new[] { "Firmware corruption on the monitoring chip",
|
||
"Hardware failure of the monitoring chip" },
|
||
NextSteps = new[] { "Restart the inverter — startup verification errors sometimes resolve on retry",
|
||
"If the issue persists, a firmware reload or chip replacement may be needed — contact service" }
|
||
},
|
||
["BmsCommunicationFailure"] = new()
|
||
{
|
||
Explanation = "The BMS cannot communicate with the inverter. Charging and discharging cannot be safely controlled without BMS communication.",
|
||
Causes = new[] { "The RS485 communication cable between the inverter and battery is damaged or disconnected",
|
||
"The BMS is powered off or not responding",
|
||
"Communication protocol incompatibility between the inverter and BMS" },
|
||
NextSteps = new[] { "Check the RS485 cable connection between the inverter and battery — inspect both ends",
|
||
"Ensure the battery is powered on and the BMS is active",
|
||
"Verify the communication settings match the battery BMS" }
|
||
},
|
||
["BmsChargeDischargeFailure"] = new()
|
||
{
|
||
Explanation = "The BMS has reported that the battery cannot be charged or discharged.",
|
||
Causes = new[] { "Internal BMS protection triggered — cell over/under-voltage or temperature fault",
|
||
"Hardware failure in the BMS blocking charge/discharge operations",
|
||
"BMS-detected issue with a battery cell" },
|
||
NextSteps = new[] { "Check the battery display or BMS indicator for a specific error code",
|
||
"Refer to the battery manufacturer’s documentation for the BMS error code",
|
||
"Contact battery support if the issue cannot be resolved" }
|
||
},
|
||
["BatteryVoltageLow"] = new()
|
||
{
|
||
Explanation = "The battery voltage is below the minimum allowed threshold.",
|
||
Causes = new[] { "The battery was deeply discharged below the safe minimum voltage",
|
||
"Failure of an individual cell reducing the overall pack voltage" },
|
||
NextSteps = new[] { "Check the battery voltage — if critically low, professional recharging may be required",
|
||
"Allow the battery to charge slowly from the grid before resuming normal operation" }
|
||
},
|
||
["BatteryVoltageHigh"] = new()
|
||
{
|
||
Explanation = "The battery voltage exceeds the maximum allowed upper limit.",
|
||
Causes = new[] { "The battery was overcharged beyond its maximum voltage",
|
||
"BMS failure allowing voltage to rise without protection",
|
||
"Failure of an individual cell causing high voltage in part of the pack" },
|
||
NextSteps = new[] { "Check the battery voltage and compare it to the manufacturer’s maximum specification",
|
||
"If the voltage is within the allowed range, restart the inverter",
|
||
"If the voltage is truly too high, stop charging immediately and contact battery service" }
|
||
},
|
||
["BatteryTemperatureAbnormal"] = new()
|
||
{
|
||
Explanation = "The battery temperature is outside the safe range for charging or discharging.",
|
||
Causes = new[] { "Battery is too hot — poor ventilation or high ambient temperature",
|
||
"Battery is too cold — frozen or near-freezing environment",
|
||
"Battery temperature sensor is faulty and reporting incorrect values" },
|
||
NextSteps = new[] { "Check the physical temperature of the battery if it is safe to do so",
|
||
"Improve battery ventilation if overheating",
|
||
"Allow the battery to warm up before charging if too cold",
|
||
"Check sensor connections if the temperature reading appears incorrect" }
|
||
},
|
||
["BatteryReversed"] = new()
|
||
{
|
||
Explanation = "The battery is connected with reversed polarity — positive and negative terminals are swapped.",
|
||
Causes = new[] { "Battery positive and negative cables are connected to the wrong inverter terminals",
|
||
"Installation error" },
|
||
NextSteps = new[] { "Immediately shut down the entire system — reversed polarity can cause severe damage",
|
||
"Have a qualified electrician check and correct the battery polarity before restarting the system" }
|
||
},
|
||
["BatteryOpenCircuit"] = new()
|
||
{
|
||
Explanation = "The battery circuit is open — the battery is not electrically connected.",
|
||
Causes = new[] { "Battery cable has come loose or disconnected from the terminal",
|
||
"Battery fuse is blown, breaking the circuit",
|
||
"BMS has opened the internal switch due to a protection event" },
|
||
NextSteps = new[] { "Check all battery cable connections at the inverter and battery terminals",
|
||
"Inspect the battery fuse and replace it if blown",
|
||
"Check the BMS status for protection events that may have opened the battery switch" }
|
||
},
|
||
["BatteryOverloadProtection"] = new()
|
||
{
|
||
Explanation = "Battery overload protection has activated — the load is drawing more current than the battery can safely discharge.",
|
||
Causes = new[] { "Total load power exceeds the battery’s maximum rated discharge capacity",
|
||
"High current surge from large appliances temporarily exceeding the battery’s rated power" },
|
||
NextSteps = new[] { "Check the total load and compare it with the battery’s rated discharge capacity",
|
||
"Reduce high-power loads and restart the inverter" }
|
||
},
|
||
["Bus2VoltageAbnormal"] = new()
|
||
{
|
||
Explanation = "The voltage of the secondary DC bus is abnormal.",
|
||
Causes = new[] { "Fault in the power electronics affecting the secondary DC bus",
|
||
"Control issue with the secondary converter" },
|
||
NextSteps = new[] { "Restart the inverter",
|
||
"If the problem persists, professional inspection is required" }
|
||
},
|
||
["BatteryChargeOcp"] = new()
|
||
{
|
||
Explanation = "The battery charging overcurrent protection (OCP) has tripped—the charging current is too high.",
|
||
Causes = new[] { "The PV system is supplying more power than the battery can safely accept",
|
||
"The battery charging current limit is set too high for the battery specifications" },
|
||
NextSteps = new[] { "Check if the PV system output significantly exceeds the battery charging capacity",
|
||
"Adjust the maximum charging current setting in the inverter to match the battery specifications" }
|
||
},
|
||
["BatteryDischargeOcp"] = new()
|
||
{
|
||
Explanation = "The battery discharging overcurrent protection (OCP) has tripped—the discharging current is too high.",
|
||
Causes = new[] { "The connected load is drawing more current than the battery can safely provide",
|
||
"The battery discharge current limit is set too high" },
|
||
NextSteps = new[] { "Verify that the battery discharge current configuration matches the battery specifications",
|
||
"Reduce the connected load to stay within the battery discharge limits" }
|
||
},
|
||
["BatterySoftStartFailed"] = new()
|
||
{
|
||
Explanation = "The battery failed to complete the soft-start sequence when connecting to the inverter.",
|
||
Causes = new[] { "Fault in the pre-charge circuit preventing a controlled battery connection",
|
||
"Battery voltage differs significantly from the inverter’s DC bus voltage" },
|
||
NextSteps = new[] { "Restart the inverter",
|
||
"Compare the battery voltage with the DC bus voltage—a large difference may prevent soft-start" }
|
||
},
|
||
["EpsOutputShortCircuited"] = new()
|
||
{
|
||
Explanation = "The EPS (emergency power supply) output has a short circuit.",
|
||
Causes = new[] { "Short circuit in the load wiring connected to the emergency power output",
|
||
"A faulty device is causing a short circuit in the emergency power circuit",
|
||
"Wiring harness fault in the EPS output distribution" },
|
||
NextSteps = new[] { "Disconnect all loads from the emergency power output",
|
||
"Identify and repair the short circuit in the load wiring or devices before reconnecting" }
|
||
},
|
||
["OffGridBusVoltageLow"] = new()
|
||
{
|
||
Explanation = "The off-grid DC bus voltage is too low to maintain emergency power operation.",
|
||
Causes = new[] { "The battery is nearly empty and cannot maintain the DC bus voltage",
|
||
"High emergency power load combined with low battery charge",
|
||
"Battery capacity loss due to aging" },
|
||
NextSteps = new[] { "Check if the battery is functioning properly and has no significant capacity loss",
|
||
"Charge the battery before attempting emergency power operation",
|
||
"Reduce the emergency power load to extend the available battery runtime" }
|
||
},
|
||
["OffGridTerminalVoltageAbnormal"] = new()
|
||
{
|
||
Explanation = "An abnormal voltage was detected at the off-grid AC output.",
|
||
Causes = new[] { "External voltage is present at the backup power output",
|
||
"Cable connection to the backup power output is faulty",
|
||
"Feedback from a load with its own power source" },
|
||
NextSteps = new[] { "Check if an external power source is connected to the backup power output",
|
||
"Verify if the backup power output cable is connected to another power source",
|
||
"Disconnect all loads from the backup power output and check cables before restarting the system" }
|
||
},
|
||
["SoftStartFailed"] = new()
|
||
{
|
||
Explanation = "The soft start in off-grid mode has failed.",
|
||
Causes = new[] { "Preconditioning during off-grid startup failed",
|
||
"Load is too high during off-grid startup" },
|
||
NextSteps = new[] { "Restart the inverter",
|
||
"Reduce the initial load in the backup power circuit" }
|
||
},
|
||
["OffGridOutputVoltageAbnormal"] = new()
|
||
{
|
||
Explanation = "The output voltage in off-grid mode is abnormal.",
|
||
Causes = new[] { "Control error affecting voltage regulation",
|
||
"Hardware issue in the output section",
|
||
"Overload causing the output voltage to collapse" },
|
||
NextSteps = new[] { "Restart the inverter",
|
||
"If the issue persists, contact the manufacturer" }
|
||
},
|
||
["BalancedCircuitSelfTestFailed"] = new()
|
||
{
|
||
Explanation = "The balancing circuit self-test failed during startup.",
|
||
Causes = new[] { "Fault detected in the phase balancing circuit",
|
||
"Hardware issue in the balancing circuit" },
|
||
NextSteps = new[] { "Restart the inverter to repeat the self-test",
|
||
"If the issue persists, contact service" }
|
||
},
|
||
["HighDcComponentOutputVoltage"] = new()
|
||
{
|
||
Explanation = "A high DC voltage component was detected in the AC output voltage.",
|
||
Causes = new[] { "Control loop drift causing a DC voltage shift",
|
||
"Issue with the output transformer or filter" },
|
||
NextSteps = new[] { "Restart the inverter to reset the control loops",
|
||
"If the issue persists, contact the manufacturer" }
|
||
},
|
||
["OffGridParallelSignalAbnormal"] = new()
|
||
{
|
||
Explanation = "The communication signal between inverter units in parallel operation is disrupted.",
|
||
Causes = new[] { "The parallel communication cable between units is damaged or disconnected",
|
||
"Parallel configuration settings do not match between units" },
|
||
NextSteps = new[] { "Check that all parallel communication cables between inverter units are properly and securely connected",
|
||
"Ensure parallel settings are identical on all units" }
|
||
},
|
||
["AFCIFault"] = new()
|
||
{
|
||
Explanation = "An arc fault has been detected in the PV system. Arcing can cause fires in PV wiring, so the system has shut down for safety.",
|
||
Causes = new[] { "Loose MC4 connectors or PV cable connections causing intermittent arcing",
|
||
"Damaged cable insulation allowing arcing at the damaged point",
|
||
"Faulty connector or junction box creating an arcing path",
|
||
"Damaged module junction box" },
|
||
NextSteps = new[] { "Turn off all DC disconnect switches before inspecting PV wiring",
|
||
"Carefully check all PV string connections, MC4 connectors, and cable runs for damage",
|
||
"Tighten any loose connectors and replace any damaged cables or connectors",
|
||
"Have the installation professionally inspected if the source of the arc fault is not found" }
|
||
},
|
||
["GFCIHigh"] = new()
|
||
{
|
||
Explanation = "An excessively high fault current (leakage current) has been detected in the PV system.",
|
||
Causes = new[] { "Fault current in the PV array—typically a cable touching the frame or metal parts",
|
||
"Insulation failure in PV cables or module junction boxes",
|
||
"Moisture entering cable connections or module junction boxes",
|
||
"Cable damage exposing conductors" },
|
||
NextSteps = new[] { "Restart the inverter to check if the fault is cleared",
|
||
"If the fault persists, perform an insulation resistance test on all PV strings to locate the fault",
|
||
"Repair any identified insulation damage or fault currents before restarting the inverter" }
|
||
},
|
||
["PVVoltageHigh"] = new()
|
||
{
|
||
Explanation = "The DC input voltage from the PV array exceeds the absolute maximum safe limit, posing an immediate risk to the inverter.",
|
||
Causes = new[] { "Too many PV modules connected in series, exceeding the inverter’s maximum input voltage",
|
||
"Very cold temperatures causing the module open-circuit voltage to rise significantly above the design temperature open-circuit voltage" },
|
||
NextSteps = new[] { "Immediately disconnect the DC switch to protect the inverter",
|
||
"Measure the actual DC voltage before reconnecting",
|
||
"Review the string design and reduce the number of modules in series if needed to stay within the inverter’s voltage limits" }
|
||
},
|
||
};
|
||
}
|