From 958408eba93f6623f655531aaa2121e0441de880 Mon Sep 17 00:00:00 2001 From: Moirtz Wagner Date: Sat, 5 Sep 2026 12:02:20 +0200 Subject: [PATCH] Etagenwechsel im Automatik-Editor sah wie eine Kopie aus Wer im Editor die Etage aenderte, fand die Automatik danach unter beiden Reitern. In der Datenbank stand sie nur einmal - saveAutomation() macht bei bekannter id ein UPDATE samt floor, einen INSERT gibt es auf dem Weg gar nicht. Nachgeladen wurde nach dem Speichern aber nur die Liste der neuen Etage; die alte behielt ihre Zeile, bis jemand die Seite neu lud. Der Editor merkt sich jetzt die Etage, mit der er aufgemacht wurde, und holt bei einem Wechsel beide Listen neu. Ohne Wechsel bleibt es bei der einen Anfrage. Co-Authored-By: Claude Opus 5 --- js/solar/autoActionFuncs.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/js/solar/autoActionFuncs.js b/js/solar/autoActionFuncs.js index 9344151..121c1c5 100644 --- a/js/solar/autoActionFuncs.js +++ b/js/solar/autoActionFuncs.js @@ -21,6 +21,9 @@ let autoModel = null; let autoDevices = []; let autoLockouts = []; let autoRooms = []; +// Die Etage, mit der der Editor aufgemacht wurde. Wird sie geaendert, +// braucht auch die Liste der alten Etage ein Nachladen. +let autoFloorVorher = ""; // --- Katalog-Helfer ------------------------------------------------------ @@ -639,6 +642,7 @@ function loadAutomatic() { autoRooms = daten.rooms || []; const a = daten.automation; + autoFloorVorher = a.floor; autoModel = { id: a.id, name: a.name, @@ -750,6 +754,13 @@ function submitAutoAction() { } modalEV.hide(); refreshAutomations(nutzlast.floor); + // Ein Etagenwechsel verschiebt die Automatik, er kopiert sie nicht - in + // der Datenbank steht weiter eine Zeile. Ohne dieses zweite Nachladen + // bliebe sie aber in der Tabelle der alten Etage stehen, und genau das + // sah wie eine Kopie aus. + if (autoFloorVorher && autoFloorVorher !== nutzlast.floor) { + refreshAutomations(autoFloorVorher); + } }); }