diff --git a/components/Header.jsx b/components/Header.jsx index f26ef45..e74855e 100644 --- a/components/Header.jsx +++ b/components/Header.jsx @@ -10,8 +10,6 @@ function Header() { const [stationsname, setStationsname] = useState("Lädt..."); const [cplStatus, setCplStatus] = useState("Lädt..."); const [showSettingsModal, setShowSettingsModal] = useState(false); - - // Boolean-Flag, um sicherzustellen, dass der console.log nur einmal ausgeführt wird const [logOnce, setLogOnce] = useState(false); useEffect(() => { @@ -30,110 +28,49 @@ function Header() { window.location.href = "/offline.html"; }; - useEffect(() => { - if (typeof window !== "undefined") { - console.log("Lade Window-Variablen..."); - - loadWindowVariables() - .then(() => { - if (window.ip) { - setStationsname(window.deviceName || "Unbekannt"); - setCplStatus(window.hardware_version || "Unbekannt"); - } else { - console.error("window.ip ist nicht verfügbar."); - } - }) - .catch((error) => { - console.error("Fehler beim Laden der Variablen:", error); - }); - } - }, [isClient]); - useEffect(() => { if (isClient && !logOnce) { - const files = [ - "de.js", - "kueConfig.js", - "kueData.js", - "kueDetailTdr.js", - "Start.js", - "System.js", - ]; - const environment = process.env.NEXT_PUBLIC_NODE_ENV || "production"; + const script = document.createElement("script"); - let filesLoadedCount = 0; // Zähle die Anzahl der erfolgreich geladenen Dateien + // Laden von nur System.js abhängig von der Umgebung + script.src = + environment === "production" + ? `/CPL?/CPL/SERVICE/System.js` + : `/mockData/SERVICE/System.js`; - files.forEach((file) => { - const script = document.createElement("script"); + script.async = true; + script.onload = () => { + console.log(`System.js wurde erfolgreich geladen.`); - if (environment === "production") { - script.src = `/CPL?/CPL/SERVICE/${file}`; + // Systemvariablen überprüfen und zuweisen + if (window.deviceName) { + setStationsname(window.deviceName || "Unbekannt"); + setCplStatus(window.hardware_version || "Unbekannt"); } else { - script.src = `/mockData/SERVICE/${file}`; + console.error("Systemvariablen sind nicht vollständig verfügbar."); } - script.async = true; - script.onload = () => { - console.log(`${file} wurde erfolgreich geladen.`); - filesLoadedCount++; + console.log(" Header Systemvariablen geladen:", { + deviceName: window.deviceName, + ip: window.ip, + mac1: window.mac1, + mac2: window.mac2, + subnet: window.subnet, + gateway: window.gateway, + datetime: window.datetime, + }); - // Wenn alle Dateien geladen sind und der logOnce noch false ist, führe den log aus - if (filesLoadedCount === files.length && !logOnce) { - console.log("Systemvariablen geladen:", { - last20Messages: window.last20Messages, - deviceName: window.deviceName, - mac1: window.mac1, - mac2: window.mac2, - ip: window.ip, - subnet: window.subnet, - gateway: window.gateway, - datetime: window.datetime, - de: window.de, - counter: window.counter, - flutter: window.flutter, - kueOnline: window.kueOnline, - kueID: window.kueID, - kueValid: window.kueValid, - kueAlarm1: window.kueAlarm1, - kueAlarm2: window.kueAlarm2, - kueRes: window.kueRes, - kueCableBreak: window.kueCableBreak, - kueGroundFault: window.kueGroundFault, - kueLimit1: window.kueLimit1, - kueLimit2Low: window.kueLimit2Low, - kueLimit2High: window.kueLimit2High, - kueDelay1: window.kueDelay1, - kueLoopInterval: window.kueLoopInterval, - kueVersion: window.kueVersion, - tdrAtten: window.tdrAtten, - tdrPulse: window.tdrPulse, - tdrSpeed: window.tdrSpeed, - tdrAmp: window.tdrAmp, - tdrTrigger: window.tdrTrigger, - tdrLocation: window.tdrLocation, - tdrActive: window.tdrActive, - kueOverflow: window.kueOverflow, - kue100V: window.kue100V, - kueResidence: window.kueResidence, - tdrLastMeasurement: window.tdrLastMeasurement, - kueBooting: window.kueBooting, - appVersion: window.appVersion, - }); - setLogOnce(true); // Setze das Flag auf true, damit der log nicht erneut ausgeführt wird - } - }; - script.onerror = (error) => - console.error(`Fehler beim Laden von ${file}:`, error); - document.head.appendChild(script); - }); + setLogOnce(true); + }; + + script.onerror = (error) => + console.error("Fehler beim Laden von System.js:", error); + + document.head.appendChild(script); } }, [isClient, logOnce]); - useEffect(() => { - console.log("Environment:", process.env.NEXT_PUBLIC_NODE_ENV); - }, []); - if (!isClient) return null; return ( diff --git a/last20Messages.acp b/last20Messages.acp deleted file mode 100644 index 3c8f960..0000000 --- a/last20Messages.acp +++ /dev/null @@ -1,58 +0,0 @@ -// Letzte 20 Meldungen für dashboard.html Start.acp -var last20Messages = `<%=SAM01%>`; - -//System.acp -var appVersion="<%=SAV00%>"; -var deviceName="<%=SAN01%>"; -var mac1="<%=SEM01%>"; -var mac2="<%=SEM02%>"; -var ip="<%=SEI01%>"; -var subnet="<%=SES01%>"; -var gateway="<%=SEG01%>"; -var datetime="<%=SCL01%>"; - -//de.acp -var de=[<%=DES80%>,<%=DES81%>,<%=DES82%>,<%=DES83%>]; -var counter=[<%=DEC80%>,<%=DEC81%>,<%=DEC82%>,<%=DEC83%>]; -var flutter=[<%=DEF80%>,<%=DEF81%>,<%=DEF82%>,<%=DEF83%>]; - -//kueConfig.acp -var kueOnline=[<%=KSO80%>,<%=KSO81%>,<%=KSO82%>,<%=KSO83%>]; -var kueID=[<%=KSI80%>,<%=KSI81%>,<%=KSI82%>,<%=KSI83%>]; -var kueIso=[<%=KIM80%>,<%=KIM81%>,<%=KIM82%>,<%=KIM83%>]; - -//kueDetail.acp -var kueOnline=[<%=KSO80%>,<%=KSO81%>,<%=KSO82%>,<%=KSO83%>]; -var kueIso=[<%=KIM80%>,<%=KIM81%>,<%=KIM82%>,<%=KIM83%>]; -var kueValid=[<%=KIV80%>,<%=KIV81%>,<%=KIV82%>,<%=KIV83%>]; -var kueAlarm1=[<%=KIA80%>,<%=KIA81%>,<%=KIA82%>,<%=KIA83%>]; -var kueAlarm2=[<%=KRA80%>,<%=KRA81%>,<%=KRA82%>,<%=KRA83%>]; - -var kueRes=[<%=KRM80%>,<%=KRM81%>,<%=KRM82%>,<%=KRM83%>]; - -var kueCableBreak=[<%=KSC80%>,<%=KSC81%>,<%=KSC82%>,<%=KSC83%>]; -var kueGroundFault=[<%=KSG80%>,<%=KSG81%>,<%=KSG82%>,<%=KSG83%>]; - -var kueLimit1=[<%=KIG80%>,<%=KIG81%>,<%=KIG82%>,<%=KIG83%>]; -var kueLimit2Low=[<%=KRG80%>,<%=KRG81%>,<%=KRG82%>,<%=KRG83%>]; -var kueLimit2High=[<%=KRH80%>,<%=KRH81%>,<%=KRH82%>,<%=KRH83%>]; -var kueDelay1=[<%=KID80%>,<%=KID81%>,<%=KID82%>,<%=KID83%>]; -var kueLoopInterval=[<%=KRI80%>,<%=KRI81%>,<%=KRI82%>,<%=KRI83%>]; - -var kueID=[<%=KSI80%>,<%=KSI81%>,<%=KSI82%>,<%=KSI83%>]; -var kueVersion=[<%=KSV80%>,<%=KSV81%>,<%=KSV82%>,<%=KSV83%>]; -var kueName=[<%=KSA80%>,<%=KSA81%>,<%=KSA82%>,<%=KSA83%>]; - - -var tdrAtten=[<%=KTD80%>,<%=KTD81%>,<%=KTD82%>,<%=KTD83%>]; -var tdrPulse=[<%=KTP80%>,<%=KTP81%>,<%=KTP82%>,<%=KTP83%>]; -var tdrSpeed=[<%=KTS80%>,<%=KTS81%>,<%=KTS82%>,<%=KTS83%>]; -var tdrAmp=[<%=KTA80%>,<%=KTA81%>,<%=KTA82%>,<%=KTA83%>]; -var tdrTrigger=[<%=KTE80%>,<%=KTE81%>,<%=KTE82%>,<%=KTE83%>]; -var tdrLocation=[<%=KTF80%>,<%=KTF81%>,<%=KTF82%>,<%=KTF83%>]; -var tdrActive=[<%=KTX80%>,<%=KTX81%>,<%=KTX82%>,<%=KTX83%>]; -var kueOverflow=[<%=KIW80%>,<%=KIW81%>,<%=KIW82%>,<%=KIW83%>]; -var kue100V=[<%=KSS80%>,<%=KSS81%>,<%=KSS82%>,<%=KSS83%>]; -var kueResidence=[<%=KSN80%>,<%=KSN81%>,<%=KSN82%>,<%=KSN83%>]; -var tdrLastMeasurement=[<%=KTL80%>,<%=KTL81%>,<%=KTL82%>,<%=KTL83%>]; -var kueBooting=[<%=KSB80%>,<%=KSB81%>,<%=KSB82%>,<%=KSB83%>]; \ No newline at end of file diff --git a/pages/dashboard.js b/pages/dashboard.js index 704cce2..1de6016 100644 --- a/pages/dashboard.js +++ b/pages/dashboard.js @@ -123,33 +123,47 @@ function Dashboard() { }); }, []); useEffect(() => { + // Funktion zur Wiederholten Überprüfung der Variablen + const checkVariablesLoaded = () => { + return new Promise((resolve, reject) => { + const intervalId = setInterval(() => { + if ( + window.kueAlarm1 && + Array.isArray(window.kueAlarm1) && + window.kueAlarm2 && + Array.isArray(window.kueAlarm2) + ) { + clearInterval(intervalId); + resolve(); + } else { + console.log("Warten auf die Variablen kueAlarm1 und kueAlarm2..."); + } + }, 500); // Überprüfung alle 500ms + + // Timeout, falls die Variablen nach einer bestimmten Zeit nicht geladen sind + setTimeout(() => { + clearInterval(intervalId); + reject( + new Error( + "Die Variablen kueAlarm1 und kueAlarm2 wurden nicht innerhalb der erwarteten Zeit geladen." + ) + ); + }, 10000); // Timeout nach 10 Sekunden + }); + }; + loadWindowVariables() + .then(() => checkVariablesLoaded()) .then(() => { - // Debug-Ausgaben für kueAlarm1 und kueAlarm2 - //console.log("kueAlarm1 Data: ", window.kueAlarm1); - //console.log("kueAlarm2 Data: ", window.kueAlarm2); - - if (window.kueAlarm1 && Array.isArray(window.kueAlarm1)) { - //console.log("kueAlarm1 ist ein Array:", window.kueAlarm1); - } else { - console.error("kueAlarm1 ist kein Array oder nicht definiert."); - setError( - "Konnte kueAlarm1 nicht finden oder es ist kein gültiges Array." - ); - } - - if (window.kueAlarm2 && Array.isArray(window.kueAlarm2)) { - //console.log("kueAlarm2 ist ein Array:", window.kueAlarm2); - } else { - console.error("kueAlarm2 ist kein Array oder nicht definiert."); - setError( - "Konnte kueAlarm2 nicht finden oder es ist kein gültiges Array." - ); - } + // Variablen sind jetzt verfügbar + console.log("kueAlarm1 und kueAlarm2 sind geladen:", { + kueAlarm1: window.kueAlarm1, + kueAlarm2: window.kueAlarm2, + }); }) .catch((error) => { - console.error("Fehler beim Laden des Skripts:", error); - setError(error); + console.error("Fehler beim Laden der Variablen oder Timeout:", error); + setError("Konnte die Variablen nicht laden: " + error.message); }); }, []); diff --git a/pages/kabelueberwachung.js b/pages/kabelueberwachung.js index efac1cc..f1bc4ef 100644 --- a/pages/kabelueberwachung.js +++ b/pages/kabelueberwachung.js @@ -40,7 +40,7 @@ function Kabelueberwachung() { } }) .catch((error) => { - console.error("Fehler beim Laden der Variablen:", error); + //console.error("Fehler beim Laden der Variablen:", error); }); }, []); diff --git a/public/CPL/SERVICE/last20Messages.acp b/public/CPL/SERVICE/last20Messages.acp deleted file mode 100644 index 3c8f960..0000000 --- a/public/CPL/SERVICE/last20Messages.acp +++ /dev/null @@ -1,58 +0,0 @@ -// Letzte 20 Meldungen für dashboard.html Start.acp -var last20Messages = `<%=SAM01%>`; - -//System.acp -var appVersion="<%=SAV00%>"; -var deviceName="<%=SAN01%>"; -var mac1="<%=SEM01%>"; -var mac2="<%=SEM02%>"; -var ip="<%=SEI01%>"; -var subnet="<%=SES01%>"; -var gateway="<%=SEG01%>"; -var datetime="<%=SCL01%>"; - -//de.acp -var de=[<%=DES80%>,<%=DES81%>,<%=DES82%>,<%=DES83%>]; -var counter=[<%=DEC80%>,<%=DEC81%>,<%=DEC82%>,<%=DEC83%>]; -var flutter=[<%=DEF80%>,<%=DEF81%>,<%=DEF82%>,<%=DEF83%>]; - -//kueConfig.acp -var kueOnline=[<%=KSO80%>,<%=KSO81%>,<%=KSO82%>,<%=KSO83%>]; -var kueID=[<%=KSI80%>,<%=KSI81%>,<%=KSI82%>,<%=KSI83%>]; -var kueIso=[<%=KIM80%>,<%=KIM81%>,<%=KIM82%>,<%=KIM83%>]; - -//kueDetail.acp -var kueOnline=[<%=KSO80%>,<%=KSO81%>,<%=KSO82%>,<%=KSO83%>]; -var kueIso=[<%=KIM80%>,<%=KIM81%>,<%=KIM82%>,<%=KIM83%>]; -var kueValid=[<%=KIV80%>,<%=KIV81%>,<%=KIV82%>,<%=KIV83%>]; -var kueAlarm1=[<%=KIA80%>,<%=KIA81%>,<%=KIA82%>,<%=KIA83%>]; -var kueAlarm2=[<%=KRA80%>,<%=KRA81%>,<%=KRA82%>,<%=KRA83%>]; - -var kueRes=[<%=KRM80%>,<%=KRM81%>,<%=KRM82%>,<%=KRM83%>]; - -var kueCableBreak=[<%=KSC80%>,<%=KSC81%>,<%=KSC82%>,<%=KSC83%>]; -var kueGroundFault=[<%=KSG80%>,<%=KSG81%>,<%=KSG82%>,<%=KSG83%>]; - -var kueLimit1=[<%=KIG80%>,<%=KIG81%>,<%=KIG82%>,<%=KIG83%>]; -var kueLimit2Low=[<%=KRG80%>,<%=KRG81%>,<%=KRG82%>,<%=KRG83%>]; -var kueLimit2High=[<%=KRH80%>,<%=KRH81%>,<%=KRH82%>,<%=KRH83%>]; -var kueDelay1=[<%=KID80%>,<%=KID81%>,<%=KID82%>,<%=KID83%>]; -var kueLoopInterval=[<%=KRI80%>,<%=KRI81%>,<%=KRI82%>,<%=KRI83%>]; - -var kueID=[<%=KSI80%>,<%=KSI81%>,<%=KSI82%>,<%=KSI83%>]; -var kueVersion=[<%=KSV80%>,<%=KSV81%>,<%=KSV82%>,<%=KSV83%>]; -var kueName=[<%=KSA80%>,<%=KSA81%>,<%=KSA82%>,<%=KSA83%>]; - - -var tdrAtten=[<%=KTD80%>,<%=KTD81%>,<%=KTD82%>,<%=KTD83%>]; -var tdrPulse=[<%=KTP80%>,<%=KTP81%>,<%=KTP82%>,<%=KTP83%>]; -var tdrSpeed=[<%=KTS80%>,<%=KTS81%>,<%=KTS82%>,<%=KTS83%>]; -var tdrAmp=[<%=KTA80%>,<%=KTA81%>,<%=KTA82%>,<%=KTA83%>]; -var tdrTrigger=[<%=KTE80%>,<%=KTE81%>,<%=KTE82%>,<%=KTE83%>]; -var tdrLocation=[<%=KTF80%>,<%=KTF81%>,<%=KTF82%>,<%=KTF83%>]; -var tdrActive=[<%=KTX80%>,<%=KTX81%>,<%=KTX82%>,<%=KTX83%>]; -var kueOverflow=[<%=KIW80%>,<%=KIW81%>,<%=KIW82%>,<%=KIW83%>]; -var kue100V=[<%=KSS80%>,<%=KSS81%>,<%=KSS82%>,<%=KSS83%>]; -var kueResidence=[<%=KSN80%>,<%=KSN81%>,<%=KSN82%>,<%=KSN83%>]; -var tdrLastMeasurement=[<%=KTL80%>,<%=KTL81%>,<%=KTL82%>,<%=KTL83%>]; -var kueBooting=[<%=KSB80%>,<%=KSB81%>,<%=KSB82%>,<%=KSB83%>]; \ No newline at end of file diff --git a/public/mockData/SERVICE/System.js b/public/mockData/SERVICE/System.js index a133129..1a38833 100644 --- a/public/mockData/SERVICE/System.js +++ b/public/mockData/SERVICE/System.js @@ -1,16 +1,17 @@ -var appVersion="0.02"; -var deviceName="CPLV4_Maschen"; -var mac1="0 48 86 81 46 143"; -var mac2="0 48 86 81 46 144"; -var ip="10.10.0.243"; -var subnet="255.255.255.0"; -var gateway="10.10.0.1"; -var datetime="23.10.24 15:10:28 Uhr"; -var opcState="1"; -var opcSessions="0"; -var opcName="CPL V4 OPC UA Application Deutsche Bahne']'])"; -var ntp1="192.53.103.108"; -var ntp2="0.0.0.0"; -var ntp3="0.0.0.0"; -var ntpTimezone="2"; -var ntpActive="1"; \ No newline at end of file +var appVersion = "0.02"; +var deviceName = "CPLV4_Maschen"; +var mac1 = "0 48 86 81 46 143"; +var mac2 = "0 48 86 81 46 144"; +var ip = "10.10.0.243"; +var subnet = "255.255.255.0"; +var gateway = "10.10.0.1"; +var datetime = "23.10.24 15:10:28 Uhr"; +var opcState = "1"; +var opcSessions = "0"; +//var opcName="CPL V4 OPC UA Application Deutsche Bahne']'])"; +var opcName = "CPL V4 OPC UA Application Deutsche Bahne"; +var ntp1 = "192.53.103.108"; +var ntp2 = "0.0.0.0"; +var ntp3 = "0.0.0.0"; +var ntpTimezone = "2"; +var ntpActive = "1"; diff --git a/public/mockData/SERVICE/last20Messages.acp b/public/mockData/SERVICE/last20Messages.acp deleted file mode 100644 index d89d4fa..0000000 --- a/public/mockData/SERVICE/last20Messages.acp +++ /dev/null @@ -1,58 +0,0 @@ -// Letzte 20 Meldungen für dashboard.html Start.acp -var last20Messages = `