Node-RED & AutomatisierungEinsteiger6 Min

Node-RED für Einsteiger: Installation, Editor & erster Flow

Von der Installation über alle wichtigen Einstellungen bis zum ersten laufenden Flow: Dieser Guide bringt dich Schritt für Schritt in Node-RED hinein — verständlich, mit echten Screenshots und ohne Vorwissen.

Node-RED ist eine der einfachsten Arten, Geräte, Daten und Dienste miteinander zu verbinden — ganz ohne klassisches Programmieren. Statt Code schreibst du Flows: Du ziehst Bausteine auf eine Fläche und verbindest sie mit Linien. Dieser Guide bringt dich Schritt für Schritt hinein — vom Start über alle wichtigen Einstellungen bis zum ersten laufenden Flow. Kein Vorwissen nötig, alle Bilder sind echte Screenshots.

Voraussetzung: eine laufende Node-RED-Instanz. Wie du Node-RED mit Docker in wenigen Minuten startest, zeigt die Anleitung «Docker Compose — erste Schritte». Hier geht es um die Bedienung und die Einstellungen.

Was ist Node-RED — in einem Satz

Node-RED ist ein grafischer Editor, in dem du Logik verdrahtest statt programmierst: Ein Baustein liefert Daten (z. B. ein Sensor), der nächste verarbeitet sie, der übernächste zeigt sie an oder schickt sie weiter. Wie das im Prinzip funktioniert, erklärt der Wissens-Eintrag zu Node-RED mit einer Animation. In diesem Guide bauen wir es praktisch nach.

Node-RED starten (mit Docker)

Der schnellste Weg zu einer eigenen Instanz ist Docker. Diese `compose.yaml` genügt:

1services:
2 node-red:
3 image: nodered/node-red:latest
4 container_name: node-red
5 ports:
6 - "1880:1880"
7 volumes:
8 - node_red_data:/data # wichtig: sonst sind Flows nach Neustart weg
9 restart: unless-stopped
10
11volumes:
12 node_red_data:

Starten mit `docker compose up -d`, danach den Editor im Browser öffnen: `http://DEINE-SERVER-IP:1880`. Fertig — du siehst den leeren Editor.

Das Volume node_red_data:/data ist entscheidend: Dort liegen deine Flows, Einstellungen und installierten Nodes. Ohne Volume wäre nach jedem Neustart alles weg.

Der Editor — die drei Bereiche

Der Editor besteht aus drei Teilen: Links die Palette mit allen verfügbaren Bausteinen (Nodes), in der Mitte die Arbeitsfläche (der Flow), rechts die Seitenleiste mit Info- und Debug-Bereich. Ganz oben rechts sitzt der wichtigste Knopf: Deploy — damit schaltest du Änderungen aktiv.

Ein Node ist ein einzelner Baustein, ein Flow ist die verdrahtete Kette aus Nodes auf einer Registerkarte. Mehrere Flows organisierst du über die Tabs oben.

Die wichtigsten Benutzer-Einstellungen

Über das Menü oben rechts (☰) → Einstellungen stellst du den Editor auf dich ein. Am nützlichsten für den Start:

Sprache — Node-RED übernimmt standardmässig die Browser-Sprache. Theme — unter «Appearance» kannst du auf ein dunkles Design umstellen. Ansicht (View) — das Gitter und «Snap to grid» helfen, Nodes sauber auszurichten. Tastatur (Keyboard) — hier siehst du alle Tastenkürzel; die wichtigsten sind gleich unten.

Merke dir diese drei Kürzel: Strg-E (Export), Strg-I (Import) und Strg-Leertaste (Seitenleiste ein-/ausblenden).

settings.js — die zentrale Konfigurationsdatei

Über die Benutzer-Einstellungen hinaus wird Node-RED über eine Datei gesteuert: `settings.js`. Bei der Docker-Installation von oben liegt sie im Volume unter `/data/settings.js`. Vier Einstellungen solltest du kennen:

1) adminAuth — der Login (unbedingt setzen!). Ohne adminAuth kann jeder, der die Adresse kennt, deinen Editor öffnen und verändern. So schaltest du einen Login ein:

1adminAuth: {
2 type: "credentials",
3 users: [{
4 username: "admin",
5 // Passwort-Hash im Container erzeugen (siehe Text unten)
6 password: "$2b$08$...dein-passwort-hash...",
7 permissions: "*"
8 }]
9},

Den Passwort-Hash erzeugst du im laufenden Container mit dem Befehl `docker exec -it node-red npx node-red admin hash-pw` und trägst ihn oben ein.

2) credentialSecret — Node-RED verschlüsselt gespeicherte Zugangsdaten (z. B. MQTT-Passwörter). Setze einen festen Schlüssel, sonst gehen die Credentials bei einem Umzug verloren:

1credentialSecret: "ein-langes-zufaelliges-geheimnis",

3) editorTheme — hier lässt sich der Editor umbenennen und optisch anpassen. 4) contextStorage — damit überlebt der «Kontext» (Zwischenspeicher deiner Flows) einen Neustart, statt nur im Arbeitsspeicher zu liegen.

Stelle Node-RED niemals ungeschützt ins Internet. Setze mindestens adminAuth, betreibe den Editor über HTTPS (z. B. hinter einem Reverse-Proxy wie nginx oder Caddy) und öffne Port 1880 nicht direkt nach aussen. Ein offener Node-RED-Editor ist ein Fernzugriff auf dein ganzes System.

Nodes installieren — der Palette-Manager

Die eingebauten Nodes decken viel ab, aber die Stärke von Node-RED ist die riesige Community-Palette. Über Menü (☰) → Palette verwalten → Reiter «Installieren» durchsuchst du tausende Zusatz-Nodes. Tippe z. B. `node-red-dashboard` ein, um eine Web-Oberfläche zu ergänzen, und klicke auf «Installieren».

Nach der Installation tauchen die neuen Bausteine automatisch links in der Palette auf. Ein Neustart ist nicht nötig.

Dein erster Flow — Schritt für Schritt

Wir bauen einen kleinen, vollständigen Flow: Ein Wert wird erzeugt, geprüft und angezeigt. Genau dieses Muster — Eingang → Verarbeitung → Ausgang — steckt hinter fast jedem Node-RED-Projekt.

Schritt 1: Der Eingang. Zieh einen `inject`-Node aus der Palette (Bereich «common») auf die Fläche. Der inject-Node löst eine Nachricht aus — per Klick oder automatisch im Intervall. Doppelklick öffnet seine Einstellungen; dort kannst du z. B. eine Zahl als `msg.payload` und «wiederhole alle 5 Sekunden» einstellen.

Schritt 2: Die Verarbeitung. Zieh einen `function`-Node daneben und mach einen Doppelklick. Im Editor schreibst du etwas JavaScript, das die Nachricht `msg` verändert und mit `return msg` weitergibt:

1if (msg.payload > 25) {
2 msg.status = "zu warm";
3} else {
4 msg.status = "ok";
5}
6return msg;

Schritt 3: Der Ausgang. Zieh einen `debug`-Node ans Ende. Er zeigt an, was bei ihm ankommt — das ideale Werkzeug, um zu sehen, ob dein Flow funktioniert.

Schritt 4: Verdrahten. Zieh mit der Maus vom kleinen Anschluss rechts am inject-Node zum Eingang des function-Nodes, und von dort weiter zum debug-Node. Die grauen Linien zeigen, wie die Nachricht fliesst.

Deploy — Änderungen aktiv schalten

Alles, was du im Editor baust, ist zunächst nur ein Entwurf. Erst ein Klick auf Deploy (oben rechts) macht es «scharf» und lässt den Flow wirklich laufen. Solange es ungespeicherte Änderungen gibt, ist der Deploy-Knopf rot eingefärbt.

Über den kleinen Pfeil neben «Deploy» wählst du, wie viel neu geladen wird: Full (alle Flows), Modified Flows (nur geänderte Registerkarten) oder Modified Nodes (nur geänderte Nodes). Für den Anfang ist «Full» völlig in Ordnung.

Der Debug-Bereich — sehen, was passiert

Klick jetzt links am inject-Node auf den kleinen Knopf (oder warte auf das Intervall). Rechts im Debug-Bereich erscheint die Nachricht — im Bild siehst du das Objekt mit `payload: 22.5` und `status: "ok"`. Genau das hat dein function-Node ergänzt.

Der Debug-Bereich ist dein wichtigstes Diagnose-Werkzeug: Jeder debug-Node kann per Klick auf sein kleines Blatt-Symbol ein- und ausgeschaltet werden, und du kannst wählen, ob nur `msg.payload` oder die ganze Nachricht angezeigt wird.

Flows sichern — Import & Export

Deine Flows sind reines JSON — das macht sie leicht sicherbar und teilbar. Mit Strg-E öffnest du den Export-Dialog: Du kannst den aktuellen Flow, alle Flows oder nur die markierten Nodes exportieren, entweder in die Zwischenablage kopieren oder als Datei herunterladen.

Umgekehrt fügst du mit Strg-I fremde Flows ein — so übernimmst du Beispiele aus dem Internet mit wenigen Klicks. Ein regelmässiger Export ist ausserdem dein einfachstes Backup.

Absichern, bevor es online geht

Bevor deine Instanz von aussen erreichbar wird, geh diese Checkliste durch:

1) Login aktivieren — adminAuth in `settings.js` setzen (siehe oben). 2) Verschlüsselung — den Editor nur über HTTPS ausliefern, am besten hinter einem Reverse-Proxy (nginx, Caddy, Traefik). 3) Nicht direkt exponieren — Port 1880 nicht offen ins Internet legen; besser per VPN, IP-Beschränkung oder Reverse-Proxy mit zusätzlicher Absicherung. 4) Updates — das Docker-Image regelmässig aktualisieren.

Ein häufiger Anfängerfehler: Node-RED «zum Testen» ungeschützt aufs offene Internet stellen. Angreifer finden solche Instanzen automatisiert — und über bestimmte Nodes lässt sich damit dein Server übernehmen. Erst absichern, dann exponieren.

Wie geht es weiter?

Du kennst jetzt die Bedienung, die Einstellungen und den ersten Flow. Die nächsten Schritte:

Konzepte vertiefen: «Node-RED Grundlagen» erklärt das Nachrichten-Modell (`msg`) genauer. Eine Oberfläche bauen: «Node-RED Dashboard bauen» zeigt Schritt für Schritt Anzeigen, Regler und Diagramme. Daten speichern: «InfluxDB mit Node-RED verwalten» schreibt Messwerte in eine Zeitreihen-Datenbank. Nach aussen verbinden: «Node-RED mit IFTTT verbinden» löst Aktionen per Webhook aus.

Und wenn du das Prinzip nochmal animiert sehen willst: der Wissens-Eintrag zu Node-RED im Wissen-Hub fasst es in einer kurzen, klickbaren Animation zusammen.