diff --git a/components/modules/Kue705FO.jsx b/components/modules/Kue705FO.jsx
index 996eef9..11b978a 100644
--- a/components/modules/Kue705FO.jsx
+++ b/components/modules/Kue705FO.jsx
@@ -15,6 +15,7 @@ function Kue705FO({
tdrLocation,
alarmStatus,
}) {
+ const [currentAlarmStatus, setCurrentAlarmStatus] = useState(false);
const [currentModulName, setCurrentModulName] = useState(modulName);
const [activeButton, setActiveButton] = useState("Schleife");
const [displayText, setDisplayText] = useState("Schleifenwiderstand [kOhm]");
@@ -200,11 +201,6 @@ function Kue705FO({
} */
//-------------------------------------------------
let slot = slotIndex;
- const alarmStatus =
- (window.kueAlarm1 && window.kueAlarm1[slotIndex]) ||
- (window.kueAlarm2 && window.kueAlarm2[slotIndex]) ||
- (window.kueCableBreak && window.kueCableBreak[slotIndex]) ||
- (window.kueGroundFault && window.kueGroundFault[slotIndex]);
if (slot >= 32) {
return;
@@ -297,6 +293,23 @@ function Kue705FO({
useEffect(() => {
setCurrentDisplayValue(schleifenwiderstand);
}, [schleifenwiderstand]);
+ useEffect(() => {
+ const updateAlarmStatus = () => {
+ const alarmStatus =
+ (window.kueAlarm1 && window.kueAlarm1[slotIndex]) ||
+ (window.kueAlarm2 && window.kueAlarm2[slotIndex]) ||
+ (window.kueCableBreak && window.kueCableBreak[slotIndex]) ||
+ (window.kueGroundFault && window.kueGroundFault[slotIndex]);
+
+ setCurrentAlarmStatus(alarmStatus); // Aktualisiere den Alarmstatus
+ };
+
+ // Aktualisierung sofort und alle 5 Sekunden
+ updateAlarmStatus();
+ const interval = setInterval(updateAlarmStatus, 5000);
+
+ return () => clearInterval(interval); // Bereinigung bei Entladen der Komponente
+ }, [slotIndex]);
return (
diff --git a/pages/kabelueberwachung.js b/pages/kabelueberwachung.js
index 8707500..238a3e9 100644
--- a/pages/kabelueberwachung.js
+++ b/pages/kabelueberwachung.js
@@ -11,6 +11,7 @@ function Kabelueberwachung() {
const [kueID, setKueID] = useState([]); // State to store the KUE names
const [schleifenwiderstand, setSchleifenwiderstand] = useState([]); // State to store the resistance values
const [kueOnline, setKueOnline] = useState([]); // State to store the module status
+ const [alarmStatus, setAlarmStatus] = useState([]); // State to store the alarm status
// Verwende den useRouter Hook, um den Rack-Parameter zu extrahieren
useEffect(() => {
@@ -24,24 +25,45 @@ function Kabelueberwachung() {
// Load the external JavaScript file and fetch the isolation values
useEffect(() => {
- loadWindowVariables()
- .then(() => {
- if (window.kueIso && Array.isArray(window.kueIso)) {
- setKueIso(window.kueIso);
- }
- if (window.kueRes && Array.isArray(window.kueRes)) {
- setSchleifenwiderstand(window.kueRes);
- }
- if (window.kueOnline && Array.isArray(window.kueOnline)) {
- setKueOnline(window.kueOnline);
- }
- if (window.kueID && Array.isArray(window.kueID)) {
- setKueID(window.kueID);
- }
- })
- .catch((error) => {
- //console.error("Fehler beim Laden der Variablen:", error);
+ const fetchData = () => {
+ loadWindowVariables()
+ .then(() => {
+ if (window.kueIso && Array.isArray(window.kueIso)) {
+ setKueIso(window.kueIso);
+ }
+ if (window.kueRes && Array.isArray(window.kueRes)) {
+ setSchleifenwiderstand(window.kueRes);
+ }
+ if (window.kueOnline && Array.isArray(window.kueOnline)) {
+ setKueOnline(window.kueOnline);
+ }
+ if (window.kueID && Array.isArray(window.kueID)) {
+ setKueID(window.kueID);
+ }
+ updateAlarmStatus(); // Alarmstatus sofort aktualisieren
+ })
+ .catch((error) => {
+ console.error("Fehler beim Laden der Variablen:", error);
+ });
+ };
+
+ const updateAlarmStatus = () => {
+ const updatedAlarmStatus = kueIso.map((_, index) => {
+ return (
+ (window.kueAlarm1 && window.kueAlarm1[index]) ||
+ (window.kueAlarm2 && window.kueAlarm2[index]) ||
+ (window.kueCableBreak && window.kueCableBreak[index]) ||
+ (window.kueGroundFault && window.kueGroundFault[index])
+ );
});
+ console.log("Aktualisierter alarmStatus:", updatedAlarmStatus);
+ setAlarmStatus(updatedAlarmStatus); // State für Alarmstatus aktualisieren
+ };
+
+ fetchData();
+ const interval = setInterval(fetchData, 5000); // alle 5 Sekunden
+
+ return () => clearInterval(interval);
}, []);
// Zuerst alle Werte der Arrays speichern
@@ -87,7 +109,68 @@ function Kabelueberwachung() {
document.body.removeChild(script);
};
}, []);
+ //----------------------------------------------
+ useEffect(() => {
+ const fetchData = () => {
+ const existingScript = document.querySelector(
+ "script[src*='kueData.js']"
+ );
+ // Stelle sicher, dass das Element existiert und ein Kind von `document.body` ist, bevor du es entfernst
+ if (existingScript && existingScript.parentNode === document.body) {
+ document.body.removeChild(existingScript);
+ }
+
+ // Füge das Skript erneut hinzu
+ const script = document.createElement("script");
+ script.src =
+ process.env.NODE_ENV === "production"
+ ? "CPL?/CPL/SERVICE/kueData.js" // Produktionspfad
+ : "/CPLmockData/SERVICE/kueData.js"; // Entwicklungs-Pfad für Mock-Daten
+ script.async = true;
+
+ script.onload = () => {
+ // Aktualisiere die Variablen nach kurzer Verzögerung, um sicherzustellen, dass sie geladen sind
+ setTimeout(() => {
+ if (window.kueIso && Array.isArray(window.kueIso)) {
+ setKueIso(window.kueIso);
+ }
+ if (window.kueRes && Array.isArray(window.kueRes)) {
+ setSchleifenwiderstand(window.kueRes);
+ }
+ if (window.kueOnline && Array.isArray(window.kueOnline)) {
+ setKueOnline(window.kueOnline);
+ }
+ if (window.kueID && Array.isArray(window.kueID)) {
+ setKueID(window.kueID);
+ }
+ updateAlarmStatus(); // Aktualisiere den Alarmstatus
+ }, 500); // 500 ms Verzögerung, um sicherzustellen, dass die Daten geladen sind
+ };
+ document.body.appendChild(script);
+ };
+
+ const updateAlarmStatus = () => {
+ const updatedAlarmStatus = window.kueIso.map((_, index) => {
+ return (
+ (window.kueAlarm1 && window.kueAlarm1[index]) ||
+ (window.kueAlarm2 && window.kueAlarm2[index]) ||
+ (window.kueCableBreak && window.kueCableBreak[index]) ||
+ (window.kueGroundFault && window.kueGroundFault[index])
+ );
+ });
+ console.log("Aktualisierter alarmStatus:", updatedAlarmStatus);
+ setAlarmStatus(updatedAlarmStatus); // Setze den aktualisierten Alarmstatus
+ };
+
+ // Lade die Daten sofort und alle 5 Sekunden neu
+ fetchData();
+ const interval = setInterval(fetchData, 5000);
+
+ return () => clearInterval(interval); // Bereinige das Intervall beim Entladen der Komponente
+ }, []);
+
+ //----------------------------------------------
return (
Kabelüberwachung
diff --git a/public/CPLmockData/SERVICE/kueData.js b/public/CPLmockData/SERVICE/kueData.js
index 0a01042..40c31b3 100644
--- a/public/CPLmockData/SERVICE/kueData.js
+++ b/public/CPLmockData/SERVICE/kueData.js
@@ -1,25 +1,147 @@
-
-var kueOnline=[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];
-var kueIso=[10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.50,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.50,10.00,10.00,10.00,10.00,10.00,10.50,10.00,200.00,200.00,200.00,200.00];
-var kueValid=[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];
-var kueAlarm1=[1,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,1,0,1,0,0,0,0,0,0];
-var kueAlarm2=[1,0,1,0,0,0,1,1,0,1,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0];
-var kueRes=[0.000,0.612,0.000,0.645,0.821,0.970,0.000,0.000,1.452,0.000,0.734,0.370,0.566,0.000,0.738,0.684,1.166,0.595,0.000,1.651,1.180,1.387,1.214,0.000,1.475,0.615,0.494,1.217,65.000,65.000,65.000,65.000];
-var kueCableBreak=[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,1,1,1,1];
-var kueGroundFault=[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,0,0];
-var kueLimit1=[10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00];
-var kueLimit2Low=[0.100,0.100,0.100,0.100,0.100,0.100,0.100,0.100,0.100,0.100,0.100,0.100,0.100,0.100,0.100,0.100,0.100,0.100,0.100,0.100,0.100,0.100,0.100,0.100,0.100,0.100,0.100,0.100,0.100,0.100,0.100,0.100];
-var kueLimit2High=[1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000];
-var kueDelay1=[420,420,420,420,420,420,420,420,420,420,420,420,420,420,420,420,420,420,420,420,420,420,420,420,420,420,420,420,420,420,420,420];
-var kueLoopInterval=[6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6];
-var kueID=['FTZ_2','B23','Kabel 3','Kabel 4','Kabel 5','Kabel 6','FTZ4562','Kabel 8','12344','Kabel 10','Kabel 11','Kabel 12','Kabel 13','Kabel 14','Kabel 15','H56-77','Kabel 17','Kabel 18','Kabel 19','Kabel 20','Kabel 21','Kabel 22','Kabel 23','Kabel 24','Kabel 25','Kabel 26','Kabel 27','Kabel 28','Kabel 29','Kabel 30','Kabel 31','Kabel 32'];
-var kueName=['Kabel_2','Petersfehn','Kabel 3','Kabel 4','Kabel 5','Kabel 6','Melanie','Kabel 8','Merle','Kabel 10','Kabel 11','Kabel 12','Kabel 13','Kabel 14','Kabel 15','Daniela','Kabel 17','Kabel 18','Kabel 19','Kabel 20','Kabel 21','Kabel 22','Kabel 23','Kabel 24','Kabel 25','Kabel 26','Kabel 27','Kabel 28','Kabel 29','Kabel 30','Kabel 31','Kabel 32'];
-var kueVersion=[419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419];
-var kueOverflow=[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,1,1,1,1];
-var kue100V=[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,0,0];
-var kueResidence=[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,0,0];
-var kueBooting=[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,0,0];
-
-
-
-
+var kueOnline = [
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1,
+];
+var kueIso = [
+ 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.5, 10.0, 10.0, 10.0, 10.0,
+ 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.5, 10.0, 10.0, 10.0, 10.0, 10.0,
+ 10.5, 10.0, 200.0, 200.0, 200.0, 200.0,
+];
+var kueValid = [
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1,
+];
+var kueAlarm1 = [
+ 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1,
+ 0, 0, 0, 0, 0, 0,
+];
+var kueAlarm2 = [
+ 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0,
+];
+var kueRes = [
+ 0.0, 0.612, 0.0, 0.645, 0.821, 0.97, 0.0, 0.0, 1.452, 0.0, 0.734, 0.37, 0.566,
+ 0.0, 0.738, 0.684, 1.166, 0.595, 0.0, 1.651, 1.18, 1.387, 1.214, 0.0, 1.475,
+ 0.615, 0.494, 1.217, 65.0, 65.0, 65.0, 65.0,
+];
+var kueCableBreak = [
+ 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, 1, 1, 1, 1,
+];
+var kueGroundFault = [
+ 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, 0, 0,
+];
+var kueLimit1 = [
+ 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0,
+ 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0,
+ 10.0, 10.0, 10.0, 10.0, 10.0, 10.0,
+];
+var kueLimit2Low = [
+ 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
+ 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
+ 0.1, 0.1,
+];
+var kueLimit2High = [
+ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
+ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
+ 1.0, 1.0,
+];
+var kueDelay1 = [
+ 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420,
+ 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420,
+ 420, 420,
+];
+var kueLoopInterval = [
+ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
+ 6, 6, 6, 6, 6, 6,
+];
+var kueID = [
+ "FTZ_2",
+ "B23",
+ "Kabel 3",
+ "Kabel 4",
+ "Kabel 5",
+ "Kabel 6",
+ "FTZ4562",
+ "Kabel 8",
+ "12344",
+ "Kabel 10",
+ "Kabel 11",
+ "Kabel 12",
+ "Kabel 13",
+ "Kabel 14",
+ "Kabel 15",
+ "H56-77",
+ "Kabel 17",
+ "Kabel 18",
+ "Kabel 19",
+ "Kabel 20",
+ "Kabel 21",
+ "Kabel 22",
+ "Kabel 23",
+ "Kabel 24",
+ "Kabel 25",
+ "Kabel 26",
+ "Kabel 27",
+ "Kabel 28",
+ "Kabel 29",
+ "Kabel 30",
+ "Kabel 31",
+ "Kabel 32",
+];
+var kueName = [
+ "Kabel_2",
+ "Petersfehn",
+ "Kabel 3",
+ "Kabel 4",
+ "Kabel 5",
+ "Kabel 6",
+ "Melanie",
+ "Kabel 8",
+ "Merle",
+ "Kabel 10",
+ "Kabel 11",
+ "Kabel 12",
+ "Kabel 13",
+ "Kabel 14",
+ "Kabel 15",
+ "Daniela",
+ "Kabel 17",
+ "Kabel 18",
+ "Kabel 19",
+ "Kabel 20",
+ "Kabel 21",
+ "Kabel 22",
+ "Kabel 23",
+ "Kabel 24",
+ "Kabel 25",
+ "Kabel 26",
+ "Kabel 27",
+ "Kabel 28",
+ "Kabel 29",
+ "Kabel 30",
+ "Kabel 31",
+ "Kabel 32",
+];
+var kueVersion = [
+ 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419,
+ 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419,
+ 419, 419,
+];
+var kueOverflow = [
+ 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, 1, 1, 1, 1,
+];
+var kue100V = [
+ 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, 0, 0,
+];
+var kueResidence = [
+ 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, 0, 0,
+];
+var kueBooting = [
+ 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, 0, 0,
+];