Echtzeit-Daten in der Industrie: Socket.io für GLT-Dashboards
Wenn eine Heizkraftzentrale einen Frostschutz-Alarm meldet oder ein Rückkühlwerk den Sollwert verlässt, darf der Wert nicht erst beim nächsten Seiten-Reload erscheinen. Klassisches HTTP-Polling — alle paar Sekunden „Gibt es Neues?" — erzeugt Overhead, verzögert Reaktionen und skaliert schlecht bei tausenden Datenpunkten.
Für Animus Industries GLT, unser On-Premise-Gebäudeleitsystem, haben wir deshalb von Anfang an auf Echtzeit-Architektur gesetzt — nicht als Feature, sondern als Fundament.
Architektur auf einen Blick
Die GLT läuft als getrenntes Frontend (Next.js auf Port 3005) und Backend (Node.js/Express auf Port 3001) auf einem Industrie-PC. Der entscheidende Kanal:
Logic-Engine (2 s Tick) → systemState (RAM) → Socket.io emit('state_update') → React Dashboard
Sobald die Logic-Engine einen neuen Anlagenzustand berechnet, pusht der Server das komplette systemState-Objekt an alle verbundenen Clients. Zusätzlich fließen semantische Haystack-Entitäten über haystack_update — wichtig für Explorer, Katalog und strukturierte OT-Daten.
JWT-gesicherte WebSockets
REST und WebSocket nutzen dieselbe JWT-Session. Der Client verbindet sich mit auth: { token } — keine parallele Auth-Logik, kein Session-Leak zwischen HTTP und Socket. Das vereinfacht Audits und entspricht dem Sicherheitsniveau, das Facility Manager und Integratoren erwarten.
Rendering-Strategien für SCADA & Dashboards
Das Pushen der Daten ist nur die halbe Miete. Ein GLT-Dashboard mit Alarmleiste, Zeitreihen, Zonensteuerung und Kategorie-KPIs darf bei jedem Tick nicht komplett neu rendern.
Unsere Praxis bei Animus Digital:
- Granulares State-Update: Nur betroffene Widgets reagieren auf
state_update— nicht die gesamte Page. - Server-seitiges Throttling: Sensoren mit 100 Hz werden in der Logic-Engine aggregiert, bevor sie den Client erreichen.
- Canvas für Zeitreihen: Historien-Charts (z. B. Außentemperatur) laufen über GPU-beschleunigtes Canvas-Rendering statt tausender SVG-Knoten.
- Getrennte Live- und Config-Pfade: SCADA-Anlagenbilder und Grundriss-Karten haben eigene Update-Zyklen — Engineering-Modus vs. Live-Modus.
On-Premise statt Cloud-Latenz
GLT-Systeme operieren im OT-Netz. Echtzeit-Daten bleiben auf dem IPC — keine Roundtrips über externe Cloud-Regionen. Socket.io auf localhost bedeutet sub-Millisekunden-Latenz zwischen Logic-Engine und Browser, auch wenn der Schichtleiter nur ein Tablet im Technikraum nutzt.
Das Ergebnis
Das Resultat ist eine Oberfläche, die sich nicht wie „Industrie-Software von 2005" anfühlt: Dark-Mode-Dashboard, interaktiver Grundriss über neun Etagen, Kiosk-Terminals und SCADA-Editor im selben System. Moderne Web-Technologie auf dem Shop-Floor — ohne Kompromisse bei Echtzeit und Sicherheit.
→ Case Study: Animus Industries GLT
