01 Produktionsstatus-Dashboard
Produktionsstatus-Dashboard mit konstantem Variablen-Ansatz.
In diesem Tutorial baust du ein Dashboard, das den aktuellen Produktionsstatus zweier Maschinen nebeneinander zeigt. Konstante Variablen speichern die Maschinen-UUIDs, alle Daten kommen über die ENLYZE API:

Was du lernst
Konstante Variablen für feste Maschinenkonfigurationen
Maschinennamen über die API holen statt hartcodieren
Laufende Aufträge mit JSONata erkennen
OEE-Kennzahlen aus Production Runs anzeigen
Multi-Maschinen-Layout mit Side-by-Side-Panels
Voraussetzungen
ENLYZE API abfragen, Variablen und Fortgeschrittene Variablen abgeschlossen
Verständnis des
production-runs-Endpoints und von JSONata
Wann konstante Variablen?
In Variablen und Fortgeschrittene Variablen hast du Query-Variablen mit Dropdown-Auswahl erstellt. Für Shopfloor-Displays oder Statusmonitore, die immer dieselben Maschinen zeigen, ist ein Dropdown unnötig.
Konstante Variablen lösen diesen Fall:
Feste Konfiguration: Die Maschinen-UUIDs stehen direkt in den Variable-Settings
Versteckt:
Hide: Variableblendet sie aus, da Nutzende sie nicht ändern sollenEinziger Konfigurationspunkt: Um eine Maschine zu tauschen, änderst du nur die Variable statt jede Query einzeln
Konstante Variablen erstellen
Erstelle ein neues Dashboard und lege zwei konstante Variablen an:
machine1
Constant
141e0927-62b3-4e76-8398-ad82d20f397f
Variable
machine2
Constant
f5c0b9d4-e89e-43ad-b81c-16bd5cbe3646
Variable
Die UUIDs findest du in der ENLYZE Web App oder über den machines-Endpoint.
Maschinennamen anzeigen
Statt den Maschinennamen als weitere Konstante zu speichern, holst du ihn über die API. So bleibt der Name aktuell, wenn er in ENLYZE umbenannt wird.
Erstelle ein Stat-Panel mit diesen Einstellungen:
URL
machines/${machine1}
Root selector
(leer)
Unter Value options > Fields wähle name aus dem Dropdown. So zeigt das Panel nur den Maschinennamen an.

Das Pattern kennst du aus Variablen: Die API gibt ein JSON-Objekt mit allen Feldern der Maschine zurück. Über den Field-Selektor zeigt das Panel nur das name-Feld an.
Konfiguriere das Panel:
Color mode: None
Text mode: Value
Transparent: Aktivieren (für ein sauberes Layout ohne Panel-Rahmen)
Laufenden Auftrag erkennen
Der production-runs-Endpoint gibt Aufträge nach Startzeit sortiert zurück. Der neueste Auftrag steht an Position [0]. Hat er keinen end-Zeitpunkt, läuft er noch.
Status-Indikator
Erstelle ein Stat-Panel:
URL
production-runs
Query Params
machine=${machine1}, start=${__from:date:iso}, end=${__to:date:iso}
Root selector
$.data[0].end = null ? "Running" : "Completed"
Der Root Selector ist ein JSONata-Ausdruck: Wenn end des neuesten Auftrags null ist, gibt er "Running" zurück, sonst "Completed".
Unter Value Mappings zwei Einträge erstellen:
Running
Running
Grün
Completed
Completed
Blau
Setze Color mode auf Background.
Laufender Auftrag
Erstelle ein zweites Stat-Panel für die Auftragsnummer:
URL
production-runs
Query Params
machine=${machine1}, start=${__from:date:iso}, end=${__to:date:iso}
Root selector
$.data[0].production_order

OEE des letzten Auftrags
Der production-runs-Endpoint liefert OEE-Kennzahlen pro Auftrag mit. Erstelle vier Stat-Panels für OEE, Availability, Performance und Quality.
OEE-Panel
URL
production-runs
Query Params
machine=${machine1}, start=${__from:date:iso}, end=${__to:date:iso}
Root selector
$.data
Klappe Parsing options & Result fields auf und füge eine Column hinzu:
productivity.score
Productivity
Number
Konfiguriere das Panel:
Unit: Percent (0.0-1.0)
Color mode: Background
Thresholds: Rot (Basis), Gelb (0.6), Grün (0.8)
Value Mapping:
null→ "NO DATA" (Grau)
Warum Columns statt Root Selector?
Es wäre naheliegend, den Score direkt im Root Selector zu extrahieren, z.B. $.data[0].productivity.score. Das funktioniert, solange die API Daten zurückliefert. Läuft eine Maschine im gewählten Zeitraum jedoch nicht, ist $.data ein leeres Array. Der Zugriff auf [0] schlägt dann fehl und Grafana zeigt einen Fehler statt eines leeren Panels.
Die Lösung: Setze den Root Selector auf $.data und extrahiere den Wert über eine Column (productivity.score). Gibt es keine Daten, liefert die Column null zurück. Diesen null-Wert kannst du dann mit einem Value Mapping als "NO DATA" anzeigen.
Weitere OEE-Panels
Erstelle nach dem gleichen Muster Panels für:
Availability
$.data
availability.score
Performance
$.data
performance.score
Quality
$.data
quality.score
Konfiguriere für alle Panels ein Value Mapping für null → "NO DATA" in Grau. Nicht alle Maschinen liefern Qualitätsdaten, und Maschinen ohne Produktion im gewählten Zeitraum zeigen für alle Kennzahlen "NO DATA".

Auftragsdetails-Tabelle
Zeige die letzten Aufträge mit OEE-Details als Tabelle.
Erstelle ein Table-Panel:
URL
production-runs
Query Params
machine=${machine1}, start=${__from:date:iso}, end=${__to:date:iso}
Root selector
$.data
Füge unter Parsing options & Result fields Columns hinzu:
production_order
Order
String
start
Start
Timestamp
productivity.score
OEE
Number
quantity_yield.value
Yield
Number
Konfiguriere einen Field Override für die OEE-Spalte:
Unit: Percent (0.0-1.0)
Min: 0, Max: 1
Cell type: Gauge (basic)
Color scheme: Continuous - RdYlGr

Zweite Maschine hinzufügen
Dupliziere alle Panels der ersten Maschine und ersetze ${machine1} durch ${machine2} in jeder Query. Positioniere die Panels nebeneinander: Linke Seite (x=0, Breite 12) für Machine 1, rechte Seite (x=12, Breite 12) für Machine 2.
Für Dashboards mit vielen Maschinen ist das manuelle Duplizieren unpraktisch. Nutze stattdessen das Repeat-Pattern aus Fortgeschrittene Variablen, um Panels automatisch für jede Maschine zu wiederholen.
Tipps
Auto-Refresh: Für Shopfloor-Displays ein Aktualisierungsintervall von 30 Sekunden bis 1 Minute einstellen (oben rechts neben der Zeitauswahl).
Laufende Aufträge: Die API gibt Aufträge nach Startzeit sortiert zurück.
$.data[0]ist immer der neueste Auftrag im gewählten Zeitraum.Weitere Maschinen: Für jede zusätzliche Maschine eine Konstante hinzufügen und die Panels duplizieren. Ab drei oder mehr Maschinen lohnt sich das Repeat-Pattern aus Fortgeschrittene Variablen.
Nächste Schritte
OEE-Dashboard — Aggregierte OEE-Berichte mit dem
productivity-metrics-Endpoint erstellen
Zuletzt aktualisiert