Heimautomatisierung mit Node-RED, MQTT und HomeKit

Smart Home (XKCD: Still in use)

Basis System Installieren

Für meine SBCs (Single Board Computer) wie den Raspberry Pi, Banana Pi, Pine 64 oder ODroid XU4 nutze ich vorzugsweise DietPi.

Eine ausführliche Anleitung, wie du DietPi installierst, findest du im Blog Beitrag “DietPi: Klein, schlank und schnell“.

Die folgende Anleitung stützt sich dabei auf DietPi “Helferlein” und Verzeichnisstrukturen.

Avahi

Avahi ist ein mDNS Service, der es ermöglicht, ohne IP-Adresse und einfach über hostname.local auf den Server zuzugreifen.

dietpi-software install 152

Node-RED

Node-RED kann über viele Wege installiert werden.  Wir Node-RED mittels dietpi-software installiert, stimmen die Rechte, die Daten werden in /mnt/dietpi_userdata/node-red/ gespeichert und der Dienst automatisch gestartet.  Erreichbar ist die Instanz dann unter DeineIp:1880 oder hostname.local:1880, wenn Avahi installiert wurde.

dietpi-software install 122
cd /mnt/dietpi_userdata/node-red/
apt-get install libavahi-compat-libdnssd-dev
sudo -u nodered npm install node-red-contrib-homekit
sudo -u nodered npm install node-red-contrib-ttn

 Wichtig

Beim (neu)starten von Node-RED immer darauf achten, den Prozess aus dem gleichen Verzeichnis zu starten.
Standardmäßig nimmt Node-RED immer das aktuelle Verzeichnis, um die Konfiguration zu laden/sichern!
Mit dem hier beschriebenen Setup, immer vor dem manuellen starten in folgendes Verzeichnis wechseln:

cd /mnt/dietpi_userdata/node-red/

Node-RED Neustarten

service node-red restart

Node-RED Absichern

Auf nodered.org findest du die offizielle Dokumentation mit weiterführenden Informationen.

npm install node-red-admin
node-red-admin hash-pw
nano settings.js

MQTT mit Mosquitto

Der MQTT Broker ist mit folgendem Befehl einfach installiert:

dietpi-software install 123

Mosquitto Absichern

Auf mosquitto.org findest du die offizielle Dokumentation mit weiterführenden Informationen.

Ich empfehle mindestens zwei Benutzer anzulegen:

  • admin – für das System & Node-RED
  • device – für MQTT fähige Endgeräte. Natürlich können beliebig viele weitere Benutzer angelegt werden.
mosquitto_passwd -c /etc/mosquitto/passwd admin
mosquitto_passwd -c /etc/mosquitto/passwd device

Anschließend die Passwort-Date in mosquitto.conf angeben:

nano /etc/mosquitto/mosquitto.conf

Und folgende Zeilen hinzufügen:

password_file /etc/mosquitto/passwd
allow_anonymous false

Mit folgendem Befehl wird die geänderte Konfiguration geladen:

service mosquitto reload

Erweiterungen für Node-RED

Hier ist eine Liste mit Node-RED Erweiterungen, die ich im Einsatz habe:

Hier sind noch ein paar Erweiterungen, die ich mir noch genauer anschauen will:

Be excellent to each other!

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.