diff --git a/.env.development b/.env.development index c166c07..9d0f224 100644 --- a/.env.development +++ b/.env.development @@ -6,5 +6,5 @@ NEXT_PUBLIC_USE_MOCK_BACKEND_LOOP_START=false NEXT_PUBLIC_EXPORT_STATIC=false NEXT_PUBLIC_USE_CGI=false # App-Versionsnummer -NEXT_PUBLIC_APP_VERSION=1.6.418 +NEXT_PUBLIC_APP_VERSION=1.6.419 NEXT_PUBLIC_CPL_MODE=json # json (Entwicklungsumgebung) oder jsmock (CPL ->CGI-Interface-Simulator) oder production (CPL-> CGI-Interface Platzhalter) \ No newline at end of file diff --git a/.env.production b/.env.production index eea397f..d216308 100644 --- a/.env.production +++ b/.env.production @@ -5,5 +5,5 @@ NEXT_PUBLIC_CPL_API_PATH=/CPL NEXT_PUBLIC_EXPORT_STATIC=true NEXT_PUBLIC_USE_CGI=true # App-Versionsnummer -NEXT_PUBLIC_APP_VERSION=1.6.418 +NEXT_PUBLIC_APP_VERSION=1.6.419 NEXT_PUBLIC_CPL_MODE=production \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 66e939c..e2353d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,33 @@ Alle Änderungen und Versionen des CPLv4.0 Frontends chronologisch dokumentiert. --- +## [1.6.418] – 2025-06-19 + +### Feature: Digitale Ausgänge vollständig implementiert (Lesen & Schreiben in 3 Modi) + +- Die Schaltausgänge (digitale Ausgänge) sind jetzt in allen Modi vollständig funktionsfähig: + - `json` (lokale Entwicklung mit editierbaren Mock-Daten) + - `jsmock` (Simulation durch JavaScript-Variablen im `window`-Objekt) + - `production` (Platzhalterersetzung über CGI durch das echte CPL-Gerät) +- Die API `/api/cpl/updateDigitalOutputsHandler` verarbeitet POST-Daten je nach Modus: + - In `json`: Speicherung in `digitalOutputsMockData.json` + - In `jsmock`: Live-Änderung in `digitalOutputsMockData.js` per Regex + - In `production`: Statusänderung über Redirect zu `/CPL?digitalOutputs.html&DAS0X=1` +- Die Datei `fetchDigitalOutputsService.ts` erkennt den aktiven Modus und lädt Daten kontextsensitiv +- Alle Werte werden über Redux bereitgestellt, die UI nutzt `useSelector()` zur Anzeige in `DigitalOutputsWidget.tsx` +- Mermaid-Dokumentation zur Architektur im Projekt ergänzt (`README_digitalOutputs_final.md`)- `json` und `jsmock` wurden zu einer gemeinsamen API `/api/cpl/getDigitalOutputsHandler.ts` zusammengeführt + - Die API erkennt den Modus automatisch über `NEXT_PUBLIC_CPL_MODE` + - In `json` wird eine editierbare JSON-Datei gelesen und zurückgegeben + - In `jsmock` wird eine JavaScript-Datei per Regex analysiert und verarbeitet +- Die Logik in `fetchDigitalOutputsService.ts` wurde vereinfacht: + - Für beide Modi wird dieselbe API aufgerufen + - Nur in `production` wird das Script `/CPL?/CPL/SERVICE/digitalOutputs.js` dynamisch eingebunden +- Die Mermaid-Diagramme im `README_digitalOutputs.md` wurden angepasst und beschriften nun explizit den Diagrammtyp („flowchart“ / Datenflussdiagramm) + +Alle Änderungen und Versionen des CPLv4.0 Frontends chronologisch dokumentiert. + +--- + ## [1.6.417] – 2025-06-19 ### Feature: Digitale Ausgänge vollständig implementiert (Lesen & Schreiben in 3 Modi) diff --git a/apiMockData/SERVICE/digitaleAusgaengeMockData.js b/apiMockData/SERVICE/digitaleAusgaengeMockData.js deleted file mode 100644 index 5b00803..0000000 --- a/apiMockData/SERVICE/digitaleAusgaengeMockData.js +++ /dev/null @@ -1,2 +0,0 @@ -win_da_state = [0, 0, 1, 0]; -win_da_bezeichnung = ["Ausgang1", "Ausgang2", "Ausgang3", "Ausgang4"]; diff --git a/components/main/kabelueberwachung/kue705FO/Charts/ChartSwitcher.tsx b/components/main/kabelueberwachung/kue705FO/Charts/ChartSwitcher.tsx index dffd22b..423421c 100644 --- a/components/main/kabelueberwachung/kue705FO/Charts/ChartSwitcher.tsx +++ b/components/main/kabelueberwachung/kue705FO/Charts/ChartSwitcher.tsx @@ -87,18 +87,7 @@ const ChartSwitcher: React.FC = ({ dispatch(setSelectedChartType(chartType)); }; //------------------------------------- - /* - useEffect(() => { - //dispatch(fetchAllTDRChartData()); // Erstes Laden - const interval = setInterval(() => { - //dispatch(fetchAllTDRChartData()); - }, 10000); // Alle 10 Sekunden neue Daten abrufen - - return () => clearInterval(interval); // Cleanup, wenn Komponente entladen wird - }, [dispatch]); - */ - //------------------------------------- const { loadLoopChartData } = useLoopChartLoader(); useEffect(() => { if (isOpen && activeMode === "Schleife") { diff --git a/docs/Architektur/CPL_DataHandling.md b/docs/Architektur/CPL_DataHandling.md deleted file mode 100644 index f853501..0000000 --- a/docs/Architektur/CPL_DataHandling.md +++ /dev/null @@ -1,99 +0,0 @@ -# 📦 Datenverarbeitung in CPL: JSON, jsmock, production - -Dieses Dokument beschreibt die Architektur zur Verarbeitung von Digitalausgängen (DA) im CPL-System unter verschiedenen Modi. - -## ✅ Unterstützte Modi - -- `json` – Entwicklung mit lokalen Mock-JSON-Dateien (editierbar) -- `jsmock` – Simulation des Geräts mit einer JS-Datei, die `window`-Variablen setzt -- `production` – Echte CPL-Hardware mit CGI-Platzhaltern (JS in HTML/JS-Dateien) - ---- - -## 🧩 Datenfluss-Überblick (UML Diagramm) - -```mermaid -flowchart TD - A[NEXT_PUBLIC_CPL_MODE] --> B{Modus} - - B -->|json| C[API: fetchDigitalOutputsAPIHandler] - C --> D[JSON-Datei (editable)] - - B -->|jsmock| E[fetchDigitalOutputsService()] - E --> F[