### 🧩 Datenfluss CPLv4.0 Digitale Eingänge

```mermaid
classDiagram

class EmbeddedServer {
  + Generiert de.js per CGI
  + Ersetzt Platzhalter wie <%=DES81%>
  + Kein Node.js vorhanden
}

class DeJS {
  + JavaScript mit konkreten Werten
  + Beispiel: win_de_state, win_de_label
}

class FrontendLoader {
  + Lädt de.js dynamisch mit script-Tag
  + Pfad: /CPL?/CPL/SERVICE/de.js
}

class DatenMapper {
  + Wandelt window-Variablen in Objekte
  + Wandelt in strukturierte Eingangs-Daten
}

class ReduxStore {
  + digitalInputsSlice
  + Speichert die Eingänge im State
}

class ReactComponent {
  + DigitalInputs.tsx
  + useSelector: Zugriff auf Redux
  + Darstellung mit Tailwind
}

EmbeddedServer --> DeJS : erstellt per CGI
DeJS --> FrontendLoader : wird per Script geladen
FrontendLoader --> DatenMapper : verarbeitet window-Variablen
DatenMapper --> ReduxStore : dispatch(setInputs)
ReduxStore --> ReactComponent : useSelector() → Anzeige
```
