Files
CPLv4.0/CHANGELOG.md
ISA 887e7b4992 feat: zentrale API für json und jsmock + Diagramm-Doku aktualisiert
- Neue API /api/cpl/getDigitalOutputsHandler.ts implementiert (vereint json + jsmock)
- fetchDigitalOutputsService.ts auf zentrale API umgestellt (weniger Code, klarere Struktur)
- Nur production-Modus lädt weiterhin Skript /CPL?/CPL/SERVICE/digitalOutputs.js
- README_digitalOutputs.md überarbeitet:
  - Diagrammtyp („flowchart“, Datenflussdiagramm) explizit benannt
  - API-Endpunkte konsolidiert dargestellt
- CHANGELOG.md um neue API-Struktur und Dokumentationsänderung ergänzt
2025-06-19 10:48:18 +02:00

12 KiB
Raw Blame History

📦 CHANGELOG CPLv4.0

Alle Änderungen und Versionen des CPLv4.0 Frontends chronologisch dokumentiert.


[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)
    • jsmock (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 jsmock: 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 jsmock 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 jsmock 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)
    • jsmock (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 jsmock: 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. fetchKueDataThunk, fetchDigitalOutputsThunk 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