diff --git a/.env.development b/.env.development index b642bec..c166c07 100644 --- a/.env.development +++ b/.env.development @@ -6,6 +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.417 -NEXT_PUBLIC_CPL_MODE=json # json (Entwicklungsumgebung) oder jsmock (CPL ->CGI-Interface-Simulator) oder production (CPL-> CGI-Interface Platzhalter) - +NEXT_PUBLIC_APP_VERSION=1.6.418 +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 3120964..eea397f 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.417 +NEXT_PUBLIC_APP_VERSION=1.6.418 NEXT_PUBLIC_CPL_MODE=production \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index d3c86f0..66e939c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,26 @@ 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) + +- 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`) + +Alle Änderungen und Versionen des CPLv4.0 Frontends chronologisch dokumentiert. + +--- + ## [1.6.407] – 2025-06-16 ### Feature: Kabelname statt Bezeichnung diff --git a/docs/Architektur/CPL_DataHandling.md b/docs/Architektur/CPL_DataHandling.md new file mode 100644 index 0000000..f853501 --- /dev/null +++ b/docs/Architektur/CPL_DataHandling.md @@ -0,0 +1,99 @@ +# 📦 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[