- analogInputsHistorySlice angepasst: zeitraum, vonDatum, bisDatum und data hinzugefügt
- Typdefinitionen im Slice und Thunk korrigiert
- getAnalogInputsHistoryThunk erweitert, um vonDatum und bisDatum zu akzeptieren
- DateRangePicker korrekt in AnalogInputsChart.tsx integriert
- Fehler bei Selector-Zugriffen und Dispatch behoben
- Modus wird anhand von window.location.hostname bestimmt
- Lokale Umgebung (localhost/127.0.0.1) nutzt Mock-API
- Produktionsumgebung lädt analogInputs.json via CGI
- Kein Bedarf mehr für manuelle .env-Konfiguration
- digitaleInputsMockData.json angepasst: CGI-nahe Simulation mit CSV-Strings und Stringwerten
- fetchDigitalInputsService.ts erweitert:
- CSV-Zeilen werden automatisch in Arrays umgewandelt
- Labels wie "'DE1','DE2'" werden korrekt aufgeteilt
- Daten aus 4 CGI-Blöcken zu 32 Eingängen gemappt
- ermöglicht realitätsnahe Tests in Entwicklungsumgebung ohne Produktion
- getMessagesAPIHandler.ts in messages.ts umbenannt
- API ist nun unter /api/cpl/messages erreichbar
- Dateiname entspricht Next.js- und REST-Konventionen
- API-Handler `getSystemspannung5VplusHandler.ts` erstellt
- JSON-Daten werden aus dem Verzeichnis `mocks/device-cgi-simulator/chartsData/systemspannung5Vplus/` geladen
- unterstützt die Parameter DIA0, DIA1, DIA2 für unterschiedliche Datenfrequenzen
- Fehlerbehandlung bei ungültigen Typen und fehlenden Dateien eingebaut
- API getestet unter `/api/cpl/getSystemspannung5VplusHandler?typ=DIA0`
- fetchAuthService erstellt zum Auslesen von isAdminLoggedIn aus localStorage
- getAuthThunks Thunk implementiert zur Initialisierung von authSlice
- authSlice erweitert um setIsAdminLoggedIn Reducer
- dispatch(getAuthThunks()) in _app.tsx integriert für automatische Initialisierung bei App-Start
- Flackern und falscher Admin-Status nach Reload dauerhaft behoben
- neuen Modus `jsSimulatedProd` eingeführt für realitätsnahe Simulation auf Basis echter Produktionsdaten
- analoge Eingänge: analogInputsMockData.js eingebunden und dynamisch per Script geladen
- digitale Eingänge: digitalInputsMockData.js eingebunden mit window-Variablen (z. B. win_de_state, win_de_label etc.)
- fetchAnalogInputsService.ts und fetchDigitalInputsService.ts angepasst zur Modusprüfung und Script-Auswertung
- getAnalogInputsHandler.ts und getDigitalInputsHandler.ts geben im jsSimulatedProd-Modus JavaScript-Dateien aus
- .env.development setzt `NEXT_PUBLIC_CPL_MODE=jsSimulatedProd`
- RegExp-Syntaxfehler behoben (unmatched ')') beim Parsen von JS-Mock-Dateien
- Fehlerhafte Klammern in extractArray durch korrektes Muster ersetzt
- API funktioniert jetzt korrekt im JSON- und JS-Mock-Modus
- Unterstützung für drei Modi implementiert: json, jsmock und production
- fetchDigitalOutputsService.ts erkennt NEXT_PUBLIC_CPL_MODE und lädt Daten je nach Umgebung
- API-Handler /api/cpl/updateDigitalOutputsHandler verarbeitet POST-Anfragen für json und jsmock
- In production wird Statusänderung per Redirect (window.location.href) an das CPL gesendet
- Redux-Slice für digitale Ausgänge vollständig angebunden
- UI (DigitalOutputsWidget.tsx) zeigt Status und ermöglicht das Umschalten
- Dokumentation als README_digitalOutputs_final.md mit UML-Diagrammen ergänzt
- CHANGELOG.md auf Version 1.6.417 aktualisiert
- fetchDigitalOutputsService umgestellt:
- Nur noch API-Aufruf auf /api/cpl/digitalOutputsAPIHandler
- Drei Modi berücksichtigt: json, jsmock, production
- fetchDigitalOutputsFromScript implementiert:
- Unterstützt jsmock- und production-Modus mit if-else-Logik
- Lädt Skripte dynamisch (digitalOutputs.js oder digitalOutputsMockData.js)
- Liest win_da_state und win_da_bezeichnung aus window
- API für JSON-Dateien getestet (lokal editierbar)
- Production getestet (CGI-Platzhalter per Skript)
- jsmock-Modus vorbereitet, noch nicht getestet
- API-Handler `updateDigitalOutputsHandler` überarbeitet:
- JSON-Dateien werden jetzt korrekt im gültigen Format gespeichert (`{ key: value }`)
- Schreibzugriff im production-Modus blockiert
- JS-Mock-Struktur vorbereitet (noch nicht aktiv getestet)
- Verzeichnisstruktur vereinheitlicht:
- JSON-Mocks unter `/mocks/api/SERVICE/`
- CGI-Platzhalter unter `/public/CPL/`
- JSMock-Ordner für CPL-Simulation vorbereitet (`/mocks/js-simulator/`)
- README.md um Betriebsmodi erweitert (`NEXT_PUBLIC_CPL_MODE` mit `json`, `jsmock`, `production`)
- `.env`-Dateien angepasst zur besseren Modussteuerung
- fetchAnalogInputsHistoryService angepasst: nutzt /api/cpl/fetchAnalogInputsHistory bei NODE_ENV=development
- Produktionsdaten weiterhin direkt vom CPL-Webserver über CGI-Endpunkte geladen
- Chart- und Redux-Datenstrom jetzt vollständig stabil in Entwicklung und Produktion
- Fehler beim direkten Zugriff auf Mock-Dateien in Pages Router Next.js behoben
- In der Entwicklungsumgebung werden lokale Mock-Dateien verwendet
- In Produktion werden Live-Messdaten der CPL über DIA0 geladen
- Automatische Datumsgenerierung von gestern bis heute integriert
- Holt die Messwerte der letzten 24 Stunden für alle 8 analogen Eingänge (AE1–AE8)
- Baut die Abfrage-URLs dynamisch mit DIA0-Schnittstelle der CPL-Webschnittstelle
- Unterstützt Live-Modus über window.location.origin und optional Mock-Daten über API
- Dient als zentrale Datenquelle für die Chart-Darstellung in der Entwicklungsumgebung
- Historische Messdaten von analogInput1 bis analogInput8 im Verzeichnis /apiMockData/analogInputsHistoryData angelegt
- Namensschema analogInputX gewählt für bessere Lesbarkeit und Klarheit
- Daten wurden per CPL-Endpunkt (DIA0) vom Webinterface geladen und lokal gespeichert
- Grundlage für Entwicklung, Tests und Offline-Visualisierung im Chart
- useDigitalInputsData.ts und useDigitalOutputsData.ts entfernt
- Veraltete direkte Laden von window-Variablen aus Mock-Skripten entfernt
- Alle Daten werden jetzt ausschließlich über Services und Redux Thunks verwaltet
- Projektstruktur aufgeräumt und optimiert
- Anpassung des fetchSystemVoltTempService: Unterscheidung zwischen Entwicklungs- und Produktionsumgebung (win_systemVoltTempMockData vs. win_systemVoltTemp)
- Mapping der geladenen Array-Daten auf korrekte Schlüssel für Redux Slice (z.B. "+5V", "+15V", "ADC Temp", "CPU Temp")
- Fehlerbehebung: In Produktion wurden Werte im Frontend auf 0 angezeigt, obwohl Redux Slice aktualisiert wurde
- Verbesserung der Stabilität durch bessere Prüfung auf geladene Variablen
- Tabelle filtert nun korrekt auf echte analoge Eingänge (ID vorhanden)
- Diagramm zeigt nur echte analoge Eingänge (ID vorhanden)
- Leere oder ungültige Einträge werden nicht mehr angezeigt
- Konsistente Darstellung in Tabelle und Chart
- 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
- digitaleEingaengeMockData.js = strukturierte Datenbasis für Development
- digitaleEingaengeAPIHandler.ts = API-Endpunkt zur Auslieferung im Dev
- fetchDigitaleEingaengeService.ts = Service zur Umwandlung von window-Variablen
- Naming-Schema sorgt für klare Struktur und gute Lernbarkeit