77 Commits

Author SHA1 Message Date
ISA
e4b56faf75 feat: RSL starten in Dev mode 15 Sek. und in prod. 120 Sek. 2025-08-12 08:25:22 +02:00
ISA
c1f6c19fdf Feat: Fenster nicht schließen für Firmware Update 2025-07-24 12:15:50 +02:00
ISA
2fcd0755a4 docs: Zusatzfunktionen (Kai, 25.06.2025) in TODO.md ergänzt 2025-06-25 11:42:42 +02:00
ISA
7ff1c4aaaf wip digitale Eingänge sind sichtbar aber keine Werte in Modal 2025-06-20 06:50:40 +02:00
ISA
3a829f2298 analoge eingänge 2025-06-19 12:27:00 +02:00
ISA
ad73dcf054 feat(kabelname): Anzeige des Kabelnamens statt Bezeichnung unter jedem Modul (Änderungswunsch) 2025-06-16 14:03:19 +02:00
ISA
0fdd7b1495 feat: TDR-Umschalter mit Admin-Login-Schutz versehen
- Der Schalter zum Aktivieren/Deaktivieren der TDR-Funktion ist nun nur für Admins sichtbar.
- Umsetzung über `useAdminAuth` analog zum Firmware-Update-Button.
- CHANGELOG.md und README.md entsprechend aktualisiert.
2025-05-13 13:39:11 +02:00
ISA
959b0b1ec2 fix: Die Daten (.js) Kabelüberwachungsseite aktualisieren sich zwar alle paar Sekunden aber die Darstellung des BGT bleibt unverändert.
Bei der Kabelüberwachungsseite werden auch die analoge und digitale Eingänge geladen
2025-05-12 16:17:40 +02:00
ISA
8309efea20 fix: Kabelüberwachung: Dialogfenster “Schleifenmessung wird für Slot gestartet” kommt zweimal. 2025-04-22 14:24:53 +02:00
Ismail Ali
a300ad9f6b feat(loop): Mock-Backend für Schleifenmessung über ENV-Flag integriert
- 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.
2025-04-17 23:46:28 +02:00
Ismail Ali
ce32d90ee7 feat: TDR-Start mit Mock-Backend über Umgebungsvariable steuerbar gemacht
- .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
2025-04-17 23:39:07 +02:00
Ismail Ali
87422aa665 Kabelüberwachung: Text “TDR erfolgreich gestartet für Slot Index 1” ändern in “TDR Messung der KÜ705-FO Strecke … wurde durchgeführt” 2025-04-17 20:34:44 +02:00
Ismail Ali
025470defb refactor: loadWindowVariables final auf API-Handler in Development umgestellt
- Scripts in Dev-Umgebung werden jetzt über /api/cpl/* geladen
- Production lädt weiterhin Embedded-System JavaScript Dateien
- Einheitliches Handling für system.js, de.js, ae.js, kueData.js, opcua.js usw.
- Flexibles Konzept für zukünftige Erweiterungen
2025-04-15 17:03:54 +02:00
Ismail Ali
611fd34fce feat: LoopMeasurementChart auf Chart.js mit canvas umgestellt – Zoom & Pan bleiben stabil
- Recharts entfernt und Chart.js direkt über canvas eingebunden
- Zoom- und Pan-Funktionalität wie bei TDRChart umgesetzt
- Chart wird nicht mehr bei jeder Redux-Aktualisierung neu gezeichnet
- Zoom-Stufe bleibt beim Benutzer erhalten
2025-04-01 18:24:37 +02:00
ISA
139cd09a13 Anführungszeichen vergessen 2025-03-27 12:29:23 +01:00
ISA
f81efbc173 Platzhalter für KÜs korrigiert nach Lastenheft 2025-03-27 11:12:38 +01:00
ISA
c55f0e7fe5 feat: Umgebungsspezifisches Laden von Datenquellen implementiert
- Alle fetch-Services (TDM, TDR, analoge/digitale Eingänge/Ausgänge, SystemSettings usw.) angepasst,
  um `NEXT_PUBLIC_NODE_ENV` zu verwenden.
- Entwicklungsumgebung lädt Daten aus /CPLmockData/...
- Produktionsumgebung verwendet echte Endpunkte mit /CPL?/CPL/...
- .env.production und .env.development korrekt berücksichtigt
- loadWindowVariables, WindowVariablesInitializer und verwandte Dateien bereinigt
- Mockdaten erscheinen nicht mehr versehentlich in Produktionsumgebung
2025-03-27 11:03:23 +01:00
Ismail Ali
0bec3fb148 loadWindowVariables und variablesSlice entfernt und die daten ausgelagert und chaeckSession.ts erstellt 2025-03-26 21:55:55 +01:00
ISA
9e282c9ae5 refactor: Lade alle window-basierten .js-Dateien dynamisch und umgebungsabhängig
- Alle Services (ae.js, de.js, da.js, kueData.js, Start.js, System.js, opcua.js) laden ihre Scripte abhängig von der Umgebung
- Vermeidet unnötige globale Script-Ladung über loadWindowVariables.ts
- Reduziert Netzwerklast und verbessert Modularität und Performance
2025-03-26 14:13:18 +01:00
ISA
db67ba0709 refactor: digitale Ausgänge über eigenen Service und Redux Thunk laden
- neue Datei fetchDigitalOutputs.ts liest win_da_state und win_da_bezeichnung aus window
- fetchDigitalOutputsThunk.ts verwendet den Service und befüllt Redux Slice
- entfernt alte Logik aus loadWindowVariables.ts
- verbessert Performance und Struktur, lädt Ausgänge nur bei Bedarf
2025-03-26 12:11:59 +01:00
ISA
fa94d2c2f7 refactor: Systemdaten über eigenen Redux Thunk und Service laden
- Systeminformationen (IP, Subnetz, Gateway, NTP, etc.) werden nun über fetchSystemSettingsThunk geladen
- loadWindowVariables.ts von systemSettings-Logik bereinigt
- Aufruf erfolgt lokal in NetworkInfo.tsx statt global in _app.tsx
- Verbesserte Struktur, reduzierte Netzwerklast, klarere Trennung der Zuständigkeiten
2025-03-26 11:28:13 +01:00
ISA
7b85ebc730 refactor: lade OPC UA Daten direkt in NetworkInfo-Komponente statt global in _app.tsx
- Thunk `fetchOpcUaSettingsThunk` wird jetzt nur bei Anzeige von NetworkInfo ausgeführt
- Reduzierte Netzwerklast und bessere Trennung von Zuständigkeiten
- Entfernt globalen OPC UA-Aufruf aus _app.tsx
2025-03-26 10:45:00 +01:00
ISA
d59027dc17 TDR Modal Slot Nummer anzeigen 2025-03-25 12:22:07 +01:00
ISA
735fc92b96 feat: Redux-Integration für TDR-Daten verbessert
- TDR-Daten werden jetzt beim Laden der Kabelüberwachungsseite automatisch abgerufen.
- Fehler im Thunk behoben: Initial leere `tdrChart.data` wird nun korrekt aktualisiert.
- Überprüfung, ob neue Daten vorhanden sind, verbessert (keine unnötige Ablehnung bei Erstabruf).
- Korrekte JSON-Datei-Pfade (`slot0.json` bis `slot31.json`) in Fetch-Requests implementiert.
- Redux-Error-Handling optimiert: Falls keine gültigen Daten geladen werden, wird eine Meldung angezeigt.
- Logging für geladene Daten hinzugefügt, um die Debugging-Möglichkeiten zu verbessern.
- `fetchAllTDRChartData.ts` als überflüssige Datei entfernt (Thunks übernehmen jetzt den Abruf).
- `kabelueberwachung.tsx` so angepasst, dass der Chart sofort mit geladenen Daten arbeitet.
2025-03-20 10:13:41 +01:00
ISA
25b63e3a31 feat: Redux-Thunk für analoge Eingänge integriert & useFetchAnalogeEingaenge entfernt
- `fetchAnalogeEingaengeThunk` in `AnalogeEingaengeTable.tsx` verwendet, um API-Daten in Redux zu speichern.
- `useFetchAnalogeEingaenge` entfernt, um doppelte API-Aufrufe zu vermeiden.
- Sicherstellung, dass Redux-Thunk nur im Client (`useEffect`) ausgeführt wird.
- Automatische Aktualisierung der API-Daten alle 10 Sekunden über Redux-Thunk.
- Code-Optimierungen für eine stabilere Client-Side-Architektur mit Next.js.

 Jetzt läuft Redux-Thunk stabil & effizient in der Next.js-Anwendung!
2025-03-19 14:48:19 +01:00
ISA
49e7d6c6c4 WIP:DatePicker in Messkurven 2025-03-19 07:20:46 +01:00
Ismail Ali
ea0e21892a TDRChart 2025-03-16 12:01:42 +01:00
Ismail Ali
65cfb033a5 feat: Digitale Ausgänge aus Redux-Store in UI integriert
- DigitalOutputs.tsx auf Redux umgestellt, um Werte direkt aus dem Store zu lesen
- toggleSwitch-Funktion angepasst, um den Status von digitalen Ausgängen in Redux zu aktualisieren
- useDigitalOutputsData.ts nutzt nun Redux zum Speichern der `win_da_state` und `win_da_bezeichnung` Werte
- Entfernen von Prop `digitalOutputs` in `DigitalOutputs.tsx`, da Redux nun als Datenquelle dient
- Weboberfläche zeigt nun digitale Ausgänge korrekt an und Status kann geändert werden
2025-02-23 22:31:06 +01:00
Ismail Ali
772ef50af5 feat: OPC-UA Einstellungen in eigenen Redux Slice ausgelagert
- OPC-UA bezogene Variablen aus `variablesSlice` entfernt und in `opcuaSettingsSlice` ausgelagert
- Neue Redux Actions für:
  - `setOpcUaZustand` (OPC-UA Zustand setzen)
  - `setOpcUaEncryption` (Verschlüsselung setzen)
  - `setOpcUaActiveClientCount` (Anzahl aktiver Clients setzen)
  - `setOpcUaNodesetName` (Nodeset-Name setzen)
  - `addOpcUaUser` & `removeOpcUaUser` (Benutzerverwaltung)
- `loadWindowVariables.ts` angepasst, um OPC-UA-Daten in `opcuaSettingsSlice` zu speichern
- Benutzerverwaltung optimiert:
  - Manuell hinzugefügte Benutzer bleiben erhalten
  - Benutzer werden nur aktualisiert, wenn sich `window.win_opcUaUsers` ändert
- Keine automatische Statusumschaltung mehr beim OPC-UA-Server-Button

Jetzt ist die OPC-UA Verwaltung sauber getrennt und stabil! 🚀
2025-02-23 11:06:15 +01:00
Ismail Ali
b85c8c67e2 feat: systemSettingsSlice hinzugefügt und Header sowie Einstellungen angepasst
- Neuen Redux Slice `systemSettingsSlice` erstellt, um Systemdaten zentral zu verwalten.
- Header-Icon für Systemeinstellungen holt jetzt Daten aus `systemSettingsSlice` statt `variablesSlice`.
- Die Einstellungen-Seite (`Allgemeine Einstellungen`) wurde umgestellt und liest nun ebenfalls aus `systemSettingsSlice`.
- UI-Optimierungen für die Einstellungen-Seite, um alle Eingabefelder kompakter darzustellen.
2025-02-23 09:09:47 +01:00
Ismail Ali
c0101b35ab refactor: Umbenennung von 'chartData' in Redux kabelueberwachung Slice zu 'loopMeasurementCurveChartData' für bessere Klarheit
Die Variable 'chartData' wurde in 'loopMeasurementCurveChartData' umbenannt, um den Inhalt und Zweck der Daten klarer zu definieren. Diese Änderung verbessert die Lesbarkeit und Wartbarkeit des Codes, indem sie die Bedeutung der Variablen präziser beschreibt.
2025-02-22 16:32:40 +01:00
ISA
f9c050417e digitale Eingänge Redux Slice erstellt für mehr Übersicht 2025-02-20 08:07:53 +01:00
Ismail Ali
2d61ff4c76 Digitale Ausgänge von window laden, stae und Bezeichnung 2025-02-19 14:51:49 +01:00
ISA
1e92e5b791 refactor: loadTDRChartData und loadLoopChartData in separate Utils-Dateien ausgelagert
- `loadTDRChartData.ts` in `utils` für die TDR-Datenverarbeitung erstellt
- `loadLoopChartData.ts` in `utils` für die Schleifenmesskurvendaten erstellt
- `Kue705FO.tsx` angepasst, um die Funktionen auszulagern und Code sauberer zu halten
2025-02-10 13:59:55 +01:00
ISA
21e415a8ea refactor: Auslagerung der Chart-Erstellungsfunktionen in chartUtils.ts
- createLoopChart und createTDRChart aus Kue705FO.tsx in eine separate Datei chartUtils.ts verschoben
- Verbesserte Code-Struktur und Wiederverwendbarkeit der Chart-Funktionen
- Import der ausgelagerten Funktionen in Kue705FO.tsx angepasst
2025-02-10 13:32:53 +01:00
ISA
cb6e6d3926 OPCUA Status und Name Lesen 2025-02-10 11:27:41 +01:00
ISA
4dd8e7d3b0 Webserverversion: 1.0.6.2 OPCUA Info lesen 2025-02-10 08:33:29 +01:00
Ismail Ali
4f809877ea feat: Projekt von JavaScript zu TypeScript migriert 2025-01-25 00:20:19 +01:00
ISA
fde7cf33c4 Analoge Eingänge , aber noch keine echte Werte und Test 2025-01-24 10:03:23 +01:00
ISA
ffc5b56b37 feat: Admin-Login, Token-Handling und Passwort-Hashing optimiert
- Passwort-Hashing und Salt-Erzeugung mit bcrypt implementiert, um sensible Daten wie Passwörter sicher zu speichern.
- Token-Generierung und -Validierung eingeführt, um den Admin-Status zu überprüfen und temporäre Zugriffsrechte zu verwalten.
- Benutzername-Vergleich case-insensitive gestaltet, um Benutzerfreundlichkeit zu verbessern.
- Token wird in localStorage gespeichert und die Ablaufzeit überprüft, um Sicherheit und konsistente Sitzungen zu gewährleisten.
- Fehlerbehebungen und Code-Refactor durchgeführt, um Lesbarkeit und Wartbarkeit zu verbessern.

**Warum:**
- Passwort-Hashing und Salt schützen Passwörter vor direkten Angriffen (z. B. Brute-Force oder Datenlecks).
- Token-Handling ermöglicht eine sichere und flexible Verwaltung von Sitzungsinformationen.
- Verbesserungen erhöhen die Sicherheit und Benutzerfreundlichkeit des Admin-Bereichs.
2024-11-15 11:48:52 +01:00
ISA
9b21f0db36 Kommentare in Platzhalter 2024-11-07 14:20:08 +01:00
ISA
c49b16dd83 MAC Adresse 2 entfernen, weil ist nicht relavant zu sehen 2024-11-07 10:10:59 +01:00
ISA
3f7349177c win_dateime in win_cplInternalTimestamp umbenannt 2024-11-06 10:08:05 +01:00
ISA
7333bf93fa feat: Implement blinking icon for "PST-M prüfen" alarm
- Added blinking icon functionality to "PST-M prüfen" alarm status for consistency with other alarm statuses.
- Refactored display logic to prioritize "PST-M prüfen" with icon blink effect in the interval.
- Ensured proper interval clearing for consistent display across alarm updates.
2024-11-06 08:43:32 +01:00
ISA
2be6dfe19f fix: Leerzeichen in kueID-Werten beim Laden aus dem window-Objekt ersetzen
- Anpassung in loadWindowVariables.js: %20-Zeichen in kueID-Werten werden beim Kopieren aus dem window-Objekt automatisch durch tatsächliche Leerzeichen ersetzt.
- Sicherstellung, dass die Werte im Redux-Store korrekt und leserlich gespeichert werden, ohne URL-kodierte Leerzeichen.
2024-11-05 10:39:15 +01:00
ISA
1cdd77be09 Kabelüberwachung liest aus Redux 2024-11-05 08:25:18 +01:00
ISA
eabcb1f25a PDFs in public direct von CPL anfragen und nicht in indexedDB speichern.
IndexedDB wird nicht mehr benötigt, Redux übernimmt die Speicherung der Variablen
2024-11-04 11:37:52 +01:00
ISA
5b34428f0a settingsModal von redux lesen 2024-11-01 08:22:21 +01:00
ISA
5c5f816744 Variablen nur in redux store und DevTools redux-toolkit 2024-11-01 07:24:43 +01:00
ISA
f2143daa51 Header,Footer und dashboard bekommen Daten von IndexedDB statt von Window Objekt 2024-10-31 14:01:09 +01:00