1. Home Assistant mit KI: Gruselig und gut

Bekommt man Sicherheit und KI-Automatisierungen mit Home Assistant unter einen Hut? c’t 3003 hat getestet, was die Kopplung von LLMs und Home-Assistant bringt und wie man das Ganze sicher betreibt. Und zwar nicht nur mit Cloud-KI, sondern auch mit lokalen Modellen.

Transkript des Videos

(Hinweis: Dieses Transkript ist für Menschen gedacht, die das Video oben nicht schauen können oder wollen. Der Text gibt nicht alle Informationen der Bildspur wieder.)

Guckt mal hier, ich hab der KI Adminrechte auf meine Wohnung gegeben. Gut, jetzt werden mich alle Datenschutzbeauftragten Deutschlands verfluchen, aber es hat halt einfach so viele Vorteile. Guckt mal, ich sag jetzt nicht einfach, mach das Licht an, sondern zu Claude, bau mir mal 'nen Lichtwecker, 30 Minuten vor meinem Handywecker sollen die Lampen im Schlafzimmer nacheinander angehen, ganz langsam, wie 'n Sonnenaufgang. Und wenn ich den Wecker vorher wegdrücke, direkt die Guten-Morgen-Szene. Zack, baut mir Claude die Automation. Kurz testen, läuft.

Oder das hier, das ist das Dashboard auf dem iPad in unserer Küche. Jedes Haus ist ein Raum in unserer Wohnung. Licht an, Fenster leuchten, Heizung läuft, Schornstein raucht und die Waschmaschine, das ist das Hausboot da unten. Und nee, das hab ich nicht programmiert, also nicht selbst, ich hab beschrieben, was ich will und die KI hat's gebaut. Und warum hier neulich abends einfach das Licht grün wurde, hat Claude auch rausgefunden.

Und andersrum geht das auch, also KI direkt in Home Assistant drin. Die guckt hier so durch 'ne billige Webcam und zählt, wie viele Kaffeetassen auf meinem Schreibtisch stehen. Mehr als drei, gibt 'ne Nachricht auf mein Handy, bring die mal in die Spüle. Also ehrlich, das ist gerade das Sinnvollste, was ich im Alltag mit KI mache.

Aber, und das ist 'n ziemlich großes Aber, das kann richtig böse enden. Deshalb zeig ich euch nicht nur, was da alles geht, sondern auch, wie ihr das richtig absichert. Und ob das komplett lokal geht, hab ich natürlich auch ausprobiert. Also bleibt dran.

Liebe Hackerinnen, liebe Internetsurfer, herzlich willkommen hier bei...

MCP verbindet LLMs mit Home Assistant

Erste Frage: Wie krieg ich so 'nen Chatbot überhaupt an meinen Home Assistant? Dafür braucht ihr MCP. Das steht für Model Context Protocol. Das ist ein offener Standard, funktioniert also mit Claude, ChatGPT, Gemini oder lokalen Programmen wie LM Studio oder Unsloth Studio. Und darüber kriegt die KI quasi Werkzeuge in die Hand, also Zustände abfragen, Licht schalten, Automationen anlegen, je nachdem, was ihr erlaubt und was da unterstützt wird. Und bei Home Assistant gibt's da zwei Wege: einen offiziellen, der direkt eingebaut ist und einen inoffiziellen über HACS. Und die unterscheiden sich ziemlich doll.

Den eingebauten MCP-Server schaltet ihr in den Einstellungen unter System, KI mit einem Klick ein. Dann kriegt ihr zwei Adressen und ich nehm die, wo Assist dransteht. Warum, erzähl ich gleich. In Claude fügt ihr die als Konnektor hinzu, einmal mit eurem Home-Assistant-Konto einloggen, fertig. Ein Konnektor geht sogar mit dem kostenlosen Claude-Account. Aber Achtung, Claude verbindet sich nicht von eurem Rechner aus, sondern aus der Cloud von Anthropic. Euer Home Assistant muss also aus dem Internet erreichbar sein, wie bei mir zum Beispiel über Nabu Casa. Und ja, man könnte Claude Code auch direkt auf die Home-Assistant-Kiste packen, dann hätte die KI aber gleich 'ne komplette Shell, also mehr Rechte. Ich verwende da die offiziellen Schnittstellen und kann jedes Werkzeug dann einzeln an- und ausschalten.

Ja, und was kann ich dann damit machen? Das läuft alles über dieselbe Schnittstelle wie der Sprachassistent aus meinem letzten Video. Die KI sieht also nur die Geräte, die ich für Assist freigegeben hab. Und ganz ehrlich, nur um Licht an- und auszumachen, braucht ihr jetzt nicht unbedingt 'ne KI, da ist der Knopf im Dashboard schneller. Interessant wird's erst, wenn ihr was Unscharfes fragt, so was wie: Ich fahr gleich übers Wochenende weg, ist zu Hause alles okay? Dann guckt die in einem Rutsch nach Fenstern, Heizung und allem, was noch läuft. Aber Automationen anlegen oder Dashboards bauen, das kann die offizielle Integration von Haus aus nicht.

Volle Kontrolle mit dem inoffiziellen ha-mcp

Für den Einstieg super, wer was bauen will, braucht was anderes und das ist bei mir ha-mcp, ein inoffizielles Community-Projekt mit knapp 90 Werkzeugen. Das installiert ihr über HACS, Anleitung verlink ich euch unten. Bei der Einrichtung aber bitte nicht einfach durchklicken. Da könnt ihr wirklich sehr individuell einstellen, was der MCP-Server darf und was nicht und ich hab mir für den Server 'nen eigenen Benutzer angelegt, dann seh ich immer, was die KI geändert hat. Ja, und damit kann Claude jetzt Automationen, Skripte, Szenen und Dashboards bauen, Logs lesen, Backups machen, sogar HACS-Pakete installieren. Also die offizielle Integration ist quasi 'ne Fernbedienung, ha-mcp ist der Adminzugang.

Dashboards per Prompt

Was mich da echt beeindruckt hat, sind die Dashboards. Meine Dashboards waren bisher immer Kacheln, Kacheln, Kacheln. Dann hab ich Claude gesagt: Ey, das iPad hängt in der Küche, das soll gut aussehen und nicht so nach Technik. Soll zum Rest der Wand passen, da hängen ja lauter Bilder. Und dabei rausgekommen ist das hier: Fünf Grachtenhäuser, so Amsterdam-mäßig, jedes Haus ein Raum. Licht an, Fenster leuchten, Heizung an, Schornstein raucht. Ist jemand im Raum, steht die Tür offen und die Waschmaschine ist das Hausboot. Läuft die, dreht sich die Trommel, ist sie fertig, hängt Wäsche an der Leine. Tipp ich auf ein Haus, geht 'ne Schublade auf und ich kann den Raum steuern, also deutlich weg von so 'nem Standard-Smart-Home-Dashboard und viel, viel wohnlicher.

Ja, und dann hab ich noch das hier bauen lassen, ein zweites Bild angelehnt an Das gelbe Haus von van Gogh. Da ist jedes Fenster ein Raum. Wer zu Hause ist, steht als kleine Figur auf dem Platz und kommt in den nächsten 3 Minuten eine U-Bahn, rollt ein Zug über die Brücke. Da stecken eigene Karten, SVG-Grafiken und Animationen drin. Das hätte ich ehrlich gesagt von Hand so nie hinbekommen. Ja, und so hab ich das jetzt quasi gevibecodet. Ich guck drauf und sag: Das Wasser sieht komisch aus und zack, passt Claude das an. Das hat wirklich jede Idee, die ich irgendwie auf meinem Dashboard haben wollte, direkt umgesetzt bekommen, also mit Vollzugriff hat das dann auch passende Dinge aus HACS rausgesucht. Für mein Android-Tablet hat er mir hier dieses Cyberpunk-Dashboard gebaut. Also ziemlich egal, was ihr da als Dashboard haben wollt, wenn es technisch irgendwie umsetzbar ist, dann kriegt Claude das hin.

Komplexe Automationen und Fehlersuche

Ja, und dann Automationen: Gerade mit Anwesenheitssensoren wird das ziemlich schnell fummelig und je voller so ein Smart Home, umso bessere Automationen kann man da bauen, aber umso komplizierter wird das auch. Ich kann Claude einfach sagen: Ey, mach das und das und das und wenn das und das passiert, dann mach das. Bei mir im Schlafzimmer geht das Licht aus, wenn 5 Minuten keiner da ist, komme ich innerhalb von zwei Stunden zurück, geht's genauso wieder an, wie es vorher war. Zwischen 20:00 und 2:00 Uhr bleiben Bett und Kugel trotzdem an, weil ich ja vielleicht nur still im Bett lieg und wenn jemand in den Raum kommt, starten bestimmte Lampen und dimmen sich dann innerhalb von 2 Minuten runter. Das von Hand zu bauen mit allen Sonderfällen, das zieht sich. Claude baut mir daraus die Automation, Szenen, Skripte, die's dafür braucht, das prüf ich dann und teste ich und danach läuft das in Home Assistant weiter, auch ohne Claude. Und wenn ich merke, irgendwas soll da anders werden, schreib ich das Claude und er passt das direkt an. Also bei mir ist das Licht trotzdem ausgegangen, weil die Anwesenheitssensoren nicht richtig getrackt haben. Ich hab dann einfach den angeschalteten Beamer auch als Anwesenheitsmerkmal setzen lassen und jetzt bleibt das Licht an, wenn der Beamer läuft.

Ja, und dann die Fehlersuche: Unsere neue smarte Waschmaschine sagt jetzt auf dem HomePod in der Küche Bescheid, wenn die Wäsche fertig ist. Ich hab dafür 'ne kleine Sprachdatei mit dem Ansagetext hochgeladen, lief erst nicht. Claude hat rausgefunden, warum: Das Ä im Dateinamen der Ansage wird nicht unterstützt. Und das mit dem grünen Licht vom Anfang, ich dachte erst, okay, jetzt spinnt meine Automation irgendwie. Claude hat im Logbuch nachgesehen, das war ein ganz normaler Schaltbefehl von meiner Freundin, die auf die falsche Taste gedrückt hat. Oder auch hier, da hat sich das Licht im Büro nicht wieder eingeschaltet und Qwen 2.5 7B hat dann lokal rausgefunden, wo der Fehler in meiner Automation ist.

Lokale KI-Modelle als Alternative

Ja, das Ganze funktioniert nämlich auch lokal, wenn euch das nachvollziehbarerweise zu gruselig ist, ein amerikanisches Cloudmodell auf euren Home Assistant zugreifen zu lassen. Aber Disclaimer: Lokal ist das Ganze nicht ganz so intelligent wie mit Claude. Genaueres dazu seht ihr im Video von Keno von letzter Woche und je nach eurer Hardware ist das auch deutlich langsamer, das seht ihr gleich. Also wie geht das mit der lokalen KI? Zum Beispiel mit dem Programm LM Studio, das hab ich verwendet. Dann muss Home Assistant auch gar nicht ins Internet, ihr tragt die Heimnetzadresse von ha-mcp in 'ne Konfigurationsdatei ein, fertig. Und für kleinere Modelle gibt's in ha-mcp sogar 'nen Extra-Modus, Tool Search, da sucht sich das Modell die Werkzeuge erst raus, statt alle 90 auf einmal vorgesetzt zu bekommen. Ich hab das mit Qwen3.8-27b ausprobiert auf meinem MacBook mit M2 Max und 64 GB.

Wichtig ist dabei aber, dass ihr das Kontextfenster groß genug einstellt. Also bei allem unter 64.000 Token ist Qwen bei mir in 'ner Endlosschleife gelaufen. Ab 64.000 läuft das dann durch, dauert aber deutlich länger als mit Claude. Ich hab Claude und Qwen dieselbe Aufgabe in unterschiedlichen Räumen gegeben: Mach die Kugel im Schlafzimmer bzw. im Büro nach zwei Stunden aus. Claude: Unter 1 Minute. Qwen: 30 Minuten mit drei Anläufen und Denkpausen von über 4 Minuten. Allein darüber, ob man 2 Stunden als 02:00:00 oder als hours: 2 schreibt, hat Qwen minutenlang gegrübelt.

Ja, und dann das: Mir ist im Büro einfach so das Licht ausgegangen. Warum? Ich hab Qwen gefragt und das gräbt sich durch das Logbuch und die Automationen, macht erst mal 'nen Reparaturvorschlag, der aber Quatsch ist, weil es sich die Automation gar nicht richtig angeguckt hat und den Sinn dahinter verstanden hat. Dann sage ich: Ich war übrigens 10 Minuten weg und dann hat es gecheckt, dass nach 10 Minuten Abwesenheit das Licht automatisch ausgeht und ich bin halt genau in der Sekunde zurückgekommen. Die Automation, die das Licht wieder anmachen sollte, hat geprüft, ob das Licht aus ist, war es da noch nicht, also hat sie das nicht angemacht. Ja, und diesen Fehler hätte ich ganz ehrlich ohne KI nie selbst gefunden. Aber die Reparatur, die Qwen dann eingebaut hat, funktioniert zwar, macht aber nebenbei was anderes kaputt. Jetzt knallt das Licht jedes Mal auf volle Helligkeit, wenn der Sensor mich wiedererkennt, eben auch, wenn ich's vorher gedimmt hatte. Gedauert hat das dann 'ne Viertelstunde insgesamt.

Warum das bei mir so lahm ist: Bei Home Assistant kommt bei jedem Schritt ein ganzer Haufen Daten zurück, den das Modell erst mal einlesen muss. Und wie Keno im letzten Video gezeigt hat, genau beim Einlesen sind Macs leider deutlich langsamer als dicke Grafikkarten. Mein drei Jahre alter M2 Max kaut da halt ewig drauf rum, ob das bei euch schneller läuft, liegt dann halt an eurer Hardware. Auf meinem Mac ist mir das zum Bauen also zu langsam, da nehm ich Claude für, prüfen muss ich eh bei beiden. Und generell prüfen, jetzt bitte nicht skippen, wenn ihr euren Home Assistant auch mit KI verbinden wollt, die Sicherheitsfrage.

Sicherheitsrisiken und Prompt Injections

Ja, ich hab der KI Adminrechte auf mein Zuhause gegeben und da kann halt einiges schiefgehen. Erstens: Wenn ihr bei ha-mcp statt Login die geheime Adresse nehmt, ist die gleichzeitig das Passwort. Wer die hat, kann bei euch Automationen anlegen und über HACS Code installieren, der dann in eurem Heimnetz läuft. Und so 'ne Adresse rutscht halt schnell mal in 'nen Screenshot oder liegt im Klartext irgendwo rum, also im Zweifel lieber das Login verwenden.

Zweitens: Die KI liest ja alles Mögliche aus meinem Home Assistant, auch den Kalender zum Beispiel, den ich da verbunden hab. Jetzt schickt mir jemand 'ne Kalendereinladung und in dem Termin steht nicht nur ein Titel, sondern auch 'ne Anweisung an die KI. Wochen später frage ich Claude: Was steht diese Woche an? Claude liest den Termin und im schlimmsten Fall folgt es der Anweisung und legt 'ne unauffällige Automation an, die jedes Mal irgendwo ins Internet funkt, wenn die Wohnung leer ist. Das nennt sich Prompt Injection und das ist jetzt auch gar nicht ausgedacht, genau so was haben Sicherheitsforscher letztes Jahr mit Gemini gezeigt, auch mit Kalendereinladungen. Da gingen in einer echten Wohnung die Fensterläden auf und der Boiler an. Die KI soll solche Anweisungen zwar ignorieren, darauf würde ich mich jetzt persönlich als Schutz aber nicht unbedingt verlassen. Und drittens: Alles, was Claude über mein Zuhause nachguckt, geht an Anthropic bzw. je nach KI-Anbieter halt an deren Server. Also klar, das ist offensichtlich: KI-Anfragen, die über die Server von Anbietern laufen, laufen über ihre Server, das ist jetzt wirklich kein krasser Take, aber halt das, was wir an Alexa immer kritisieren.

So sichert man den MCP-Zugriff richtig ab

Aber für die meisten Dinge gibt es vernünftige Lösungen. Für den Alltag reicht die offizielle Integration und zwar über die Assist-Adresse. Das ist nämlich etwas tricky: Die offizielle Integration reicht alles weiter, was sich in Home Assistant als KI-Schnittstelle anmeldet und ha-mcp meldet sich da selbst als KI-Schnittstelle an. Nehmt ihr also die Standardadresse, kriegt Claude darüber auch die ganzen ha-mcp-Werkzeuge, dann wäre eure Fernbedienung plötzlich doch der Adminzugang. Die Assist-Adresse gibt dagegen wirklich nur Assist raus und kann dann auch nichts installieren, Automationen bauen, sondern eben nur schalten.

Und dann hat ha-mcp 'nen eigenen Schalter: Zugriff MCP hab ich den bei mir genannt und aufs Dashboard gelegt. Den mach ich nur an, wenn ich wirklich was bauen will und danach direkt wieder aus. Also den Schalter gibt's bei mir nur auf dem Dashboard und ganz weg ist der Zugang auch erst, wenn ich in Home Assistant das Token von Claude lösche. Und auch wenn der Zugriff an ist: Alles, was ich nicht unbedingt brauche, also HACS-Pakete installieren, neu starten, löschen, das ist im ha-mcp-Panel aus. Und bei allem, was ich verändern will, will ich jedes Mal gefragt werden. Das stellt ihr in Claude beim Konnektor auf „Freigabe nötig“ ein und dann wirklich „Einmal erlauben“ klicken, nicht „Immer erlauben“. Websuche und Mailpostfach schalte ich in Claude auch aus, wenn Home Assistant dran ist, damit die KI nicht gleichzeitig fremde Inhalte liest, an private Daten kommt und 'nen Weg nach draußen hat. Aber das Wichtigste bleibt: Ohne mein Okay legt die KI erst gar nichts an. Wo es sinnvoll geht, benutze ich lokale KI, nur bei so krassen Aufgaben wie dem Dashboard bauen, da brauche ich halt 'ne Cloud-KI. Dafür dann den Zugang einschalten, genau schauen, was die eigentlich macht und dann den Schalter wieder auf Aus.

Kamerabilder und Sensoren mit KI analysieren

So, bis jetzt hat die KI meinen Home Assistant gesteuert. Jetzt drehen wir das mal um: Home Assistant fragt selbst 'ne KI. Dafür braucht ihr erst mal 'ne KI-Integration. Ich nehm jetzt mal OpenAI, geht aber genauso mit Anthropic, Google oder lokal zum Beispiel mit Ollama. Unter Geräte und Dienste OpenAI hinzufügen, API-Schlüssel rein, fertig. Ich benutze GPT-6 Luna. das kleine, schnelle Modell von OpenAI, dazu gleich noch mehr.

Und dann verbinde ich die visuelle Intelligenz von GPT-6 Luna mit meiner alten Webcam, die ich an meinen Home Assistant angeschlossen hab. Also eine Automation schickt 'ne Frage an ein Sprachmodell mit Kamerabild dabei und kriegt 'ne Antwort zurück. Ich hab hier mal 'ne Beispiel-Automation gebaut, da schnappt sich die Automation regelmäßig ein Bild von der angeschlossenen Webcam und fragt: Wie viele Tassen stehen auf dem Schreibtisch? Ich lasse mir das jetzt einfach als Zahl zurückgeben, die landet als ganz normaler Wert in Home Assistant und löst dann 'ne Automation aus. Zwei Tassen erkennt die KI, ich stelle noch 'ne dritte dazu und zack: Nachricht aufs Handy, bring die Tassen mal in die Spüle. Und da fallen einem sofort Sachen ein: Ist Regen gemeldet, guckt die Kamera einmal auf den Balkon, hängt da noch Wäsche, dann Benachrichtigung. Aber die Webcam hängt übrigens nur für dieses Video hier bei mir im Büro, privat will ich jetzt nicht unbedingt 'ne Kamera in der Wohnung haben und erst recht keine, deren Bilder bei OpenAI landen. Laut OpenAI werden die API-Daten zwar nicht zum Trainieren genommen, aber halt bis zu 30 Tage gespeichert. Also wenn ihr 'nen sinnvollen Anwendungsfall mit 'ner Überwachungskamera habt, dann lasst das am besten über ein lokales Modell laufen.

Was sich aber mittlerweile fest in meinem Home Assistant etabliert hat: Statt mir morgens zwölf Kacheln anzugucken, lasse ich mir einfach ein kurzes Briefing schreiben: Wetter, Termine, Temperatur in der Wohnung und die KI macht daraus zwei, drei lockere Sätze. Die Automation dafür hat Claude gebaut und jetzt bekomme ich jeden Morgen per Push so 'ne kurze Nachricht auf mein Handy.

Sprachassistent und API-Kosten

Und GPT-6 Luna ist jetzt auch das Gehirn für den Sprachassistenten. Wie so ein Sprachassistent aufgebaut ist, dazu gab's ja schon 'n Video, da lief das mit 'nem winzigen lokalen Modell, mit GPT-6 Luna klappen dann auch so Sachen wie: Das Büro ist mir zu dunkel, Licht geht an. Jetzt ist es mir ein bisschen zu hell, wird gedimmt. Ich finde es im Büro auch relativ kalt, Heizung auf 22 Grad. Ist außer im Büro noch irgendwo Licht an? Also komplizierte Sätze bzw. halt einfach so, wie ich gerne mit 'nem Computer sprechen möchte, natürlich und ohne mir vorher genaue Befehle zu merken. Damit das so locker klingt, hab ich der KI vorher ein paar Sätze erklärt, wie sie antworten soll: möglichst kurz, auf Deutsch, wie ein gut gelaunter Mitbewohner, Zahlen so, wie man sie spricht.

Und generell kostet mich die API-Nutzung in Home Assistant weniger, als ich dachte. GPT-6 Luna kostet 10 Cent pro Million Token, die man reinschickt. Ein Sprachbefehl ist bei mir unter einem Zehntel Cent. Am teuersten sind die Bilder, das ist grob 'n halber Cent pro Bild. Wenn ihr die Kamera also nicht alle 2 Minuten fragt, sondern alle halbe Stunde und nur tagsüber, seid ihr bei ein paar Euro im Monat. Und setzt euch bei OpenAI am besten ein hartes Ausgabenlimit und nicht nur 'ne Warnung. Und sicherheitsmäßiger ist das entspannter. Bei den AI Tasks liefert KI nur 'ne Antwort und schaltet selbst gar nichts. Was dann passiert, entscheidet weiterhin meine Automation. Und der Sprachassistent kann eben nur das schalten, was ich für Assist freigegeben hab.

Fazit: Viel Komfort, aber Prüfung bleibt Pflicht

Mein Fazit: Also ich sag's ehrlich, als ich die ersten Dashboards mit Claude gebaut hab, war ich richtig geflasht. Ich hab jetzt ein Kunstwerk an der Küchenwand, das mir zeigt, was in meiner Wohnung los ist und wirklich nicht mehr krass nach Smart-Home-Oldschool-Dashboard aussieht und keine Zeile Code davon selbst geschrieben. Und auch das Ganze pflegen, neue Sensoren einbauen, komplizierte Automationen, Fehlersuche, das macht KI deutlich einfacher, aber die KI nimmt mir das Schreiben ab, nicht das Prüfen. Also wenn der neue Automationen angelegt hat, dann gehe ich trotzdem noch ins Backend und schaue mir einmal an, was er da genau gemacht hat und man muss halt wissen, was man da tut. KI per MCP ist ein richtiger Admin, der halt im Zweifelsfall wirklich Dinge kaputt machen kann. Also immer auch ein Backup machen, bevor ihr Claude daran lasst. Und ob das sicher ist, entscheidet dann nicht unbedingt, ob die KI in der Cloud oder bei euch zu Hause läuft, sondern welche Rechte ihr gebt.

Ja, wie ist das bei euch? Habt ihr schon 'ne KI an euren Home Assistant rangelassen und wenn ja, mit Vollzugriff oder nur zum Licht schalten? Schreibt's gerne mal in die Kommentare. Tschüss.

c't 3003 ist der YouTube-Channel von c't. Die Videos auf c't 3003 sind eigenständige Inhalte und unabhängig von den Artikeln im c't Magazin. Die Redakteure Jan-Keno Janssen, Lukas Rumpler, Sahin Erengil und Pascal Schewe veröffentlichen jede Woche ein Video.

(jkj)

Source: Heise · Lukas Rumpler

At a glance

Topic
Technology
Country
🇩🇪 DE
Publisher language
DE
Added to Allnira