Commit Graph

81 Commits

Author SHA1 Message Date
ISA
ada2f5e2a7 feat: Fallsensors 2025-07-23 15:11:13 +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
fb68d59da4 feat(service): Produktions-URL für CPL angepasst, erkennt Umgebung und baut Anfrage dynamisch 2025-07-21 13:04:46 +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
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
bb8b345647 fix: Messwertlinie (m) im DIA0-Modus in DetailModal sichtbar gemacht 2025-07-11 08:23:15 +02:00
ISA
340990573f feat: automatische Moduserkennung für fetchAnalogInputsService.ts implementiert
- Modus wird anhand von window.location.hostname bestimmt
- Lokale Umgebung (localhost/127.0.0.1) nutzt Mock-API
- Produktionsumgebung lädt analogInputs.json via CGI
- Kein Bedarf mehr für manuelle .env-Konfiguration
2025-07-09 09:59:53 +02:00
ISA
eca52f35cb feat: Modus-Erkennung über window.location.hostname implementiert
- Automatische Umschaltung zwischen Entwicklungs- und Produktionsmodus
- Hostname-basierte Erkennung: localhost/127.0.0.1 → "dev", sonst → "production"
- fetchDigitalInputsService.ts entsprechend angepasst
- Erleichtert Entwicklung und reduziert manuelle .env-Konfiguration
2025-07-09 09:45:49 +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
4e5eeed9a2 refactor: API-Handler umbenannt zu messages.ts für klare REST-Struktur
- getMessagesAPIHandler.ts in messages.ts umbenannt
- API ist nun unter /api/cpl/messages erreichbar
- Dateiname entspricht Next.js- und REST-Konventionen
2025-07-07 13:40:27 +02:00
ISA
859a8f1d64 feat: fetch-Services für Spannung und Temperatur für Dev- und Prod-Modus angepasst
- fetchSystemspannung5VplusService: Channel 110 (+5V), prod = /cpl?/dashboard.html
- fetchSystemspannung15VplusService: Channel 108 (+15V)
- fetchSystemspannung15VminusService: Channel 114 (-15V)
- fetchSystemspannung98VminusService: Channel 115 (-98V)
- fetchTemperaturAdWandlerService: Channel 116 (Temperatur AD-Wandler)
- fetchTemperaturProzessorService: Channel 117 (Temperatur Prozessor)

→ Dev-Mode verwendet API-Handler (/api/cpl/...)
→ Production-Mode nutzt CGI-kompatible URLs (/cpl?/dashboard.html&...)

Fehlerbehandlung integriert, Struktur für Wiederverwendung vereinheitlicht
2025-07-03 14:02:16 +02:00
ISA
a0e8e47fae feat: APIs erstellt für Systemspannungen 2025-07-03 11:48:52 +02:00
ISA
521bd7ea93 feat: in System 5 Volt DIA0, DIA1 und DIA2 in dropdown anzeigen 2025-07-03 11:14:18 +02:00
ISA
3e7d702ab7 feat: in System 5 Volt DIA0, DIA1 und DIA2 in dropdown anzeigen 2025-07-03 11:13:39 +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
ISA
4245d7a991 fix: KÜ Firmwareupdate 2025-07-03 07:36:10 +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
62de915485 feat: Redux-Integration für Meldungen, Anzeige von 'v' statt 's' in UI 2025-06-30 08:59:48 +02:00
ISA
2fcd0755a4 docs: Zusatzfunktionen (Kai, 25.06.2025) in TODO.md ergänzt 2025-06-25 11:42:42 +02:00
Ismail Ali
ff3f418636 feat: digitalOutputs separate jsSimulatedProd mode 2025-06-22 09:46:13 +02:00
Ismail Ali
041bc3e23e feat: jsSimulatedProd-Modus für analoge & digitale Eingänge implementiert
- neuen Modus `jsSimulatedProd` eingeführt für realitätsnahe Simulation auf Basis echter Produktionsdaten
- analoge Eingänge: analogInputsMockData.js eingebunden und dynamisch per Script geladen
- digitale Eingänge: digitalInputsMockData.js eingebunden mit window-Variablen (z. B. win_de_state, win_de_label etc.)
- fetchAnalogInputsService.ts und fetchDigitalInputsService.ts angepasst zur Modusprüfung und Script-Auswertung
- getAnalogInputsHandler.ts und getDigitalInputsHandler.ts geben im jsSimulatedProd-Modus JavaScript-Dateien aus
- .env.development setzt `NEXT_PUBLIC_CPL_MODE=jsSimulatedProd`
2025-06-22 08:42:49 +02:00
Ismail Ali
082ea99d20 docs: add analog inputs architecture diagram and flow description 2025-06-21 19:14:42 +02:00
ISA
38ee1ae381 chore: rename service/thunk files to follow get/fetch naming convention 2025-06-20 14:07:29 +02:00
ISA
0388512f51 Mocks erstellt für API für Entwicklungsumgebung 2025-06-20 13:41:07 +02:00
ISA
846abedae4 fix: digital inputs status LED 2025-06-20 11:49:13 +02:00
ISA
b233694fed fix: digital Inputs Modal 2025-06-20 10:53:22 +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
Ismail Ali
d27b5b1b13 fix: analoge Eingänge Interval in Modal in json 2025-06-19 18:02:52 +02:00
ISA
3a829f2298 analoge eingänge 2025-06-19 12:27:00 +02:00
ISA
887e7b4992 feat: zentrale API für json und jsmock + Diagramm-Doku aktualisiert
- Neue API /api/cpl/getDigitalOutputsHandler.ts implementiert (vereint json + jsmock)
- fetchDigitalOutputsService.ts auf zentrale API umgestellt (weniger Code, klarere Struktur)
- Nur production-Modus lädt weiterhin Skript /CPL?/CPL/SERVICE/digitalOutputs.js
- README_digitalOutputs.md überarbeitet:
  - Diagrammtyp („flowchart“, Datenflussdiagramm) explizit benannt
  - API-Endpunkte konsolidiert dargestellt
- CHANGELOG.md um neue API-Struktur und Dokumentationsänderung ergänzt
2025-06-19 10:48:18 +02:00
ISA
dbb38cc7d8 feat: Digitale Ausgänge vollständig implementiert (Lesen & Schreiben in allen Modi)
- Unterstützung für drei Modi implementiert: json, jsmock und production
- fetchDigitalOutputsService.ts erkennt NEXT_PUBLIC_CPL_MODE und lädt Daten je nach Umgebung
- API-Handler /api/cpl/updateDigitalOutputsHandler verarbeitet POST-Anfragen für json und jsmock
- In production wird Statusänderung per Redirect (window.location.href) an das CPL gesendet
- Redux-Slice für digitale Ausgänge vollständig angebunden
- UI (DigitalOutputsWidget.tsx) zeigt Status und ermöglicht das Umschalten
- Dokumentation als README_digitalOutputs_final.md mit UML-Diagrammen ergänzt
- CHANGELOG.md auf Version 1.6.417 aktualisiert
2025-06-19 09:01:49 +02:00
ISA
1b01f37f90 feat: fetchDigitalOutputs unterstützt JSON und Production via API, Vorbereitung für jsmock
- fetchDigitalOutputsService umgestellt:
  - Nur noch API-Aufruf auf /api/cpl/digitalOutputsAPIHandler
  - Drei Modi berücksichtigt: json, jsmock, production

- fetchDigitalOutputsFromScript implementiert:
  - Unterstützt jsmock- und production-Modus mit if-else-Logik
  - Lädt Skripte dynamisch (digitalOutputs.js oder digitalOutputsMockData.js)
  - Liest win_da_state und win_da_bezeichnung aus window

- API für JSON-Dateien getestet (lokal editierbar)
- Production getestet (CGI-Platzhalter per Skript)
- jsmock-Modus vorbereitet, noch nicht getestet
2025-06-18 14:54:10 +02:00
ISA
3e6c973f3b feat: Unterstützung für JSON- und Production-Modus hinzugefügt
- API-Handler `updateDigitalOutputsHandler` überarbeitet:
  - JSON-Dateien werden jetzt korrekt im gültigen Format gespeichert (`{ key: value }`)
  - Schreibzugriff im production-Modus blockiert
  - JS-Mock-Struktur vorbereitet (noch nicht aktiv getestet)

- Verzeichnisstruktur vereinheitlicht:
  - JSON-Mocks unter `/mocks/api/SERVICE/`
  - CGI-Platzhalter unter `/public/CPL/`
  - JSMock-Ordner für CPL-Simulation vorbereitet (`/mocks/js-simulator/`)

- README.md um Betriebsmodi erweitert (`NEXT_PUBLIC_CPL_MODE` mit `json`, `jsmock`, `production`)
- `.env`-Dateien angepasst zur besseren Modussteuerung
2025-06-18 14:06:23 +02:00
ISA
4d5ba63104 feat: Kabelname anzeigen in den modal kueEinstellung.tsx 2025-06-16 08:33:36 +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
ISA
40e2b54836 feat: fetchAnalogInputsHistoryService mit dynamischem Fallback für Mock- und Live-Daten
- In der Entwicklungsumgebung werden lokale Mock-Dateien verwendet
- In Produktion werden Live-Messdaten der CPL über DIA0 geladen
- Automatische Datumsgenerierung von gestern bis heute integriert
2025-04-29 10:30:21 +02:00
ISA
38305d410e feat: fetchAnalogInputsHistoryService hinzugefügt zum Laden historischer Messwerte
- Holt die Messwerte der letzten 24 Stunden für alle 8 analogen Eingänge (AE1–AE8)
- Baut die Abfrage-URLs dynamisch mit DIA0-Schnittstelle der CPL-Webschnittstelle
- Unterstützt Live-Modus über window.location.origin und optional Mock-Daten über API
- Dient als zentrale Datenquelle für die Chart-Darstellung in der Entwicklungsumgebung
2025-04-29 10:28:32 +02:00
ISA
b2a3518c85 chore: Mock-Daten für analoge Eingänge als JSON-Dateien gespeichert
- Historische Messdaten von analogInput1 bis analogInput8 im Verzeichnis /apiMockData/analogInputsHistoryData angelegt
- Namensschema analogInputX gewählt für bessere Lesbarkeit und Klarheit
- Daten wurden per CPL-Endpunkt (DIA0) vom Webinterface geladen und lokal gespeichert
- Grundlage für Entwicklung, Tests und Offline-Visualisierung im Chart
2025-04-29 10:17:58 +02:00
Ismail Ali
c9039de7e8 chore: Entfernen des gesamten hooks-Verzeichnisses mit veralteten Daten-Hooks
- useDigitalInputsData.ts und useDigitalOutputsData.ts entfernt
- Veraltete direkte Laden von window-Variablen aus Mock-Skripten entfernt
- Alle Daten werden jetzt ausschließlich über Services und Redux Thunks verwaltet
- Projektstruktur aufgeräumt und optimiert
2025-04-28 21:40:39 +02:00
ISA
0efaedb059 fix: Korrektes Laden der Systemspannungs- und Temperaturdaten in Produktionsumgebung
- Anpassung des fetchSystemVoltTempService: Unterscheidung zwischen Entwicklungs- und Produktionsumgebung (win_systemVoltTempMockData vs. win_systemVoltTemp)
- Mapping der geladenen Array-Daten auf korrekte Schlüssel für Redux Slice (z.B. "+5V", "+15V", "ADC Temp", "CPU Temp")
- Fehlerbehebung: In Produktion wurden Werte im Frontend auf 0 angezeigt, obwohl Redux Slice aktualisiert wurde
- Verbesserung der Stabilität durch bessere Prüfung auf geladene Variablen
2025-04-28 13:48:15 +02:00
ISA
7fead4cc39 fix: Anzeige der analogen Eingänge auf 8 Einträge beschränkt und Chart korrigiert
- Tabelle filtert nun korrekt auf echte analoge Eingänge (ID vorhanden)
- Diagramm zeigt nur echte analoge Eingänge (ID vorhanden)
- Leere oder ungültige Einträge werden nicht mehr angezeigt
- Konsistente Darstellung in Tabelle und Chart
2025-04-28 11:39:53 +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
fc66346663 fix: update fetchDigitalOutputsService.ts to use /api/cpl/digitalOutputsAPIHandler in development 2025-04-26 19:48:57 +02:00
ISA
3251d389e9 fix: speicherintervall im Parameterobjekt von handleSave ergänzt und Fehler behoben 2025-04-24 14:58:52 +02:00
Ismail Ali
9e8028ac16 WIP: Refernzkurve wird angezeigt, aber kann nicht gesetzt werden 2025-04-15 18:58:20 +02:00
Ismail Ali
58577daf75 fix: fetchTDRChartDataByIdService API-Endpoint in Development korrigiert
- Dev-Umgebung nutzt jetzt /api/cpl/tdrDataAPIHandler?id=X
- direkte Zugriffe auf /apiMockData/TDR/... entfernt
- Prod-API bleibt unverändert
2025-04-15 18:48:57 +02:00
Ismail Ali
a1e49716e2 fix: fetchSingleTDMDataService API-Endpoint in Development korrigiert
- Query Parameter ?slot=X statt /slotX
- Dev-Umgebung lädt jetzt korrekt über /api/cpl/tdmDataAPIHandler?slot=X
- Prod bleibt unverändert mit TDM=X Parameter
2025-04-15 18:44:28 +02:00
Ismail Ali
d033baa13a fix: System Data from API fpr dev 2025-04-15 10:44:42 +02:00