Files
CPLv4.0/services/fetchKueDataService.ts

89 lines
2.9 KiB
TypeScript

// ✅ Service: /services/fetchKueDataService.ts
const devScriptPath = "/api/cpl/kabelueberwachungAPIHandler";
const prodScriptPath = "/CPL?/CPL/SERVICE/kueData.js";
export const fetchKueDataService = async () => {
try {
if (typeof window === "undefined") return null;
const scriptPath =
process.env.NEXT_PUBLIC_NODE_ENV === "production"
? prodScriptPath
: devScriptPath;
// ✅ Nur bei Bedarf nachladen
await new Promise<void>((resolve, reject) => {
const script = document.createElement("script");
script.src = scriptPath;
script.async = true;
script.onload = () => resolve();
script.onerror = () => reject("❌ Fehler beim Laden von kueData.js");
document.body.appendChild(script);
});
const win = window as Window & {
win_kueOnline?: unknown[];
win_kueID?: unknown[];
win_kueName?: unknown[];
win_kuePSTmMinus96V?: unknown[];
win_kueAlarm1?: unknown[];
win_kueAlarm2?: unknown[];
win_kueIso?: unknown[];
win_kueResidence?: unknown[];
win_kueCableBreak?: unknown[];
win_kueGroundFault?: unknown[];
win_kueLimit1?: unknown[];
win_kueLimit2Low?: unknown[];
win_kueDelay1?: unknown[];
win_kueLoopInterval?: unknown[];
win_kueVersion?: unknown[];
win_kueOverflow?: unknown[];
win_tdrAtten?: unknown[];
win_tdrPulse?: unknown[];
win_tdrSpeed?: unknown[];
win_tdrAmp?: unknown[];
win_tdrTrigger?: unknown[];
win_tdrLocation?: unknown[];
win_tdrActive?: unknown[];
win_tdrLast?: unknown[];
win_memoryInterval?: unknown[];
};
return {
kueOnline: win.win_kueOnline || [],
kueID: win.win_kueID || [],
kueName: win.win_kueName || [],
kuePSTmMinus96V: win.win_kuePSTmMinus96V || [],
kueAlarm1: win.win_kueAlarm1 || [],
kueAlarm2: win.win_kueAlarm2 || [],
kueIso: win.win_kueIso || [],
kueResidence: win.win_kueResidence || [],
kueCableBreak: win.win_kueCableBreak || [],
kueGroundFault: win.win_kueGroundFault || [],
kueLimit1: win.win_kueLimit1 || [],
kueLimit2Low: win.win_kueLimit2Low || [],
kueDelay1: win.win_kueDelay1 || [],
kueLoopInterval: win.win_kueLoopInterval || [],
kueVersion: win.win_kueVersion || [],
kueOverflow: win.win_kueOverflow || [],
// TDR-Daten
tdrAtten: win.win_tdrAtten || [],
tdrPulse: win.win_tdrPulse || [],
tdrSpeed: win.win_tdrSpeed || [],
tdrAmp: win.win_tdrAmp || [],
tdrTrigger: win.win_tdrTrigger || [],
tdrLocation: win.win_tdrLocation || [],
tdrActive: win.win_tdrActive || [],
tdrLast: win.win_tdrLast || [],
tdrOverflow: win.win_kueOverflow || [],
//
memoryInterval: win.win_memoryInterval || [],
};
} catch (error) {
console.error("❌ Fehler beim Laden der KÜE-Daten:", error);
return null;
}
};