From de5725ae49337f6cfaa63f76130c62b67766dbb9 Mon Sep 17 00:00:00 2001 From: Ismail Ali Date: Sun, 27 Apr 2025 14:10:19 +0200 Subject: [PATCH] README.md update --- README.md | 140 +++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 111 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index ad38dd5..96a88e3 100644 --- a/README.md +++ b/README.md @@ -7,14 +7,14 @@ Die Benutzeroberfläche ist modular aufgebaut und ermöglicht Zugriff auf digita ## 📘 Projektübersicht -| Bereich | Beschreibung | -| :--------------- | :----------------------------------------------------- | -| Framework | Next.js (Pages Router) | -| UI | React 18, Tailwind CSS, Iconify Icons, Bootstrap Icons | -| State Management | Redux Toolkit (Slices, Thunks) | -| Diagramme | Chart.js (für Messkurven) | -| Dokumentation | Mermaid.js Diagramme in `/docsForDev/` | -| Mock-Daten | über `/apiMockData/SERVICE/` und über API-Handler | +| Bereich | Beschreibung | +| :--------------- | :-------------------------------------------------- | +| Framework | Next.js (Pages Router) | +| UI | React, Tailwind CSS, Iconify Icons, Bootstrap Icons | +| State Management | Redux Toolkit (Slices, Thunks) | +| Diagramme | Chart.js (für Messkurven) | +| Dokumentation | Mermaid.js Diagramme in `/docsForDev/` | +| Mock-Daten | über `/apiMockData/SERVICE/` und über API-Handler | --- @@ -22,7 +22,7 @@ Die Benutzeroberfläche ist modular aufgebaut und ermöglicht Zugriff auf digita ### 🔹 **Header** -- Anzeigen von CPL-Gerätenamen +- Anzeigen von CPL-Gerätname - Abmelden-Button (Admin-Logout) ### 🔹 **Footer** @@ -43,26 +43,63 @@ Die Benutzeroberfläche ist modular aufgebaut und ermöglicht Zugriff auf digita - Schleifen- und Isolationsmessung - TDR-Messung & Referenzkurvenvergleich - Alarme pro Slot (z.B. Erdschluss, Aderbruch) +- **Modale Einstellungen pro Slot:** + - **KUE Einstellung:** Kabelbezeichnung, Isolationsgrenzwerte, Schleifengrenzwerte, Speicherintervall + - **TDR Einstellung:** Dämpfung, Geschwindigkeit, Triggerwerte, Aktivierung/Deaktivierung der TDR-Funktion + - **Knotenpunkte:** Anzeige von Knotenpunkten, Verbindungen und Leitungslängen -### 🔦 **/einausgaenge** +### 📡 **/digitalInputs** – Meldungseingänge -- Digitale Eingänge (1–32) mit Live-Status -- Digitale Ausgänge (1–4) mit Schaltfunktion +- Digitale Eingänge (1–32) mit Live-Statusanzeige +- **Modale Einstellungen pro Eingang:** + - Name ändern + - Invertierung aktivieren/deaktivieren + - Filterzeit setzen + - Gewichtung anpassen + - Zähler aktivieren/deaktivieren + - Speicherung über CGI-Interface oder lokale API -### 📉 **/analogeEingaenge** +### 🔌 **/digitalOutputs** – Schaltausgänge -- Tabellenübersicht über analoge Werte -- Live-Trend-Diagramm für Messdaten +- Digitale Ausgänge (1–4) mit Schaltfunktion (Toggle) -### 📜 **/meldungen** +### 📉 **/analogeEingaenge** – Messwertüberwachung + +- Tabellenübersicht über alle analogen Eingänge (z.B. Temperatur, Spannung) +- **Modale Einstellungen pro analogen Eingang:** + - Name anzeigen + - Einheit anzeigen + - Faktor und Offset anzeigen + - Gewichtung und Loggerintervall anzeigen +- Live-Trend-Diagramm (Chart.js) der aktuellen Werte + +### 📜 **/meldungen** – Berichte - Gesamte Historie aller Systemmeldungen - Farbcodierung je nach Gewichtung (Info, Warnung, Alarm) +- Datumsauswahl (von/bis) zur Berichtsfilterung +- Pagination zur Navigation durch Berichte -### ⚙️ **/einstellungen** +### ⚙️ **/einstellungen** – Systemeinstellungen -- Systemkonfiguration -- OPC UA Benutzerverwaltung, Verschlüsselung, Nodeset-Verwaltung +- **Allgemeine Einstellungen:** + - Geräte-Name ändern + - IP-Adresse, Subnetzmaske und Gateway konfigurieren + - Systemzeit übernehmen + - Admin-Login und Logout (Sicherheitsfunktionen) +- **OPCUA-Einstellungen:** + - OPCUA-Server aktivieren/deaktivieren + - Nodeset-Namen ändern + - Benutzerverwaltung für den OPCUA-Server (Benutzer hinzufügen/löschen) +- **Datenbank-Einstellungen:** + - Gesamte Datenbank löschen + - Konfiguration löschen + - Systemmeldungen löschen + - Logger-Daten (Messwerte) löschen +- **NTP-Einstellungen:** + - Konfiguration von bis zu 3 NTP-Servern + - Zeitzone einstellen + - Aktivierung/Deaktivierung der NTP-Synchronisation ### 🔌 **/system** @@ -88,6 +125,14 @@ npm run dev # öffnen unter: http://localhost:3000 + +# --- +# Wichtig: +# Am Ende immer ein Build erzeugen, damit das statische Verzeichnis /out erstellt wird +npm run build + +# Das Verzeichnis /out wird erzeugt. +# Dieses /out muss per FTP auf das CPL-Gerät (z.B. B:/WEBS/) hochgeladen werden. ``` --- @@ -105,18 +150,55 @@ npm run build ## 📅 Redux-Management -| Slice | Zweck | -| :------------------ | :------------------------------------------------------------ | -| systemVoltTempSlice | Verwaltung von Spannungs-/Temperaturdaten & Historie | -| tdrChartSlice | Verwaltung der TDR-Messkurven | -| loopChartSlice | Verwaltung Schleifen-/Isolationsmessung | -| weitere Slices | für digitale Eingänge, analoge Eingänge, Systemmeldungen etc. | +### Slices (State Management) -### Thunks +| Slice Name | Zweck | +| :--------------------------------- | :---------------------------------------------------- | +| `authSlice` | Authentifizierung und Admin-Login Status | +| `kueChartModeSlice` | Modusumschaltung der KUE-Diagramme | +| `webVersionSlice` | Anzeige der Web-Frontend Version | +| `kabelueberwachungChartSlice` | Visualisierung der Baugruppenträger/Slots | +| `last20MessagesSlice` | Verwaltung der letzten 20 Systemmeldungen | +| `systemSettingsSlice` | Verwaltung der Systemeinstellungen | +| `opcuaSettingsSlice` | Verwaltung von OPC UA Server und Benutzer | +| `digitalOutputsSlice` | Verwaltung der digitalen Ausgänge | +| `digitalInputsSlice` | Verwaltung der digitalen Eingänge | +| `analogeEingaengeSlice` | Verwaltung der analogen Eingänge | +| `brushSlice` | Zoom- und Bereichsauswahl in Charts | +| `tdrChartSlice` | Verwaltung der TDR-Messkurven | +| `tdrReferenceChartSlice` | Verwaltung der TDR-Referenzkurven | +| `loopChartSlice` | Verwaltung der Schleifen-/Isolationsmessung | +| `tdmChartSlice` | Verwaltung von TDM (Multiple TDR) Messungen | +| `tdrDataByIdSlice` | Verwaltung von TDR-Daten über ID | +| `kueDataSlice` | Verwaltung der KUE Slots und Module | +| `selectedChartDataSlice` | Verwaltung selektierter Chart-Daten | +| `tdmSingleChartSlice` | Verwaltung einzelner TDM-Messungen | +| `tdrReferenceChartDataBySlotSlice` | Verwaltung von Referenzdaten pro Slot | +| `loopChartTypeSlice` | Verwaltung der aktuellen Messart (Schleife/Isolation) | +| `systemVoltTempSlice` | Verwaltung der Systemspannungen und Temperaturen | -- `fetchSystemVoltTempThunk.ts` -- `fetchDigitalOutputsThunk.ts` -- `fetchAnalogeEingaengeThunk.ts` +--- + +### Thunks (Asynchrone API-Abfragen) + +| Thunk Name | Zweck | +| :-------------------------------------- | :-------------------------------------- | +| `fetchSystemVoltTempThunk` | Lade Systemspannungen und Temperaturen | +| `fetchDigitalOutputsThunk` | Lade Status der digitalen Ausgänge | +| `fetchDigitalInputsThunk` | Lade Status der digitalen Eingänge | +| `fetchAnalogeEingaengeThunk` | Lade analoge Eingänge | +| `fetchTDRChartDataThunk` | Lade TDR-Messkurve für einen Slot | +| `fetchTDRReferenceChartThunk` | Lade TDR-Referenzkurve | +| `fetchLoopChartDataThunk` | Lade Schleifen- und Isolationsmesswerte | +| `fetchLast20MessagesThunk` | Lade letzte 20 Systemmeldungen | +| `fetchKabelueberwachungChartThunk` | Lade Visualisierungsdaten der Slots | +| `fetchTDMChartThunk` | Lade TDM (Multiple TDR) Messungen | +| `fetchTDRDataByIdThunk` | Lade TDR-Daten anhand einer ID | +| `fetchTdmSingleChartThunk` | Lade Einzel-TDM-Messung | +| `fetchSelectedChartDataThunk` | Lade selektierte Diagrammdaten | +| `fetchTDRReferenceChartDataBySlotThunk` | Lade Referenzkurven pro Slot | +| `fetchSystemSettingsThunk` | Lade Systemeinstellungen | +| `fetchOpcuaSettingsThunk` | Lade OPC UA Einstellungen und Benutzer | ---