"use client"; // app/dashboard/page.jsx import React, { useEffect, useState } from "react"; import "tailwindcss/tailwind.css"; import "@fontsource/roboto"; import "bootstrap-icons/font/bootstrap-icons.css"; function Dashboard() { const apiUrl = process.env.NEXT_PUBLIC_API_BASE_URL; const [last20Messages, setLast20Messages] = useState([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); useEffect(() => { // Funktion zum Laden von Skripten const loadScript = (src) => { return new Promise((resolve, reject) => { const script = document.createElement("script"); script.src = `${apiUrl}/CPL?${src}`; script.async = true; script.onload = () => { resolve(); }; script.onerror = (error) => { reject(error); }; document.head.appendChild(script); }); }; // Lade alle Skripte nacheinander und zeige die Daten an const loadAllScripts = async () => { try { // Lade nur das `last20Messages.acp` Skript, das alle Variablen enthält await loadScript("last20Messages.acp"); // Warte eine kurze Zeit, um sicherzustellen, dass alle Daten verfügbar sind setTimeout(() => { // Prüfen, ob alle Variablen verfügbar sind und in die Konsole ausgeben if (window.last20Messages) { console.log("Systemvariablen geladen:", { // last20Messages.acp last20Messages: window.last20Messages, // System.acp Variablen deviceName: window.deviceName, mac1: window.mac1, mac2: window.mac2, ip: window.ip, subnet: window.subnet, gateway: window.gateway, datetime: window.datetime, // de.acp Variablen de: window.de, counter: window.counter, flutter: window.flutter, // kueConfig.acp Variablen kueOnline: window.kueOnline, kueID: window.kueID, kueIso: window.kueIso, // kuedetail.acp Variablen 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, }); // Letzte Meldungen analysieren und in den State setzen const parsedMessages = parseMessages(window.last20Messages); setLast20Messages(parsedMessages); } else { console.error("Konnte last20Messages nicht finden."); setError("Konnte last20Messages nicht finden."); } setLoading(false); }, 500); // 500 ms Verzögerung, um sicherzustellen, dass alle Daten geladen sind } catch (error) { console.error("Fehler beim Laden des Skripts:", error); setError(error); setLoading(false); } }; loadAllScripts(); // Nachrichten parsen const parseMessages = (messages) => { messages = messages .replace(/
| ID | Modul | Zeitstempel | Meldung | Status |
|---|---|---|---|---|
| {columns[0]} | {columns[1]} | {columns[2]} | {columns[3]} | {columns[4]} |
| Keine Meldungen verfügbar. | ||||
Applikationsversion: 5.1.1.8 C-24-KA
Webserverversion: 5.3.4.1
Server: Online
Access 1: Online
IP-Adresse
192.168.10.147
Subnet-Maske
255.255.255.0
Gateway
192.168.10.1
IEC-Adresse
223