fix: Speicherintervall (KLO) wird jetzt korrekt gesendet und gespeichert

- Fehler behoben: Speicherintervall wurde nicht an CGI gesendet, wenn Schleifenintervall unverändert blieb
- Redux-Dispatch korrigiert: speicherintervall → memoryInterval angepasst
This commit is contained in:
ISA
2025-04-25 13:07:17 +02:00
parent c1ee13b7f0
commit 649f53d14e
3 changed files with 26 additions and 34 deletions

View File

@@ -18,7 +18,7 @@ interface HandleSaveParams {
untereSchleifenGrenzwerte: number[];
obereSchleifenGrenzwerte: number[];
schleifenintervall: number[];
speicherintervall: number[]; // ✅ NEU hinzugefügt
speicherintervall: number[];
originalValues: OriginalValues;
slot: number;
dispatch: (action: any) => void;
@@ -26,7 +26,6 @@ interface HandleSaveParams {
onClose: () => void;
}
// Vergleich: robust für Zahlen und Strings
const isDifferent = (a: any, b: any): boolean => {
const aNum = Number(a);
const bNum = Number(b);
@@ -87,26 +86,20 @@ const handleSave = async ({
schleifenintervall[slot],
originalValues.schleifenintervall[slot]
)
)
if (
isDifferent(
speicherintervall[slot],
originalValues.speicherintervall[slot]
)
) {
changesForFile.KME = speicherintervall[slot];
}
{
) {
changesForFile.KRI = schleifenintervall[slot];
}
if (
isDifferent(speicherintervall[slot], originalValues.speicherintervall[slot])
) {
changesForFile.KLO = speicherintervall[slot];
}
if (Object.keys(changesForFile).length > 0) {
const isDev = window.location.hostname === "localhost";
const isProd = !isDev;
if (isDev) {
// Entwicklung: interne Next.js API
for (const [key, value] of Object.entries(changesForFile)) {
const params = new URLSearchParams({
key: `win_kue${key}`,
@@ -127,11 +120,10 @@ const handleSave = async ({
}
if (isProd) {
// Produktion: echte CPL-Hardware CGI-Aufruf
const cgiParams = Object.entries(changesForFile)
.map(([key, value]) => `${key}${slot}=${encodeURIComponent(value)}`)
.join(";");
const url = `/CPL?KUEdetail.ACP&${cgiParams}`;
const url = `/CPL?/kabelueberwachung.html&${cgiParams}`;
console.log("📡 Sende an CPL (CGI) →", url);
@@ -150,7 +142,6 @@ const handleSave = async ({
}
}
// Redux und UI aktualisieren
onModulNameChange(ids[slot]);
dispatch(
@@ -161,6 +152,7 @@ const handleSave = async ({
untereSchleifenGrenzwerte: [...untereSchleifenGrenzwerte],
obereSchleifenGrenzwerte: [...obereSchleifenGrenzwerte],
schleifenintervall: [...schleifenintervall],
memoryInterval: [...speicherintervall],
})
);
} else {