// components/main/analogeEingaenge/hooks/useFetchAnalogeEingaenge.ts import { useEffect } from "react"; import { useAppDispatch } from "../../../../redux/store"; // ✅ Typisierte Dispatch-Funktion verwenden import { loadFromWindow, setAnalogeEingaenge, } from "../../../../redux/slices/analogeEingaengeSlice"; export const useFetchAnalogeEingaenge = () => { const dispatch = useAppDispatch(); // ✅ Verwende typisierten Dispatch useEffect(() => { dispatch(loadFromWindow()); // Initial Mock-Daten aus `window` laden const interval = setInterval(async () => { try { dispatch(loadFromWindow()); // 🔄 Mock-Daten regelmäßig neu laden const response = await fetch("/api/get-embedded-data"); if (!response.ok) throw new Error("Fehler beim Abrufen der Daten"); const data = await response.json(); dispatch(setAnalogeEingaenge(data)); // ✅ API-Daten in Redux speichern } catch (error) { console.error("Fehler beim Abruf der Sensordaten:", error); } }, 5000); // Alle 5 Sekunden neue Daten abrufen return () => clearInterval(interval); }, [dispatch]); };