Statusinformationen in Node-RED direkt an der jeweiligen Node darzustellen, ist besonders dann hilfreich, wenn ein Flow mit mehreren Verbindungen, Abfragen oder externen Geräten arbeitet. Natürlich kann man solche Informationen auch über eine zusätzliche Debug-Ausgabe sichtbar machen. Bei größeren Flows wird das jedoch schnell unübersichtlich: Der Flow wächst unnötig an, und im Debug-Fenster gehen wichtige Meldungen zwischen vielen anderen Ausgaben leicht unter.
Genau hier kommt das Feature Node Status ins Spiel. Damit lassen sich kurze Statusmeldungen direkt unterhalb einer Node anzeigen — also genau dort, wo die Information entsteht. Ob eine Verbindung aktiv ist, ein Fehler aufgetreten ist oder gerade Daten verarbeitet werden: Der Status bleibt sauber an der auslösenden Node hängen und macht den Flow deutlich übersichtlicher und besser nachvollziehbar.


Ein erstes Beispiel mit node.status()
Am einfachsten lässt sich die Statusanzeige mit einer Function Node testen. Dafür muss keine eigene Custom Node erstellt werden. Es reicht aus, eine Function Node in den Flow zu ziehen und dort folgenden Code einzufügen:
node.status({
fill: "blue",
shape: "ring",
text: "Hello World!"
});
Nach dem Deploy wird direkt unterhalb der Function Node der Text Hello World! angezeigt. Zusätzlich erscheint ein blauer Ring als Statussymbol. Damit sieht man sofort, wie einfach sich Informationen direkt an einer Node darstellen lassen.
Der große Vorteil: Die Information bleibt genau dort sichtbar, wo sie entsteht. Es wird keine zusätzliche Debug Node benötigt und der Flow bleibt sauber und übersichtlich.
Die Parameter von node.status()
Die Statusanzeige wird über ein kleines JavaScript-Objekt gesteuert. Dieses Objekt besteht aus drei möglichen Eigenschaften: fill, shape und text.
node.status({
fill: "blue",
shape: "ring",
text: "Hello World!"
});
fill – die Farbe des Symbols
Mit fill legst du die Farbe des Statussymbols fest. Mögliche Werte sind:
- red
- yellow
- green
- blue
- grey
Wichtig: In der offiziellen Node-RED-Dokumentation wird
greyverwendet, nichtgray.
shape – die Form des Symbols
Mit shape bestimmst du, wie das Statussymbol dargestellt wird.
dotzeigt einen ausgefüllten Kreis an.ringzeigt einen Kreis mit weißer Mitte an.
text – die Statusmeldung
Mit text wird die Nachricht festgelegt, die direkt neben dem farbigen Symbol angezeigt wird.
Beispiel:
Damit erscheint unterhalb der Node ein grüner ausgefüllter Punkt mit dem Text verbunden.
Status ohne Symbol: Emoji im Text verwenden
Die Parameter fill und shape sind optional. Lässt man beide weg, wird kein farbiges Statussymbol angezeigt. Das kann praktisch sein, wenn man stattdessen direkt im Statustext mit einem Emoji arbeiten möchte.
Ein gutes Beispiel ist eine Fehlermeldung mit einem Warnsymbol:
In diesem Fall zeigt Node-RED keinen zusätzlichen Punkt oder Ring an. Stattdessen erscheint nur der Text unterhalb der Node. Durch das Emoji am Anfang der Meldung fällt der Status trotzdem sofort ins Auge.
Das eignet sich besonders gut für kurze und auffällige Hinweise, zum Beispiel:
node.status({ text: "✅ Verbindung hergestellt" });
node.status({ text: "⚠️ Warte auf Antwort" });
node.status({ text: "🚨 Fehler - E001 - Keine Verbindung!" });
node.status({ text: "🔄 Verarbeitung läuft" });




Damit lassen sich Statusmeldungen sehr flexibel gestalten, ohne zwingend auf die vordefinierten Farben und Formen angewiesen zu sein. Gerade bei Fehlern oder besonderen Zuständen kann ein Emoji die Lesbarkeit im Flow deutlich verbessern.
Eigene Status-Node für Node-RED
Für einfache Tests reicht node.status() in einer Function Node vollkommen aus. Wenn der Status aber bewusst an einer bestimmten Stelle im Flow angezeigt werden soll, wird es mit normalen Function Nodes schnell unpraktisch. Genau dafür habe ich die Custom Node node-red-contrib-status-display erstellt.
Du findest das Projekt auf GitHub: https://github.com/StefanDraeger/node-red-contrib-status-display
Die Idee dahinter ist einfach: In einer Function Node wird ein Statusobjekt erzeugt und über msg.status weitergegeben.
msg.status = {
index: 0,
fill: "green",
shape: "dot",
text: "Verbindung hergestellt"};
return msg;
Mit einem leeren JSON kann der zuvor gesetzte Status gelöscht werden:
msg.status = {};
return msg;
Die Custom Node liest diese Information aus und zeigt den Status direkt im Flow an. Dadurch lassen sich Statusmeldungen sauber darstellen, ohne zusätzliche Debug Nodes einzubauen oder den Flow unnötig aufzublähen.
Das eignet sich besonders gut für:
- Verbindungsstatus
- Fehlermeldungen
- Wartezustände
- laufende Prozesse
- externe Geräte
- APIs
- TCP/UDP-Kommunikation
- eigene Node-RED Flows
So kannst du sehr einfach eine Statusmeldung an eine dafür vorgesehene Node hängen und deinen Flow deutlich übersichtlicher gestalten.
Fazit
Mit node.status() bietet Node-RED eine einfache, aber sehr nützliche Möglichkeit, Zustände direkt im Flow sichtbar zu machen. Gerade bei größeren Projekten ist das deutlich übersichtlicher als zusätzliche Debug-Nodes oder lange Ausgaben im Debug-Fenster.
Ob Verbindung hergestellt, Fehler aufgetreten oder Prozess läuft — die Information erscheint direkt an der passenden Node und ist damit sofort nachvollziehbar. Besonders praktisch ist dabei, dass sich Statusmeldungen nicht nur mit Farben und Formen, sondern auch mit Emojis sehr flexibel gestalten lassen.
Für einfache Fälle reicht die direkte Nutzung in einer Function-Node vollkommen aus. Wenn Statusmeldungen jedoch gezielt an einer eigenen Stelle im Flow angezeigt werden sollen, bietet sich eine kleine Custom-Node wie node-red-contrib-status-display an. Damit lassen sich Statusinformationen sauber über msg.status übergeben und direkt sichtbar machen.
So bleiben Node-RED-Flows aufgeräumt, verständlich und deutlich leichter zu analysieren.
FAQ – Häufige Fragen zu Node-RED Statusmeldungen
Was macht node.status() in Node-RED?
Mit node.status() kannst du direkt unterhalb einer Node eine kurze Statusmeldung anzeigen. Diese besteht optional aus einem farbigen Symbol, einer Form und einem Text.
node.status({
fill: "green",
shape: "dot",
text: "verbunden"
});
Kann ich mit node.status() den Status einer anderen Node ändern?
Nein. node.status() setzt immer nur den Status der Node, in der der Code ausgeführt wird. In einer Function-Node wird also nur der Status dieser Function-Node geändert.
Welche Farben kann ich für fill verwenden?
Für fill können folgende Farben genutzt werden:
- red
- yellow
- green
- blue
- grey
Wichtig ist die Schreibweise grey, nicht gray.
Welche Formen gibt es für shape?
Für shape gibt es zwei mögliche Werte:
dotzeigt einen ausgefüllten Kreis an.ringzeigt einen Kreis mit weißer Mitte an.
Sind fill und shape Pflicht?
Nein, beide Parameter sind optional. Wenn du nur einen Text anzeigen möchtest, reicht auch:
node.status({
text: "🚨 Fehler - E001 - Keine Verbindung!"
});
Dann wird kein zusätzliches Symbol angezeigt.
Kann ich Emojis im Node-Status verwenden?
Ja, Emojis können direkt im text verwendet werden. Das eignet sich besonders gut für auffällige Statusmeldungen wie Fehler, Warnungen oder erfolgreiche Verbindungen.
node.status({
text: "✅ Verbindung hergestellt"
});
Wie kann ich den Status wieder löschen?
Der Status kann mit einem leeren Objekt entfernt werden:
node.status({});
Wofür ist eine eigene Status-Node sinnvoll?
Eine eigene Status-Node ist sinnvoll, wenn Statusmeldungen nicht an der Function-Node selbst, sondern an einer bestimmten Stelle im Flow angezeigt werden sollen. So bleibt der Flow übersichtlich und Statusinformationen können gezielt dargestellt werden.
Wie übergebe ich einen Status an die Custom-Node?
In einer Function-Node wird der Status über msg.status gesetzt:
msg.status = {
fill: "blue",
shape: "ring",
text: "Hello World!"
};
return msg;
Die Custom-Node liest dieses Objekt aus und zeigt den Status direkt an der eigenen Node an.
Letzte Aktualisierung am: 14. Mai 2026






