Commit Graph

31 Commits

Author SHA1 Message Date
Ismail Ali
8d67b08d7f fix: Fehlerhafte RegExp im JS-Mock-Handler korrigiert (getAnalogInputsHandler)
- RegExp-Syntaxfehler behoben (unmatched ')') beim Parsen von JS-Mock-Dateien
- Fehlerhafte Klammern in extractArray durch korrektes Muster ersetzt
- API funktioniert jetzt korrekt im JSON- und JS-Mock-Modus
2025-06-19 21:52:56 +02:00
ISA
3a829f2298 analoge eingänge 2025-06-19 12:27:00 +02:00
ISA
6b99c8017b feat: automatische Redux-Initialisierung in _app.tsx basierend auf Seite
- zentrale Datenaktualisierung per Thunk alle 10 Sekunden
- alle Seiten wie dashboard, kabelueberwachung, digitale/analoge Ein-/Ausgänge etc. werden erkannt
- automatische Zuordnung der richtigen Redux-Thunks
- README.md und CHANGELOG.md aktualisiert
- Version auf 1.6.400 erhöht
2025-05-13 07:24:29 +02:00
ISA
e341f43204 fix: Mock-Datenzugriff über API-Handler in Entwicklungsumgebung integriert
- fetchAnalogInputsHistoryService angepasst: nutzt /api/cpl/fetchAnalogInputsHistory bei NODE_ENV=development
- Produktionsdaten weiterhin direkt vom CPL-Webserver über CGI-Endpunkte geladen
- Chart- und Redux-Datenstrom jetzt vollständig stabil in Entwicklung und Produktion
- Fehler beim direkten Zugriff auf Mock-Dateien in Pages Router Next.js behoben
2025-04-29 10:55:20 +02:00
Ismail Ali
5c3f91cad2 feat: integriere Systemspannungen und Temperaturen mit Redux Thunk und Slice
- Neues Slice systemVoltTempSlice.ts erstellt für Speicherung von Spannungen und Verlauf
- Thunk fetchSystemVoltTempThunk.ts implementiert für asynchrones Laden der Systemwerte
- Service fetchSystemVoltTempService.ts verwendet API /api/cpl/systemVoltTempAPIHandler
- Mock-Daten in systemVoltTempMockData.js definiert
- system.tsx auf Redux umgestellt: useSelector für Werte und Verlauf, fetch per Thunk
- store.ts angepasst: systemVoltTempSlice hinzugefügt
- Chart.js Darstellung von Spannungen und Temperaturen mit Echtzeit-Update alle 5 Sekunden
2025-04-27 11:25:54 +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
ebe81ffd8b fix: Data from APIs for dev 2025-04-15 10:49:34 +02:00
Ismail Ali
d033baa13a fix: System Data from API fpr dev 2025-04-15 10:44:42 +02:00
Ismail Ali
de9c6a7333 fix: API Endpoint in fetchOpcUaSettingsService für Development korrigiert
- falsches .js im API Pfad entfernt
- Development lädt jetzt korrekt /api/cpl/opcuaAPIHandler
- Production bleibt unverändert
2025-04-15 10:35:52 +02:00
Ismail Ali
f709c2e3b7 refactor: Naming-Konventionen für digitaleEingaenge umgesetzt
- digitaleEingaengeMockData.js = strukturierte Datenbasis für Development
- digitaleEingaengeAPIHandler.ts = API-Endpunkt zur Auslieferung im Dev
- fetchDigitaleEingaengeService.ts = Service zur Umwandlung von window-Variablen
- Naming-Schema sorgt für klare Struktur und gute Lernbarkeit
2025-04-15 08:55:50 +02:00
ISA
3aac69954a Version 1.6.200 2025-04-02 08:14:17 +02:00
Ismail Ali
826977c9c7 feat: lokale Speicherung der Referenzkurve per localStorage implementiert
- Aktuelle Messkurve wird bei Klick auf „Als Referenzkurve setzen“ in localStorage gespeichert
- fetchTDRReferenceCurve lädt zuerst aus localStorage, dann aus Datei/Produktion
- Ermöglicht Setzen und Testen von Referenzkurven in der Entwicklungsumgebung ohne Backend
2025-03-30 20:22:48 +02:00
Ismail Ali
cb2deecf17 feat: Referenzkurve pro Slot dynamisch per Redux Slice laden und anzeigen
- Neuen Slice `tdrReferenceChartDataBySlot` eingeführt
- Thunk `fetchReferenceCurveBySlotThunk` erstellt
- Referenzdaten pro Slot in Redux gespeichert
- Zugriff im TDRChart angepasst auf neue Struktur
2025-03-30 13:32:32 +02:00
ISA
37af5702fa Letzte TDR-Messung anzeigen für ausgewählte Slot 2025-03-28 12:26:43 +01:00
ISA
e2d8bb0f05 Alle TDM und TDR in Mock speichern 2025-03-28 10:42:54 +01:00
ISA
4e459a7f36 refactor: TDR-Daten in neuen tdrSingleChartSlice ausgelagert und nur pro Slot geladen
- Globalen fetchAllTDRChartData entfernt
- Neuen Slice und Thunk pro Slot erstellt
- TDRChart liest initiale Daten aus neuem Slice
2025-03-27 14:55:06 +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
Ismail Ali
d98af6483e feat: Redux Slice für last20Messages ausgelagert und strukturiert umbenannt
- dashboardSlice in last20MessagesSlice umbenannt
- Redux Store Key von 'dashboard' auf 'last20Messages' geändert
- fetchLast20MessagesThunk angepasst: neuer Action-Name 'last20Messages/fetchLast20Messages'
- Komponente Last20MessagesTable aktualisiert: useSelector verweist jetzt auf state.last20Messages
- Struktur für zukünftige Erweiterung vorbereitet
2025-03-25 20:18:17 +01:00
ISA
b536d31e48 git commit -m "refactor: last20Messages aus _app.tsx entfernt und über Thunk in dashboard.tsx geladen" 2025-03-25 09:34:19 +01:00
ISA
69bcbf519d Mock Dateien für TDM erstellt:
Eine Liste mit den
letzten 100 TDR Messungen des Slots
2025-03-24 10:44:12 +01:00
Ismail Ali
44db20a871 feat: Redux-Struktur für LoopChart vereinheitlicht (DIA0–2 + Typ 3/4)
- Alle Schleifen- und Isolationswiderstandsdaten werden zentral in loopChart.data gespeichert
- Redux State unterstützt nun strukturierte Speicherung nach mode (DIA0–DIA2) und type (3/4)
- Bestehender Thunk fetchLoopChartDataThunk wurde angepasst zur Wiederverwendung
- Zugriff aus Komponente via loopData["DIAx"][type] möglich
2025-03-23 18:07:00 +01:00
ISA
93136d0a38 feat: Referenzkurve für TDR-Chart integriert
- Neues Verzeichnis `tdr-reference-curves` für JSON-Referenzdaten hinzugefügt
- Redux Slice `tdrReferenceChartSlice` erstellt
- Thunk `fetchAllTDRReferenceChartThunk` zum Laden aller Referenzdaten integriert
- Service `fetchAllTDRReferenceChartData` mit Umgebungsunterscheidung (dev/prod)
- Anzeige der Referenzkurve im TDR-Chart mit Tooltip und gestrichelter Linie
- Referenzdaten werden automatisch beim Laden der Seite in Redux geladen
2025-03-21 13:28:43 +01:00
ISA
33e66269c2 feat: TDR-Chart mit Tooltip und Pegel-Darstellung hinzugefügt 2025-03-21 10:42:54 +01:00
ISA
75529f030e feat: TDR-Chart aktualisiert sich jetzt automatisch bei Datenänderung
- `fetchAllTDRChartThunk.ts`: Vergleich der aktuellen und neuen Daten mit `lodash.isEqual`, um unnötige Redux-Updates zu vermeiden.
- `TDRChart.tsx`: Nutzt `selectedSlot` aus `kueChartModeSlice.ts`, um nur den relevanten Slot im Chart anzuzeigen.
- `ChartSwitcher.tsx`: Ruft alle 10 Sekunden `fetchAllTDRChartData` auf, um Änderungen zu prüfen.
- `tdrChartSlice.ts`: Speichert nur neue Daten, wenn sie sich von den vorherigen unterscheiden.
- Fix: `activeMode` aus `kueChartModeSlice.ts` wird für die Auswahl zwischen TDR- und Schleifenmessung verwendet.
- Code Cleanup und Logging für bessere Debugging-Unterstützung.

🔥 Jetzt aktualisiert sich der TDR-Chart automatisch, wenn sich die Daten ändern, ohne dass ein Neuladen der Seite erforderlich ist.
2025-03-20 14:58:52 +01:00
ISA
0bdf5b29ea feat: Verbesserung der Slot-Auswahl und Chart-Steuerung
- `selectedSlot` in `kueChartModeSlice.ts` hinzugefügt, um den aktiven Slot zu speichern.
- `handleButtonClick.ts` aktualisiert, damit `selectedSlot` in Redux gesetzt wird.
- `handleOpenChartModal.ts` angepasst, sodass `selectedSlot` beim Öffnen des Modals gesetzt wird.
- `Kue705FO.tsx` nutzt jetzt Redux für die Slot- und Modus-Steuerung (`selectedSlot`, `activeMode`).
- Redux-Logik optimiert: `selectedSlot` wird nun konsistent zwischen `TDRChart.tsx` und `ChartSwitcher.tsx` genutzt.
- Verbesserung der Benutzererfahrung: Nur `onClick` verwendet, `onMouseOver` wegen Performance-Problemen vermieden.

 Jetzt wird der richtige Slot in Redux gespeichert, wenn ein Button oder das Chart-Modal geöffnet wird.
 `TDRChart.tsx` zeigt nur das gewählte Modul an, kein unnötiges Neuladen von Daten.
 Stabile und optimierte Chart-Steuerung ohne ungewollte Änderungen durch Mausbewegungen.
2025-03-20 11:50:14 +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
f9c2dc7bc9 feat: Redux-Thunk für digitale Eingänge integriert & UI mit zwei Tabellen umgesetzt
- `fetchDigitaleEingaengeThunk.ts` erstellt, um digitale Eingänge in Redux zu speichern.
- `fetchDigitaleEingaenge.ts` erstellt, um API-Daten aus `de.js` zu laden.
- `digitalInputsSlice.ts` hinzugefügt, um digitale Eingänge in Redux zu verwalten.
- `DigitalInputs.tsx` überarbeitet: Zwei Tabellen für digitale Eingänge hinzugefügt.
- Sicherstellung, dass Redux-Thunk nur im Client (`useEffect`) ausgeführt wird.
- API-Calls werden nun alle 10 Sekunden aktualisiert.

 Jetzt läuft Redux-Thunk stabil & effizient für digitale Eingänge!
2025-03-19 15:33:23 +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