HomeKit mit Node-RED

Um Sensoren über MQTT in HomeKit einzubinden habe ich mir eine Node-RED-Instanz über Docker auf dem Synology NAS aufgesetzt. Die notwendige Palette zum Erzeugen von HomeKit-Geräten ist node-red-contrib-homekit-bridged. Das gesamte Setup (ohne HomeKit) gibt es hier: https://docs.arduino.cc/tutorials/portenta-x8/datalogging-iot

Was in der Dokumentation zur Palette nicht erwähnt wird und wo mein Setup im Nachhinein abweicht: Der Docker Container darf nicht das Bridge-Netzwerk nutzen, sondern muss im Netzwerk des Docker Hosts laufen! Bis dahin konnte ich in der Home.app die neue Bridge nicht finden und habe Ewigkeiten nach möglicherweise nicht freigegebenen Ports gesucht. Zum Erstellen des Containers entstand dann im Endeffekt folgender Befehl:

docker run -it --net=host -v node_red_data:/data -e DSM_HOSTNAME=Tatooine -e DEBUG=NRCHKB:* --name=mynodered --restart=always nodered/node-red:latest

Im Einzelnen bedeutet das:

docker run 
-it Ausgabe des Docker-Inhalts in der Console
--net=host Netzwerk des Docker Hosts nutzen
-v node_red_data:/data Volume mounten
-e DSM_HOSTNAME=Tatooine Server-Name des Synology NAS
-e DEBUG=NRCHKB:* Debugging-Einträge der HomeKit-Palette ins Log schreiben
--name=mynodered Name des Containers
--restart=always Container immer neustarten
nodered/node-red:latest Name des Images

Damit ließ sich dann auch recht einfach der Shelly Bewegungsmelder in HomeKit integrieren:

Node-RED Flow welcher die MQTT-Nachricht vom Shelly Bewegungsmelder für einen virtuellen HomeKit-Bewegungsmelder umwandelt

Beitrag veröffentlicht

in

von

Schlagwörter: