How To: LED Matrix (AWTRIX) Integration in HomeKit / Shortcuts
neue Version inkl. automatisches Pollen, vereinfachter Flow
In diesem Blog-Beitrag möchte ich euch Auskunft über mein Projekt einer LED-Matrix zur Integration in Node-Red sowie Apple HomeKit geben.
Die Integration erfolgt dabei über Node-Red, HomeKit, Siri – für die Anzeige des aktuellen TV Senders & Programms (über VU+ Zero 4K SAT Box*), Musik Erkennung (durch Shazam, Kurzbefehl daher etwas zeitverzögert) sowie die Anzeige der nächsten Müllleerung / Abfuhrkalender (eingebunden über den Kalender des Smartphones, auch für mit Meetings möglich)
Finde es echt genial, dass dies endlich für mich funktioniert. Vielleicht ist dies auch für euch eine Inspiration.
Auswahl LED Matrix
Im ersten Schritt steht ganz klar die Entscheidung, wie möchte man Informationen / Daten auf einer LED Matrix visualisieren. Dabei bin ich auf das DIY Projekt AWTRIX gestoßen.
(siehe hierzu Software Installation des Controllers sowie Host bspw. auf einem Raspberry PI Zero W – für mich aktuell ausreichend)
Node-Red / MQTT Integration
Nach dem die LED Matrix läuft, geht es an die weitere Installation eines Node-Red Servers, in unserem Beispiel wieder auf einem Raspberry PI Zero W. Dies ermöglicht uns, dass wir eine visuelle Schnittstelle und auch die MQTT Kommunikation in Richtung der LED Matrix aufbauen.
Node-Red: Ausgabe auf AWTRIX
Um eine Anzeige auf AWTRIX aus Node-Red zu realisieren, kann man sich folgendem Code-Schnipsel bedienen.
msg.payload = {"name":"test","force":true,"icon":638,"text":"Happy Birthday","color":[51,204,51]};
msg.headers = {"content-type": "application/json"};
return msg;
Node-Red: Individuelle Flows (Enigma2)
In meinem aktuellen Setup greife ich u.a. auf eine VU+ Zero 4K SAT Box* zu. Um diese mittels Node-Red zu integrieren, bediene ich mich der Installation des Node-Red Enigma2 Subflow. Dieser Flow muss hierzu einfach nach Node-Red „kopiert“ werden. Am Besten nutzt man die entsprechende json-Datei als Download. (weiterführende Infos findet ihr bspw. auch im Homematic Forum).
Für meine Zwecke habe ich den Subflow etwas modifiziert. Dieser kann ebenfalls als json-Datei direkt in Node-Red importiert werden. Nach dem erfolgreichen Import einfach mittels deploy den Flow implementieren, und mittels Klick auf den send Knoten das Ganze einmal testen.
Die Ansteuerung zur AWTRIX erfolgt mittels einer Funktion:
msg.payload = {"name":"test","force":true,"icon":1064,"repeat":2,"text":""+msg.payload+"","color":[51,204,51]};
return msg;
Um die Anzeige auf AWTRIX zu vervollständigen, muss man mittels http request den Knoten bearbeiten. Natürlich ist hier die jeweilige URL der AWTRIX anzugeben, in der Form: http://192.168.178.48:7000/api/v3/notify
Die Sendernamen und Programmtitel werden über die Output-Knoten Channel – e2servicename und Eventname des Subflow Instance Enigma2 Receiver ausgelesen.
Für den Fall, dass das SAT TV ausgeschaltet ist, bediene ich mich einer weiteren Funktion:
var tv_off = "TV ist aus";
if (msg.payload == ": ") {
msg.payload = tv_off;
return msg;
}
else {
return msg;
}
Homebridge inklusive MQTT (optional)
Da wir bei der hier vorgestellten Integration über das Netzprotokoll MQTT gehen, bedarf es der Installation einer Homebridge Instanz sowie des entsprechenden PlugIns. Eine sehr gute Anleitung zur Installation von Homebridge auf einem Raspberry PI findet ihr u.a. auf smartapfel.de. Habt ihr Homebridge erfolgreich aufgesetzt, solltet ihr das PlugIn homebridge-mqtt mit installieren.
Node-Red: HomeKit Integration (optional)
Die Integration von Apple HomeKit in Node-Red wird über ein node-red-contrib-homebridge-automation gelöst. Die Installation erfolgt über die Benutzereinstellungen – Palette – Installieren in Node-Red.
Auf der Node-Red Oberfläche wählt man nun ein mqtt-in unter Network aus und verbindet dies. Als Server / mqtt-broker gibt ihr nun die IP 192.168.178.48 mit Port 1883 ein, wobei natürlich eure IP abweichend sein kann.
Als Topic verwendet man homebridge/from/#
In der Home App erscheint ein Schalter zur Anzeige des TV Senders und Programmnamens, stammend aus dem erstellten Node-Red Flow mit Integration in Apple HomeKit. Wichtig ist hierbei zu wissen, dass mit jedem Umlegen des Home Schalters die Anzeige auf AWTRIX neu erscheint, auch wenn das TV einmal ausgeschaltet ist.
iOS Shortcuts Integration
Auch kann man AWTRIX mittels iOS Kurzbefehle / Shortcuts ansteuern. Nachfolgend daher ein paar meiner Beispiele – als Download (siehe hierzu auch den Bereich „iOS Kurzbefehle / Scriptable„).
Ausblick / ToDos
Zudem möchte ich weitere Daten aus Apple TV 4K* und / oder Apple HomePod auslesen, um den aktuellen Inhalt auf AWTRIX anzeigen zu lassen. Immerhin werden alle Daten auch im iOS Control Center angezeigt. Es gibt hier ggf. eine Lösung über einen Python Client pyatv.dev.
Im o.g. Setup läuft bspw. die Musikerkennung über einen Workaround unter Verwendung von Shazam. Hierdurch kommt es zu einem zeitlichen Versatz bei der Ausführung.
Sicherlich lässt sich mit AWTRIX vieles weitere realisieren, wenn auch meist nur als Spielerei, für x-beliebige andere Automationen.
Bleibt also mit dabei und teilt euer Wissen und / oder Feedback in diesem Beitrag.
TO BE CONTINUED …
* verlinkte Produkte / Links zu Amazon / Cyberport sind Affiliate-Links