Commit Graph

61 Commits

Author SHA1 Message Date
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
ISA
0167a82c66 Header mit indexedDB 2024-10-30 09:38:10 +01:00
ISA
cbfd865323 feat: Optimized variable loading and storage in IndexedDB and localStorage
- Added parallel saving of required variables to both IndexedDB and localStorage using Promise.all for improved performance.
- Implemented a recursive check for missing variables with a retry mechanism for reliable loading.
- Enhanced error handling for script loading and storage processes.
- Streamlined loading scripts sequentially and storing in IndexedDB and localStorage upon successful loading.
2024-10-30 08:04:33 +01:00
ISA
66259de1eb feat: Priorisiere und style PST-M Ausfall als kritischen Alarm
- Implementiert PST-M Ausfall als höchste Priorität in der Alarmanzeige.
- Hinzugefügt: "PST-M prüfen" wird rot angezeigt, wie bei Aderbruch, Erdschluss, Isolationsfehler und Schleifenfehler.
- Einheit "ISO MOhm" wird nur angezeigt, wenn kein Alarm aktiv ist.
2024-10-29 14:23:18 +01:00
ISA
b1a24a3f4e fix: Darstellung der Isolationsanzeige angepasst
- ">200 MOhm" wird nun als neutraler Wert angezeigt und nicht in Rot, da es auf eine gute Kabelisolation hinweist.
- Rote Textfarbe bleibt auf Fehlerbeschränkungen wie Aderbruch, Erdschluss, Isolations- und Schleifenfehler begrenzt.
- Code-Bedingungen für die Prioritätsanzeige optimiert, um korrekte Farbzuordnung und Alarmauslösung sicherzustellen.
2024-10-29 13:25:13 +01:00
ISA
e9e9c188a3 loadWindowVariables.js optimiert 2024-10-28 15:30:25 +01:00
ISA
8222eeac21 setInterval von 5 auf 10 Sekunden erhöhert, da das CPL so mehr Zeit hat, alle Variablen zu initialisieren., weil bei 5 Sekunden irgendwann schafft das CPL nicht 2024-10-28 08:37:30 +01:00
ISA
26588ff104 feat: Optimierte Datenladegeschwindigkeit durch initialen Direktaufruf in loadWindowVariables
- Erstaufruf von loadWindowVariables.js außerhalb des Intervalls hinzugefügt, um Variablen schneller zu laden.
- Intervall zur Variablenüberprüfung nur gestartet, wenn beim Erstaufruf noch Variablen fehlen.
- Verbessert die Ladezeit und stellt sicher, dass alle benötigten Variablen frühzeitig verfügbar sind.
2024-10-27 11:55:37 +01:00
ISA
3a19edcd83 kueConfig.js und kueDetailTdr.js löschen und die Variable in kueData.js einfügen 2024-10-27 09:22:00 +01:00
ISA
7f792f833f fix: Verhindere Wechsel zwischen aktivem und inaktivem Status bei leerem Slot
- Korrigiert die Bedingung für `kueOnline`, sodass nur aktive Slots den Alarmstatus überprüfen.
- Entfernt Mehrfachreferenzen von `kueOnline`, die den Status ungewollt überschrieben haben.
- Setzt ein bedingtes Update für `kueCableBreak`, `kueAlarm1`, und `kueAlarm2`, um unnötige Aktualisierungen zu vermeiden.
- Stellt sicher, dass der erste Slot als "Leer" angezeigt wird, wenn `kueOnline` auf `0` gesetzt ist.
2024-10-27 08:09:54 +01:00
ISA
07bd6267ea last20messages aktualisieren mit setInterval 2024-10-26 21:20:49 +02:00
ISA
8b0f9fe446 rename mockData to CPLmockData 2024-10-26 11:16:11 +02:00
ISA
530dc42ed3 last20Messages.acp entfernt und nur Kai Dateien in js und angepasst benutzen 2024-10-25 15:07:57 +02:00
ISA
f085787053 lastTDR in CPL Verzeichnis 2024-10-25 06:40:49 +02:00
ISA
85bc6f86de File und Order Struktur wie bai Kai in mockData Verzeichnis
Chart in localhost testen und in die Umgebung development und production
2024-10-24 13:36:25 +02:00
ISA
6cd347a6c4 feat: Favicon und Seitentitel hinzugefügt und korrekt eingebunden
- Favicon im Tab durch eigenes ersetzt
- Seitentitel auf "Littwin Systemtechnik GmbH & Co. KG" gesetzt
2024-10-24 09:50:13 +02:00
ISA
e602a31b7b automatische environment für mockData in develop ,nach "npm run build" geht autoatisch zu production 2024-10-23 18:44:11 +02:00