Teil 1: Der erste Flow
4. Betrachten Sie die Ausgabe in der Debug-Konsole. Was wird Ihnen angezeigt?
In der Debug-Konsole wird standardmäßig ein
Timestamp (Zeitstempel) als lange Zahl angezeigt1. Dies ist der Standardwert, den ein
inject-Node als msg.payload sendet.
6. Wie lautet nun die Ausgabe des Debug-Nodes?
Nachdem die Änderungen aus Aufgabe 5 übernommen wurden und der debug-Node so eingestellt ist, dass er das gesamte Nachrichtenobjekt anzeigt, lautet die Ausgabe:
JSON
{
"payload": "Dies ist ein Test.",
"topic": "Hallo Welt!",
"Testwert": true,
"_msgid": "eine_zufällige_und_einzigartige_id"
}
7. Welche drei Attribute hat jedes Nachrichtenobjekt im Standardfall?
Jedes Nachrichtenobjekt in Node-RED hat standardmäßig die folgenden drei Attribute:
-
payload: Dies ist die eigentliche “Nutzlast” oder der Dateninhalt der Nachricht. -
topic: Dient zur thematischen Einordnung oder zum Routen der Nachricht. -
_msgid: Eine einzigartige ID, die automatisch für jede Nachricht generiert wird, um sie nachverfolgen zu können.
8. Welche Funktion hat der Button am hinteren Ende des Debug-Nodes?
Der grüne Button rechts am debug-Node dient dazu, die Ausgabe dieses spezifischen Nodes zu aktivieren oder zu deaktivieren. Wenn der Button deaktiviert ist (grau), werden keine Nachrichten von diesem Node mehr im Debug-Fenster angezeigt.
9. Welche Information liefert der Tooltip beim Maus-Hoover über dem Ausgang des Inject-Nodes?
Wenn man mit der Maus über dem Ausgangspunkt (dem kleinen grauen Quadrat) eines Nodes schwebt, zeigt ein Tooltip an, welche Eigenschaften die Nachricht hat, die von diesem Ausgang gesendet wird. Im Fall des inject-Nodes würde der Tooltip zum Beispiel msg.payload und msg.topic anzeigen.
10. Was heißen folgende Begriffe übersetzt?
-
Payload: Nutzlast oder Nutzdaten. Es bezeichnet die eigentlichen Daten, die in einer Nachricht transportiert werden.
-
Topic: Thema oder Betreff. Es wird oft verwendet, um Nachrichten zu kategorisieren.
Teil 2: Flow: Ping
11. Legen Sie einen neuen Flow an…
Hier ist die schrittweise Anleitung zur Erstellung des beschriebenen Ping-Flows:
-
Nodes hinzufügen: Ziehen Sie die folgenden Nodes aus der linken Palette in Ihren Flow:
inject,ping,switch, zweichange-Nodes und zweidebug-Nodes. -
Nodes verbinden:
-
Verbinden Sie den
inject-Node mit dem Eingang desping-Nodes. -
Verbinden Sie den Ausgang des
ping-Nodes mit dem Eingang desswitch-Nodes. -
Verbinden Sie den oberen Ausgang des
switch-Nodes mit dem erstenchange-Node. -
Verbinden Sie den unteren Ausgang des
switch-Nodes mit dem zweitenchange-Node. -
Verbinden Sie jeden der beiden
change-Nodes mit einem eigenendebug-Node.
-
Nodes konfigurieren:
-
Inject-Node:
-
Öffnen Sie den Node mit einem Doppelklick.
-
Stellen Sie unter “Wiederholung” (
Repeat) die Option “Intervall” (interval) ein und wählen Sie “jede 1 Minute” (every 1 minute).
-
-
Ping-Node:
- Tragen Sie bei “Target” die zu prüfende IP-Adresse ein (z. B.
10.0.0.10).
- Tragen Sie bei “Target” die zu prüfende IP-Adresse ein (z. B.
-
Switch-Node:
-
Dieser Node leitet die Nachricht je nach Ergebnis weiter. Der
ping-Node gibt bei Erfolg die Antwortzeit (eine Zahl) und bei Misserfolgfalsezurück. -
Stellen Sie die erste Regel so ein:
propertymsg.payload, Bedingungis true. Dies fängt alle erfolgreichen Pings ab (da die Antwortzeit alstruegewertet wird). -
Fügen Sie eine zweite Regel hinzu:
otherwise(ansonsten). Diese fängt alle anderen Fälle (Misserfolg) ab.
-
-
Erster Change-Node (erfolgreicher Pfad):
- Stellen Sie die Regel so ein:
Setze(Set)msg.payloadauf(to) den Wert (string)"Der Server läuft!".
- Stellen Sie die Regel so ein:
-
Zweiter Change-Node (Fehler-Pfad):
- Stellen Sie die Regel so ein:
Setze(Set)msg.payloadauf(to) den Wert (string)"Der Server ist offline!".
- Stellen Sie die Regel so ein:
-
-
Deploy und Test:
-
Klicken Sie auf
Deploy2. Der Flow startet nun automatisch jede Minute einen Ping.
-
Um den Fehlerfall zu testen, ändern Sie die IP im
ping-Node zu einer Adresse, die in Ihrem Netzwerk nicht existiert (z.B.192.168.178.99), und deployen Sie erneut. Nun sollte im Debug-Fenster die Nachricht “Der Server ist offline!” erscheinen.
-