Node-RED in Docker und Integration Home Assistant

 

Speziell komplexe Automatisierungen können in Home-Assistant und dessen Automations eventuell etwas unübersichtlich werden. Wer an die Grenzen der integrierten Automations stößt, kann alternativ eine eigene Automatisierungs-Plattform wie Node-Red einsetzen. In Node-Red können Abläufe mithilfe von diversen Logikbausteinen in einer visuellen GUI per Drag and Drop zusammengestellt werden.

Nachdem ich Home-Assistant in Docker betreibe, kann Node-Red nicht über den Add-on-Store hinzugefügt werden, sondern über einen eigenen Docker-Container. Der Node-Red Container kann mit folgendem Befehl im Terminal gestartet werden:

docker run -it -p 1880:1880 -v /home/pi/.node-red:/data --name mynodered nodered/node-red

Wer meinem Artikel für das Home-Assistant-Setup in Docker gefolgt ist, kann das beschriebene Setup wie folgt um Node-Red erweitern. Hier der zusätzliche Textblock für die Datei: docker-compose.yml:

version: "3"
services:
  haas:
      ....
  nodered:
      container_name: nodered
      restart: always
      image: nodered/node-red
      ports:
        - 1880:1880
      volumes:
        - ./nodered:/data
       ...

Nach dem Start des Containers kann dessen Weboberfläche über den verwendeten Port aufgerufen werden:

siehe: https://nodered.org/docs/getting-started/docker

Username / Password

Nach dem ersten Start wird der in docker-compose.yml verwendete Unterordner ./nodered automatisch befüllt. Für das Setzen eines neuen Admin-Passworts, kann über folgenden Befehl ein Passwort-Hash generiert werden. Eingetragen in der settings.js-Datei, wird das Passwort geändert:

user@rechner:/$ docker exec -it nodered node-red-admin hash-pw
Password:
$2b$08$C.6kGG29J41ZAE2Mq3mp1eU3p/o3/1rLWNISIw7kN1fe6V65Ncq4u

File settings.js:

    adminAuth: {
        type: "credentials",
        users: [{
              username: "admin",
              password: "$2b$08$C.6kGG29J41ZAE2Mq3mp1eU3p/o3/1rLWNISIw7kN1fe6V65Ncq4u",
              permissions: "*"
          }]
      },

Der Aufruf der Weboberfläche kann dann über die IP-Adresse des Docker-Hosts und dem Port 1880 erfolgen: 

Jetzt fehlt Node-RED noch eine Verbindung zu Home-Assistant, diese kann wie folgt eingerichtet werden:

Home Assistant mit Node-Red verbinden

Zunächst habe ich über HACS das Node-RED Companion-Repository hinzugefügt und die Integration aktiviert.

Der Zugriff von Node-Red auf Home Assistant erfolgt über einen Access Token, dieser kann in Home Assistant über das Usermenü erstellt werden.

Zurück in Node-Red, benötigen wir für den Zugriff noch eine "Palette": node-red-contrib-home-assistant-websocket

erster Ablauf: Flow

Die Verbindung zu Home Assistant findet in einem Flow über "call service" auf entsprechende Entitäten in Home-Assistant statt:

Sollte die HACS-Integration in Home-Assitant fehlen, erscheint beim Aktivieren ein entsprechender Hinweis:

Fazit

Die Verbindung zu Home Assistant ist geschafft. Meine bisherigen Anforderungen an eine Smart-Home-Automatisierung haben sich relativ einfach mit Home Assistant Automations umsetzen lassen. Sollte ich in Zukunft komplexere Anforderungen haben, bin ich mit Node-RED darauf vorbereitet.😉

positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE für deine Bewertung!

Veröffentlichung: 11.09.2023 von Bernhard | Translation English |🔔 | Kommentare:0

Webseiten überwachen mit Uptime Kuma | Container | Rechtschreibprüfung: LanguageTool-Server in Docker betreiben
HA: Werte einer beliebigen Webseite als Entität verwenden | Integrationen

Top-Artikel in diesem Bereich


ioBroker installieren - Docker

Mit ioBroker können verschiedene Automatisierungslösungen oder Geräte in einem System zusammengefasst werden. Um bestimmte Gateways oder Geräte ansprechen zu können, werden in ioBroker verschiedene Adapter verwendet.


Signal Nachrichten per API versenden: signal-cli-rest-api

Der bekannte Signal Messenger kann nicht nur über dessen App, sondern auch über die Befehlszeile oder von anderen Systemen verwendet werden. Eine einfache Möglichkeit dafür bietet die signal-cli-rest-api, welche in Form eines Docker-Containers zur Verfügung steht. Damit die API funktioniert, muss diese zuvor über die Signal-App gekoppelt werden.


Bitwarden in Docker betreiben - Setup Schritt für Schritt

Bitwarden ist ein webbasierter Passwort-Manager, ähnlich LastPass, aber Open Source und der Möglichkeit diesen selbst zu betreiben (hosten). Wie sich Bitwarden im Vergleich zu anderen Passwort-Managern einordnet, habe ich auf folgender Seite überlegt: Passwort-Manager sicher? KeePass vs. LastPass vs. Bitwarden. Bitwarden besteht aus mehreren Services, welche über verschiedene Container bereitgestellt werden können. Das relativ aufwändige Setup wurde mit "Bitwarden Unified" speziell für ein Selbs...

Fragen / Kommentare


Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu Mehr Details