# 📦 CHANGELOG – CPLv4.0

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
