// services/fetchAnalogInputsService.ts export const fetchAnalogInputsService = async () => { const mode = process.env.NEXT_PUBLIC_CPL_MODE; // ✅ PRODUKTIV: lädt JSON-Datei vom Gerät über CGI if (mode === "production") { console.log( "🔄 Lade analoge Eingänge im Produktionsmodus (JSON über CPL?)..." ); const res = await fetch("/CPL?/CPL/SERVICE/analogInputs.json", { headers: { Accept: "application/json" }, }); if (!res.ok) { throw new Error("❌ Fehler beim Laden der analogInputs.json"); } const data = await res.json(); return data.win_analogInputsValues.map((value: string, i: number) => ({ id: i + 1, value: parseFloat(value), label: data.win_analogInputsLabels[i].replace(/'/g, ""), unit: data.win_analogInputsUnits[i].replace(/'/g, ""), offset: parseFloat(data.win_analogInputsOffset[i]), factor: parseFloat(data.win_analogInputsFactor[i]), loggerInterval: parseInt(data.win_analogInputsLoggerIntervall[i]), weighting: parseInt(data.win_analogInputsWeighting[i]), })); } // ✅ jsSimulatedProd-MODUS (Script einbinden und aus window lesen) else if (mode === "jsSimulatedProd") { console.log("🧪 Lade analoge Eingänge im Simulationsmodus (JSON)"); const res = await fetch("/api/cpl/getAnalogInputsHandler"); if (!res.ok) throw new Error("❌ Fehler beim Laden der analogen Eingänge (Mock)"); const data = await res.json(); return data.win_analogInputsValues.map((value: string, i: number) => ({ id: i + 1, value: parseFloat(value), label: data.win_analogInputsLabels[i].replace(/'/g, ""), unit: data.win_analogInputsUnits[i].replace(/'/g, ""), offset: parseFloat(data.win_analogInputsOffset[i]), factor: parseFloat(data.win_analogInputsFactor[i]), loggerInterval: parseInt(data.win_analogInputsLoggerIntervall[i]), weighting: parseInt(data.win_analogInputsWeighting[i]), })); } // ✅ JSON-MODUS (API gibt JSON-Daten zurück) else if (mode === "json") { console.log("🔄 Lade analoge Eingänge im JSON-Modus..."); const res = await fetch("/api/cpl/getAnalogInputsHandler"); if (!res.ok) throw new Error("❌ Fehler beim Laden der analogen Eingänge"); const data = await res.json(); console.log("📡 Analoge Eingänge geladen:", data); return data.win_analogInputsValues.map((value: number, i: number) => ({ id: i + 1, value, label: data.win_analogInputsLabels[i], unit: data.win_analogInputsUnits[i], offset: parseFloat(data.win_analogInputsOffset[i]), factor: parseFloat(data.win_analogInputsFactor[i]), loggerInterval: parseInt(data.win_analogInputsLoggerIntervall[i]), weighting: parseInt(data.win_analogInputsWeighting[i]), })); } else { throw new Error(`Unbekannter Modus: ${mode}`); } };