Files
CPLv4.0/services/fetchSystemVoltTempService.ts
ISA 0efaedb059 fix: Korrektes Laden der Systemspannungs- und Temperaturdaten in Produktionsumgebung
- Anpassung des fetchSystemVoltTempService: Unterscheidung zwischen Entwicklungs- und Produktionsumgebung (win_systemVoltTempMockData vs. win_systemVoltTemp)
- Mapping der geladenen Array-Daten auf korrekte Schlüssel für Redux Slice (z.B. "+5V", "+15V", "ADC Temp", "CPU Temp")
- Fehlerbehebung: In Produktion wurden Werte im Frontend auf 0 angezeigt, obwohl Redux Slice aktualisiert wurde
- Verbesserung der Stabilität durch bessere Prüfung auf geladene Variablen
2025-04-28 13:48:15 +02:00

47 lines
1.3 KiB
TypeScript

// fetchSystemVoltTempService.ts
export const fetchSystemVoltTempService = async () => {
if (typeof window === "undefined") return null;
const isProduction = process.env.NEXT_PUBLIC_NODE_ENV === "production";
const scriptSrc = isProduction
? "/CPL?/CPL/SERVICE/systemVoltTemp.js"
: "/api/cpl/systemVoltTempAPIHandler";
await new Promise<void>((resolve, reject) => {
const script = document.createElement("script");
script.src = scriptSrc;
script.async = true;
script.onload = () => resolve();
script.onerror = () =>
reject("❌ Fehler beim Laden von systemVoltTempMockData.js");
document.body.appendChild(script);
});
const win = window as any;
let rawData: any;
if (isProduction) {
rawData = win.win_systemVoltTemp; // Produktion
} else {
rawData = win.win_systemVoltTempMockData; // Entwicklung
}
if (!rawData) {
console.warn("⚠️ SystemVoltTemp-Daten fehlen oder ungültig:", rawData);
return null;
}
const result = {
"+15V": rawData[0],
"+5V": rawData[1],
"-15V": rawData[2],
"-98V": rawData[3],
"ADC Temp": rawData[4], // Achtung: Hier 'ADC Temp' anstatt "Temperatur AD Wandler"
"CPU Temp": rawData[5], // 'CPU Temp' anstatt "Temperatur CPU"
};
return result;
};