# SE Local Trenddata. Modernisierte Trendoberfläche für Wago-Bestandsdatenbanken mit React, Node.js, MariaDB, Redis, Dockhand und vorbereitetem Collector-Service. ## Enthalten - React-Frontend mit System-, Hell- und Dunkelmodus - Username-Login, Rollen, Passwortwechsel und Benutzerverwaltung - Alias-Verwaltung für `Wert1` bis `Wert200` je Trendtabelle - CSV-Import und CSV-Export für Aliasdaten - Gespeicherte Auswahlen über mehrere ISPs hinweg - Dashboard mit Graph-, Zahl- und Zeigermanometer-Widgets - Fokusansicht für den Trendgraph statt Browser-Vollbild - Export des Trendgraphs als CSV, XLSX, PNG, JPG, SVG und PDF - SQL-Import für vorhandene Langzeitdaten - Redis für Metadaten, Auswahlen, Dashboard und Benutzerpräferenzen - MariaDB-Init für `isp01` bis `isp20` plus `app_users` - Dockhand im Compose-Stack - Collector-Gerüst für spätere Modbus-, OPC-UA-, BACnet- und KNX-Anbindung ## Starten 1. Optional `.env.example` nach `.env` kopieren und Werte anpassen. 2. `docker compose up -d --build` 3. Frontend: `http://localhost:5173` 4. API: `http://localhost:18080/api` 5. Dockhand: `http://localhost:3000` 6. Collector: `http://localhost:18110/health` ## Standard-Login - Username: `admin` - Passwort: `ChangeMe123!` ## Datenbank-Kompatibilität - Bestehende Anlagen können weiter mit `root` und Passwort `SE3112` auf die MariaDB gehen. - Die API versucht zusätzlich als Fallback noch das ältere Root-Passwort `root`, damit vorhandene Entwicklungs-Volumes nicht sofort umgebaut werden müssen. ## Wago / SD-Karte - Für Wago-Systeme liegt mit [docker-compose.wago.yml](/C:/Projects/SeLTD/docker-compose.wago.yml) ein Override bereit. - Start auf Wago mit SD-Karte: `docker compose -f docker-compose.yml -f docker-compose.wago.yml up -d --build` - Dabei landen die großen Daten unter `/media/sd/seltd/...`. ## Hinweise - Vorhandene SQL-Dumps können im Admin-Bereich direkt importiert werden. - Leere Trendtabellen tauchen nicht im Trend-Dropdown auf, aber weiter im Admin-Bereich. - Der Collector ist bewusst erst als technisches Gerüst enthalten; Protokoll-Scan und Feldbus-Importe sind noch nicht vollständig implementiert. - Für Dockhand wurde der Container ergänzt. Eine sichere automatische Vorbelegung eines lokalen Admin-Users war ohne offizielle Initialisierungsdokumentation nicht belastbar genug und wurde deshalb nicht blind in die SQLite-Datenbank geschrieben.