feat: Implement blinking icon for "PST-M prüfen" alarm

- Added blinking icon functionality to "PST-M prüfen" alarm status for consistency with other alarm statuses.
- Refactored display logic to prioritize "PST-M prüfen" with icon blink effect in the interval.
- Ensured proper interval clearing for consistent display across alarm updates.
This commit is contained in:
ISA
2024-11-06 08:43:32 +01:00
parent 2d2889a36d
commit 7333bf93fa
4 changed files with 17 additions and 14 deletions

View File

@@ -309,6 +309,12 @@ function Kue705FO({
return () => clearInterval(interval);
}, [slotIndex, kueAlarm1, kueAlarm2, kueCableBreak, kueGroundFault]);
useEffect(() => {
if (reduxKueVersion?.[slotIndex]) {
setKueVersion("V" + reduxKueVersion[slotIndex] / 100);
}
}, [slotIndex, reduxKueVersion]);
//---------------------------------------------------
// Funktion zum Aktualisieren der Anzeige basierend auf dem Alarmstatus mit Icon und Blinken
useEffect(() => {
let intervalId;
@@ -326,13 +332,13 @@ function Kue705FO({
text
)
);
}, 5000); // Gesamtdauer von 7 Sekunden für einen vollständigen Blink-Zyklus
}, 7000); // Beispiel-Zyklus für 7 Sekunden
};
// Alarmanzeige je nach Status aktualisieren
// Priorisierte Alarmanzeige
if (kuePSTmMinus96V?.[slotIndex] === 1) {
clearInterval(intervalId); // Vorheriges Intervall stoppen
setCurrentDisplayValue("PST-M prüfen");
clearInterval(intervalId); // Stoppt das vorherige Intervall, falls aktiv
setBlinkingText("PST-M prüfen");
} else if (kueCableBreak?.[slotIndex] === 1) {
clearInterval(intervalId);
setBlinkingText(isoDisplayText);
@@ -347,13 +353,13 @@ function Kue705FO({
setBlinkingText(loopFaultDisplayText);
} else if (kueOverflow?.[slotIndex] === 1) {
clearInterval(intervalId);
setBlinkingText(isoGreaterThan200);
setCurrentDisplayValue(isoGreaterThan200);
} else {
clearInterval(intervalId);
setCurrentDisplayValue(isolationswert); // Kein Alarm aktiv
setCurrentDisplayValue(isolationswert); // Standardanzeige
}
// Cleanup, um das Intervall zu stoppen, wenn sich der Status ändert oder der Effekt aufgeräumt wird
// Cleanup bei Änderungen des Status oder Schließen des Effekts
return () => clearInterval(intervalId);
}, [
slotIndex,
@@ -371,12 +377,7 @@ function Kue705FO({
kueOverflow,
]);
useEffect(() => {
if (reduxKueVersion?.[slotIndex]) {
setKueVersion("V" + reduxKueVersion[slotIndex] / 100);
}
}, [slotIndex, reduxKueVersion]);
//---------------------------------------------------
return (
<div className="relative bg-gray-300 w-[116px] h-[390px] border border-gray-400 scale-110 top-3">
{kueOnline === 1 ? (

View File

@@ -9,7 +9,7 @@ var win_kueOnline = [
Das kann sein, muss aber nicht. Hier unten im Testaufbau haben wir nur eine PST-M für alle 32 Kabelüberwachungen. Es kann aber sein das beim Kunden auch für jeden BGT eine PST-M vorhanden ist, also insgesamt 4 Stück.
*/
var win_kuePSTmMinus96V = [
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
];
//Aderbruch 1 = Fehler, 0 = kein Fehler

View File

@@ -21,6 +21,7 @@ const initialState = {
kueOnline: [],
kueID: [],
kueIso: [],
kuePSTmMinus96V: [],
kueAlarm1: [],
kueAlarm2: [],
kueRes: [],

View File

@@ -21,6 +21,7 @@ export async function loadWindowVariables() {
"win_flutter",
"win_kueOnline",
"win_kueID",
"win_kuePSTmMinus96V",
"win_kueAlarm1",
"win_kueAlarm2",
"win_kueIso",