03 Mit Variablen arbeiten
Dashboard-Variablen für dynamische Standort- und Maschinenauswahl in Grafana.
In diesem Tutorial erstellst du Dropdown-Variablen für Standort und Maschine und setzt sie in Queries, Filtern und Panel-Titeln ein:

Was du lernst
Was Dashboard-Variablen sind und wann du sie brauchst
Standort-Dropdown aus der ENLYZE API erstellen
Verkettetes Maschinen-Dropdown mit API-Filter
Variablen in URLs, Query-Parametern und Panel-Titeln einsetzen
Debug-Technik: Variablenwerte als Tabelle anzeigen
Variablen-Syntax (
${var},${var:text},${var:csv})
Voraussetzungen
Einführung in die ENLYZE API und API abfragen abgeschlossen
Verständnis von GET-Anfragen, Root Selectors und JSONata
Was sind Dashboard-Variablen?
Variablen sind Platzhalter, die zur Laufzeit durch einen konkreten Wert ersetzt werden. Statt eine Maschinen-UUID fest in jede Query zu schreiben, verwendest du ${machine}. Wechselst du die Maschine im Dropdown, aktualisieren sich alle Panels automatisch.
Variablen lassen sich einsetzen in:
URL-Pfaden:
machines/${machine}Query-Parametern:
machine=${machine}Root Selectors: JSONata-Filter mit
${site}Panel-Titeln:
Machines at ${site:text}
Standort-Variable erstellen
Erstelle ein neues Dashboard und öffne Dashboard Settings (Zahnrad oben rechts)
Wechsle zum Tab Variables und klicke + New variable
Konfiguriere die Variable:
Variable type
Query
Name
site
Label
Site
Data source
ENLYZE API
Query type
Infinity
Type
JSON
Parser
JSONata (Backend)
Source
URL
Method
GET
URL
sites
Root selector
$.data
Klappe Parsing options & Result fields auf und füge unter Columns hinzu:
name
Name
String
uuid
UUID
String
Die erste Spalte wird zum Anzeigenamen im Dropdown, die zweite zum gespeicherten Wert (UUID).
Stelle unter Selection options ein:
Sort: Alphabetical (asc)
Refresh: On dashboard load
Klicke Apply und dann Save dashboard
Zurück auf dem Dashboard siehst du oben ein Site-Dropdown mit den verfügbaren Standorten.
Verkettetes Dropdown: Maschine nach Standort
Das Maschinen-Dropdown soll nur Maschinen des gewählten Standorts anzeigen. Dafür übergibst du die site-Variable als Query-Parameter an die API.
Öffne erneut Dashboard Settings > Variables > + New variable
Konfiguriere die Variable:
Variable type
Query
Name
machine
Label
Machine
URL
machines
Root selector
$.data
Füge unter URL Query Params hinzu:
site
${site}
Columns wie bei
site:name(Name),uuid(UUID)Sort: Alphabetical (asc), Refresh: On dashboard load
Die API filtert serverseitig und liefert nur Maschinen des gewählten Standorts zurück. Wechselst du den Standort, aktualisiert sich die Maschinenliste automatisch.
Die Reihenfolge der Variablen ist wichtig: machine hängt von site ab. Grafana wertet Variablen in der Reihenfolge aus, in der sie definiert sind. site muss vor machine stehen.
Variablen in Panels einsetzen
Erstelle Panels, die die Variablen nutzen. Hier drei typische Muster:
URL-Pfad: Ausgewählte Site anzeigen
Erstelle ein Stat-Panel mit der Query:
URL
sites/${site}
Root selector
(leer)
Unter Stat > Value options setze Fields auf /^name$/. Das Panel zeigt den Namen des gewählten Standorts.
JSONata-Filter im Root Selector
Nicht jede API unterstützt serverseitiges Filtern. In solchen Fällen kannst du die Antwort client-seitig mit JSONata filtern. Erstelle ein Table-Panel, das alle Maschinen lädt und im Root Selector nach Standort filtert:
URL
machines
Root selector
$filter($.data, function($v){ $v.site = "${site}" })
Füge Columns hinzu: name (Machine Name), uuid (UUID), genesis_date (Connected Since).

Wenn die API einen passenden Filter-Parameter anbietet (wie site beim machines-Endpunkt), nutze diesen statt JSONata. Das ist effizienter, weil weniger Daten übertragen werden. JSONata-Filter im Root Selector sind dann nützlich, wenn kein serverseitiger Filter verfügbar ist.
Query-Parameter: Produktionsdaten
Erstelle ein Table-Panel für Aufträge:
URL
production-runs
Root selector
$.data
Füge unter URL Query Params hinzu:
machine
${machine}
start
${__from:date:iso}
end
${__to:date:iso}

Panel-Titel mit Variablen
Du kannst Variablen auch im Panel-Titel verwenden. Setze den Titel auf Machines at ${site:text}. Der Platzhalter ${site:text} wird durch den Anzeigenamen (z.B. "Köln") ersetzt, nicht durch die UUID.
Debug-Tipp: Variablenwerte anzeigen
Im Dropdown siehst du den Anzeigenamen, aber die Query verwendet die UUID. Um beide Werte nebeneinander zu sehen, erstelle ein Table-Panel mit Inline-Daten:
Erstelle ein neues Panel mit Visualisierung Table
Wähle als Source Inline statt URL
Gib folgendes JSON ein:

Die Tabelle zeigt dir genau, welche Werte Grafana einsetzt. Das ist besonders hilfreich, wenn eine Query nicht funktioniert und du prüfen willst, ob die richtige UUID übergeben wird.
Variablen-Syntax
${var}
Wert (UUID)
a5eae328-d880-...
${var:text}
Anzeigename
Köln
${var:csv}
Komma-separiert (Multi-Select)
uuid1,uuid2
${var:json}
JSON-Array (Multi-Select)
["uuid1","uuid2"]
${var:pipe}
Pipe-separiert (Multi-Select)
uuid1|uuid2
Die Formate :csv, :json und :pipe sind besonders bei Multi-Select-Variablen relevant. Diese lernst du im nächsten Tutorial.
Tipps
Variablen benennen: Verwende kurze, beschreibende Namen wie
site,machine,product. Vermeide Leerzeichen und Sonderzeichen.Refresh-Strategie: Verwende "On dashboard load" für Variablen, die sich selten ändern (Standorte, Maschinen). Verwende "On time range change" für zeitabhängige Werte.
Reihenfolge = Abhängigkeit: Variablen werden in der definierten Reihenfolge ausgewertet. Abhängige Variablen müssen nach ihren Abhängigkeiten stehen.
Debug zuerst: Wenn eine Query nicht das erwartete Ergebnis zeigt, prüfe zuerst die Variablenwerte mit der Debug-Tabelle.
Nächste Schritte
Fortgeschrittene Variablen — Multi-Select, Repeat-Panels und versteckte Variablen für OEE pro Maschine
Zuletzt aktualisiert