Erste Schritte
Du hast ein managed Node-RED bei server.camp bestellt – herzlichen Glückwunsch! Node-RED ist ein visuelles Automatisierungswerkzeug, mit dem du verschiedene Systeme und Dienste ohne tiefe Programmierkenntnisse miteinander verknüpfen kannst – quasi das Schweizer Taschenmesser für Integrationen und Datenflüsse. Diese Anleitung richtet sich an Freelancer, kleine bis mittlere Unternehmen und Vereine, die wiederkehrende digitale Abläufe automatisieren und ihre Systeme miteinander verbinden wollen.
In vielen Organisationen gibt es Abläufe, die immer wieder manuell erledigt werden: Daten aus einem System in ein anderes übertragen, Benachrichtigungen verschicken, Berichte zusammenstellen, Formulare verarbeiten. Das kostet Zeit – und ist fehleranfällig.
Node-RED erlaubt es, diese Abläufe einmalig visuell zu konfigurieren und dann automatisch laufen zu lassen. Die Konfiguration erfolgt per Drag-and-Drop im Browser – es sind nicht unbedingt Programmierkenntnisse nötig (aber für Fortgeschrittene steht JavaScript zur Verfügung und das macht viele Dinge einfacher!).
Typische Einsatzszenarien:
- Benachrichtigungen: E-Mail oder Mattermost-Nachricht senden, wenn eine neue Bestellung eingeht
- Datentransfer: Formulardaten aus einer Website automatisch in ein CRM oder eine Tabelle schreiben
- Monitoring-Reaktion: Wenn Uptime Kuma einen Ausfall meldet, automatisch ein Ticket in Zammad erstellen
- Dokumentenverarbeitung: Dateien automatisch an Paperless-ngx übergeben
- Regelmäßige Berichte: Täglich um 8 Uhr eine Zusammenfassung aus verschiedenen Quellen per E-Mail senden
- Webhooks verarbeiten: Wenn ein GitHub/GitLab-Event eintritt, eine Aktion auslösen
- Eigene APIs bereitstellen: HTTP-Endpunkte für Formulare, Mini-Apps oder andere Systeme
- Eigene Dashboards: Web-Oberflächen mit Echtzeit-Daten, Formulare und Eingabemasken
- IoT und Hardware: Sensordaten aus Maschinen, Messtechnik oder Smart-Home-Geräten verarbeiten
Node-RED arbeitet mit Flows – visuelle Diagramme, in denen Nodes (Knoten) durch Verbindungslinien verknüpft sind. Daten fließen von links nach rechts durch die Verbindungen.
Jeder Node hat eine Aufgabe:
| Node-Typ | Was er tut | Beispiele |
|---|---|---|
| Input | Startet den Flow | HTTP-Anfrage empfangen, Zeitplan, MQTT-Nachricht |
| Verarbeitung | Transformiert oder filtert Daten | JSON parsen, Bedingungen prüfen, Text formatieren |
| Funktion | Eigene Logik mit JavaScript | Daten umstrukturieren, Berechnungen, komplexe Bedingungen |
| Output | Sendet das Ergebnis weiter | E-Mail senden, API aufrufen, in Datenbank schreiben |
| Debug | Zeigt Daten im Log-Panel | Unverzichtbar beim Testen und bei der Fehlersuche |
Wie ein Flow funktioniert
[HTTP POST empfangen]→[JSON parsen]→[Nachricht formatieren]→[Mattermost-Nachricht senden]Dieser Flow empfängt eine Webhook-Anfrage, liest die darin enthaltenen Daten und schickt eine formatierte Benachrichtigung an Mattermost. Das gesamte Setup dauert etwa 10 Minuten.
Node-RED hat eine webbasierte Oberfläche mit drei Bereichen:
- Links: Node-Palette – alle verfügbaren Node-Typen, per Drag-and-Drop in den Flow ziehen
- Mitte: Flow-Editor – hier baust du deine Flows visuell zusammen; mehrere Tabs für verschiedene Flows
- Rechts: Info & Debug – Dokumentation zum ausgewählten Node und Debug-Ausgaben
Oben rechts: der “Deploy”-Button – mit ihm aktivierst du Änderungen. Solange du nicht deployst, laufen die bisherigen Flows unverändert weiter.
- Oberfläche kennenlernen – die Standard-Nodes durchklicken, Info-Panel lesen
- Ersten einfachen Flow bauen – z. B. eine zeitgesteuerte E-Mail (siehe unten)
- Debug-Node verstehen – das wichtigste Werkzeug beim Entwickeln
- Community-Nodes installieren – Palette erweitern für deine Integrationen
- Produktive Flows aufbauen – Webhooks, Integrationen, Automatisierungen
- Fehlerbehandlung einbauen – Catch-Nodes für robuste Flows
- Flows sichern – Export als JSON, Versionierung
Ein einfaches Einstiegsbeispiel: Jeden Morgen um 9 Uhr soll Node-RED eine E-Mail senden.
Schritt 1: Inject-Node (Zeitplan)
inject-Node aus der Palette in den Flow ziehen- Doppelklick zum Öffnen der Einstellungen
- “Repeat” auf “at a specific time” stellen
- Zeit: 9:00 Uhr, täglich auswählen
Schritt 2: E-Mail-Node
e-mail-Node aus der Palette (ggf. über Menü → Palette verwalten → Installieren hinzufügen:node-red-node-email)- SMTP-Serverdaten eintragen (Serveradresse, Port, Benutzername, Passwort)
- Empfänger, Betreff und Nachrichtentext konfigurieren
Schritt 3: Verbinden und deployen
- Ausgang des Inject-Nodes mit dem Eingang des E-Mail-Nodes verbinden (Linie ziehen)
- Oben rechts auf “Deploy” klicken
- Fertig – ab morgen früh um 9 Uhr kommt die E-Mail
Zum Testen: Manuell auslösenJeder Inject-Node hat links einen kleinen Button. Klicke darauf, um den Flow sofort auszulösen – so musst du beim Entwickeln nicht bis 9 Uhr warten.
Webhooks verbinden Systeme miteinander: Wenn System A etwas tut (z. B. neue Bestellung), informiert es System B (Node-RED), das dann weitere Aktionen auslöst.
http in-Node in den Flow ziehen- Methode: POST, URL: z. B.
/webhook/neue-bestellung - Node-RED stellt unter
https://dein-nodered.srv.camp/webhook/neue-bestellungeinen Endpunkt bereit http response-Node anhängen (damit der Sender eine Bestätigung erhält)
debug-Node anhängen – zeigt im Debug-Panel, welche Daten ankommenfunction-Node oderchange-Node – Daten auslesen und umformatieren- Ausgabe an den gewünschten Dienst weiterleiten
Immer zuerst debuggenFüge an den Ausgang deineshttp in-Nodes immer zuerst einendebug-Node an. So siehst du im Debug-Panel exakt, welche Daten ankommen – und weißt, welche Felder du weiterverarbeiten kannst. Erst wenn die Datenstruktur klar ist, baust du den Flow weiter.
Szenario: Uptime Kuma meldet einen Website-Ausfall → Node-RED erstellt automatisch ein Ticket in Zammad und postet eine Nachricht in Mattermost.
[Webhook von Uptime Kuma empfangen]
→ [Status prüfen: ist es "DOWN"?]
→ [Zammad-Ticket erstellen via REST-API]
→ [Mattermost-Nachricht: "⚠️ Website X ist down seit HH:MM"]
→ [http response: 200 OK]
Benötigte Nodes: http in, switch, http request (für Zammad-API), mattermost-Node oder http request (für Webhook), http response
Szenario: Ein Kontaktformular auf eurer Website sendet Daten an Node-RED → Automatische Bestätigungs-E-Mail an den Absender + Eintrag ins CRM.
[HTTP POST /kontaktformular empfangen]
→ [Eingabedaten validieren]
→ [Bestätigungs-E-Mail an Absender senden]
→ [Daten an CRM-API senden]
→ [Benachrichtigung an Vertrieb in Mattermost]
→ [http response: "Danke für Ihre Nachricht"]
Benötigte Nodes: http in, function (Validierung), e-mail, http request (CRM-API), mattermost, http response
Szenario: Jeden Morgen um 8 Uhr werden Daten aus verschiedenen Quellen zusammengeführt und als E-Mail-Report versendet.
[Zeitplan: Täglich 8:00]
→ [Umsatzdaten von Shop-API abrufen]
→ [Ticket-Statistik von Zammad-API abrufen]
→ [Uptime-Daten abrufen]
→ [Daten zusammenführen und HTML-Tabelle formatieren]
→ [E-Mail an Geschäftsführung senden]
Benötigte Nodes: inject (Zeitplan), mehrere http request, join, template (HTML), e-mail
Szenario: 48 Stunden vor einer Vereinsveranstaltung wird automatisch eine Erinnerung an den Mattermost-Channel #veranstaltungen und per E-Mail an die Anmelder geschickt.
[Zeitplan: Stündlich prüfen]
→ [Kalender-API / JSON-Datei mit Events abfragen]
→ [Prüfen: Findet in 48h ein Event statt?]
→ Ja: [Erinnerung an Mattermost senden]
[E-Mail an Teilnehmerliste senden]
→ Nein: [Nichts tun]
Szenario: Bei jeder neuen Bestellung im Online-Shop wird das Vertriebsteam benachrichtigt und ein Rechnungsentwurf vorbereitet.
[Webhook von Shop empfangen]
→ [Bestelldaten extrahieren: Artikel, Betrag, Kunde]
→ [Mattermost: "🛒 Neue Bestellung #1234 von Firma X über 1.299 €"]
→ [Rechnungsdaten an Buchhaltungs-API senden]
→ [http response: 200 OK]
Klein anfangen, schrittweise erweiternStarte jeden Flow mit dem einfachsten möglichen Aufbau: Input → Debug. Wenn die Daten korrekt ankommen, füge den nächsten Node hinzu. So findest du Fehler sofort und baust schrittweise robuste Flows auf.
| Node | Zweck | Typischer Einsatz |
|---|---|---|
inject |
Startet einen Flow manuell oder zeitgesteuert | Zeitpläne, Cron-Jobs, Testauslöser |
debug |
Zeigt Daten im Debug-Panel | Entwicklung und Fehlersuche |
function |
Eigene JavaScript-Logik | Daten transformieren, Bedingungen, Berechnungen |
change |
Daten setzen, ändern oder löschen – ohne Code | Felder umbenennen, Werte setzen |
switch |
Verzweigung: Daten je nach Bedingung an verschiedene Ausgänge | “Wenn Status = ‘DOWN’ → Pfad A, sonst → Pfad B” |
template |
Text mit Variablen zusammenbauen (Mustache-Syntax) | E-Mail-Body, HTML-Seiten, API-Requests |
http in / http response |
HTTP-Endpunkte bereitstellen | Webhooks empfangen, eigene APIs |
http request |
HTTP-Anfragen an externe APIs senden | REST-APIs aufrufen, Daten abrufen |
join / split |
Nachrichten zusammenführen oder aufteilen | Mehrere API-Antworten zusammenführen |
delay |
Nachrichten verzögern oder limitieren | Rate-Limiting, Warteschlangen |
catch |
Fehler abfangen | Fehlerbehandlung in Produktiv-Flows |
link in / link out |
Flows miteinander verbinden (ohne sichtbare Linie) | Große Flows übersichtlich halten |
Über Menü → Palette verwalten → Installieren kannst du aus tausenden Community-Nodes wählen. Die wichtigsten für server.camp-Nutzer haben wir im Folgenden aufgelistet:
| Node-Paket | Zweck | Integration mit |
|---|---|---|
node-red-node-email |
E-Mails senden und empfangen (SMTP/IMAP) | Jeder Mailserver |
node-red-contrib-cron-plus |
Erweiterte Zeitpläne (Cron-Syntax, Sonnenauf-/-untergang) | Zeitgesteuerte Flows |
node-red-node-mysql |
MySQL/MariaDB-Datenbank abfragen und schreiben | Datenbanken |
node-red-contrib-postgresql |
PostgreSQL-Datenbank abfragen und schreiben | Datenbanken |
node-red-contrib-telegrambot |
Telegram-Bots bauen und Nachrichten senden | Telegram |
node-red-contrib-slack |
Nachrichten an Slack senden | Slack |
@flowfuse/node-red-dashboard |
Web-Dashboard mit Diagrammen, Formularen, Anzeigen | Eigene Dashboards |
node-red-contrib-aws-s3 |
Dateien in S3-kompatiblen Speicher lesen/schreiben | AWS S3, MinIO |
node-red-node-feedparser |
RSS/Atom-Feeds lesen | News-Feeds, Blog-Überwachung |
node-red-node-openweathermap |
Wetterdaten abrufen | Events, Außenveranstaltungen |
Eine Übersicht über alle verfügbaren Nodes findest du auf flows.nodered.org.
Community-Nodes vorsichtig wählenAchte bei Community-Nodes auf die Anzahl der Downloads und die letzte Aktualisierung. Beliebte, aktiv gepflegte Nodes sind zuverlässiger. Bei Zweifeln: Teste den Node in einem separaten Flow, bevor du ihn in einen Produktiv-Flow einbaust.
Mit dem Dashboard-Node-Paket (@flowfuse/node-red-dashboard) kannst du eigene Web-Oberflächen erstellen – ohne HTML, CSS oder JavaScript schreiben zu müssen.
| Element | Verwendung |
|---|---|
| Diagramme (Linie, Balken, Gauge) | Echtzeit-Daten visualisieren (Umsatz, Temperaturen, Serverlast) |
| Textanzeigen | Status-Informationen, Kennzahlen, letzte Ereignisse |
| Eingabefelder und Formulare | Daten eingeben, die einen Flow auslösen |
| Buttons | Aktionen manuell auslösen (z. B. “Report jetzt generieren”) |
| Tabellen | Daten tabellarisch darstellen |
| Benachrichtigungen | Pop-up-Meldungen auf dem Dashboard |
- Produktions-Dashboard: Sensorwerte, Maschinenstatus, Alarme auf einen Blick
- Support-Dashboard: Aktuelle Ticket-Zahlen aus Zammad, Uptime-Status, offene Aufgaben
- Vereins-Dashboard: Nächste Events, Mitgliederzahlen, Wetter für das nächste Outdoor-Event
- Eingabeformular: Internes Formular zur Beantragung von Urlaubstagen → löst E-Mail an HR aus
Dashboard als Mini-AppDas Dashboard ist über eine eigene URL erreichbar (z. B.https://dein-nodered.srv.camp/ui). Du kannst es als Lesezeichen im Browser oder sogar als Web-App auf dem Smartphone speichern. So hast du ein einfaches Dashboard – ohne eine separate App entwickeln zu müssen.
Wenn du denselben Ablauf in mehreren Flows brauchst (z. B. “Fehler formatieren und an Mattermost senden”), kannst du ihn als Subflow kapseln.
Beispiele für sinnvolle Subflows:
- “An Mattermost senden” – nimmt Text entgegen und postet in einen konfigurierbaren Channel
- “Fehler-Handler” – fängt Fehler ab, formatiert sie und sendet Benachrichtigung
- “API-Authentifizierung” – holt ein Token, cacht es und fügt es in Requests ein
- “Datensatz validieren” – prüft, ob alle Pflichtfelder vorhanden sind
Ein Subflow verhält sich wie ein eigener Node – du ziehst ihn aus der Palette in den Flow und konfigurierst ihn über Parameter.
Node-RED bietet Catch-Nodes, die Fehler abfangen, die in anderen Nodes entstehen. Ohne Fehlerbehandlung brechen Flows bei einem Fehler lautlos ab – du merkst es erst, wenn das Ergebnis ausbleibt.
- Füge in jeden produktiven Flow mindestens einen
catch-Node ein - Verbinde den Catch-Node mit:
- Einem
debug-Node (zum Loggen) - Einer Benachrichtigung (E-Mail oder Mattermost), die dich über den Fehler informiert
- Für HTTP-Webhooks: Füge einen
http response-Node im Fehlerfall hinzu, damit der Sender nicht endlos wartet
Status-Nodes zeigen dir im Flow-Editor den aktuellen Zustand einzelner Nodes an (z. B. “Verbunden”, “Warte auf Daten”, “Fehler”). Ideal für Nodes, die dauerhafte Verbindungen halten (MQTT, Datenbanken, WebSockets).
Flows können als JSON exportiert und importiert werden:
- Flow oder alle Flows auswählen → Menü → Export → Zwischenablage oder Datei herunterladen
- Das JSON kann in ein neues Node-RED importiert werden → Menü → Import
Flows regelmäßig sichernSpeichere wichtige Flows regelmäßig als JSON-Backup in Nextcloud oder Seafile, oder nutze ein Git-Repository in Gitlab. Bei server.camp sind tägliche Backups enthalten, aber ein eigenes versioniertes Backup gibt dir die Möglichkeit, ältere Versionen eines Flows wiederherzustellen.
Flows teilenNode-RED hat eine Community-Bibliothek unter flows.nodered.org, in der tausende Flows und Nodes geteilt werden. Bevor du einen Flow von Grund auf neu baust, schau dort nach – oft gibt es bereits eine Vorlage, die du anpassen kannst.
| Herausforderung | Lösung mit Node-RED |
|---|---|
| Neue Anfrage über Kontaktformular → manuelle Weiterleitung | Webhook vom Formular → automatisch E-Mail + CRM-Eintrag + Mattermost-Nachricht |
| Kundenprojekt-Status aus verschiedenen Quellen zusammenstellen | Täglicher Report-Flow: API-Daten abrufen → HTML-Report → E-Mail |
| SSL-Zertifikate oder Domains vergessen zu verlängern | Zeitgesteuerter Flow: Ablaufdaten prüfen → Erinnerung per E-Mail/Telegram |
| Rechnungen manuell erstellen | Webhook bei Projektabschluss → Rechnungsdaten an Buchhaltungs-API senden |
| “Ist die Kunden-Website noch online?” | Uptime-Kuma-Webhook → Node-RED → Mattermost/Telegram-Benachrichtigung + Zammad-Ticket |
Tipp für Freelancer: Node-RED ist ideal, um die Lücken zwischen deinen Tools zu schließen. Du nutzt ein CRM, einen Kalender, einen Mailserver und einen Cloud-Speicher – Node-RED verbindet sie alle und spart dir täglich repetitive Handarbeit.
| Herausforderung | Lösung mit Node-RED |
|---|---|
| Neue Bestellung im Shop → manuell alle informieren | Webhook vom Shop → Mattermost-Nachricht an Vertrieb + E-Mail an Logistik |
| Monitoring-Alert → manuell Ticket erstellen | Uptime-Kuma-Webhook → automatisch Zammad-Ticket + Mattermost-Alert |
| Täglicher Statusbericht manuell zusammenstellen | Zeitgesteuerter Flow: Daten aus Zammad, Shop, Monitoring aggregieren → HTML-Report |
| Kunden-Onboarding: Checkliste manuell abarbeiten | Flow mit Formular-Dashboard: Kundendaten eingeben → Accounts anlegen, E-Mails senden, Checkliste abarbeiten |
| Daten aus einem System in ein anderes übertragen | HTTP-Request an API A → Daten transformieren → API B beschicken |
| Papierbelege archivieren | Scan → Nextcloud-Ordner → Node-RED leitet an Paperless-ngx weiter |
Tipp für KMU: Beginne mit der Automatisierung, die den meisten manuellen Aufwand spart.
| Herausforderung | Lösung mit Node-RED |
|---|---|
| Neue Mitgliedsanträge manuell bearbeiten | Webformular → Node-RED → Bestätigungs-E-Mail + Eintrag in Mitgliederliste + Benachrichtigung an Vorstand |
| Event-Erinnerungen manuell verschicken | Zeitgesteuerter Flow: 48h vor Event → E-Mail an Teilnehmer + Mattermost-Post |
| Wetter-Check für Outdoor-Events | Flow: Wetterdaten abrufen → bei Regen automatisch Warnung an Mattermost-Channel |
| Social-Media-Posts manuell erstellen | Flow: Event-Daten aus Kalender → Social-Media-Post formatieren → an API senden oder zur Freigabe per E-Mail |
| Spendeneingang bestätigen | Webhook von Zahlungsanbieter → Dankes-E-Mail an Spender + Eintrag in Spendenliste |
| Vereins-Newsletter an alle Mitglieder | Zeitgesteuerter Flow: Newsletter-Text aus Template + aktuelle Daten → E-Mail an Verteilerliste |
Tipp für Vereine: Das Dashboard-Feature ist besonders wertvoll: Erstelle ein einfaches Vereins-Dashboard mit den nächsten Events und wichtigen Links – zugänglich über eine URL, ohne App-Entwicklung.
Node-RED ist das ideale Bindeglied zwischen allen deinen server.camp-Diensten:
| Von | Nach | Was Node-RED tut |
|---|---|---|
| Uptime Kuma | Zammad | Bei Ausfall → Ticket erstellen mit allen Monitoring-Details |
| Uptime Kuma | Mattermost | Bei Ausfall → Team im Chat benachrichtigen |
| Zammad | Mattermost | Bei neuem VIP-Ticket → sofortige Benachrichtigung |
| Authentik | Vaultwarden | Gruppen (und Personenzugehörigkeiten) synchronisieren |
| Kontaktformular | Zammad | Formular-Daten als Ticket anlegen |
| Externes System | Paperless-ngx | Dokumente automatisch zur Archivierung weiterleiten |
| Nextcloud / Seafile | Paperless-ngx | Neue Dateien im Scan-Ordner → automatisch an Paperless übergeben |
| Shop-System | Mattermost | Neue Bestellung → Team informieren |
| Beliebige API | Dashboard | Daten abrufen und in Echtzeit auf dem Dashboard visualisieren |
Node-RED als zentraler Integrations-HubIn vielen Organisationen mit Nextcloud, Zammad, Mattermost, Uptime Kuma, Paperless-ngx und anderen Tools ist Node-RED das verbindende Element. Es empfängt Webhooks von allen Systemen und kann Aktionen in allen anderen auslösen. Statt jedes System einzeln mit jedem anderen zu verbinden, geht alles über Node-RED als zentrale Drehscheibe.
Node-RED bei server.camp ist über deine persönliche URL erreichbar und mit Benutzername/Passwort geschützt. Halte die Zugangsdaten sicher. Im Corporate-Tarif kannst du auch SSO über OpenID Connect konfigurieren. Melde dich hierzu gerne bei unserem Support.
Deine Webhook-URLs sind öffentlich erreichbar. Um Missbrauch zu verhindern:
- Shared Secret: Sende ein geheimes Token im Header mit und prüfe es im Flow
- IP-Whitelist: Prüfe im Flow, ob die Anfrage von einer bekannten IP kommt
- HMAC-Verifizierung: Viele Systeme (GitHub, Stripe) signieren Webhooks – prüfe die Signatur im Flow
Webhooks immer absichernOhne Absicherung könnte jeder, der deine Webhook-URL kennt, Daten an deinen Flow senden. Implementiere mindestens ein Shared Secret, das du im Flow mit einemswitch-Node prüfst.
Falls du Unterstützung beim Einrichten eines Flows brauchst oder eine komplexere Automatisierung umsetzen möchtest, erreichst du uns jederzeit unter support@server.camp. Wir helfen dir gerne!
Häufig gestellte Fragen zu Node-RED findest du auch auf unserer Produktseite.