← Anleitungen
Node-RED & AutomatisierungEinsteiger4 Min

Node-RED Grundlagen: Einstieg in die grafische Flow-Programmierung

Schritt-für-Schritt-Einstieg in Node-RED: Editor-Oberflaeche, Nodes per Drag-and-Drop verbinden, Flows aufbauen und Paletten erweitern.

Node-RED ist eine grafische Programmierumgebung, die ursprünglich von IBM entwickelt und 2013 als Open-Source-Projekt veröffentlicht wurde. Seit 2016 ist sie Teil der JS Foundation. Der Schwerpunkt liegt darauf, unterschiedliche Hardware, Dienste und Schnittstellen miteinander zu verbinden, ohne dafür viel Code schreiben zu müssen.

Diese Anleitung führt durch die wichtigsten Grundbegriffe und zeigt, wie ein erster Flow entsteht. Node-RED lässt sich plattformunabhängig betreiben – etwa nativ unter Linux oder per Docker auch auf anderen Betriebssystemen. Eine große Community stellt zahlreiche fertige Nodes und Flows kostenlos bereit, was den Einstieg deutlich erleichtert.

Die Oberfläche des Editors

Der Node-RED-Editor ist über den Browser erreichbar. Die Entwicklungsumgebung gliedert sich in mehrere Bereiche, die man von Anfang an kennen sollte:

Node-Palette mit allen verfügbaren Nodes, Kategorien zur Gruppierung der Nodes, die URL beziehungsweise Adresse des Node-RED-Webservers, Tab-Reiter für die einzelnen Flows, die Schaltflächen zum Speichern (Deploy) und Anmelden, das Menü oben rechts sowie der Informationsbereich mit den Reitern Info und Debug.

Die Node-Palette

Damit sich die zahlreichen Nodes effizient nutzen lassen, sind sie in Kategorien unterteilt, die als Paletten bezeichnet werden. Über das Suchfeld lässt sich ein Node schnell finden, indem man dessen Namen eingibt.

Die Paletten können bei Bedarf erweitert werden. Die Community bietet eine umfangreiche Sammlung zusätzlicher Nodes, die beim Erstellen komplexerer Anwendungen und Flows helfen. Durch Kategorisierung, Filter und Erweiterbarkeit entsteht eine flexible Entwicklungsumgebung.

Schritt für Schritt: vom Node zum Flow

Schritt 1. Nodes platzieren und verbinden. Ziehen Sie einen Node per Drag-and-Drop aus der Palette in den Editor. Jeder Node besitzt markierte Anschlusspunkte (Ports), über die er mit anderen Nodes verbunden wird. Der Nachrichtenfluss verläuft dabei immer von links nach rechts. Durch das Verketten mehrerer Nodes entstehen so auch komplexe Flows.

Schritt 2. Node-Informationen aufrufen. Viele Nodes bringen eine eigene Dokumentation mit. Wählen Sie den gewünschten Node im Editor aus, öffnen Sie den Info-Bereich und klicken Sie auf das Handbuch-Icon. Dort finden Sie eine Beschreibung der Eigenschaften, Funktionen und der Konfiguration des Nodes.

Schritt 3. Einen Node konfigurieren. Ein Doppelklick auf einen Node öffnet dessen Konfigurationsfenster, in dem sich die Einstellungen an die eigenen Anforderungen anpassen lassen. Ein typisches Beispiel ist der Inject-Node, mit dem sich definierte Nachrichten absetzen lassen – nützlich, um einen Flow manuell oder zeitgesteuert auszulösen.

Schritt 4. Flows über Tab-Reiter organisieren. Bei vielen Flows wird der Editor schnell unübersichtlich. Legen Sie deshalb mehrere Tab-Reiter an und verteilen Sie die Flows thematisch darauf. Das hält die Arbeitsfläche aufgeräumt und erleichtert die Wartung.

Schritt 5. Flow speichern und ausführen. Klicken Sie oben rechts auf Deploy. Damit wird der aktuelle Stand auf dem Node-RED-Server aktiv geschaltet und der Flow läuft.

Eine Nachricht aufbereiten

In Node-RED werden Daten als Nachrichtenobjekt (msg) zwischen den Nodes weitergegeben. Der eigentliche Inhalt liegt üblicherweise unter msg.payload. In einem Function-Node lässt sich dieser Inhalt mit JavaScript umformen. Das folgende Beispiel verpackt den eingehenden payload-Wert in eine verschachtelte Struktur, wie sie viele Zielsysteme erwarten:

1var msg1 = {};
2msg1.payload = {};
3msg1.payload.value = msg.payload;
4return msg1;

Der Aufbau des Nachrichtenobjekts hängt vom jeweiligen Zielsystem ab. Prüfen Sie in der Dokumentation der eingesetzten Nodes, welches Format erwartet wird.

Beispiel: Daten in eine InfluxDB schreiben

Ein praxisnaher Anwendungsfall: Daten werden über einen HTTP-Request abgerufen, im Flow aufbereitet und anschließend in einer InfluxDB gespeichert. Der Flow besteht dabei typischerweise aus einem Auslöser (zum Beispiel Inject oder ein zeitgesteuerter Node), einem HTTP-Request-Node, einem Function-Node zur Aufbereitung und einem InfluxDB-Out-Node als Ziel. Voraussetzung ist eine erreichbare InfluxDB-Instanz, die sich unter Linux oder per Docker bereitstellen lässt.

Zusätzliche Nodes installieren

Reichen die Standard-Nodes nicht aus, lassen sich weitere aus der Community nachinstallieren. Öffnen Sie dazu das Menü oben rechts und wählen Sie den Punkt Palette verwalten. Wechseln Sie auf den Reiter Installieren, suchen Sie nach dem gewünschten Node und klicken Sie auf Installieren. Der Node steht danach automatisch in der Palette zur Verfügung.

Fazit

Mit dem Verständnis der Editor-Oberfläche, dem Verbinden von Nodes, der Konfiguration einzelner Nodes und dem Erweitern der Palette sind die wichtigsten Grundlagen abgedeckt. Auf dieser Basis lassen sich von einfachen Datenflüssen bis hin zu komplexen Integrationen viele Aufgaben umsetzen – die große Auswahl an Community-Nodes erweitert die Möglichkeiten zusätzlich.