## [1.6.442] – 2025-06-22 - docs: add full architecture diagram and data flow for json, jsmock and production modes --- ## [1.6.441] – 2025-06-21 - docs: add analog inputs architecture diagram and flow description --- ## [1.6.440] – 2025-06-21 - docs: move user documentation to docs/user-guide as single source of truth --- ## [1.6.439] – 2025-06-21 - chore: fetch to get in redux thunks files name --- ## [1.6.438] – 2025-06-21 - chore(tsconfig): fix moduleResolution and path aliases for Next.js project --- ## [1.6.437] – 2025-06-21 - chore: rename service/thunk files to follow get/fetch naming convention --- ## [1.6.436] – 2025-06-20 - Mocks erstellt für API für Entwicklungsumgebung --- ## [1.6.435] – 2025-06-20 - auto CHANGELOG.md --- ## [1.6.434] – 2025-06-20 - pre-commit --- ## [1.6.433] – 2025-06-20 - CHANGELOG auto --- ## [1.6.432] – 2025-06-20 - feat: Statusanzeige für Eingänge implementiert --- ## [1.6.431] – 2025-06-20 - feat: Digitale & analoge Eingänge in allen Modi (json/jsSimulatedProd/production) vollständig implementiert --- # 📦 CHANGELOG – CPLv4.0 Alle Änderungen und Versionen des CPLv4.0 Frontends chronologisch dokumentiert. --- ## [1.6.429] – 2025-06-20 ### Feature: Digitale & Analoge Eingänge – Alle Modi unterstützt - Digitale Eingänge (Meldungseingänge) sind jetzt vollständig implementiert: - `json`: Mock-Daten werden editierbar über eine JSON-Datei verwaltet - `jsSimulatedProd`: JavaScript-basierte Simulation mit `window.win_di_state`, `win_di_label`, etc. - `production`: Kommunikation über CGI-Befehle wie `DEN1=...`, `DEI1=...` - Analoge Eingänge ebenfalls vollständig in allen Modi (json/jsSimulatedProd/production) nutzbar - Die Statusanzeige für digitale Eingänge wird korrekt aus Redux gelesen (`input.status`) - Redux-Struktur überarbeitet: `invert`, `status`, `counterActive`, `value` werden sauber getrennt - Die Modi-Erkennung erfolgt automatisch über `NEXT_PUBLIC_CPL_MODE` - UI-Logik trennt initiale Redux-Werte und lokale States in `InputModal.tsx`, um ungewolltes Überschreiben zu verhindern - `DigitalInputs.tsx`, `DigitalOutputs.tsx` und `AnalogInputs.tsx` greifen auf dieselbe modulare Datenstruktur zurück --- ## [1.6.418] – 2025-06-19 ### Feature: Digitale Ausgänge vollständig implementiert (Lesen & Schreiben in 3 Modi) - Die Schaltausgänge (digitale Ausgänge) sind jetzt in allen Modi vollständig funktionsfähig: - `json` (lokale Entwicklung mit editierbaren Mock-Daten) - `jsSimulatedProd` (Simulation durch JavaScript-Variablen im `window`-Objekt) - `production` (Platzhalterersetzung über CGI durch das echte CPL-Gerät) - Die API `/api/cpl/updateDigitalOutputsHandler` verarbeitet POST-Daten je nach Modus: - In `json`: Speicherung in `digitalOutputsMockData.json` - In `jsSimulatedProd`: Live-Änderung in `digitalOutputsMockData.js` per Regex - In `production`: Statusänderung über Redirect zu `/CPL?digitalOutputs.html&DAS0X=1` - Die Datei `fetchDigitalOutputsService.ts` erkennt den aktiven Modus und lädt Daten kontextsensitiv - Alle Werte werden über Redux bereitgestellt, die UI nutzt `useSelector()` zur Anzeige in `DigitalOutputsWidget.tsx` - Mermaid-Dokumentation zur Architektur im Projekt ergänzt (`README_digitalOutputs_final.md`)- `json` und `jsSimulatedProd` wurden zu einer gemeinsamen API `/api/cpl/getDigitalOutputsHandler.ts` zusammengeführt - Die API erkennt den Modus automatisch über `NEXT_PUBLIC_CPL_MODE` - In `json` wird eine editierbare JSON-Datei gelesen und zurückgegeben - In `jsSimulatedProd` wird eine JavaScript-Datei per Regex analysiert und verarbeitet - Die Logik in `fetchDigitalOutputsService.ts` wurde vereinfacht: - Für beide Modi wird dieselbe API aufgerufen - Nur in `production` wird das Script `/CPL?/CPL/SERVICE/digitalOutputs.js` dynamisch eingebunden - Die Mermaid-Diagramme im `README_digitalOutputs.md` wurden angepasst und beschriften nun explizit den Diagrammtyp („flowchart“ / Datenflussdiagramm) Alle Änderungen und Versionen des CPLv4.0 Frontends chronologisch dokumentiert. --- ## [1.6.417] – 2025-06-19 ### Feature: Digitale Ausgänge vollständig implementiert (Lesen & Schreiben in 3 Modi) - Die Schaltausgänge (digitale Ausgänge) sind jetzt in allen Modi vollständig funktionsfähig: - `json` (lokale Entwicklung mit editierbaren Mock-Daten) - `jsSimulatedProd` (Simulation durch JavaScript-Variablen im `window`-Objekt) - `production` (Platzhalterersetzung über CGI durch das echte CPL-Gerät) - Die API `/api/cpl/updateDigitalOutputsHandler` verarbeitet POST-Daten je nach Modus: - In `json`: Speicherung in `digitalOutputsMockData.json` - In `jsSimulatedProd`: Live-Änderung in `digitalOutputsMockData.js` per Regex - In `production`: Statusänderung über Redirect zu `/CPL?digitalOutputs.html&DAS0X=1` - Die Datei `fetchDigitalOutputsService.ts` erkennt den aktiven Modus und lädt Daten kontextsensitiv - Alle Werte werden über Redux bereitgestellt, die UI nutzt `useSelector()` zur Anzeige in `DigitalOutputsWidget.tsx` - Mermaid-Dokumentation zur Architektur im Projekt ergänzt (`README_digitalOutputs_final.md`) Alle Änderungen und Versionen des CPLv4.0 Frontends chronologisch dokumentiert. --- ## [1.6.407] – 2025-06-16 ### Feature: Kabelname statt Bezeichnung - In `Kue705FO.tsx` wird jetzt **der Kabelname (`kueName`)** unterhalb jedes Moduls angezeigt, statt der bisherigen Kabelbezeichnung (`kueID`) - Im Einstellungsmodal (`KueEinstellung.tsx`) wurde: - `kueID` als **readOnly** markiert (nicht mehr beschreibbar) - Ein neues editierbares Feld für `kueName` hinzugefügt - Hochkommas `'` werden automatisch entfernt - Änderungen werden dauerhaft per `&KIA${slot}=${name}` an das CPL-Gerät gesendet - State & `window.win_kueName` werden synchronisiert, damit Änderungen sofort und dauerhaft angezeigt werden - Debug-Funktion für `fetch`-Monitoring entfernt --- ## [1.6.403] – 2025-05-13 ### Sicherheit & UI - Der Umschalter für die TDR-Aktivierung in `TdrEinstellung.tsx` wird jetzt nur noch angezeigt, wenn ein Admin eingeloggt ist. - Damit wird verhindert, dass Standardnutzer oder Gäste versehentlich TDR-Funktionen aktivieren oder deaktivieren. - Gleiche Logik wie beim „Firmware Update“-Button in `KueEinstellung.tsx` (`useAdminAuth`). --- ## [1.6.402] – 2025-05-13 ### Fix Die Bezeichnung für Schaltausgänge/digitale Ausgänge können geändert werden, aber der Scahlter für Ein/Aus muss noch im Backend programmiert werden --- --- ## [1.6.400] – 2025-05-13 ### Feature - In `_app.tsx` wurde ein zentrales Redux-Update-System implementiert: - Die aktuelle Seite wird automatisch erkannt (`window.location.pathname`) - Abhängig von der Seite werden die passenden Thunks geladen (z. B. `getKueDataThunk`, `getDigitalOutputsThunk` usw.) - Die Daten werden alle 10 Sekunden erneut geladen - Dadurch muss auf den Unterseiten kein separater Redux-Aufruf mehr erfolgen - Unterstützt alle Slices: digitale/analoge Ein- und Ausgänge, Meldungen, Systemstatus, Einstellungen, TDR/Loop-Daten - Reduziert Hardwarelast durch seitenbezogene API-Calls --- ## [1.6.399] – 2025-05-12 ### fix Bei den Messkurven der Kabelüberwachungen ist noch ein Fehler: Du übergibst für die erste Kabelüberwachung den Wert 1 anstatt 0. Im Lastenheft steht 0 bis 31 für Kabelüberwachungen (Wert q): --- ## [1.6.340] – 2025-05-02 ### Verbesserungen - Das Modal für analoge Eingänge unterstützt jetzt auch die Produktion: - In der Entwicklungsumgebung wird wie bisher die Mock-Datei (`analogeEingaengeMockData.js`) über die API gespeichert - In der Produktionsumgebung werden die Einstellungen direkt per CGI-Aufruf an das CPL gesendet (`/CPL?/Service/ae.ACP&...`) - Die Erkennung der Umgebung (DEV/PROD) erfolgt automatisch über `window.location.hostname` - Die Speicherung per CGI-Link wurde erfolgreich getestet mit `ACN1=...`, `ACO1=...`, `ACF1=...`, `ACL1=...` --- ## [1.6.339] – 2025-05-02 ### Hinzugefügt - Modal für analoge Eingänge: Einstellungen für Offset, Faktor, Bezeichnung und Loggerintervall jetzt verfügbar - Änderungen werden in der Entwicklungsumgebung über die zentrale Mock-API `/api/cpl/updateAnalogInputsSettingsAPIHandler` gespeichert - Unterstützt Speichern im Format `var xyz = [ ... ];` mit Kommentaren vor und nach dem Block - Speichern löst automatischen Reload aus zur Anzeige der neuen Werte --- ## [1.6.338] – 2025-05-02 ### Verbesserungen - TDR-Modul: Beim Umschalten der TDR-Funktion erscheint nun ein Hinweisdialog („TDR wurde aktiviert/deaktiviert“) und die Seite wird nach Bestätigung automatisch neu geladen --- ## [1.6.329] – 2025-05-02 ### Hinzugefügt - Auf der Seite **/analogeEingaenge** wird nun nur der ausgewählte Eingang im Chart angezeigt - Der Titel des Charts enthält die Angabe „letzte 24 Stunden“ - Die Zeitachse (X-Achse) ist im deutschen Format (`HH:mm Uhr DD.MM.`) --- ## [1.6.328] – 2025-05-02 ### Hinzugefügt - Systemseite: Darstellung von Spannungen und Temperaturen in zwei separaten Charts (nebeneinander) - Spannungswerte werden auf zwei Dezimalstellen gerundet dargestellt --- ## [1.6.327] – 2025-05-02 ### Hinzugefügt - Einheitliche POST-API `/api/cpl/updateTdrSettingsDataAPIHandler` verarbeitet jetzt: - win_tdrAtten - win_tdrSpeed - win_tdrTrigger - win_tdrActive - Unterstützt gleichzeitige Speicherung mehrerer TDR-Werte pro Slot (Mock-Daten) - TDR-Werte werden lokal gecached, UI wird nicht mehr durch Redux überschrieben - Modal wird nach erfolgreicher Speicherung automatisch geschlossen - API bereinigt kaputte Dateizeilen am Ende (z. B. `)` oder `12h)`) --- ## [1.6.320] 2025-04-29 ### Hinzugefügt (dev) - Lokaler API-Endpunkt `/api/cpl/updateKueSettingsDataAPIHandler` für KUE-Einstellungen - Änderungen an Mock-Daten in `/apiMockData/SERVICE/kabelueberwachungMockData.js` möglich - Unterstützung für Strings mit korrekter Formatierung (Anführungszeichen) - Fehlerhafte Kommas und doppelte Semikolons im Array-Format behoben - Frontend kann vollständig ohne CPL-Hardware getestet werden --- ## [1.6.318] – 2025-04-29 ### Fix - Anzeige aller KUE-Werte (Grenzwerte, Verzögerung, Intervalle) nach dem Speichern sofort im UI aktualisiert - Lokale Eingabewerte (`formData`) werden direkt nach erfolgreichem Speichern neu gesetzt - Keine Navigation mehr nötig, um gespeicherte Werte zu sehen --- ## [1.6.314] – 2025-04-29 ### Verbesserungen - Digitale Eingänge und Ausgänge (DigitalInputs, DigitalOutputs) vollständig responsive gemacht - Icons und Textgrößen an Breakpoints laptop, xl, 2xl angepasst - Einheitliche Darstellung der Meldungseingänge und Schaltausgänge auf allen Bildschirmgrößen - Alle Icons lokal eingebunden für vollständige Offline-Unterstützung --- ## [1.6.308] – 2025-04-29 ### Fix - Anzeige der KÜ705-FO Modulversionen korrigiert (z.B. 4.20 statt 4.2) - Korrekte Formatierung in der Hook `useKueVersion` implementiert --- ## [1.6.307] – 2025-04-28 ### Hinzugefügt - Chart.js-basierte Visualisierung für alle 8 analogen Eingänge - Historische Messwerte der letzten 24 Stunden werden dargestellt - Nutzer kann Linien für einzelne Eingänge über die Legende ein- und ausblenden - Mock-Daten werden in der Entwicklungsumgebung automatisch über API-Handler geladen (`/api/cpl/fetchAnalogInputsHistory`) - Nutzung von Redux-Slice `analogInputsHistory` für zentrales Datenmanagement --- ## [1.6.194] – 2025-03-31 ### Hinzugefügt - TDR-Dropdown zeigt nun Zeitstempel im deutschen Format (`TT.MM.JJJJ, HH:MM:SS`) - Anzeige der Fehlerstelle (`d`) direkt im Dropdown - Intern wird weiterhin die ID verwendet --- ## [1.6.190] – 2025-03-29 ### Dokumentation - Vollständige `README.md` erstellt mit Seitenstruktur, Technologie-Stack und Installationsanleitung --- ## [1.6.189] – 2025-03-28 ### Verbesserungen - Referenzkurve wird sofort nach dem Setzen im Chart aktualisiert - Legendenbeschriftung im TDR-Chart überarbeitet --- ## [1.6.155] – 2025-03-26 ### Hinzugefügt - Dropdown-Funktion für letzte TDR-Messungen pro Slot (ID-Auswahl) --- ## [1.6.146] – 2025-03-19 ### Hinzugefügt - Referenzkurvenanzeige im TDR-Chart integriert --- ## [1.6.145] – 2025-03-18 ### Hinzugefügt - Erste Version des TDR-Charts mit Live-Datenanzeige --- ## [1.6.137] – 2025-03-15 ### Hinzugefügt - Redux-Thunk-Struktur für analoge & digitale Eingänge implementiert --- ## [1.6.123] – 2025-03-10 ### Release - Allgemeine Optimierungen --- ## [1.6.122] – 2025-03-09 ### Fixes - Reihenfolge der Legenden-Einträge im Chart korrigiert --- ## [1.6.121] – 2025-03-08 ### Verbesserung - Chart-Bereich mit Kalenderfunktion synchronisiert --- ## [1.6.110] – 2025-03-04 - Interne Updates ohne spezielle Notiz --- ## [1.6.106] – 2025-03-02 ### Fix - Typfehler in `useLoopDisplay` & `Kue705FO` behoben --- ## [1.6.105] – 2025-03-01 ### UI - Responsive Design überarbeitet (Tailwind) --- ## [1.6.86] – 2025-02-22 ### Fix - API-URL für Produktionsumgebung dynamisch + Datumsfix --- ## [1.6.82] – 2025-02-20 ### Fix - `window is not defined`-Fehler in Charts behoben - Schleifenanzeige korrigiert - Build erfolgreich möglich --- ## [1.6.44] – 2024-12-19 ### Refactor - Dashboard-Komponenten modularisiert und importiert --- ## [1.0.6.1] – 2024-11-10 ### Hinzugefügt - Erste Version mit `GeneralSettings`-Integration ## [1.0.6.0] – 2024-11-05 ### Migration - Umstellung des Projekts von JavaScript auf TypeScript --- ## [1.0.5.3] – 2024-10-28 ### Hinzugefügt - Digitale Ein- und Ausgänge hinzugefügt ## [1.0.5.1] – 2024-10-26 ### UI - Tailwind Responsiveness (xl, 2xl) im Chrome Mobile Emulator angepasst ## [1.0.5] – 2024-10-25 ### Sicherheit - Admin-Login mit Passwort-Hashing implementiert ## [1.0.4] – 2024-10-20 ### Feature - NTP-Synchronisation für Systemzeit getestet und bestätigt ## [1.0.2] – 2024-10-15 ### Hinzugefügt - Neues Einstellungs-Modal - Verbesserte NTP-Konfiguration & Netzwerk-Reboot-Handling ## [1.0.1] – 2024-10-10 ### Refactor - `kueModal` und `settingsModal` modularisiert und mit Handlern versehen ## [1.0.0] – 2024-10-01 ### Initial Release - Erste produktionsreife Version veröffentlicht