Node-RED Flowdiagramm auf einem Monitor in einem Entwickler-Arbeitsplatz

Node-RED in Home Assistant – Automationen visuell erstellen 2026

Home Assistant’s eingebauter Automationseditor ist gut für einfache Abläufe. Sobald du aber komplexere Logik, Verzweigungen, Schleifen oder externe APIs einbinden willst, stößt er an Grenzen. Node-RED ist das visuelle Programmierwerkzeug, das diese Lücke füllt: Automationen werden als Flussdiagramme auf einer Leinwand zusammengeklickt – kein YAML, keine Programmiersprache nötig.

In diesem Guide lernst du, wie du Node-RED als Add-on installierst, mit Home Assistant verbindest und deine ersten Flows baust.

Voraussetzungen: Home Assistant OS oder Supervised auf einem Raspberry Pi. Node-RED läuft als Add-on direkt in HA – keine separate Installation nötig.

Inhalt

Was ist Node-RED und wann lohnt es sich?

Node-RED ist eine von IBM entwickelte, Open-Source Flow-Programmierumgebung, die ursprünglich für IoT-Projekte gebaut wurde. Kernkonzept: Funktionsblöcke (Nodes) werden durch Verbindungslinien (Wires) zu Workflows (Flows) zusammengesetzt. Daten fließen als JavaScript-Objekte (Nachrichten) von Node zu Node.

Node-RED lohnt sich wenn du…

  • Komplexe Mehrfach-Verzweigungen brauchst (wenn A dann B, sonst wenn C dann D…)
  • Externe APIs abfragen willst (Wetter, Strompreise, Kalender)
  • Zeitpläne mit variablen Zeiten programmieren möchtest
  • Daten transformieren oder berechnen musst vor der Weiterverarbeitung
  • Flows visuell debuggen willst (jede Nachricht ist in Echtzeit sichtbar)
  • Mit MQTT direkt arbeiten willst (z. B. eigene Zigbee-Direktintegration)

HA-Automationen bleiben besser wenn…

  • Die Automation einfach ist (Trigger → Action ohne Logik)
  • Du sie per Sprachbefehl oder Blueprint einrichten willst
  • Du keine Lust auf eine weitere Oberfläche hast

Node-RED Add-on installieren

Node-RED ist nicht im Standard-Add-on-Store von Home Assistant enthalten, kann aber über ein Community-Repository hinzugefügt werden.

Schritt 1: Add-on-Store öffnen

Navigiere zu Einstellungen → Add-ons → Add-on-Store (Button unten rechts).

Schritt 2: Community-Repository hinzufügen

Klicke oben rechts auf die drei Punkte → „Repositories“. Füge folgende URL hinzu:

Klicke „Hinzufügen“ und warte, bis der Store neu geladen hat.

Schritt 3: Node-RED suchen und installieren

Suche im Add-on-Store nach „Node-RED“. Klicke auf das Add-on von Home Assistant Community Add-ons (nicht ein anderes gleichnamiges). Klicke „Installieren“ – der Download dauert ~2–3 Minuten.

Schritt 4: Konfiguration anpassen

Nach der Installation öffne den Reiter „Konfiguration“ im Add-on:

Wichtig: Ändere credential_secret zu einem sicheren Passwort. Es verschlüsselt gespeicherte Zugangsdaten in deinen Flows. Einmal gesetzt nicht mehr ändern – sonst müssen alle Credentials neu eingegeben werden.

Schritt 5: Add-on starten

Wechsle zum Reiter „Info“ und aktiviere:

  • „Beim Start starten“ → an
  • „Watchdog“ → an (Neustart bei Absturz)

Klicke „Starten“. Die Node-RED-Oberfläche ist jetzt über den Button „Web-Oberfläche öffnen“ erreichbar – oder direkt unter http://homeassistant.local:1880.

Mit Home Assistant verbinden

Das Add-on bringt die node-red-contrib-home-assistant-websocket-Bibliothek bereits vorinstalliert mit. Diese stellt alle HA-spezifischen Nodes bereit.

Verbindung konfigurieren

Beim ersten Start fragt Node-RED nach einer HA-Serververbindung. Ziehe eine beliebige HA-Node auf die Leinwand, öffne sie per Doppelklick und klicke auf den Stift-Button neben „Server“.

Trage ein:

  • Base URL: http://homeassistant.local:8123 (oder IP)
  • Access Token: Long-Lived Access Token aus HA

Long-Lived Access Token erstellen

In Home Assistant: Klicke auf dein Profil (unten links) → scrolle ganz nach unten → „Langlebige Zugriffstoken“ → „Token erstellen“. Gib dem Token einen Namen (z. B. „nodered“) und kopiere ihn – er wird nur einmal angezeigt.

Füge den Token in Node-RED ein und klicke „Hinzufügen“. Die Verbindung wird mit einem grünen „connected“-Label angezeigt.

Erste Flows bauen

Aufbau der Node-RED-Oberfläche

  • Linke Leiste: Palette mit allen verfügbaren Nodes
  • Mitte: Flow-Leinwand – hier baust du deine Flows
  • Rechte Leiste: Info zu ausgewählter Node / Debug-Ausgaben
  • Deploy-Button (oben rechts): Aktiviert Änderungen – immer nach Bearbeitung klicken

Erster Flow: Licht per Bewegungsmelder

  1. Suche in der Palette nach „events: state“ → auf die Leinwand ziehen
  2. Doppelklick → Server auswählen → Entity: binary_sensor.bewegungsmelder_flur_occupancy
  3. Aus der Palette „call service“ ziehen und mit dem ersten Node verbinden
  4. Doppelklick → Domain: light, Service: turn_on, Entity: light.flur
  5. „Deploy“ klicken

Wenn sich der Bewegungsmelder ändert (auf oder ab), schaltet das Licht ein. Zu simpel – im nächsten Abschnitt wird das verfeinert.

Die wichtigsten Nodes im Überblick

NodeKategorieFunktion
events: stateHA InputReagiert auf Statusänderungen von HA-Entitäten
call serviceHA OutputRuft einen HA-Dienst auf (light.turn_on etc.)
get entitiesHA InputLiest den aktuellen Zustand von Entitäten ab
current stateHA InputGibt den Zustand einer Entität bei Nachrichteneingang zurück
switchStandardVerzweigt Nachrichtenfluss anhand von Bedingungen
functionStandardBeliebiger JavaScript-Code zur Datentransformation
delayStandardVerzögert oder bremst den Nachrichtenfluss
injectStandardManueller Trigger oder Zeitplan (cron)
debugStandardZeigt Nachrichten in der Debug-Leiste an
http requestNetzwerkHTTP GET/POST zu externen APIs
mqtt in/outNetzwerkMQTT-Nachrichten empfangen/senden
changeStandardNachrichteneigenschaften setzen, löschen, verschieben

5 praktische Flow-Beispiele

Beispiel 1: Licht mit Ausschaltverzögerung

Flow: events: state (Bewegungsmelder) → switch (on/off) → delay (3 Min bei off) → call service (light)

Die switch-Node prüft msg.payload:

  • Ausgang 1: wenn == on → sofort zu „light.turn_on“
  • Ausgang 2: wenn == off → durch delay (3 Minuten) → „light.turn_off“

Wichtig: Den delay-Node im Modus „Delay each message“ belassen. Kommt während der Verzögerung erneut eine „on“-Nachricht, musst du den Timer zurücksetzen. Setze dafür in der delay-Node „Reset timer when new message arrives“ auf den gleichen Topic.

Beispiel 2: Strompreis-abhängige Automation (Tibber API)

Flow: inject (stündlich) → http request (Tibber GraphQL) → function (Preis auslesen) → switch (günstig/teuer) → call service

Beispiel 3: Wöchentlicher Automations-Report

Flow: inject (Montag 8:00) → get entities (alle Sensoren) → function (Zusammenfassung bauen) → call service (notify)

Beispiel 4: Mehrere Räume mit einer Logik

Anstatt 5 identische Automationen für 5 Zimmer zu bauen, nutzt Node-RED eine einzelne Logik für alle:

Beispiel 5: Kalender-Automation (Urlaub erkennen)

Flow: inject (täglich 06:00) → http request (Google Calendar iCal) → function (heute Urlaub?) → call service (input_boolean.urlaubsmodus setzen)

Node-RED vs. HA-Automationen – wann was?

KriteriumHA-AutomationenNode-RED
EinstiegSehr einfach (UI-Editor)Lernkurve ~1 Stunde
Komplexe LogikBegrenzt (choose/if-then)Beliebig komplex
Externe APIsÜber REST-Integration möglichNative http-request-Node
DebuggingTraces (gut)Echtzeit-Debug (sehr gut)
MQTT direktÜber IntegrationNative MQTT-Nodes
Blueprints / VorlagenJa (community.home-assistant.io)Ja (flows.nodered.org)
PerformanceSehr gut (in HA integriert)Gut (separater Prozess)
EmpfehlungFür 80% der AutomationenFür komplexe Spezialfälle

Tipps & Best Practices

Tipp 1: Flows sauber benennen und kommentieren

Doppelklicke auf einen leeren Bereich der Leinwand → füge eine Kommentar-Node ein. Beschrifte jeden Flow mit Zweck und Datum. Nach 3 Monaten wirst du dankbar sein.

Tipp 2: Subflows für Wiederverwendung

Wenn dieselbe Logik in mehreren Flows vorkommt, erstelle einen Subflow: Menü → „Subflow erstellen“. Subflows sind wie Funktionen – einmal definiert, mehrfach verwendbar.

Tipp 3: Flows exportieren / Backup

Menü → „Exportieren“ → „Alle Flows“ → in Datei speichern. Speichere dieses Backup regelmäßig und zusammen mit deinen HA-Backups. Die Flows liegen auch auf dem Pi unter:

Tipp 4: inject-Node zum Testen

Verbinde einen inject-Node mit jedem Flow-Eingang. Damit kannst du Flows per Klick manuell auslösen, ohne auf den echten Trigger warten zu müssen.

Tipp 5: catch-Node für Fehlerbehandlung

Füge einen catch-Node hinzu, der bei Fehlern im Flow eine Benachrichtigung schickt. So siehst du sofort, wenn etwas schiefläuft:

catchfunction (Fehlermeldung aufbereiten) → call service (notify)

Tipp 6: Kontext-Variablen für Zustandsspeicherung

Node-RED hat drei Speicher-Ebenen für persistente Daten:

  • msg.xxx – nur innerhalb einer Nachricht
  • flow.xxx – geteilt zwischen Nodes im gleichen Flow-Tab
  • global.xxx – geteilt zwischen allen Flows

FAQ

Verlangsamt Node-RED Home Assistant?

Minimal. Node-RED läuft als separates Add-on in einem eigenen Container. Auf einem Raspberry Pi 5 ist der Overhead kaum spürbar. Auf einem Pi 4 mit 2 GB RAM und 50+ komplexen Flows könnte es etwas mehr Ressourcen verbrauchen.

Kann ich bestehende HA-Automationen nach Node-RED migrieren?

Du musst nicht – beide Systeme arbeiten parallel. Node-RED greift über den WebSocket auf HA zu und kann HA-Entitäten lesen und schreiben. Einfache Automationen kannst du in HA lassen, nur komplexe in Node-RED umziehen.

Gibt es fertige Flows zum Download?

Ja – auf flows.nodered.org findest du tausende Flows. Klicke im Node-RED-Menü auf „Importieren“ → fürge den JSON-Code des Flows ein.

Wie aktualisiere ich Node-RED?

Im Home-Assistant-Add-on-Store erscheint bei verfügbaren Updates ein Hinweis. Klicke auf „Update“ – deine Flows bleiben erhalten, da sie separat von der Node-RED-Installation gespeichert werden.

Node-RED zeigt „disconnected“ – was tun?

Prüfe zuerst, ob HA läuft und erreichbar ist. Öffne einen der HA-Nodes → prüfe, ob die Base-URL und der Access-Token korrekt sind. Häufige Ursache: Der Token ist abgelaufen oder wurde gelöscht. Erstelle in HA einen neuen Token und trage ihn in Node-RED ein.

Kann Node-RED auch lokale Skripte ausführen?

Ja – mit der exec-Node kannst du Bash-Befehle auf dem Host ausführen (nur in Home Assistant OS eingeschränkt). Alternativ: HA-Skripte über call service (script.SCRIPTNAME) aufrufen.

Ähnliche Beiträge