41 lines
1.4 KiB
TypeScript
41 lines
1.4 KiB
TypeScript
// services/fetchSystemspannung5VplusService.ts
|
|
|
|
/**
|
|
* 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 (
|
|
type: "DIA0" | "DIA1" | "DIA2"
|
|
) => {
|
|
try {
|
|
const isDev = process.env.NODE_ENV === "development";
|
|
|
|
const channel = 110; // 110 = +5V
|
|
// Dynamisch: to = heute, from = 30 Tage zurück
|
|
const getDateParts = (date: Date) => {
|
|
const y = date.getFullYear();
|
|
const m = String(date.getMonth() + 1).padStart(2, "0");
|
|
const d = String(date.getDate()).padStart(2, "0");
|
|
return { y, m, d };
|
|
};
|
|
const today = new Date();
|
|
const toParts = getDateParts(today);
|
|
const fromDateObj = new Date(today);
|
|
fromDateObj.setDate(today.getDate() - 30);
|
|
const fromParts = getDateParts(fromDateObj);
|
|
|
|
const path = isDev
|
|
? `/api/cpl/getSystemspannung5VplusHandler?typ=${type}`
|
|
: `/CPL?seite.ACP&${type}=${fromParts.y};${fromParts.m};${fromParts.d};${toParts.y};${toParts.m};${toParts.d};${channel};1`;
|
|
|
|
console.log("[Service] fetchSystemspannung5VplusService", path);
|
|
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;
|
|
}
|
|
};
|