Die neuen Ray-Ban Meta Smart Glasses sind nicht nur stylisch, sondern haben auch das Potenzial, eine echte Bereicherung zu sein. Allerdings ist die Brille in Deutschland, wo Meta AI noch nicht verfügbar ist, funktional deutlich beschnitten In meinem neuesten DIY-Projekt habe ich eine Lösung entwickelt: Ich steuere mein Home Assistant Smart Home über die Brille – und zwar indirekt über WhatsApp-Nachrichten! Und nicht nur das – darüber kann man seine eigene KI an die Brille anbinden.
Wenn du also nach einem kreativen Weg suchst, dein Smart Home noch smarter zu machen, bist du hier genau richtig!
Schau Dir das folgende YouTube Video an, welches das Review und ein Tutorial zu dem WhatsApp Bot Hack enthält (Hinweis: Video nur in englischer Sprache verfügbar):
Review zu den RayBan Meta Smart Glasses
Die Ray-Ban Meta Smart Glasses sind auf den ersten Blick ein echt cooles Gadget. Das Design ist klassisch stylisch und erst auf den zweiten oder dritten Blick erkennt man, dass das keine ganz normale Brille ist. Die Integration von smarten Funktionen macht sie zu einem interessanten Begleiter im Alltag. Doch wie schlägt sich die Brille in der Praxis?
Die Bildqualität der Fotos und Videos ist zwar nicht atemberaubend – hier sollte man keine iPhone, Google Pixel oder gar DSLR-ähnlichen Ergebnisse erwarten. Gerade bei schlechten Lichtverhältnissen ist die Bildqualität katastrophal – klar bei so einem kleinen Chip kommt eben auch wenig Licht an. Trotzdem ist es insbesondere an hellen Tagen mit vollem Tageslicht ein großer Vorteil, spontane Momente festhalten zu können, ohne erst umständlich das Smartphone aus der Tasche zu holen. Gerade im Urlaub, wenn man schnell eine coole Situation einfangen möchte, sind die Smart Glasses extrem praktisch.
Ein weiterer Pluspunkt ist die Freisprechfunktion: Dank der integrierten Lautsprecher und Mikrofone kann man Musik hören, Videos schauen oder telefonieren, ohne zusätzliche Geräte wie AirPods. Alles funktioniert komfortabel und hands-free – besonders angenehm bei Spaziergängen, Reisen oder beim Erledigen von alltäglichen Aufgaben.
Trotz dieser Highlights hat die Brille in Deutschland einen großen Nachteil: Ohne die Meta AI-Funktion, die hierzulande leider nicht verfügbar ist, fühlt sich das Produkt funktional stark eingeschränkt an. Meta AI wäre ein echter Game-Changer, um die Brille voll auszuschöpfen und sie zu einem noch smarteren Alltagshelfer zu machen.
Insgesamt ist das Package aber dennoch interessant, besonders für Technikbegeisterte, die smarte Gadgets schätzen – aber ohne Meta AI bleibt das volle Potenzial der Brille leider ungenutzt.
Integration mit Home Assistant und eigener KI
Die Brille ist momentan seitens Meta auch sehr stark von anderen Ökosystemen abgeschottet. Es gibt fast keine Integrationen zu Systemen von Drittparteien (abgesehen von Spotify, Calm, Amazon Music und Apple Music), d.h. es ist auch nicht möglich, das eigene Smart Home anzubinden. Geschweige denn andere KI Systeme als Meta AI.
Ich habe einen Weg gesucht, wie ich das umgehen kann. Dabei stieß ich auf einen Post von Ryan Steckler, der die Idee ins Spiel brachte, die Brille indirekt über WhatsApp Nachrichten (welche von der Brille nativ unterstützt werden) mit anderen Systemen zu verbinden.
Und das hab ich dann gebaut. Im Folgenden findest Du eine Anleitung, wie Du das nachbauen kannst.
Man muss sich eine zweite WhatsApp Telefonnummer besorgen – das ist die Nummer für den Bot.
Sobald Du die Nummer hast, kannst Du zu Home Assistant wechseln. Dort erstellst Du eine neue Automation.
Als Auslöser für die neue Automation wählst Du „Webhook“. Dir wird dann eine Webhook ID angezeigt und wenn Du rechts daneben auf die Copy Aktion klickst, wird die komplette Webhook URL kopiert.
Dann speicherst Du Deine Automation zwischen und gibst ihr einen einprägsamen Namen.
Nun installierst Du das folgende Docker Image auf einem Rechner im eigenen Heimnetz, der immer an ist, idealerweise hast Du vielleicht ohnehin einen Server parat: https://github.com/chrishubert/whatsapp-api
Folge zur Installation den auf der GitHub Seite beschriebenen Vorgehen. Dazu klonst Du zunächst das Repository in eine lokale Arbeitskopie.
Bevor Du nun den Docker Container startest öffnest Du erst mal die Datei docker-compose.yml
In der Datei gibt es eine Umgebungsvariable BASE_WEBHOOK_URL. In diese Umgebungsvariable kopierst Du den Webhook Pfad.
Nun folgst Du weiter der GitHub Anleitung zum Start des Containers sowie zum Start einer Session. Merke Dir bitte die von Dir vergebene Session ID (im Beispiel ist das ABCD).
Sobald nach dem Start der Session der QR Code auftaucht, musst Du ihn mit der WhatsApp App zu dem zweiten, neuen WhatsApp Bot Account scannen, um diesen zu verknüpfen
Nun wechselst Du wieder zu Home Assistant und öffnest Deine Automation erneut (findest Du mit der Suche nach dem von Dir vergebenen einprägsamen Namen).
Als Nächstes fügst Du eine Bedingung zur Automation hinzu. Du wählst als Art der Bedingung „Template“. Die Bedingung füllst Du mit folgendem Template Code:
{{ trigger.json.dataType == "message_create" and trigger.json.data.message.id.remote == "MYCHATID" and trigger.json.data.message.id.fromMe == false }}
Speichere die Automation einmal zwischen.
Wichtig ist, dass Du MYCHATID mit der konkreten Chat ID Deiner WhatsApp Konversation mit dem Bot ersetzt. Das kann auch ein Gruppenchat sein. So hab ich das gelöst – erstelle einen Gruppenchat (z.B. mit dem Namen „My Home“), in der als Teilnehmer Du selbst mit deinem mit der RayBan Meta Brille verknüpften WhatsApp Account sowie der Bot Account enthalten ist. Dann sendest Du eine Testnachricht an die Gruppe. Du solltest sehen. Dass Deine Automation nun ausgelöst wird – erstes Erfolgszeichen! Nun kannst Du über „Traces“ nachschauen, welche konkreten Variablen durch die Verarbeitung des Webhooks gesetzt werden. Klicke dazu bei Traces auf den ersten Schritt der Automation (der Auslöser) und wechsle dann auf das Sub-Tab „Changed Variables“. Hier solltest Du dann ein langes JSON Objekt sehen, welches unter „trigger.json“ eine ganze Reihe von Variablen enthält. Hier suchst Du nun nach trigger.json.data.message.id.remote und kopierst die ID in Dein Template an der Stelle MYCHATID.
Zwischenfazit: Jetzt haben wir sicher gestellt, dass die Automation bei jedem Event, das von der WhatsApp API ausgelöst wird, aufgerufen wird und wir haben Bedingungen eingefügt, die dazu führen, dass nur auf neue Nachrichten gehört wird, die an die von Dir erstellte Gruppe „My Home“ (oder wie auch immer Du sie bezeichnet hast) gesendet werden und (ganz wichtig), die nicht vom Bot selbst kommen (sonst würde die Automation endlos laufen, wenn der Bot den Befehl beantwortet, weil die Automation bei jeder Antwort des Bots ebenfalls aufgerufen würde).
Jetzt können wir auf die an die WhatsApp Gruppe gesendeten Nachrichten reagieren. Dazu erstellen wir eine neue Aktion. Wir führen eine Action aus und schalten bei der Erstellung der Action in den YAML Modus. Dann kopieren wir folgenden YAML Code hinein:
action: conversation.process
data:
agent_id: conversation.openai_conversation
text: |-
{{ trigger.json.data.message.body
}}. Please keep the answer as short as possible.
response_variable: response_gpt
Dies setzt voraus, dass Du die OpenAI Conversation Integration bereits in Deiner Home Assistant Installation aktiviert hast. Dazu benötigst Du einen API Key von OpenAI. Du solltest zudem die OpenAI Integration so konfiguriert haben, dass für die Steuerung von Geräten in Deinem Smart Home Home Assistant Assist verwendet wird.
Wichtiger Hinweis: Du kannst aber natürlich auch jedes andere LLM nutzen, auch ein lokal gehostetes! Dann muss natürlich der Aufruf oben angepasst werden.
Wir senden mit obiger Aktion den in den WhatsApp Nachrichten an die Gruppe MyHome enthaltenen Text an OpenAI zur Verarbeitung und bitten ChatGPT, die Anworten so kurz wie möglich zu halten. Das hat den Grund, dass die RayBan Meta Smart Glasses nur kurze WhatsApp Nachrichten direkt vorlesen.
Die Antwort von OpenAI landet in der Variable „response_gpt“. Der letzte verbleibende Schritt ist nun also, dass wir die Antwort per WhatsApp an die Gruppe MyHome zurück senden.
Dazu müssen wir unsere Automation noch einmal zwischen speichern. Wir wechseln in den File Editor oder Studio Code Server (je nachdem welches Add-On Du installiert hast), um die Konfigurationsdatei von Home Assistant, configuration.yaml, zu bearbeiten.
Dort fügen wir z.B. ganz am Ende folgenden Code ein:
rest_command:
send_message_via_whatsapp:
url: "http://MYIP:3000/client/sendMessage/{{ sessionId}}"
method: post
content_type: "application/json"
payload: '{ "chatId": "{{ chatId }}", "contentType": "string“, "content“: "{{ content }}" }'
Damit erstellen wir eine neue Action, die einen POST Request an die WhatsApp API sendet. Bitte ersetze MYIP durch die IP-Adresse Deines lokalen Servers, auf dem die WhatsApp API läuft. Die Variablen sessionId, chatId und content befüllen wir dann direkt aus der Automation heraus.
Bitte speichere nun die configuration.yaml und starte Home Assistant neu. Danach sollte die neue Action verfügbar sein.
Wir können nun unsere Automation noch einmal öffnen und hier eine weitere Aktion nach der OpenAI Aktion ergänzen. Bitte erstelle wieder eine Template Aktion mit folgendem Inhalt:
action: rest_command.send_message_via_whatsapp
data:
content: "{{ response_gpt.response.speech.plain.speech }}"
sessionId: MYSESSIONID
chatId: MYCHATID
enabled: true
Wir füllen die Variable content mit der Antwort von ChatGPT, die variable sessionId solltest Du mit der von Dir vergebenen WhatsApp Session ID ersetzen und die Variable chatId erhält die ID Deiner WhatsApp Gruppe (siehe oben).
That’s it – so sollte es nun möglich sein, WhatsApp Nachrichten an die Gruppe MyHome zu senden (auch von der Brille aus per Sprachbefehl) und die Antwort als WhatsApp Nachricht zurück zu erhalten (auch via Sprache über die Brille).
Lass mich gerne in den Kommentaren wissen, ob es bei Dir funktioniert und welche konkreten Use Cases Du damit umgesetzt hast. Und falls Du Probleme hast, unterstütze ich ebenfalls gerne.
Comments are closed