- Neues Slice systemVoltTempSlice.ts erstellt für Speicherung von Spannungen und Verlauf
- Thunk fetchSystemVoltTempThunk.ts implementiert für asynchrones Laden der Systemwerte
- Service fetchSystemVoltTempService.ts verwendet API /api/cpl/systemVoltTempAPIHandler
- Mock-Daten in systemVoltTempMockData.js definiert
- system.tsx auf Redux umgestellt: useSelector für Werte und Verlauf, fetch per Thunk
- store.ts angepasst: systemVoltTempSlice hinzugefügt
- Chart.js Darstellung von Spannungen und Temperaturen mit Echtzeit-Update alle 5 Sekunden
- Änderungen (Name, Invertierung, Filterzeit, Gewichtung, Zähler aktiv) werden einzeln erkannt
- Pro Änderung wird jeweils ein separater CGI-Request gesendet (z. B. DEN1=..., DEI1=...)
- Verbesserte Trennung zwischen Entwicklungs- und Produktionsumgebung
- Fehler behoben: Speicherintervall wurde nicht an CGI gesendet, wenn Schleifenintervall unverändert blieb
- Redux-Dispatch korrigiert: speicherintervall → memoryInterval angepasst
- Reihenfolge von original und current Werten korrigiert
- Fehler behoben, bei dem alte Werte gesendet wurden
- Logging für Debugzwecke ergänzt (URL, Original, Current, Changes)
- Änderung des Gerätenamens, IP, Subnet, Gateway jetzt voll funktionsfähig
- NTP Server 1–3, Zeitzone und Aktiv-Checkbox eingefügt
- 2-Spalten-Layout für bessere Übersicht auf Laptop-Bildschirmen
- Scrollbereich hinzugefügt, um Buttons bei kleiner Bildschirmhöhe sichtbar zu halten
- Tooltip-Text erscheint bei Mouseover über Symbol
- Unterscheidung: Eingang inaktiv (✖), Eingang Aus (● rot), Eingang Ein (● grün)
- Position des Tooltips mit translate-x-4 und translate-y-4 optimiert
- isInitialLoad hinzugefügt, um Eingabefelder nur beim ersten Öffnen zu initialisieren
- verhindert, dass Hintergrundaktualisierungen durch Redux (fetchThunk) die Benutzereingaben überschreiben
- saubere Rücksetzung von Zustand bei Modal-Schließen
- MSS1-Parameter-Parsing in /api/cpl/messages.ts ergänzt
- Filterung nach Datum mit MSS1 exakt wie in der Produktionsumgebung
- meldungen.tsx so angepasst, dass Datumsauswahl in der Entwicklungsumgebung funktioniert
- Standarddatum auf 2025-02-28 gesetzt (Mockdaten verfügbar)
- Konsolenausgaben zum Debuggen ergänzt
- Von-Datum und Bis-Datum per DatePicker auswählbar
- Dynamischer URL-Aufbau für Produktions- und Entwicklungsumgebung
- Anzeige der gefilterten Meldungen direkt beim Klick auf „Anzeigen“
- Unterstützung für max. 500 Meldungen laut Lastenheft
- Logo (public/images/OPCUA.jpg) neben der Überschrift platziert
- Layout über flex-row zwischen Titel und Logo organisiert
- Bildhöhe mit Tailwind `h-12` angepasst für bessere Sichtbarkeit
- Visuelle Verbesserung der Einstellungsseite für professionelle Darstellung
- Inhalte in GeneralSettings und OPCUAInterfaceSettings nicht mehr zentriert
- Layout konsistent mit anderen Seiten (rechts oben durch max-w-5xl + mr-auto)
- Bessere Ausrichtung für Desktop-Auflösung und altes Laptop-Design
- TDR-Einstellung liest TDR-Status direkt aus kueDataX.js via window.win_tdrActive
- Schalter (Switch) zeigt Zustand korrekt an (aktiviert/deaktiviert)
- TypeScript-Typen für window-Objekt erweitert (declare global)
- Verzicht auf fetch → statisches Einlesen optimiert für Produktionsumgebung
- Build läuft erfolgreich mit `npm run build`
- Knotenpunkte.tsx angepasst: <script>-basierte Einbindung von kueDataX.js über CGI-Endpoint (/CPL?/CPL/Service/kueDataKnoten/kueDataX.js)
- Verwendung von window.kueNodeID zur Anzeige der dynamisch geladenen Daten
- Files in Browser DevTools > Sources sichtbar dank echter Script-Einbindung
- Platzhalterlose kueDataX.js-Dateien erstellt und eingebunden
- Produktionsbuild erfolgreich getestet und in /out-Verzeichnis übertragen
- Tab-Zustand wird in window.__lastKueTab gespeichert
- Verhindert automatische Rücksetzung bei Re-Render oder showModal-Änderung
- Nutzer bleibt auf dem zuletzt aktiven Tab (TDR, Knotenpunkte etc.)
- CGI-Endpunkte der CPL-Hardware werden jetzt per fetch im Hintergrund aufgerufen
- Kein Tab-Wechsel oder Seitenreload mehr bei "Speichern"
- Entwicklung nutzt weiterhin Next.js API-Routen
- Nutzer erhält einheitliches Feedback per alert
- output: "export" wird jetzt automatisch bei EXPORT_STATIC=true aktiviert
- Entwicklungsmodus (npm run dev) nutzt weiterhin API-Routen für Mock-Tests
- Neues npm-Skript nutzt cross-env für Umgebungsunabhängigkeit bei Windows/Linux
- cross-env als devDependency hinzugefügt
- Originalwerte werden jetzt direkt aus window.win_kueXYZ geladen
- Vergleiche in handleSave.ts angepasst für stabile Zahl/String-Auswertung
- Fehlerhafte Meldung „Keine Änderungen vorgenommen“ behoben
- Nur geänderte Werte werden per GET-API gesendet
- NEXT_PUBLIC_USE_MOCK_BACKEND_LOOP_START in .env.development hinzugefügt
- goLoop.ts aktualisiert, um im Mock-Modus die Dummy-API (/api/cpl/loopMessungStartenMockHandler) aufzurufen
- Neuer Mock-Handler loopMessungStartenMockHandler.ts erstellt, der eine simulierte Antwort zurückgibt
Damit können Entwickler die Schleifenmessung lokal testen, ohne echte Hardware.
- .env.development mit NEXT_PUBLIC_USE_MOCK_BACKEND_TDR_START ergänzt
- goTDR.ts überarbeitet: Mock-API oder echtes CGI-Interface je nach Modus
- Verbesserte Flexibilität für Entwicklung ohne reale Hardware
- Redux-Dispatch `setAdminLoggedIn(true)` in handleAdminLogin integriert
- Login-Funktion in GeneralSettings.tsx angepasst, um Dispatch weiterzugeben
- Sichtbarkeit von Admin-Funktionen wie Firmware-Update-Button funktioniert jetzt zuverlässig
- Lokale Zustände durch direkten Zugriff auf Redux-Arrays ersetzt
- updateArray-Funktion korrigiert: kein Thunk mehr, stattdessen direkte Übergabe des aktuellen Arrays
- Fehler bei Typkonflikt in dispatch() behoben
- Eingaben schreiben nun sofort in den Store → Änderungen werden korrekt erkannt und gespeichert