52 Commits

Author SHA1 Message Date
ISA
538f9ca487 fix: renamed -98V to -96V everywhere 2025-09-11 10:36:52 +02:00
ISA
421e1f5425 feat: KVZ API JSON Data 2025-07-31 13:44:30 +02:00
ISA
30d396896d feat(service): CPL-Request verwendet DIA0, DIA1 oder DIA2 je nach Zeitraum für analoge Eingänge 2025-07-21 13:46:13 +02:00
ISA
311d47211e Nach Betriebsferien einmal sichern 2025-07-21 08:57:38 +02:00
Ismail Ali
658aa0cae5 uninstall redux-persist, weil nimmt viel Performance weg 2025-07-14 23:28:40 +02:00
ISA
99294f26da feat: AnalogInputsChart mit DateRangePicker und vollständiger Redux-Integration erweitert
- analogInputsHistorySlice angepasst: zeitraum, vonDatum, bisDatum und data hinzugefügt
- Typdefinitionen im Slice und Thunk korrigiert
- getAnalogInputsHistoryThunk erweitert, um vonDatum und bisDatum zu akzeptieren
- DateRangePicker korrekt in AnalogInputsChart.tsx integriert
- Fehler bei Selector-Zugriffen und Dispatch behoben
2025-07-11 14:01:57 +02:00
ISA
d278a79030 feat: AnalogInputsChart mit DateRangePicker und vollständiger Redux-Integration erweitert
- analogInputsHistorySlice angepasst: zeitraum, vonDatum, bisDatum und data hinzugefügt
- Typdefinitionen im Slice und Thunk korrigiert
- getAnalogInputsHistoryThunk erweitert, um vonDatum und bisDatum zu akzeptieren
- DateRangePicker korrekt in AnalogInputsChart.tsx integriert
- Fehler bei Selector-Zugriffen und Dispatch behoben
2025-07-11 14:01:15 +02:00
ISA
ca84ac6bb5 feat(api): Zeitraum und Eingang als Pflichtparameter für AnalogInputs-API eingeführt
- API-Handler für /api/cpl/getAnalogInputsHistory überarbeitet
- `zeitraum` (DIA0, DIA1, DIA2) und `eingang` (1–8) sind jetzt Pflichtfelder
- Bei fehlenden oder ungültigen Parametern strukturierte Fehlerantwort mit Beispielen
- Daten werden nun gezielt pro Eingang und Zeitraum geladen (z. B. AE3 + DIA1)
- Bessere Fehlerbehandlung bei nicht vorhandenen Dateien
2025-07-11 11:50:56 +02:00
ISA
2d3e070830 feat(api): Zeitraum und Eingang als Pflichtparameter für AnalogInputs-API eingeführt
- API-Handler für /api/cpl/getAnalogInputsHistory überarbeitet
- `zeitraum` (DIA0, DIA1, DIA2) und `eingang` (1–8) sind jetzt Pflichtfelder
- Bei fehlenden oder ungültigen Parametern strukturierte Fehlerantwort mit Beispielen
- Daten werden nun gezielt pro Eingang und Zeitraum geladen (z. B. AE3 + DIA1)
- Bessere Fehlerbehandlung bei nicht vorhandenen Dateien
2025-07-11 11:50:15 +02:00
ISA
bb8b345647 fix: Messwertlinie (m) im DIA0-Modus in DetailModal sichtbar gemacht 2025-07-11 08:23:15 +02:00
ISA
14bd72756a feat: CGI-kompatiblen CSV-Parser für digitale Eingänge implementiert
- digitaleInputsMockData.json angepasst: CGI-nahe Simulation mit CSV-Strings und Stringwerten
- fetchDigitalInputsService.ts erweitert:
  - CSV-Zeilen werden automatisch in Arrays umgewandelt
  - Labels wie "'DE1','DE2'" werden korrekt aufgeteilt
  - Daten aus 4 CGI-Blöcken zu 32 Eingängen gemappt
- ermöglicht realitätsnahe Tests in Entwicklungsumgebung ohne Produktion
2025-07-09 08:41:50 +02:00
ISA
a0e8e47fae feat: APIs erstellt für Systemspannungen 2025-07-03 11:48:52 +02:00
ISA
cee3ee0581 feat: API für Systemspannung +5V erfolgreich implementiert
- API-Handler `getSystemspannung5VplusHandler.ts` erstellt
- JSON-Daten werden aus dem Verzeichnis `mocks/device-cgi-simulator/chartsData/systemspannung5Vplus/` geladen
- unterstützt die Parameter DIA0, DIA1, DIA2 für unterschiedliche Datenfrequenzen
- Fehlerbehandlung bei ungültigen Typen und fehlenden Dateien eingebaut
- API getestet unter `/api/cpl/getSystemspannung5VplusHandler?typ=DIA0`
2025-07-03 10:23:04 +02:00
Ismail Ali
b23d939481 fix: Firmware-Update läuft nun exakt 5 Minuten bis 100 % Fortschritt
- Fehler behoben, bei dem das Firmware-Update nach wenigen Sekunden vorzeitig beendet wurde
- Fortschrittsanzeige über Redux-Slice `firmwareProgressSlice` korrekt umgesetzt
- Thunk `startFirmwareUpdateThunk` korrekt eingebunden und verwendet
- UI zeigt stabile 5-minütige Progressbar wie erwartet
2025-07-02 22:01:17 +02:00
ISA
b3c5580538 feat: Auth-Status bei App-Start aus localStorage laden und in Redux speichern
- fetchAuthService erstellt zum Auslesen von isAdminLoggedIn aus localStorage
- getAuthThunks Thunk implementiert zur Initialisierung von authSlice
- authSlice erweitert um setIsAdminLoggedIn Reducer
- dispatch(getAuthThunks()) in _app.tsx integriert für automatische Initialisierung bei App-Start
- Flackern und falscher Admin-Status nach Reload dauerhaft behoben
2025-07-02 13:55:27 +02:00
ISA
971368045f feat: Dashboard Meldungen Status 1 oder 0 2025-06-30 14:58:15 +02:00
ISA
62de915485 feat: Redux-Integration für Meldungen, Anzeige von 'v' statt 's' in UI 2025-06-30 08:59:48 +02:00
Ismail Ali
7740806952 chore: fetch to get in redux thunks files name 2025-06-21 10:15:05 +02:00
Ismail Ali
dd76665848 chore(tsconfig): fix moduleResolution and path aliases for Next.js project 2025-06-21 09:58:16 +02:00
ISA
38ee1ae381 chore: rename service/thunk files to follow get/fetch naming convention 2025-06-20 14:07:29 +02:00
ISA
7ff1c4aaaf wip digitale Eingänge sind sichtbar aber keine Werte in Modal 2025-06-20 06:50:40 +02:00
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