last20messages aktualisieren mit setInterval

This commit is contained in:
ISA
2024-10-26 21:20:49 +02:00
parent 7fb289abf3
commit 07bd6267ea
4 changed files with 87 additions and 27 deletions

View File

@@ -26,7 +26,7 @@ function Dashboard() {
const [kueCableBreak, setKueCableBreak] = useState([]);
const [appVersion, setAppVersion] = useState("");
useEffect(() => {
/* useEffect(() => {
if (typeof window !== "undefined") {
loadWindowVariables()
.then(() => {
@@ -49,8 +49,8 @@ function Dashboard() {
setLoading(false);
});
}
}, []);
useEffect(() => {
}, []); */
/* useEffect(() => {
loadWindowVariables()
.then(() => {
if (window.kueCableBreak && Array.isArray(window.kueCableBreak)) {
@@ -76,7 +76,7 @@ function Dashboard() {
setError(error);
setLoading(false);
});
}, []);
}, []); */
const parseMessages = (messages) => {
messages = messages
@@ -97,7 +97,7 @@ function Dashboard() {
return columns;
});
};
useEffect(() => {
/* useEffect(() => {
loadWindowVariables()
.then(() => {
// console.log("kueOnline Data: ", window.kueOnline); // Debug: Ausgabe von kueOnline
@@ -121,7 +121,7 @@ function Dashboard() {
setError(error);
setLoading(false);
});
}, []);
}, []); */
useEffect(() => {
// Funktion zur Wiederholten Überprüfung der Variablen
const checkVariablesLoaded = () => {
@@ -156,17 +156,52 @@ function Dashboard() {
.then(() => checkVariablesLoaded())
.then(() => {
// Variablen sind jetzt verfügbar
console.log("kueAlarm1 und kueAlarm2 sind geladen:", {
/* console.log("kueAlarm1 und kueAlarm2 sind geladen:", {
kueAlarm1: window.kueAlarm1,
kueAlarm2: window.kueAlarm2,
});
}); */
})
.catch((error) => {
console.error("Fehler beim Laden der Variablen oder Timeout:", error);
setError("Konnte die Variablen nicht laden: " + error.message);
});
}, []);
useEffect(() => {
if (typeof window !== "undefined") {
const updateData = () => {
loadWindowVariables()
.then(() => {
//console.log("Updating last20Messages:", window.last20Messages);
setLast20Messages(parseMessages(window.last20Messages || ""));
setIp(window.ip || "");
setSubnet(window.subnet || "");
setGateway(window.gateway || "");
setAppVersion(window.appVersion || "");
const cableBreakArray = Array.isArray(window.kueCableBreak)
? window.kueCableBreak.map(Number)
: (window.kueCableBreak || "").split(",").map(Number);
setKueCableBreak(cableBreakArray);
const onlineArray = Array.isArray(window.kueOnline)
? window.kueOnline.map(Number)
: [];
setkueOnline(onlineArray);
setLoading(false);
})
.catch((error) => {
console.error("Error loading script:", error);
setError(error);
setLoading(false);
});
};
updateData();
const intervalId = setInterval(updateData, 5000);
return () => clearInterval(intervalId);
}
}, []);
const handleModuleClick = (rackNumber) => {
// Navigiere zu /kabelueberwachung und übermittle den rackNumber als Parameter
router.push(`/kabelueberwachung?rack=${rackNumber}`);

View File

@@ -56,7 +56,7 @@ function Kabelueberwachung() {
(window.kueGroundFault && window.kueGroundFault[index])
);
});
console.log("Aktualisierter alarmStatus:", updatedAlarmStatus);
// console.log("Aktualisierter alarmStatus:", updatedAlarmStatus);
setAlarmStatus(updatedAlarmStatus); // State für Alarmstatus aktualisieren
};
@@ -159,7 +159,7 @@ function Kabelueberwachung() {
(window.kueGroundFault && window.kueGroundFault[index])
);
});
console.log("Aktualisierter alarmStatus:", updatedAlarmStatus);
// console.log("Aktualisierter alarmStatus:", updatedAlarmStatus);
setAlarmStatus(updatedAlarmStatus); // Setze den aktualisierten Alarmstatus
};

View File

@@ -1 +1,22 @@
var last20Messages="<tr><td>16750</td><td>03501</td><td>2024-10-23 15:08:58:000</td><td>Modul 26 Isofehler kommend</td><td>1</td></tr><tr><td>16749</td><td>03201</td><td>2024-10-23 15:07:24:000</td><td>Modul 23 Isofehler gehend</td><td>0</td></tr><tr><td>16748</td><td>03501</td><td>2024-10-23 15:01:52:000</td><td>Modul 26 Isofehler gehend</td><td>0</td></tr><tr><td>16747</td><td>02801</td><td>2024-10-23 15:01:30:000</td><td>Modul 19 Isofehler kommend</td><td>1</td></tr><tr><td>16746</td><td>03501</td><td>2024-10-23 14:57:33:000</td><td>Modul 26 Isofehler kommend</td><td>1</td></tr><tr><td>16745</td><td>03201</td><td>2024-10-23 14:56:54:000</td><td>Modul 23 Isofehler kommend</td><td>1</td></tr><tr><td>16744</td><td>02801</td><td>2024-10-23 14:51:01:000</td><td>Modul 19 Isofehler gehend</td><td>0</td></tr><tr><td>16743</td><td>03501</td><td>2024-10-23 14:50:46:000</td><td>Modul 26 Isofehler gehend</td><td>0</td></tr><tr><td>16742</td><td>03201</td><td>2024-10-23 14:49:49:000</td><td>Modul 23 Isofehler gehend</td><td>0</td></tr><tr><td>16741</td><td>03501</td><td>2024-10-23 14:49:13:000</td><td>Modul 26 Isofehler kommend</td><td>1</td></tr><tr><td>16740</td><td>02801</td><td>2024-10-23 14:45:28:000</td><td>Modul 19 Isofehler kommend</td><td>1</td></tr><tr><td>16739</td><td>03201</td><td>2024-10-23 14:44:16:000</td><td>Modul 23 Isofehler kommend</td><td>1</td></tr><tr><td>16738</td><td>03501</td><td>2024-10-23 14:42:08:000</td><td>Modul 26 Isofehler gehend</td><td>0</td></tr><tr><td>16737</td><td>03201</td><td>2024-10-23 14:37:10:000</td><td>Modul 23 Isofehler gehend</td><td>0</td></tr><tr><td>16736</td><td>03501</td><td>2024-10-23 14:35:20:000</td><td>Modul 26 Isofehler kommend</td><td>1</td></tr><tr><td>16735</td><td>01201</td><td>2024-10-23 14:31:44:000</td><td>Modul 03 Isofehler kommend</td><td>1</td></tr><tr><td>16734</td><td>01701</td><td>2024-10-23 14:30:14:000</td><td>Modul 08 Isofehler kommend</td><td>1</td></tr><tr><td>16733</td><td>03501</td><td>2024-10-23 14:28:15:000</td><td>Modul 26 Isofehler gehend</td><td>0</td></tr><tr><td>16732</td><td>03301</td><td>2024-10-23 14:26:23:000</td><td>Modul 24 Isofehler kommend</td><td>1</td></tr><tr><td>16731</td><td>01201</td><td>2024-10-23 14:24:58:000</td><td>Modul 03 Isofehler gehend</td><td>0</td></tr>";
var last20Messages = `
<tr><td>16750</td><td>03501</td><td>2024-10-23 15:08:58:000</td><td>Modul 26 Isofehler kommend</td><td>1</td></tr>
<tr><td>16749</td><td>03201</td><td>2024-10-23 15:07:24:000</td><td>Modul 23 Isofehler gehend</td><td>0</td></tr>
<tr><td>16748</td><td>03501</td><td>2024-10-23 15:01:52:000</td><td>Modul 26 Isofehler gehend</td><td>0</td></tr>
<tr><td>16747</td><td>02801</td><td>2024-10-23 15:01:30:000</td><td>Modul 19 Isofehler kommend</td><td>1</td></tr>
<tr><td>16746</td><td>03501</td><td>2024-10-23 14:57:33:000</td><td>Modul 26 Isofehler kommend</td><td>1</td></tr>
<tr><td>16745</td><td>03201</td><td>2024-10-23 14:56:54:000</td><td>Modul 23 Isofehler kommend</td><td>1</td></tr>
<tr><td>16744</td><td>02801</td><td>2024-10-23 14:51:01:000</td><td>Modul 19 Isofehler gehend</td><td>0</td></tr>
<tr><td>16743</td><td>03501</td><td>2024-10-23 14:50:46:000</td><td>Modul 26 Isofehler gehend</td><td>0</td></tr>
<tr><td>16742</td><td>03201</td><td>2024-10-23 14:49:49:000</td><td>Modul 23 Isofehler gehend</td><td>0</td></tr>
<tr><td>16741</td><td>03501</td><td>2024-10-23 14:49:13:000</td><td>Modul 26 Isofehler kommend</td><td>1</td></tr>
<tr><td>16740</td><td>02801</td><td>2024-10-23 14:45:28:000</td><td>Modul 19 Isofehler kommend</td><td>1</td></tr>
<tr><td>16739</td><td>03201</td><td>2024-10-23 14:44:16:000</td><td>Modul 23 Isofehler kommend</td><td>1</td></tr>
<tr><td>16738</td><td>03501</td><td>2024-10-23 14:42:08:000</td><td>Modul 26 Isofehler gehend</td><td>0</td></tr>
<tr><td>16737</td><td>03201</td><td>2024-10-23 14:37:10:000</td><td>Modul 23 Isofehler gehend</td><td>0</td></tr>
<tr><td>16736</td><td>03501</td><td>2024-10-23 14:35:20:000</td><td>Modul 26 Isofehler kommend</td><td>1</td></tr>
<tr><td>16735</td><td>01201</td><td>2024-10-23 14:31:44:000</td><td>Modul 03 Isofehler kommend</td><td>1</td></tr>
<tr><td>16734</td><td>01701</td><td>2024-10-23 14:30:14:000</td><td>Modul 08 Isofehler kommend</td><td>1</td></tr>
<tr><td>16733</td><td>03501</td><td>2024-10-23 14:28:15:000</td><td>Modul 26 Isofehler gehend</td><td>0</td></tr>
<tr><td>16732</td><td>03301</td><td>2024-10-23 14:26:23:000</td><td>Modul 24 Isofehler kommend</td><td>1</td></tr>
<tr><td>16731</td><td>01201</td><td>2024-10-23 14:24:58:000</td><td>Modul 03 Isofehler gehend</td><td>0</td></tr>
`;

View File

@@ -2,7 +2,8 @@
export async function loadWindowVariables() {
return new Promise((resolve, reject) => {
// Überprüfen, ob die wichtigsten Variablen bereits geladen sind
//console.log("Running loadWindowVariables..."); // Log each run
const requiredVars = [
"last20Messages",
"deviceName",
@@ -44,17 +45,6 @@ export async function loadWindowVariables() {
"appVersion",
];
const missingVars = requiredVars.filter(
(variable) => window[variable] === undefined
);
// Wenn alle Variablen bereits vorhanden sind, auflösen und keine weiteren Skripte laden
if (missingVars.length === 0) {
console.log("Alle Systemvariablen sind bereits geladen.");
resolve();
return;
}
const loadScript = (src) => {
return new Promise((resolve, reject) => {
const script = document.createElement("script");
@@ -70,7 +60,6 @@ export async function loadWindowVariables() {
});
};
// Nur die fehlenden Skripte laden
const scripts = [
"de.js",
"kueConfig.js",
@@ -80,13 +69,28 @@ export async function loadWindowVariables() {
"System.js",
];
// Load all required scripts
Promise.all(scripts.map(loadScript))
.then(() => {
console.log("Alle Systemvariablen wurden erfolgreich geladen.");
resolve();
// console.log("Scripts loaded. Checking for variables...");
// Interval to check if all required variables are loaded
const checkInterval = setInterval(() => {
const missingVars = requiredVars.filter(
(variable) => window[variable] === undefined
);
if (missingVars.length === 0) {
//console.log("All system variables are now loaded.");
clearInterval(checkInterval);
resolve();
} else {
console.log("Waiting for missing variables:", missingVars);
}
}, 5000); // Check every 5 seconds
})
.catch((error) => {
console.error("Fehler beim Laden eines Skripts:", error);
console.error("Error loading a script:", error);
reject(error);
});
});