build easy form to collect sodistore home alarm diagnosis review

This commit is contained in:
Yinyin Liu 2026-02-25 06:48:23 +01:00
parent 50c45399bd
commit 2f8eda5e7e
5 changed files with 1748 additions and 229 deletions

View File

@ -47,6 +47,9 @@
<None Update="Resources/AlarmTranslations.*.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Resources/AlarmNames.de.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update=".env">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>

View File

@ -1255,6 +1255,69 @@ public class Controller : ControllerBase
return Redirect($"https://monitor.inesco.energy/?username={user.Email}&reset=true"); // TODO: move to settings file
}
// ── Alarm Review Campaign ────────────────────────────────────────────────
[HttpPost(nameof(SendTestAlarmReview))]
public async Task<ActionResult> SendTestAlarmReview()
{
await AlarmReviewService.SendTestBatchAsync();
return Ok(new { message = "Test review email sent to liu@inesco.energy. Check your inbox." });
}
[HttpPost(nameof(StartAlarmReviewCampaign))]
public ActionResult StartAlarmReviewCampaign()
{
AlarmReviewService.StartCampaign();
return Ok(new { message = "Alarm review campaign started." });
}
[HttpPost(nameof(StopAlarmReviewCampaign))]
public ActionResult StopAlarmReviewCampaign()
{
AlarmReviewService.StopCampaign();
return Ok(new { message = "Campaign stopped and progress file deleted. Safe to redeploy." });
}
[HttpGet(nameof(ReviewAlarms))]
public ActionResult ReviewAlarms(int batch, string reviewer)
{
var html = AlarmReviewService.GetReviewPage(batch, reviewer);
if (html is null) return NotFound("Batch not found or reviewer not recognised.");
return Content(html, "text/html");
}
[HttpPost(nameof(SubmitAlarmReview))]
public async Task<ActionResult> SubmitAlarmReview(int batch, string? reviewer, [FromBody] List<ReviewFeedback>? feedbacks)
{
// Batch 0 = test mode — run dry-run synthesis and return preview HTML (nothing is saved)
if (batch == 0)
{
var previewHtml = await AlarmReviewService.PreviewSynthesisAsync(feedbacks);
return Ok(new { preview = previewHtml });
}
var ok = AlarmReviewService.SubmitFeedback(batch, reviewer, feedbacks);
return ok ? Ok(new { message = "Feedback saved. Thank you!" })
: BadRequest("Batch not found, reviewer not recognised, or already submitted.");
}
[HttpGet(nameof(GetAlarmReviewStatus))]
public ActionResult GetAlarmReviewStatus()
{
return Ok(AlarmReviewService.GetStatus());
}
[HttpGet(nameof(DownloadCheckedKnowledgeBase))]
public ActionResult DownloadCheckedKnowledgeBase()
{
var content = AlarmReviewService.GetCheckedFileContent();
if (content is null) return NotFound("AlarmKnowledgeBaseChecked.cs has not been generated yet.");
return File(System.Text.Encoding.UTF8.GetBytes(content),
"text/plain",
"AlarmKnowledgeBaseChecked.cs");
}
}

View File

@ -27,6 +27,7 @@ public static class Program
Db.Init();
LoadEnvFile();
DiagnosticService.Initialize();
AlarmReviewService.StartDailyScheduler();
var builder = WebApplication.CreateBuilder(args);
RabbitMqManager.InitializeEnvironment();

View File

@ -1,231 +1,231 @@
{
"alarm_AbnormalGridVoltage": "Unnormale Netzspannung",
"alarm_AbnormalGridFrequency": "Unnormale Netzfrequenz",
"alarm_InvertedSequenceOfGridVoltage": "Falsche Phasenreihenfolge",
"alarm_GridVoltagePhaseLoss": "Phasenausfall im Netz",
"alarm_AbnormalGridCurrent": "Unnormaler Netzstrom",
"alarm_AbnormalOutputVoltage": "Ungewöhnliche Ausgangsspannung",
"alarm_AbnormalOutputFrequency": "Ungewöhnliche Ausgangsfrequenz",
"alarm_AbnormalNullLine": "Fehlerhafter Nullleiter",
"alarm_AbnormalOffGridOutputVoltage": "Ungewöhnliche Backup-Spannung",
"alarm_ExcessivelyHighAmbientTemperature": "Zu hohe Umgebungstemperatur",
"alarm_ExcessiveRadiatorTemperature": "Überhitzter Kühlkörper",
"alarm_PcbOvertemperature": "Überhitzte Leiterplatte",
"alarm_DcConverterOvertemperature": "Überhitzter DC-Wandler",
"alarm_InverterOvertemperatureAlarm": "Warnung: Überhitzung",
"alarm_InverterOvertemperature": "Wechselrichter überhitzt",
"alarm_DcConverterOvertemperatureAlarm": "Übertemperaturalarm DC-Wandler",
"alarm_InsulationFault": "Isolationsfehler",
"alarm_LeakageProtectionFault": "Leckschutzfehler",
"alarm_AbnormalLeakageSelfCheck": "Anomaler Leckstrom-Selbsttest",
"alarm_PoorGrounding": "Schlechte Erdung",
"alarm_FanFault": "Lüfterfehler",
"alarm_AuxiliaryPowerFault": "Hilfsstromversorgung Fehler",
"alarm_ModelCapacityFault": "Modellkapazitätsfehler",
"alarm_AbnormalLightningArrester": "Überspannungsschutz Fehler",
"alarm_IslandProtection": "Inselbetrieb Schutz",
"alarm_Battery1NotConnected": "Batterie 1 nicht verbunden",
"alarm_Battery1Overvoltage": "Batterie 1 Überspannung",
"alarm_Battery1Undervoltage": "Batterie 1 Unterspannung",
"alarm_Battery1DischargeEnd": "Batterie 1 Entladung beendet",
"alarm_Battery1Inverted": "Batterie 1 Polarität vertauscht",
"alarm_Battery1OverloadTimeout": "Batterie 1 Überlastung",
"alarm_Battery1SoftStartFailure": "Batterie 1 Startfehler",
"alarm_Battery1PowerTubeFault": "Batterie 1 Leistungsteil defekt",
"alarm_Battery1InsufficientPower": "Batterie 1 Leistung unzureichend",
"alarm_Battery1BackupProhibited": "Batterie 1 Backup gesperrt",
"alarm_Battery2NotConnected": "Batterie 2 nicht verbunden",
"alarm_Battery2Overvoltage": "Batterie 2 Überspannung",
"alarm_Battery2Undervoltage": "Batterie 2 Unterspannung",
"alarm_Battery2DischargeEnd": "Batterie 2 Entladung beendet",
"alarm_Battery2Inverted": "Batterie 2 falsch angeschlossen",
"alarm_Battery2OverloadTimeout": "Batterie 2 Überlastung",
"alarm_Battery2SoftStartFailure": "Batterie 2 Startfehler",
"alarm_Battery2PowerTubeFault": "Batterie 2 Leistungsteil defekt",
"alarm_Battery2InsufficientPower": "Batterie 2 Leistung unzureichend",
"alarm_Battery2BackupProhibited": "Batterie 2 Backup gesperrt",
"alarm_LithiumBattery1ChargeForbidden": "Lithium-Batterie 1 Ladeverbot",
"alarm_LithiumBattery1DischargeForbidden": "Lithium-Batterie 1 Entladeverbot",
"alarm_LithiumBattery2ChargeForbidden": "Lithium-Batterie 2 Ladeverbot",
"alarm_LithiumBattery2DischargeForbidden": "Lithium-Batterie 2 Entladeverbot",
"alarm_LithiumBattery1Full": "Lithium-Batterie 1 voll",
"alarm_LithiumBattery1DischargeEnd": "Lithium-Batterie 1 entladen",
"alarm_LithiumBattery2Full": "Lithium-Batterie 2 voll",
"alarm_LithiumBattery2DischargeEnd": "Lithium-Batterie 2 entladen",
"alarm_LeadBatteryTemperatureAbnormality": "Batterietemperatur abnormal",
"alarm_BatteryAccessMethodError": "Batteriezugriffsfehler",
"alarm_Pv1NotAccessed": "PV1 nicht erreichbar",
"alarm_Pv1Overvoltage": "PV1 Überspannung",
"alarm_AbnormalPv1CurrentSharing": "Ungleichmäßiger PV1-Strom",
"alarm_Pv1PowerTubeFault": "PV1 Leistungstubus defekt",
"alarm_Pv1SoftStartFailure": "PV1 Soft-Start fehlgeschlagen",
"alarm_Pv1OverloadTimeout": "PV1-Überlastung",
"alarm_Pv1InsufficientPower": "PV1-Schwacher Strom",
"alarm_Photovoltaic1Overcurrent": "PV1-Überstrom",
"alarm_Pv2NotAccessed": "PV2-Nicht erkannt",
"alarm_Pv2Overvoltage": "PV2-Überspannung",
"alarm_AbnormalPv2CurrentSharing": "Ungewöhnliche Stromverteilung PV2",
"alarm_Pv2PowerTubeFault": "PV2-Leistungsrohrfehler",
"alarm_Pv2SoftStartFailure": "PV2-Softstart fehlgeschlagen",
"alarm_Pv2OverloadTimeout": "PV2-Überlastung Timeout",
"alarm_Pv2InsufficientPower": "Unzureichende Leistung PV2",
"alarm_Pv3NotConnected": "PV3 nicht verbunden",
"alarm_Pv3Overvoltage": "PV3 Überspannung",
"alarm_Pv3AverageCurrentAnomaly": "PV3 Stromanomalie",
"alarm_Pv3PowerTubeFailure": "PV3 Leistungselektronik defekt",
"alarm_Pv3SoftStartFailure": "PV3 Startfehler",
"alarm_Pv3OverloadTimeout": "PV3-Überlastung",
"alarm_Pv3ReverseConnection": "PV3-Falschpolung",
"alarm_Pv4NotConnected": "PV4 Nicht Verbunden",
"alarm_Pv4Overvoltage": "PV4 Überspannung",
"alarm_Pv4AverageCurrentAnomaly": "PV4 Stromanomalie",
"alarm_Pv4PowerTubeFailure": "PV4-Leistungsrohr defekt",
"alarm_Pv4SoftStartFailure": "PV4-Softstart fehlgeschlagen",
"alarm_Pv4OverloadTimeout": "PV4-Überlastung",
"alarm_Pv4ReverseConnection": "PV4 falsch angeschlossen",
"alarm_InsufficientPhotovoltaicPower": "Zu wenig Solarstrom",
"alarm_DcBusOvervoltage": "DC-Bus Überspannung",
"alarm_DcBusUndervoltage": "DC-Bus Unterspannung",
"alarm_DcBusVoltageUnbalance": "DC-Bus Spannungsungleichgewicht",
"alarm_BusSlowOvervoltage": "Langsame DC-Bus Überspannung",
"alarm_HardwareBusOvervoltage": "Hardware DC-Bus Überspannung",
"alarm_BusSoftStartFailure": "Fehler beim sanften Start",
"alarm_InverterPowerTubeFault": "Wechselrichter-Leistungshalbleiter defekt",
"alarm_HardwareOvercurrent": "Hardware-Überstrom",
"alarm_DcConverterOvervoltage": "DC-Wandler Überspannung",
"alarm_DcConverterHardwareOvervoltage": "DC-Wandler Hardware-Überspannung",
"alarm_DcConverterOvercurrent": "DC-Wandler Überstrom",
"alarm_DcConverterHardwareOvercurrent": "DC-Wandler Hardware-Überstrom",
"alarm_DcConverterResonatorOvercurrent": "DC-Wandler Resonanz-Überstrom",
"alarm_SystemOutputOverload": "Systemausgang überlastet",
"alarm_InverterOverload": "Wechselrichter überlastet",
"alarm_InverterOverloadTimeout": "Wechselrichter-Überlastung",
"alarm_LoadPowerOverload": "Überlastung der Lastleistung",
"alarm_BalancedCircuitOverloadTimeout": "Phasenausgleich-Überlastung",
"alarm_InverterSoftStartFailure": "Wechselrichter-Softstart-Fehler",
"alarm_Dsp1ParameterSettingFault": "DSP-Parameter-Fehler",
"alarm_Dsp2ParameterSettingFault": "DSP2 Parameterfehler",
"alarm_DspVersionCompatibilityFault": "DSP-Versionen nicht kompatibel",
"alarm_CpldVersionCompatibilityFault": "CPLD-Version nicht kompatibel",
"alarm_CpldCommunicationFault": "CPLD-Kommunikationsfehler",
"alarm_DspCommunicationFault": "DSP-Kommunikationsfehler",
"alarm_OutputVoltageDcOverlimit": "DC-Spannung zu hoch",
"alarm_OutputCurrentDcOverlimit": "DC-Strom zu hoch",
"alarm_RelaySelfCheckFails": "Relais-Selbsttest fehlgeschlagen",
"alarm_InverterRelayOpen": "Wechselrichter-Relais offen",
"alarm_InverterRelayShortCircuit": "Wechselrichter-Relais Kurzschluss",
"alarm_OpenCircuitOfPowerGridRelay": "Netzrelais offen",
"alarm_ShortCircuitOfPowerGridRelay": "Netzrelais kurzgeschlossen",
"alarm_GeneratorRelayOpenCircuit": "Generatorrelais offen",
"alarm_GeneratorRelayShortCircuit": "Generatorrelais kurzgeschlossen",
"alarm_AbnormalInverter": "Wechselrichter abnormal",
"alarm_ParallelCommunicationAlarm": "Parallelkommunikationsalarm",
"alarm_ParallelModuleMissing": "Parallelmodul fehlt",
"alarm_DuplicateMachineNumbersForParallelModules": "Doppelte Gerätenummern",
"alarm_ParameterConflictInParallelModule": "Parameterkonflikt im Parallelmodul",
"alarm_SystemDerating": "Systemleistung reduziert",
"alarm_PvAccessMethodErrorAlarm": "PV-Zugriffsfehler",
"alarm_ReservedAlarms4": "Reservierter Alarm 4",
"alarm_ReservedAlarms5": "Reservierter Alarm 5",
"alarm_ReverseMeterConnection": "Zähler falsch angeschlossen",
"alarm_InverterSealPulse": "Wechselrichter-Leistungsbegrenzung",
"alarm_AbnormalDieselGeneratorVoltage": "Ungewöhnliche Dieselgenerator-Spannung",
"alarm_AbnormalDieselGeneratorFrequency": "Ungewöhnliche Dieselgenerator-Frequenz",
"alarm_DieselGeneratorVoltageReverseSequence": "Falsche Phasenfolge des Generators",
"alarm_DieselGeneratorVoltageOutOfPhase": "Generator nicht synchronisiert",
"alarm_GeneratorOverload": "Generator überlastet",
"alarm_StringFault": "PV-String-Fehler",
"alarm_PvStringPidQuickConnectAbnormal": "PV-String-Anschluss defekt",
"alarm_DcSpdFunctionAbnormal": "DC-Überspannungsschutz defekt",
"alarm_PvShortCircuited": "PV-String kurzgeschlossen",
"alarm_PvBoostDriverAbnormal": "PV-Boost-Treiber defekt",
"alarm_AcSpdFunctionAbnormal": "AC-Überspannungsschutz defekt",
"alarm_DcFuseBlown": "DC-Sicherung durchgebrannt",
"alarm_DcInputVoltageTooHigh": "DC-Eingangsspannung zu hoch",
"alarm_PvReversed": "PV-Polarität vertauscht",
"alarm_PidFunctionAbnormal": "PID-Schutzfunktion gestört",
"alarm_PvStringDisconnected": "PV-String getrennt",
"alarm_PvStringCurrentUnbalanced": "PV-String Strom unausgeglichen",
"alarm_NoUtilityGrid": "Kein Stromnetz",
"alarm_GridVoltageOutOfRange": "Netzspannung außerhalb des Bereichs",
"alarm_GridFrequencyOutOfRange": "Netzfrequenz außerhalb des Bereichs",
"alarm_Overload": "Überlastung",
"alarm_MeterDisconnected": "Stromzähler getrennt",
"alarm_MeterReverselyConnected": "Zähler falsch angeschlossen",
"alarm_LinePeVoltageAbnormal": "Abnormale PE-Spannung",
"alarm_PhaseSequenceError": "Phasenfolgefehler",
"alarm_FanFailure": "Lüfterausfall",
"alarm_MeterAbnormal": "Störungsanzeige Zähler",
"alarm_OptimizerCommunicationAbnormal": "Kommunikationsstörung Optimierer",
"alarm_OverTemperature": "Überhitzung",
"alarm_OverTemperatureAlarm": "Überhitzungswarnung",
"alarm_NtcTemperatureSensorBroken": "Temperatursensor defekt",
"alarm_SyncSignalAbnormal": "Synchronisationsfehler",
"alarm_GridStartupConditionsNotMet": "Netzstartbedingungen nicht erfüllt",
"alarm_BatteryCommunicationFailure": "Batteriekommunikation fehlgeschlagen",
"alarm_BatteryDisconnected": "Batterie getrennt",
"alarm_BatteryVoltageTooHigh": "Batteriespannung zu hoch",
"alarm_BatteryVoltageTooLow": "Batteriespannung zu niedrig",
"alarm_BatteryReverseConnected": "Batterie falsch angeschlossen",
"alarm_LeadAcidTempSensorDisconnected": "Temperatursensor nicht angeschlossen",
"alarm_BatteryTemperatureOutOfRange": "Batterietemperatur außerhalb des Bereichs",
"alarm_BmsFault": "BMS-Fehler",
"alarm_LithiumBatteryOverload": "Batterie-Überlastung",
"alarm_BmsCommunicationAbnormal": "BMS-Kommunikationsfehler",
"alarm_BatterySpdAbnormal": "Batterie-Überspannungsschutz",
"alarm_OutputDcComponentBiasAbnormal": "DC-Versatz im Ausgang",
"alarm_DcComponentOverHighOutputVoltage": "DC-Komponente zu hohe Ausgangsspannung",
"alarm_OffGridOutputVoltageTooLow": "Netzunabhängige Ausgangsspannung zu niedrig",
"alarm_OffGridOutputVoltageTooHigh": "Netzunabhängige Ausgangsspannung zu hoch",
"alarm_OffGridOutputOverCurrent": "Netzunabhängiger Ausgangsüberstrom",
"alarm_OffGridOutputOverload": "Netzunabhängiger Ausgang überlastet",
"alarm_BalancedCircuitAbnormal": "Phasenausgleich gestört",
"alarm_ExportLimitationFailSafe": "Exportbegrenzung Notaus",
"alarm_DcBiasAbnormal": "DC-Vorspannung abnormal",
"alarm_HighDcComponentOutputCurrent": "Hohe DC-Komponente im Ausgangsstrom",
"alarm_BusVoltageSamplingAbnormal": "Spannungsmessung defekt",
"alarm_RelayFault": "Relaisfehler",
"alarm_BusVoltageAbnormal": "Gleichspannung abnormal",
"alarm_InternalCommunicationFailure": "Interne Kommunikation ausgefallen",
"alarm_TemperatureSensorDisconnected": "Temperatursensor getrennt",
"alarm_IgbtDriveFault": "IGBT-Ansteuerungsfehler",
"alarm_EepromError": "EEPROM-Fehler",
"alarm_AuxiliaryPowerAbnormal": "Hilfsstromversorgung abnormal",
"alarm_DcAcOvercurrentProtection": "Überstromschutz aktiviert",
"alarm_CommunicationProtocolMismatch": "Kommunikationsprotokoll-Fehler",
"alarm_DspComFirmwareMismatch": "Firmware-Inkompatibilität DSP/COM",
"alarm_DspSoftwareHardwareMismatch": "DSP-Software-Hardware-Inkompatibilität",
"alarm_CpldAbnormal": "CPLD-Fehler",
"alarm_RedundancySamplingInconsistent": "Inkonsistente redundante Messungen",
"alarm_PwmPassThroughSignalFailure": "PWM-Signalweg ausgefallen",
"alarm_AfciSelfTestFailure": "AFCI-Selbsttest fehlgeschlagen",
"alarm_PvCurrentSamplingAbnormal": "PV-Strommessung abnormal",
"alarm_AcCurrentSamplingAbnormal": "AC-Strommessung abnormal",
"alarm_BusSoftbootFailure": "DC-Bus-Vorstart fehlgeschlagen",
"alarm_EpoFault": "EPO-Fehler (Notaus)",
"alarm_MonitoringChipBootVerificationFailed": "Überwachungs-Chip Startfehler",
"alarm_BmsCommunicationFailure": "BMS-Kommunikationsfehler",
"alarm_BmsChargeDischargeFailure": "BMS-Lade-/Entladefehler",
"alarm_BatteryVoltageLow": "Batteriespannung zu niedrig",
"alarm_BatteryVoltageHigh": "Batteriespannung zu hoch",
"alarm_BatteryTemperatureAbnormal": "Batterietemperatur ungewöhnlich",
"alarm_BatteryReversed": "Batterie verkehrt herum",
"alarm_BatteryOpenCircuit": "Batteriekreis offen",
"alarm_BatteryOverloadProtection": "Batterieüberlastungsschutz",
"alarm_Bus2VoltageAbnormal": "Bus2-Spannung ungewöhnlich",
"alarm_BatteryChargeOcp": "Batterieladung Überstrom",
"alarm_BatteryDischargeOcp": "Batterieentladung Überstrom",
"alarm_BatterySoftStartFailed": "Batterie-Softstart fehlgeschlagen",
"alarm_EpsOutputShortCircuited": "EPS-Ausgang kurzgeschlossen",
"alarm_OffGridBusVoltageLow": "Netzunabhängige Busspannung zu niedrig",
"alarm_OffGridTerminalVoltageAbnormal": "Abnormale Spannung am Netzausgang",
"alarm_SoftStartFailed": "Sanfter Start fehlgeschlagen",
"alarm_OffGridOutputVoltageAbnormal": "Abnormale Ausgangsspannung im Netzmodus",
"alarm_BalancedCircuitSelfTestFailed": "Ausgleichsschaltungstest fehlgeschlagen",
"alarm_HighDcComponentOutputVoltage": "Hohe Gleichspannungskomponente im Ausgang",
"alarm_OffGridParallelSignalAbnormal": "Parallelsignalstörung",
"alarm_AFCIFault": "Lichtbogenfehler",
"alarm_GFCIHigh": "Erhöhter Fehlerstrom",
"alarm_PVVoltageHigh": "PV-Spannung zu hoch",
"alarm_OffGridBusVoltageTooLow": "Off-Grid-Busspannung zu niedrig"
"AbnormalGridVoltage": "Unnormale Netzspannung",
"AbnormalGridFrequency": "Unnormale Netzfrequenz",
"InvertedSequenceOfGridVoltage": "Falsche Phasenreihenfolge",
"GridVoltagePhaseLoss": "Phasenausfall im Netz",
"AbnormalGridCurrent": "Unnormaler Netzstrom",
"AbnormalOutputVoltage": "Ungewöhnliche Ausgangsspannung",
"AbnormalOutputFrequency": "Ungewöhnliche Ausgangsfrequenz",
"AbnormalNullLine": "Fehlerhafter Nullleiter",
"AbnormalOffGridOutputVoltage": "Ungewöhnliche Backup-Spannung",
"ExcessivelyHighAmbientTemperature": "Zu hohe Umgebungstemperatur",
"ExcessiveRadiatorTemperature": "Überhitzter Kühlkörper",
"PcbOvertemperature": "Überhitzte Leiterplatte",
"DcConverterOvertemperature": "Überhitzter DC-Wandler",
"InverterOvertemperatureAlarm": "Warnung: Überhitzung",
"InverterOvertemperature": "Wechselrichter überhitzt",
"DcConverterOvertemperatureAlarm": "Übertemperaturalarm DC-Wandler",
"InsulationFault": "Isolationsfehler",
"LeakageProtectionFault": "Leckschutzfehler",
"AbnormalLeakageSelfCheck": "Anomaler Leckstrom-Selbsttest",
"PoorGrounding": "Schlechte Erdung",
"FanFault": "Lüfterfehler",
"AuxiliaryPowerFault": "Hilfsstromversorgung Fehler",
"ModelCapacityFault": "Modellkapazitätsfehler",
"AbnormalLightningArrester": "Überspannungsschutz Fehler",
"IslandProtection": "Inselbetrieb Schutz",
"Battery1NotConnected": "Batterie 1 nicht verbunden",
"Battery1Overvoltage": "Batterie 1 Überspannung",
"Battery1Undervoltage": "Batterie 1 Unterspannung",
"Battery1DischargeEnd": "Batterie 1 Entladung beendet",
"Battery1Inverted": "Batterie 1 Polarität vertauscht",
"Battery1OverloadTimeout": "Batterie 1 Überlastung",
"Battery1SoftStartFailure": "Batterie 1 Startfehler",
"Battery1PowerTubeFault": "Batterie 1 Leistungsteil defekt",
"Battery1InsufficientPower": "Batterie 1 Leistung unzureichend",
"Battery1BackupProhibited": "Batterie 1 Backup gesperrt",
"Battery2NotConnected": "Batterie 2 nicht verbunden",
"Battery2Overvoltage": "Batterie 2 Überspannung",
"Battery2Undervoltage": "Batterie 2 Unterspannung",
"Battery2DischargeEnd": "Batterie 2 Entladung beendet",
"Battery2Inverted": "Batterie 2 falsch angeschlossen",
"Battery2OverloadTimeout": "Batterie 2 Überlastung",
"Battery2SoftStartFailure": "Batterie 2 Startfehler",
"Battery2PowerTubeFault": "Batterie 2 Leistungsteil defekt",
"Battery2InsufficientPower": "Batterie 2 Leistung unzureichend",
"Battery2BackupProhibited": "Batterie 2 Backup gesperrt",
"LithiumBattery1ChargeForbidden": "Lithium-Batterie 1 Ladeverbot",
"LithiumBattery1DischargeForbidden": "Lithium-Batterie 1 Entladeverbot",
"LithiumBattery2ChargeForbidden": "Lithium-Batterie 2 Ladeverbot",
"LithiumBattery2DischargeForbidden": "Lithium-Batterie 2 Entladeverbot",
"LithiumBattery1Full": "Lithium-Batterie 1 voll",
"LithiumBattery1DischargeEnd": "Lithium-Batterie 1 entladen",
"LithiumBattery2Full": "Lithium-Batterie 2 voll",
"LithiumBattery2DischargeEnd": "Lithium-Batterie 2 entladen",
"LeadBatteryTemperatureAbnormality": "Batterietemperatur abnormal",
"BatteryAccessMethodError": "Batteriezugriffsfehler",
"Pv1NotAccessed": "PV1 nicht erreichbar",
"Pv1Overvoltage": "PV1 Überspannung",
"AbnormalPv1CurrentSharing": "Ungleichmäßiger PV1-Strom",
"Pv1PowerTubeFault": "PV1 Leistungstubus defekt",
"Pv1SoftStartFailure": "PV1 Soft-Start fehlgeschlagen",
"Pv1OverloadTimeout": "PV1-Überlastung",
"Pv1InsufficientPower": "PV1-Schwacher Strom",
"Photovoltaic1Overcurrent": "PV1-Überstrom",
"Pv2NotAccessed": "PV2-Nicht erkannt",
"Pv2Overvoltage": "PV2-Überspannung",
"AbnormalPv2CurrentSharing": "Ungewöhnliche Stromverteilung PV2",
"Pv2PowerTubeFault": "PV2-Leistungsrohrfehler",
"Pv2SoftStartFailure": "PV2-Softstart fehlgeschlagen",
"Pv2OverloadTimeout": "PV2-Überlastung Timeout",
"Pv2InsufficientPower": "Unzureichende Leistung PV2",
"Pv3NotConnected": "PV3 nicht verbunden",
"Pv3Overvoltage": "PV3 Überspannung",
"Pv3AverageCurrentAnomaly": "PV3 Stromanomalie",
"Pv3PowerTubeFailure": "PV3 Leistungselektronik defekt",
"Pv3SoftStartFailure": "PV3 Startfehler",
"Pv3OverloadTimeout": "PV3-Überlastung",
"Pv3ReverseConnection": "PV3-Falschpolung",
"Pv4NotConnected": "PV4 Nicht Verbunden",
"Pv4Overvoltage": "PV4 Überspannung",
"Pv4AverageCurrentAnomaly": "PV4 Stromanomalie",
"Pv4PowerTubeFailure": "PV4-Leistungsrohr defekt",
"Pv4SoftStartFailure": "PV4-Softstart fehlgeschlagen",
"Pv4OverloadTimeout": "PV4-Überlastung",
"Pv4ReverseConnection": "PV4 falsch angeschlossen",
"InsufficientPhotovoltaicPower": "Zu wenig Solarstrom",
"DcBusOvervoltage": "DC-Bus Überspannung",
"DcBusUndervoltage": "DC-Bus Unterspannung",
"DcBusVoltageUnbalance": "DC-Bus Spannungsungleichgewicht",
"BusSlowOvervoltage": "Langsame DC-Bus Überspannung",
"HardwareBusOvervoltage": "Hardware DC-Bus Überspannung",
"BusSoftStartFailure": "Fehler beim sanften Start",
"InverterPowerTubeFault": "Wechselrichter-Leistungshalbleiter defekt",
"HardwareOvercurrent": "Hardware-Überstrom",
"DcConverterOvervoltage": "DC-Wandler Überspannung",
"DcConverterHardwareOvervoltage": "DC-Wandler Hardware-Überspannung",
"DcConverterOvercurrent": "DC-Wandler Überstrom",
"DcConverterHardwareOvercurrent": "DC-Wandler Hardware-Überstrom",
"DcConverterResonatorOvercurrent": "DC-Wandler Resonanz-Überstrom",
"SystemOutputOverload": "Systemausgang überlastet",
"InverterOverload": "Wechselrichter überlastet",
"InverterOverloadTimeout": "Wechselrichter-Überlastung",
"LoadPowerOverload": "Überlastung der Lastleistung",
"BalancedCircuitOverloadTimeout": "Phasenausgleich-Überlastung",
"InverterSoftStartFailure": "Wechselrichter-Softstart-Fehler",
"Dsp1ParameterSettingFault": "DSP-Parameter-Fehler",
"Dsp2ParameterSettingFault": "DSP2 Parameterfehler",
"DspVersionCompatibilityFault": "DSP-Versionen nicht kompatibel",
"CpldVersionCompatibilityFault": "CPLD-Version nicht kompatibel",
"CpldCommunicationFault": "CPLD-Kommunikationsfehler",
"DspCommunicationFault": "DSP-Kommunikationsfehler",
"OutputVoltageDcOverlimit": "DC-Spannung zu hoch",
"OutputCurrentDcOverlimit": "DC-Strom zu hoch",
"RelaySelfCheckFails": "Relais-Selbsttest fehlgeschlagen",
"InverterRelayOpen": "Wechselrichter-Relais offen",
"InverterRelayShortCircuit": "Wechselrichter-Relais Kurzschluss",
"OpenCircuitOfPowerGridRelay": "Netzrelais offen",
"ShortCircuitOfPowerGridRelay": "Netzrelais kurzgeschlossen",
"GeneratorRelayOpenCircuit": "Generatorrelais offen",
"GeneratorRelayShortCircuit": "Generatorrelais kurzgeschlossen",
"AbnormalInverter": "Wechselrichter abnormal",
"ParallelCommunicationAlarm": "Parallelkommunikationsalarm",
"ParallelModuleMissing": "Parallelmodul fehlt",
"DuplicateMachineNumbersForParallelModules": "Doppelte Gerätenummern",
"ParameterConflictInParallelModule": "Parameterkonflikt im Parallelmodul",
"SystemDerating": "Systemleistung reduziert",
"PvAccessMethodErrorAlarm": "PV-Zugriffsfehler",
"ReservedAlarms4": "Reservierter Alarm 4",
"ReservedAlarms5": "Reservierter Alarm 5",
"ReverseMeterConnection": "Zähler falsch angeschlossen",
"InverterSealPulse": "Wechselrichter-Leistungsbegrenzung",
"AbnormalDieselGeneratorVoltage": "Ungewöhnliche Dieselgenerator-Spannung",
"AbnormalDieselGeneratorFrequency": "Ungewöhnliche Dieselgenerator-Frequenz",
"DieselGeneratorVoltageReverseSequence": "Falsche Phasenfolge des Generators",
"DieselGeneratorVoltageOutOfPhase": "Generator nicht synchronisiert",
"GeneratorOverload": "Generator überlastet",
"StringFault": "PV-String-Fehler",
"PvStringPidQuickConnectAbnormal": "PV-String-Anschluss defekt",
"DcSpdFunctionAbnormal": "DC-Überspannungsschutz defekt",
"PvShortCircuited": "PV-String kurzgeschlossen",
"PvBoostDriverAbnormal": "PV-Boost-Treiber defekt",
"AcSpdFunctionAbnormal": "AC-Überspannungsschutz defekt",
"DcFuseBlown": "DC-Sicherung durchgebrannt",
"DcInputVoltageTooHigh": "DC-Eingangsspannung zu hoch",
"PvReversed": "PV-Polarität vertauscht",
"PidFunctionAbnormal": "PID-Schutzfunktion gestört",
"PvStringDisconnected": "PV-String getrennt",
"PvStringCurrentUnbalanced": "PV-String Strom unausgeglichen",
"NoUtilityGrid": "Kein Stromnetz",
"GridVoltageOutOfRange": "Netzspannung außerhalb des Bereichs",
"GridFrequencyOutOfRange": "Netzfrequenz außerhalb des Bereichs",
"Overload": "Überlastung",
"MeterDisconnected": "Stromzähler getrennt",
"MeterReverselyConnected": "Zähler falsch angeschlossen",
"LinePeVoltageAbnormal": "Abnormale PE-Spannung",
"PhaseSequenceError": "Phasenfolgefehler",
"FanFailure": "Lüfterausfall",
"MeterAbnormal": "Störungsanzeige Zähler",
"OptimizerCommunicationAbnormal": "Kommunikationsstörung Optimierer",
"OverTemperature": "Überhitzung",
"OverTemperatureAlarm": "Überhitzungswarnung",
"NtcTemperatureSensorBroken": "Temperatursensor defekt",
"SyncSignalAbnormal": "Synchronisationsfehler",
"GridStartupConditionsNotMet": "Netzstartbedingungen nicht erfüllt",
"BatteryCommunicationFailure": "Batteriekommunikation fehlgeschlagen",
"BatteryDisconnected": "Batterie getrennt",
"BatteryVoltageTooHigh": "Batteriespannung zu hoch",
"BatteryVoltageTooLow": "Batteriespannung zu niedrig",
"BatteryReverseConnected": "Batterie falsch angeschlossen",
"LeadAcidTempSensorDisconnected": "Temperatursensor nicht angeschlossen",
"BatteryTemperatureOutOfRange": "Batterietemperatur außerhalb des Bereichs",
"BmsFault": "BMS-Fehler",
"LithiumBatteryOverload": "Batterie-Überlastung",
"BmsCommunicationAbnormal": "BMS-Kommunikationsfehler",
"BatterySpdAbnormal": "Batterie-Überspannungsschutz",
"OutputDcComponentBiasAbnormal": "DC-Versatz im Ausgang",
"DcComponentOverHighOutputVoltage": "DC-Komponente zu hohe Ausgangsspannung",
"OffGridOutputVoltageTooLow": "Netzunabhängige Ausgangsspannung zu niedrig",
"OffGridOutputVoltageTooHigh": "Netzunabhängige Ausgangsspannung zu hoch",
"OffGridOutputOverCurrent": "Netzunabhängiger Ausgangsüberstrom",
"OffGridOutputOverload": "Netzunabhängiger Ausgang überlastet",
"BalancedCircuitAbnormal": "Phasenausgleich gestört",
"ExportLimitationFailSafe": "Exportbegrenzung Notaus",
"DcBiasAbnormal": "DC-Vorspannung abnormal",
"HighDcComponentOutputCurrent": "Hohe DC-Komponente im Ausgangsstrom",
"BusVoltageSamplingAbnormal": "Spannungsmessung defekt",
"RelayFault": "Relaisfehler",
"BusVoltageAbnormal": "Gleichspannung abnormal",
"InternalCommunicationFailure": "Interne Kommunikation ausgefallen",
"TemperatureSensorDisconnected": "Temperatursensor getrennt",
"IgbtDriveFault": "IGBT-Ansteuerungsfehler",
"EepromError": "EEPROM-Fehler",
"AuxiliaryPowerAbnormal": "Hilfsstromversorgung abnormal",
"DcAcOvercurrentProtection": "Überstromschutz aktiviert",
"CommunicationProtocolMismatch": "Kommunikationsprotokoll-Fehler",
"DspComFirmwareMismatch": "Firmware-Inkompatibilität DSP/COM",
"DspSoftwareHardwareMismatch": "DSP-Software-Hardware-Inkompatibilität",
"CpldAbnormal": "CPLD-Fehler",
"RedundancySamplingInconsistent": "Inkonsistente redundante Messungen",
"PwmPassThroughSignalFailure": "PWM-Signalweg ausgefallen",
"AfciSelfTestFailure": "AFCI-Selbsttest fehlgeschlagen",
"PvCurrentSamplingAbnormal": "PV-Strommessung abnormal",
"AcCurrentSamplingAbnormal": "AC-Strommessung abnormal",
"BusSoftbootFailure": "DC-Bus-Vorstart fehlgeschlagen",
"EpoFault": "EPO-Fehler (Notaus)",
"MonitoringChipBootVerificationFailed": "Überwachungs-Chip Startfehler",
"BmsCommunicationFailure": "BMS-Kommunikationsfehler",
"BmsChargeDischargeFailure": "BMS-Lade-/Entladefehler",
"BatteryVoltageLow": "Batteriespannung zu niedrig",
"BatteryVoltageHigh": "Batteriespannung zu hoch",
"BatteryTemperatureAbnormal": "Batterietemperatur ungewöhnlich",
"BatteryReversed": "Batterie verkehrt herum",
"BatteryOpenCircuit": "Batteriekreis offen",
"BatteryOverloadProtection": "Batterieüberlastungsschutz",
"Bus2VoltageAbnormal": "Bus2-Spannung ungewöhnlich",
"BatteryChargeOcp": "Batterieladung Überstrom",
"BatteryDischargeOcp": "Batterieentladung Überstrom",
"BatterySoftStartFailed": "Batterie-Softstart fehlgeschlagen",
"EpsOutputShortCircuited": "EPS-Ausgang kurzgeschlossen",
"OffGridBusVoltageLow": "Netzunabhängige Busspannung zu niedrig",
"OffGridTerminalVoltageAbnormal": "Abnormale Spannung am Netzausgang",
"SoftStartFailed": "Sanfter Start fehlgeschlagen",
"OffGridOutputVoltageAbnormal": "Abnormale Ausgangsspannung im Netzmodus",
"BalancedCircuitSelfTestFailed": "Ausgleichsschaltungstest fehlgeschlagen",
"HighDcComponentOutputVoltage": "Hohe Gleichspannungskomponente im Ausgang",
"OffGridParallelSignalAbnormal": "Parallelsignalstörung",
"AFCIFault": "Lichtbogenfehler",
"GFCIHigh": "Erhöhter Fehlerstrom",
"PVVoltageHigh": "PV-Spannung zu hoch",
"OffGridBusVoltageTooLow": "Off-Grid-Busspannung zu niedrig"
}

File diff suppressed because it is too large Load Diff