feat: fetch-Services für Spannung und Temperatur für Dev- und Prod-Modus angepasst

- fetchSystemspannung5VplusService: Channel 110 (+5V), prod = /cpl?/dashboard.html
- fetchSystemspannung15VplusService: Channel 108 (+15V)
- fetchSystemspannung15VminusService: Channel 114 (-15V)
- fetchSystemspannung98VminusService: Channel 115 (-98V)
- fetchTemperaturAdWandlerService: Channel 116 (Temperatur AD-Wandler)
- fetchTemperaturProzessorService: Channel 117 (Temperatur Prozessor)

→ Dev-Mode verwendet API-Handler (/api/cpl/...)
→ Production-Mode nutzt CGI-kompatible URLs (/cpl?/dashboard.html&...)

Fehlerbehandlung integriert, Struktur für Wiederverwendung vereinheitlicht
This commit is contained in:
ISA
2025-07-03 14:02:16 +02:00
parent b1eb3c46a8
commit 859a8f1d64
12 changed files with 141 additions and 41 deletions

View File

@@ -1,11 +1,24 @@
/**
* Holt Messwerte für +15V aus der passenden JSON-Datei über die API
* @param type - Typ der Daten: DIA0 = alle, DIA1 = stündlich, DIA2 = täglich
*/
export const fetchSystemspannung15VplusService = async (
typ: "DIA0" | "DIA1" | "DIA2"
type: "DIA0" | "DIA1" | "DIA2"
) => {
try {
const res = await fetch(
`/api/cpl/getSystemspannung15VplusHandler?typ=${typ}`
);
if (!res.ok) throw new Error("Fehler beim Abrufen");
const isDev = process.env.NODE_ENV === "development";
const channel = 108; // 108 = +15V laut Spezifikation
const from = "2025;01;01";
const to = "2025;07;31";
const path = isDev
? `/api/cpl/getSystemspannung15VplusHandler?typ=${type}`
: `/cpl?/dashboard.html&${type}=${from};${to};${channel};1;`;
const res = await fetch(path);
if (!res.ok) throw new Error("❌ Fehler beim Abrufen der +15V-Daten");
return await res.json();
} catch (err) {
console.error("❌ Fehler in fetchSystemspannung15VplusService:", err);