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 fetchSystemspannung15VminusService = async (
typ: "DIA0" | "DIA1" | "DIA2"
type: "DIA0" | "DIA1" | "DIA2"
) => {
try {
const res = await fetch(
`/api/cpl/getSystemspannung15VminusHandler?typ=${typ}`
);
if (!res.ok) throw new Error("Fehler beim Abrufen");
const isDev = process.env.NODE_ENV === "development";
const channel = 114; // 114 = -15V laut Spezifikation
const from = "2025;01;01";
const to = "2025;07;31";
const path = isDev
? `/api/cpl/getSystemspannung15VminusHandler?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 fetchSystemspannung15VminusService:", err);

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);

View File

@@ -1,23 +1,27 @@
// services/fetchSystemspannung5VplusService.ts
type Typ = "DIA0" | "DIA1" | "DIA2";
/**
* Holt Messwerte für +5V aus der passenden JSON-Datei über die API
* @param typ - Typ der Daten: DIA0 = alle, DIA1 = stündlich, DIA2 = täglich
*/
export const fetchSystemspannung5VplusService = async (typ: Typ) => {
export const fetchSystemspannung5VplusService = async (
type: "DIA0" | "DIA1" | "DIA2"
) => {
try {
const res = await fetch(
`/api/cpl/getSystemspannung5VplusHandler?typ=${typ}`
);
const isDev = process.env.NODE_ENV === "development";
if (!res.ok) {
throw new Error(`Fehler beim Abrufen: ${res.status}`);
}
const channel = 110; // 110 = +5V
const from = "2025;01;01";
const to = "2025;07;31";
const data = await res.json();
return data;
const path = isDev
? `/api/cpl/getSystemspannung5VplusHandler?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 +5V-Daten");
return await res.json();
} catch (err) {
console.error("❌ Fehler in fetchSystemspannung5VplusService:", err);
return null;

View File

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

View File

@@ -1,11 +1,27 @@
/**
* Holt Temperaturwerte vom AD-Wandler aus der passenden JSON-Datei über die API
* @param type - Typ der Daten: DIA0 = alle, DIA1 = stündlich, DIA2 = täglich
*/
export const fetchTemperaturAdWandlerService = async (
typ: "DIA0" | "DIA1" | "DIA2"
type: "DIA0" | "DIA1" | "DIA2"
) => {
try {
const res = await fetch(
`/api/cpl/getTemperaturAdWandlerHandler?typ=${typ}`
);
if (!res.ok) throw new Error("Fehler beim Abrufen");
const isDev = process.env.NODE_ENV === "development";
const channel = 116; // 116 = Temperatur AD-Wandler laut Spezifikation
const from = "2025;01;01";
const to = "2025;07;31";
const path = isDev
? `/api/cpl/getTemperaturAdWandlerHandler?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 Temperaturdaten (AD-Wandler)"
);
return await res.json();
} catch (err) {
console.error("❌ Fehler in fetchTemperaturAdWandlerService:", err);

View File

@@ -1,11 +1,25 @@
/**
* Holt Temperaturwerte vom Prozessor aus der passenden JSON-Datei über die API
* @param type - Typ der Daten: DIA0 = alle, DIA1 = stündlich, DIA2 = täglich
*/
export const fetchTemperaturProzessorService = async (
typ: "DIA0" | "DIA1" | "DIA2"
type: "DIA0" | "DIA1" | "DIA2"
) => {
try {
const res = await fetch(
`/api/cpl/getTemperaturProzessorHandler?typ=${typ}`
);
if (!res.ok) throw new Error("Fehler beim Abrufen");
const isDev = process.env.NODE_ENV === "development";
const channel = 117; // 117 = Temperatur Prozessor laut Spezifikation
const from = "2025;01;01";
const to = "2025;07;31";
const path = isDev
? `/api/cpl/getTemperaturProzessorHandler?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 Temperaturdaten (Prozessor)");
return await res.json();
} catch (err) {
console.error("❌ Fehler in fetchTemperaturProzessorService:", err);