.env.local

This commit is contained in:
ISA
2024-09-25 15:22:02 +02:00
parent 57868c30ef
commit f9e1fb133e
2 changed files with 447 additions and 52 deletions

View File

@@ -5,19 +5,19 @@ import "@fontsource/roboto";
import "bootstrap-icons/font/bootstrap-icons.css"; import "bootstrap-icons/font/bootstrap-icons.css";
function Dashboard() { function Dashboard() {
const [last20Messages, setLast20Messages] = useState([]); // State für die Meldungen als Array const apiUrl = process.env.NEXT_PUBLIC_API_BASE_URL;
const [last20Messages, setLast20Messages] = useState([]);
const [loading, setLoading] = useState(true); const [loading, setLoading] = useState(true);
const [error, setError] = useState(null); const [error, setError] = useState(null);
useEffect(() => { useEffect(() => {
// Funktion zum Laden und Einbinden der last20Messages.acp
const loadScript = (src) => { const loadScript = (src) => {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
const script = document.createElement("script"); const script = document.createElement("script");
script.src = src; script.src = `${apiUrl}/CPL?${src}`;
script.async = true; script.async = true;
script.onload = () => { script.onload = () => {
// Prüfe, ob last20Messages im globalen Fensterobjekt existiert // Prüfen, ob last20Messages im globalen Fensterobjekt existiert
if (window.last20Messages) { if (window.last20Messages) {
const parsedMessages = parseMessages(window.last20Messages); const parsedMessages = parseMessages(window.last20Messages);
setLast20Messages(parsedMessages); setLast20Messages(parsedMessages);
@@ -30,7 +30,10 @@ function Dashboard() {
} }
resolve(); resolve();
}; };
script.onerror = reject; script.onerror = (error) => {
console.error("Fehler beim Laden des Skripts:", error);
reject(error);
};
document.head.appendChild(script); document.head.appendChild(script);
}); });
}; };
@@ -38,30 +41,28 @@ function Dashboard() {
// Lade das Skript und aktualisiere den State // Lade das Skript und aktualisiere den State
const fetchLast20Messages = async () => { const fetchLast20Messages = async () => {
try { try {
await loadScript("/CPL?last20Messages.acp"); await loadScript("last20Messages.acp");
} catch (error) { } catch (error) {
console.error( console.error(
"Fehler beim Laden des Skripts last20Messages.acp:", "Fehler beim Laden des Skripts last20Messages.acp:",
error error
); );
setError(error);
setLoading(false);
} }
}; };
fetchLast20Messages(); fetchLast20Messages();
// Funktion zum Parsen der Nachrichten
const parseMessages = (messages) => { const parseMessages = (messages) => {
// Ersetze die HTML-Tags durch Zeilenumbrüche und entferne alle <td> und </td> Tags
messages = messages messages = messages
.replace(/<tr>/g, "\n") .replace(/<tr>/g, "\n")
.replace(/<\/?td>/g, "") .replace(/<\/?td>/g, "")
.replace(/<\/tr>/g, "") .replace(/<\/tr>/g, "")
.trim(); .trim();
// Nachrichten in Zeilen aufteilen
const rows = messages.split("\n"); const rows = messages.split("\n");
return rows.map((row) => { return rows.map((row) => {
// Passe die Längen hier basierend auf der Struktur in deinem Bild an
const columns = [ const columns = [
row.substring(0, 5), // ID row.substring(0, 5), // ID
row.substring(5, 10), // Wert (z.B. Modulnummer) row.substring(5, 10), // Wert (z.B. Modulnummer)
@@ -72,7 +73,7 @@ function Dashboard() {
return columns; return columns;
}); });
}; };
}, []); }, [apiUrl]);
return ( return (
<div className="bg-gray-100 flex flex-col min-h-screen p-8"> <div className="bg-gray-100 flex flex-col min-h-screen p-8">
@@ -81,21 +82,21 @@ function Dashboard() {
<a <a
href="/CPL?SYSTEM.ACP&OFF_1=1" href="/CPL?SYSTEM.ACP&OFF_1=1"
target="_parent" target="_parent"
style={{ fontFamily: "arial", marginRight: "10px" }} className="text-gray-700 mr-4 hover:text-blue-500"
> >
System System
</a> </a>
<a <a
href="/CPL?DE.ACP&OFF_1=1" href="/CPL?DE.ACP&OFF_1=1"
target="_parent" target="_parent"
style={{ fontFamily: "arial", marginRight: "10px" }} className="text-gray-700 mr-4 hover:text-blue-500"
> >
Digitale Eingänge Digitale Eingänge
</a> </a>
<a <a
href="/CPL?KUEconfig.ACP&OFF_1=1" href="/CPL?KUEconfig.ACP&OFF_1=1"
target="_parent" target="_parent"
style={{ fontFamily: "arial", marginRight: "10px" }} className="text-gray-700 hover:text-blue-500"
> >
Kabelüberwachungen Kabelüberwachungen
</a> </a>
@@ -103,43 +104,54 @@ function Dashboard() {
{/* Letzte Meldungen */} {/* Letzte Meldungen */}
<div className="flex justify-between items-center mb-4"> <div className="flex justify-between items-center mb-4">
<h1 className="text-xl font-bold">Letzten 20 Meldungen</h1> <h1 className="text-xl font-bold text-gray-700">
<button className="text-red-500"> Letzten 20 Meldungen
</h1>
<button className="text-red-500 hover:text-red-600">
<i className="bi bi-trash"></i> <i className="bi bi-trash"></i>
</button> </button>
</div> </div>
<div className="flex flex-col lg:flex-row gap-8"> <div className="flex flex-col lg:flex-row gap-8">
{/* Meldungen Liste */} {/* Meldungen Liste */}
<div className="bg-white shadow rounded-lg p-4 w-full lg:w-2/3"> <div className="bg-white shadow-md rounded-lg p-4 w-full lg:w-2/3">
<table className="min-w-full text-left"> <table className="min-w-full border border-gray-200 text-left">
<thead className="bg-gray-200 text-sm font-semibold"> <thead className="bg-gray-100 border-b border-gray-300">
<tr> <tr>
<th className="py-2 px-4">ID</th> <th className="py-3 px-4 text-gray-700 text-sm font-medium">
<th className="py-2 px-4">Wert</th> ID
<th className="py-2 px-4">Zeitstempel</th> </th>
{/* Meldung breiter machen */} <th className="py-3 px-4 text-gray-700 text-sm font-medium">
<th className="py-2 px-4 w-2/3">Meldung</th> Modul
<th className="py-2 px-4">Status</th> </th>
<th className="py-3 px-4 text-gray-700 text-sm font-medium">
Zeitstempel
</th>
<th className="py-3 px-4 text-gray-700 text-sm font-medium w-2/3">
Meldung
</th>
<th className="py-3 px-4 text-gray-700 text-sm font-medium">
Status
</th>
</tr> </tr>
</thead> </thead>
<tbody className="text-sm"> <tbody className="text-sm text-gray-600">
{last20Messages.length > 0 ? ( {last20Messages.length > 0 ? (
// Aufteilung der Nachrichten und Mapping zu Zeilen
last20Messages.map((columns, index) => ( last20Messages.map((columns, index) => (
<tr key={index}> <tr
<td className="py-2 px-4">{columns[0]}</td> key={index}
<td className="py-2 px-4">{columns[1]}</td> className="border-b border-gray-200 hover:bg-gray-50"
<td className="py-2 px-4">{columns[2]}</td> >
{/* Meldung ohne letztes Zeichen anzeigen */} <td className="py-3 px-4">{columns[0]}</td>
<td className="py-2 px-4 w-2/3">{columns[3]}</td> <td className="py-3 px-4">{columns[1]}</td>
{/* Status anzeigen */} <td className="py-3 px-4">{columns[2]}</td>
<td className="py-2 px-4">{columns[4]}</td> <td className="py-3 px-4 w-2/3">{columns[3]}</td>
<td className="py-3 px-4">{columns[4]}</td>
</tr> </tr>
)) ))
) : ( ) : (
<tr> <tr>
<td className="py-2 px-4" colSpan="5"> <td className="py-3 px-4 text-center" colSpan="5">
Keine Meldungen verfügbar. Keine Meldungen verfügbar.
</td> </td>
</tr> </tr>
@@ -149,39 +161,39 @@ function Dashboard() {
</div> </div>
{/* Sidebar mit Informationen */} {/* Sidebar mit Informationen */}
<div className="bg-white shadow rounded-lg p-4 w-full lg:w-1/3 flex flex-col gap-4"> <div className="bg-white shadow-md rounded-lg p-4 w-full lg:w-1/3 flex flex-col gap-4">
{/* Versionsinformationen */} {/* Versionsinformationen */}
<div className="bg-gray-50 p-4 rounded-lg shadow"> <div className="bg-gray-50 p-4 rounded-lg shadow-sm border border-gray-200">
<h2 className="text-lg font-semibold mb-2"> <h2 className="text-lg font-semibold text-gray-700 mb-2">
Versionsinformationen Versionsinformationen
</h2> </h2>
<p className="text-sm"> <p className="text-sm text-gray-600">
<span className="font-bold">Applikationsversion: </span> 5.1.1.8 <span className="font-bold">Applikationsversion: </span> 5.1.1.8
C-24-KA C-24-KA
</p> </p>
<p className="text-sm"> <p className="text-sm text-gray-600">
<span className="font-bold">Webserverversion: </span> 5.3.4.1 <span className="font-bold">Webserverversion: </span> 5.3.4.1
</p> </p>
</div> </div>
{/* Beispiel für Geräteanzeige */} {/* Beispiel für Geräteanzeige */}
<div className="bg-gray-50 p-4 rounded-lg shadow"> <div className="bg-gray-50 p-4 rounded-lg shadow-sm border border-gray-200">
<h2 className="text-lg font-semibold mb-2">Geräte Status</h2> <h2 className="text-lg font-semibold text-gray-700 mb-2">
{/* Hier könntest du die Daten von "deviceData" verwenden */} Geräte Status
<p className="text-sm">Server: Online</p> </h2>
<p className="text-sm">Access 1: Online</p> <p className="text-sm text-gray-600">Server: Online</p>
{/* Weitere Geräteinformationen */} <p className="text-sm text-gray-600">Access 1: Online</p>
</div> </div>
</div> </div>
</div> </div>
{/* Footer Informationen */} {/* Footer Informationen */}
<div className="flex justify-between items-center mt-8 bg-white p-4 rounded-lg shadow"> <div className="flex justify-between items-center mt-8 bg-white p-4 rounded-lg shadow-md border border-gray-200">
<div className="flex items-center space-x-4"> <div className="flex items-center space-x-4">
<img src="/images/IP-icon.svg" alt="IP Address" className="w-6 h-6" /> <img src="/images/IP-icon.svg" alt="IP Address" className="w-6 h-6" />
<div> <div>
<p className="text-xs text-gray-500">IP-Adresse</p> <p className="text-xs text-gray-500">IP-Adresse</p>
<p className="text-sm font-medium">192.168.10.147</p> <p className="text-sm font-medium text-gray-700">192.168.10.147</p>
</div> </div>
</div> </div>
<div className="flex items-center space-x-4"> <div className="flex items-center space-x-4">
@@ -192,21 +204,21 @@ function Dashboard() {
/> />
<div> <div>
<p className="text-xs text-gray-500">Subnet-Maske</p> <p className="text-xs text-gray-500">Subnet-Maske</p>
<p className="text-sm font-medium">255.255.255.0</p> <p className="text-sm font-medium text-gray-700">255.255.255.0</p>
</div> </div>
</div> </div>
<div className="flex items-center space-x-4"> <div className="flex items-center space-x-4">
<img src="/images/gateway.svg" alt="gateway" className="w-6 h-6" /> <img src="/images/gateway.svg" alt="gateway" className="w-6 h-6" />
<div> <div>
<p className="text-xs text-gray-500">Gateway</p> <p className="text-xs text-gray-500">Gateway</p>
<p className="text-sm font-medium">192.168.10.1</p> <p className="text-sm font-medium text-gray-700">192.168.10.1</p>
</div> </div>
</div> </div>
<div className="flex items-center space-x-4"> <div className="flex items-center space-x-4">
<img src="/images/IEC.svg" alt="IEC" className="w-6 h-6" /> <img src="/images/IEC.svg" alt="IEC" className="w-6 h-6" />
<div> <div>
<p className="text-xs text-gray-500">IEC-Adresse</p> <p className="text-xs text-gray-500">IEC-Adresse</p>
<p className="text-sm font-medium">223</p> <p className="text-sm font-medium text-gray-700">223</p>
</div> </div>
</div> </div>
</div> </div>

383
mock.js Normal file
View File

@@ -0,0 +1,383 @@
// Letzten 20 Meldungen
"<%=SAM01%>"; //Platzhaalter Start.acp
var last20Messages = `<tr><td>00985</td><td>02501</td><td>2024-09-18 07:40:39:000</td><td>Modul 16 Isofehler gehend</td><td>0</td></tr><tr><td>00984</td><td>02501</td><td>2024-09-18 07:40:35:000</td><td>Modul 16 Isofehler kommend</td><td>1</td></tr><tr><td>00983</td><td>02400</td><td>2024-09-18 07:39:17:000</td><td>Modul 15 Aderbruch kommend</td><td>1</td></tr><tr><td>00982</td><td>01000</td><td>2024-09-18 07:38:49:000</td><td>Modul 01 Aderbruch kommend</td><td>1</td></tr><tr><td>00981</td><td>00108</td><td>2024-09-18 07:38:44:000</td><td>Dig. Eingang 09 kommend</td><td>1</td></tr><tr><td>00980</td><td>00101</td><td>2024-09-18 07:38:44:000</td><td>Dig. Eingang 02 kommend</td><td>1</td></tr><tr><td>00979</td><td>00100</td><td>2024-09-18 07:38:44:000</td><td>Dig. Eingang 01 kommend</td><td>1</td></tr><tr><td>00978</td><td>02501</td><td>2024-09-17 16:40:55:000</td><td>Modul 16 Isofehler gehend</td><td>0</td></tr><tr><td>00977</td><td>02501</td><td>2024-09-17 16:40:51:000</td><td>Modul 16 Isofehler kommend</td><td>1</td></tr><tr><td>00976</td><td>02501</td><td>2024-09-17 16:25:55:000</td><td>Modul 16 Isofehler gehend</td><td>0</td></tr><tr><td>00975</td><td>02501</td><td>2024-09-17 16:25:51:000</td><td>Modul 16 Isofehler kommend</td><td>1</td></tr><tr><td>00974</td><td>02501</td><td>2024-09-17 16:10:57:000</td><td>Modul 16 Isofehler gehend</td><td>0</td></tr><tr><td>00973</td><td>02501</td><td>2024-09-17 16:10:53:000</td><td>Modul 16 Isofehler kommend</td><td>1</td></tr><tr><td>00972</td><td>00127</td><td>2024-09-17 16:05:51:000</td><td>Dig. Eingang 28 gehend</td><td>0</td></tr><tr><td>00971</td><td>00126</td><td>2024-09-17 16:05:51:000</td><td>Dig. Eingang 27 gehend</td><td>0</td></tr><tr><td>00970</td><td>00125</td><td>2024-09-17 16:05:51:000</td><td>Dig. Eingang 26 gehend</td><td>0</td></tr><tr><td>00969</td><td>00124</td><td>2024-09-17 16:05:51:000</td><td>Dig. Eingang 25 gehend</td><td>0</td></tr><tr><td>00968</td><td>00123</td><td>2024-09-17 16:05:50:000</td><td>Dig. Eingang 24 gehend</td><td>0</td></tr><tr><td>00967</td><td>00122</td><td>2024-09-17 16:05:50:000</td><td>Dig. Eingang 23 gehend</td><td>0</td></tr><tr><td>00966</td><td>00121</td><td>2024-09-17 16:05:50:000</td><td>Dig. Eingang 22 gehend</td><td>0</td></tr>`;
("Stand:&nbsp;25.09.24 11:10:11 Uhr");
("Stand:&nbsp;<%=SCL01%>"); //Platzhaler
// System Platzhalter System.acp
var deviceName="<%=SAN01%>";
var mac1="<%=SEM01%>";
var mac2="<%=SEM02%>";
var ip="<%=SEI01%>";
var subnet="<%=SES01%>";
var gateway="<%=SEG01%>";
var datetime="<%=SCL01%>";
// system Anwort System.acp
var deviceName = "CPLV4_ISM";
var mac1 = "0 48 86 81 46 157";
var mac2 = "0 48 86 81 46 158";
var ip = "10.10.0.118";
var subnet = "255.255.255.0";
var gateway = "10.10.0.1";
var datetime = "09.01.00 04:05:24 Uhr";
//Digitale Eingänge Platzhalter de.acp
var de=[<%=DES80%>,<%=DES81%>,<%=DES82%>,<%=DES83%>];
var counter=[<%=DEC80%>,<%=DEC81%>,<%=DEC82%>,<%=DEC83%>];
var flutter=[<%=DEF80%>,<%=DEF81%>,<%=DEF82%>,<%=DEF83%>];
//Digitale Eingänge Anwort de.acp
var de = [
1, 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 counter = [
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, 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 flutter = [
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,
];
{
/*
<a href="/CPL?SYSTEM.ACP&OFF_1=1 target="_parent" style="font-family:arial">System</a></br>
<a href="/CPL?DE.ACP&OFF_1=1" target="_parent" style="font-family:arial">Digitale Eingänge</a><br>
<a href="/CPL?KUEconfig.ACP&OFF_1=1" target="_parent" style="font-family:arial">Kabelüberwachungen</a>
*/
}
//Kabelüberwachung Konfiguration kueConfig.acp Platzhalter
var kueOnline=[<%=KSO80%>,<%=KSO81%>,<%=KSO82%>,<%=KSO83%>];
var kueID=[<%=KSI80%>,<%=KSI81%>,<%=KSI82%>,<%=KSI83%>];
var kueIso=[<%=KIM80%>,<%=KIM81%>,<%=KIM82%>,<%=KIM83%>];
//Kabelüberwachung Konfiguration kueConfig.acp Antwort
var kueOnline = [
1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
];
var kueID = [
"FTZ324234",
"B23",
"",
"",
"",
"",
"",
"",
"12344",
"",
"",
"",
"",
"",
"",
"H56-77",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
];
var kueName = [
"Nicola",
"Chantal",
"",
"",
"",
"",
"Melanie",
"",
"Merle",
"",
"",
"",
"",
"",
"",
"Daniela",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
];
var kueIso = [
200.0, 200.0, 0.0, 0.0, 0.0, 0.0, 10.0, 0.0, 16.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.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
];
//Kabelüberwachung Detail je Kabel (Einzel und nicht für alle Kabel) für ein Slot (Modul) Platzhalter 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 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%>];
//Kabelüberwachung Detail je Kabel (Einzel und nicht für alle Kabel) für ein Slot (Modul) Anwort kueDetail.acp
var kueOnline = [
1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
];
var kueIso = [
200.0, 200.0, 0.0, 0.0, 0.0, 0.0, 10.0, 0.0, 16.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.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
];
var kueValid = [
1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
];
var kueAlarm1 = [
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 kueAlarm2 = [
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 kueRes = [
0.129, 65.0, 0.0, 0.0, 0.0, 0.0, 2.258, 0.0, 4.782, 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, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0,
];
var kueCableBreak = [
0, 1, 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 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, 0.0, 0.0, 0.0, 0.0, 10.0, 0.0, 10.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.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0,
];
var kueLimit2Low = [
0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.1, 0.0, 0.1, 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, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0,
];
var kueLimit2High = [
1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.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.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0,
];
var kueDelay1 = [
420, 420, 0, 0, 0, 0, 420, 0, 420, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0,
];
var kueLoopInterval = [
6, 6, 0, 0, 0, 0, 6, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
];
var kueID = [
"FTZ324234",
"B23",
"",
"",
"",
"",
"",
"",
"12344",
"",
"",
"",
"",
"",
"",
"H56-77",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
];
var kueName = [
"Nicola",
"Chantal",
"",
"",
"",
"",
"Melanie",
"",
"Merle",
"",
"",
"",
"",
"",
"",
"Daniela",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
];
var kueVersion = [
419, 419, 0, 0, 0, 0, 419, 0, 419, 0, 0, 0, 0, 0, 0, 1100, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
];
var tdrAtten = [
2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 2.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.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0,
];
var tdrPulse = [
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 tdrSpeed = [
120, 100, 0, 0, 0, 0, 100, 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0,
];
var tdrAmp = [
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 tdrTrigger = [
80, 80, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0,
];
var tdrLocation = [
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 tdrActive = [
1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
];
var kueOverflow = [
1, 1, 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 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 tdrLastMeasurement = [
"?",
"?",
"?",
"?",
"?",
"?",
"?",
"?",
"?",
"?",
"?",
"?",
"?",
"?",
"?",
"?",
"?",
"?",
"?",
"?",
"?",
"?",
"?",
"?",
"?",
"?",
"?",
"?",
"?",
"?",
"?",
"?",
];
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,
];