"use client"; import React, { useEffect, useState } from "react"; import "tailwindcss/tailwind.css"; import "@fontsource/roboto"; import "bootstrap-icons/font/bootstrap-icons.css"; import DeviceData from "../../components/DeviceData"; function Dashboard() { const [deviceData, setDeviceData] = useState(null); const [digitalInputs, setDigitalInputs] = useState(null); const [cableMonitoring, setCableMonitoring] = useState(null); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); useEffect(() => { // Funktion zum Laden und Ausführen von JavaScript aus einer ACP-Datei const loadACPFile = async (url) => { try { console.log(`Lade ACP-Datei: ${url}`); // Fetch-Anfrage an das Backend mit CORS const response = await fetch(url, { method: "GET", mode: "cors", }); if (!response.ok) { throw new Error(`HTTP error! Status: ${response.status}`); } const result = await response.text(); console.log(`ACP-Datei geladen: ${url}`); // Skript aus dem geladenen Text erstellen und einfügen const scriptTag = document.createElement("script"); scriptTag.text = result; document.body.appendChild(scriptTag); return true; } catch (error) { console.error(`Fehler beim Laden der ACP-Datei (${url}):`, error); return false; } }; // Funktion zum Abrufen der Gerätedaten und anderer Daten const fetchDeviceData = async () => { try { console.log("Beginne mit dem Laden der Gerätedaten..."); // Gerätedaten von System.acp laden const systemDataLoaded = await loadACPFile( "http://localhost:3000/api/server?path=System.acp" ); if (systemDataLoaded) { console.log("Systemdaten geladen:", window.deviceName, window.ip); setDeviceData({ deviceName: window.deviceName || "Unbekannt", ip: window.ip || "Unbekannt", mac1: window.mac1 || "Unbekannt", mac2: window.mac2 || "Unbekannt", subnet: window.subnet || "Unbekannt", gateway: window.gateway || "Unbekannt", datetime: window.datetime || "Unbekannt", }); } // Digitale Eingänge von de.acp laden const digitalInputsLoaded = await loadACPFile( "http://localhost:3000/api/server?path=de.acp" ); if (digitalInputsLoaded) { console.log("Digitale Eingänge geladen:", window.de); setDigitalInputs({ inputs: window.de || [], counters: window.counter || [], flutters: window.flutter || [], }); } // Kabelüberwachungsdaten von kueConfig.acp laden const cableMonitoringLoaded = await loadACPFile( "http://localhost:3000/api/server?path=kueConfig.acp" ); if (cableMonitoringLoaded) { console.log("Kabelüberwachung geladen:", window.c_kue_adr); setCableMonitoring({ cableAddress: window.c_kue_adr || [], status: window.c_kue_status || [], }); } setLoading(false); } catch (error) { console.error("Fehler beim Abrufen der Gerätedaten:", error); setError(error); setLoading(false); } }; fetchDeviceData(); }, []); return (
{/* Letzte Meldungen */}

Letzten 20 Meldungen

{/* Meldungen Liste */}
{/* Beispiel-Daten */} {/* Weitere Zeilen nach Bedarf */}
Zeitstempel Modul Meldung
10.11.23 07:10:12 KUE 04 Isowert 2
{/* Sidebar mit Informationen */}
{/* Versionsinformationen */}

Versionsinformationen

Applikationsversion: 5.1.1.8 C-24-KA

Webserverversion: 5.3.4.1

{/* Beispiel für Geräteanzeige */}

Geräte Status

{/* Hier könntest du die Daten von "deviceData" verwenden */}

Server: Online

Access 1: Online

{/* Weitere Geräteinformationen */}
{/* Footer Informationen */}
IP Address

IP-Adresse

192.168.10.147

subnet mask

Subnet-Maske

255.255.255.0

gateway

Gateway

192.168.10.1

IEC

IEC-Adresse

223

); } export default Dashboard;