Willkommen zum nächsten Schritt in unserem NodeRed Home Assistant Tutorial. Hier zeige ich dir, wie du NodeRed auf deinem Home Assistant (HA) System installierst. Dieser Prozess ist unkompliziert und setzt einige grundlegende Voraussetzungen voraus, die wir gleich besprechen werden.
Voraussetzungen
Bevor wir beginnen, ist es wichtig zu wissen, dass NodeRed als Add-on in HA integriert ist und nur installiert werden muss. Wenn du beabsichtigst, HA außerhalb deines Netzwerks zu nutzen, gehe ich davon aus, dass du bereits Zertifikate in HA installiert hast. Für dieses Tutorial werden wir jedoch auf SSL verzichten, um die Dinge einfach zu halten.
Anleitung zur Installation von NodeRed (Version ab 16.X.X)
Add-on installieren
- Gehe zu Einstellungen -> Add-ons -> Add-on Store.
- Klicke auf das Node-RED Add-on und dann auf Installieren.
Konfiguration einstellen
- Wechsle zum Reiter Konfiguration.
- Um die Konfiguration leserlicher zu gestalten, klicke rechts auf die 3 Punkte und wähle „als YAML bearbeiten“
Hier eine detaillierte Konfiguration, um eure Node-RED-Instanz sicher und funktional optimal zu gestalten:
Beispielkonfiguration
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
log_level: info http_node: username: HomeAdmin password: SecurePass1234! http_static: username: Viewer password: ViewPass5678! ssl: true certfile: fullchain.pem keyfile: privkey.pem system_packages: - ffmpeg npm_packages: - node-red-dashboard init_commands: - echo 'Node-RED wird im Produktionsmodus gestartet...' - until nc -z -v -w30 homeassistant.local 1883; do echo "Warte auf MQTT Server..." && sleep 5; done credential_secret: SuperSecureSecret987! |
Erläuterungen und Vorteile
- Log Level
- Verwendung:
log_level: info
bestimmt, welche Art von Informationen Node-RED protokolliert. - Beispiel: Setzt man es auf
info
, erhält man grundlegende Betriebsinformationen. Für detaillierte Debug-Informationen wäredebug
eine Alternative. - Nutzen: Hilft bei der Überwachung des Systems und der Fehlerdiagnose, ohne mit zu vielen Informationen überflutet zu werden.
- Verwendung:
- HTTP Authentifizierung
- http_node: Schützt API-Endpunkte, die über HTTP-In-Nodes erstellt werden. Diese Nodes ermöglichen das Erstellen eigener APIs oder Webhooks.
- Beispiel: Ein Webhook, der Sensorendaten empfängt, wäre über
http://eure-domain:1880/sensor-data
erreichbar und erfordert dann Authentifizierung.
- Beispiel: Ein Webhook, der Sensorendaten empfängt, wäre über
- http_static: Schützt statische Inhalte wie Dashboards und Dateien, die von Node-RED bereitgestellt werden.
- Beispiel: Ein Dashboard über
http://eure-domain:1880/ui
zeigt Zustände von Geräten an und benötigt zum Schutz der Daten ebenfalls Authentifizierung.
- Beispiel: Ein Dashboard über
- Nutzen: Beide Einstellungen verhindern unbefugten Zugriff und schützen sensible Daten und Systemfunktionen.
- http_node: Schützt API-Endpunkte, die über HTTP-In-Nodes erstellt werden. Diese Nodes ermöglichen das Erstellen eigener APIs oder Webhooks.
- SSL/TLS
- Verwendung:
ssl: true
aktiviert die Verschlüsselung der Datenübertragung,certfile
undkeyfile
geben die Pfade zu den SSL-Zertifikaten an. - Voraussetzungen: Ein gültiges SSL-Zertifikat, das zu eurer Domain passt.
- Nutzen: Schützt die Verbindung zwischen dem Benutzer und dem Node-RED-Server vor Abhören und Manipulation. Besonders wichtig bei Zugriffen aus dem Internet. Ohne SSL könnte die Datenkommunikation abgefangen werden.
- Verwendung:
- Zusätzliche Pakete
- system_packages: z. B. ffmpeg: Wird für die Verarbeitung von Multimedia-Inhalten verwendet, z.B. für die Konvertierung von Videodaten.
- npm_packages: z. B. node-red-dashboard: Fügt Node-RED visuelle Dashboards hinzu, die zur Überwachung und Steuerung von Systemen verwendet werden können.
- Nutzen: Erweitert die Funktionalität von Node-RED, z.B. durch Multimedia-Unterstützung und visuelle Steuerungsoberflächen.
- Initialisierungsbefehle
- Befehl 1:
echo 'Node-RED wird im Produktionsmodus gestartet...'
gibt eine Textnachricht aus, um den Startprozess zu bestätigen. - Befehl 2:
until nc -z -v -w30 homeassistant.local 1883; do echo "Warte auf MQTT Server..." && sleep 5; done
wartet, bis der MQTT-Server läuft, um sicherzustellen, dass alle Abhängigkeiten erfüllt sind, bevor Node-RED vollständig startet. - Nutzen: Sicherstellt, dass notwendige Dienste laufen und die Umgebung korrekt vorbereitet ist.
- Befehl 1:
- Credential Secret
- Verwendung:
credential_secret: SuperSecureSecret987!
verschlüsselt Zugangsdaten, die in den Flows gespeichert sind. - Nutzen: Erhöht die Sicherheit, indem es sicherstellt, dass sensible Informationen wie API-Schlüssel und Passwörter geschützt sind, selbst wenn jemand Zugriff auf die Flow-Dateien erhält.
- Verwendung:
Add-on starten
- Gehe zum Reiter Informationen.
- Aktiviere die Schieberegler für Beim Booten starten, Watchdog, In der Seitenleiste anzeigen und Automatische Updates (falls gewünscht).
- Drücke den Starten Button, um NodeRed auszuführen.
- Im Reiter Protokoll kannst du den Startvorgang verfolgen. Eventuelle Fehlermeldungen werden hier angezeigt und können zur Fehlerbehebung genutzt werden.
Hi, schade, dass dieser Artikel nur sehr oberflächlich und rudimentär das Thema „NodeRed Installation auf Home Assistant“ anreißt. Ein lauffähiges Node-Red habe ich damit nicht installiert bekommen. Die wirklich interessanten Punkte, sprich die Konfiguration, um eine lauffähige Node-Red-Installation zubekommen, sparst du dir leider. Eine erläuternde Beispielkonfiguration wäre wünschenswert gewesen. So hat es für mich leider den Eindruck, dass du dir als Autor des Beitrags selber nicht ganz so im Klaren darüber bist, was die Konfigurationsparameter zu bedeuten haben. Insbesondere „http_node“ und „http_static“ hätten mich interessiert, denn das wird mir trotz dem Link zur englischsprachigen Website für die Konfiguration von Node-Red noch nicht ganz so klar.
Hi AD,
erstmal vielen Dank für deine sehr ausführliche Kritik.
Ich muss eingestehen, dass der Beitrag zum Thema NR-Installation sehr oberflächlich beschrieben wurde. Andernfalls ist die NR-Modul-Installation ziemlich einfach. Dennoch werde ich diesen Beitrag wunschgemäß erweitern und mehr ins Detail gehen. Gib mir dazu bitte ein wenig Zeit, da ich aus beruflichen und familiären Gründen momentan zeitlich sehr unflexibel bin. 🙂
Da ich Kritik sehr schätze, wäre es für mich auch interessant zu wissen, was ich in zukünftigen Node-RED-Kapiteln ansprechen sollte. Du kannst gerne hier in der Kommentarfunktion oder per Mail Wünsche äußern. Das könnten z.B. das Erklären von grundlegenden Bausteinen (Nodes) sein oder auch weiterführend das direkte Erstellen von Flows, z.B. Sensordaten einlesen und weiterverarbeiten.
Viele Grüße,
Martin
Hallo.
Ich habe noch keinerlei Erfahrung mit HA, aber bereits viele Jahre mit Node-Red (auf Raspi) und Homematic. Von Homematic möchte ich weg, das wird zu schlecht gepflegt von eQ3. Es gibt zwar sehr viele gute Aktoren und Sensoren bei eQ3, aber da ziehen andere Hersteller mittlerweile ja nach und überholen teilweise sogar.
Meine Frage hier wäre; ist das Plug-in „Node-Red“ eingeschränkt, wie es das auch bei Homematic ist? Oder kann ich es verwalten wie ein freies Node-Red? Bestehen besondere Bindungen an HA? Ist es eventuell besser, Node-Red von vornherein stand-alone zu installieren, bzw. eine solche stand-alone Installation, die bereits vorhanden ist, weiter zu nutzen?
Bei Homematic (mit RedMatic) war ja durch abgebrochene Pflege plötzlich die Katastrophe da, dass viele Paletten nicht mehr aktualisiert werden konnten (oder nur mit extrem großem Aufwand), und man so nach und nach ins Abseits geriet, wenn es um Aktualisierungen ging.
Ich würde gerne HA einmal testen, um zu sehen, sie ich damit zurecht komme, und ob HA für die sehr große Hardware-Basis hier geeignet ist. Ich habe einige Spezialitäten entwickelt (FRITZ!Box mit abschaltbarem Gäste-WLAN, dass bei jeder Aktivierung ein neues Passwort und einen neuen QR-Code generiert z.B., eine umfangreiche Poolsteuerung, und weitere), die ich gerne beihalten möchte…