HA und KI: Dein Home Assistant lernt sprechen – mit Skills und MCP-Server
Mal ehrlich, wer von uns hat nicht schon mal versucht, eine dieser modernen KIs wie ChatGPT oder Claude zu fragen: "Hey, schreib mir mal eine Home Assistant Automation, die das Licht im Wohnzimmer einschaltet, wenn ich nach Hause komme und es dunkel ist"? Und die Antwort war meistens... naja, nett gemeint, aber selten direkt einsatzfähig.
Das Problem ist altbekannt: Eine KI ist unglaublich gut darin, Muster zu erkennen und Code zu generieren, aber sie hat absolut keine Ahnung von den Details deines spezifischen Home Assistant Setups. Sie kennt deine Entitäten nicht, weiß nicht, wie deine Sensoren heißen, und hat keinen Plan, welche Dienste du überhaupt hast. Das ist, als würde man einem Koch sagen, er soll ein Festmahl zubereiten, ohne ihm zu sagen, welche Zutaten im Kühlschrank sind. Frustrierend, oder?
In meiner Erfahrung stolpern hier die meisten Home Lab Enthusiasten und Admins, die sich mit KI für ihr Smart Home beschäftigen wollen. Man tippt einen Prompt, bekommt etwas zurück, das theoretisch stimmen könnte, aber praktisch nicht funktioniert, weil die Entitäts-IDs oder Servicenamen nicht passen. Das führt zu viel manueller Nacharbeit und nimmt den Wind aus den Segeln der anfänglichen Begeisterung.
Aber was, wenn ich dir sage, dass es Wege gibt, deiner KI beizubringen, deinen Home Assistant wirklich zu "verstehen"? Wege, die weit über das bloße "Prompten" hinausgehen und die dir am Ende viel Zeit und Nerven sparen werden. Genau das schauen wir uns heute an. Wir gehen das Ganze in mehreren Stufen an – von einfachen Tricks bis hin zu echten Power-User-Setups.
Voraussetzungen – Was du mitbringen solltest
Bevor wir in die Tiefen abtauchen, lass uns kurz klären, was du für diesen Guide im Gepäck haben solltest:
- Einen laufenden Home Assistant (am besten auf einer Proxmox VM oder einem Raspberry Pi, aber das ist für diesen Guide zweitrangig).
- Grundkenntnisse im Umgang mit der Home Assistant YAML-Konfiguration.
- Etwas Erfahrung mit der Kommandozeile (Linux/Bash), insbesondere wenn wir uns die fortgeschrittenen Optionen ansehen.
- Einen API-Key für ein Large Language Model (LLM) deiner Wahl. Die Beispiele hier funktionieren super mit Modellen wie Claude (z.B. über die Claude Desktop App) oder ChatGPT (OpenAI API).
- Grundlegendes Verständnis von Netzwerktechnik (IP-Adressen, Ports), falls wir über lokale Server sprechen.
Wenn du das hast, bist du bestens gerüstet. Keine Sorge, wir gehen Schritt für Schritt vor und ich erkläre die Zusammenhänge so, wie ich sie mir selbst erarbeitet habe.
Das Problem: KIs kennen deinen Home Assistant nicht – und wie wir das ändern
Der Kern des Problems ist die Informationslücke. Eine KI ist ein großartiges Werkzeug, aber sie ist nicht allwissend. Stell dir vor, du gibst einem sehr intelligenten Praktikanten die Aufgabe, eine komplexe Automation zu schreiben, aber du gibst ihm keine Dokumentation über dein System. Er wird versuchen, sein Bestes zu geben, aber er wird scheitern, weil ihm der Kontext fehlt. Und genau diesen Kontext müssen wir der KI geben.
Stufe 1: Der „Normale Prompt“ – Warum er nicht reicht
Du kennst es: "Schreibe mir eine Home Assistant Automation, die bei Sonnenuntergang das Licht im Wohnzimmer einschaltet."
Das Ergebnis? Eine generische YAML-Struktur, die vielleicht so aussieht:
automation:
- alias: "Licht bei Sonnenuntergang an"
trigger:
- platform: sun
event: sunset
offset: "-00:30:00"
condition: []
action:
- service: light.turn_on
entity_id: light.wohnzimmerlampe
Sieht auf den ersten Blick gut aus, oder? Aber dann merkst du: "Moment mal, meine Wohnzimmerlampe heißt ja light.deckenlampe_wohnzimmer und nicht light.wohnzimmerlampe!" Und schon musst du manuell nachbessern. Das ist der Punkt, an dem die meisten aufgeben oder zumindest die Effizienz der KI bezweifeln. Das ist kein Vibe-Coding, das ist Vibe-Frust.
Stufe 2: Der Kontext-Trick – Deine Entitäten sind der Schlüssel
Das erste, was mir geholfen hat, war der "Kontext-Trick". Ich habe gemerkt: Wenn die KI meine Entitäten kennt, kann sie auch passende Automationen schreiben. Das ist wie dem Praktikanten einen ausgedruckten Plan deines Hauses zu geben.
Wie machen wir das? Ganz einfach: Du gibst der KI die relevanten Informationen direkt im Prompt mit. Das können sein:
- Entitäts-IDs: Die genauen Bezeichnungen deiner Sensoren, Lichter, Schalter etc.
- Auszüge deiner YAML-Konfiguration: Wenn du spezielle Helfer oder Templates hast.
- Screenshots (wenn die KI das kann): Manche Modelle können Bilder interpretieren, was super ist, um z.B. eine Liste von Entitäten aus der Home Assistant UI zu zeigen.
Mein Tipp: Exportiere dir regelmäßig eine Liste deiner wichtigsten Entitäten. Das geht zum Beispiel über die Entwicklerwerkzeuge in Home Assistant oder über die API. Für einen Prompt könnte das dann so aussehen:
# Beispiel, wie du Entitäten abfragen könntest (für den Kontext im Prompt)
# Dies ist kein Befehl für die KI, sondern nur zur Veranschaulichung,
# wie du die Daten für den Prompt bekommst.
ha core entities --restrict light,switch,sensor
Dein Prompt würde dann so erweitert werden:
"Ich habe folgende Entitäten in Home Assistant:
- light.deckenlampe_wohnzimmer (Licht im Wohnzimmer)
- binary_sensor.bewegungsmelder_flur (Bewegungsmelder im Flur)
- sensor.aussentemperatur (Temperatur draußen)
Schreibe eine Home Assistant Automation, die das Licht light.deckenlampe_wohnzimmer einschaltet, wenn binary_sensor.bewegungsmelder_flur ausgelöst wird und es zwischen Sonnenuntergang und Sonnenaufgang liegt. Das Licht soll nach 5 Minuten wieder ausgehen, wenn keine Bewegung mehr erkannt wird."
Das Ergebnis wird schon deutlich besser sein, da die KI nun die korrekten IDs verwenden kann. Das hat mir persönlich schon viel Zeit gespart, weil ich nicht mehr ständig Entitäten umbenennen oder im Prompt korrigieren musste.
Stufe 3: KIs mit Skills erweitern – Der Werkzeugkasten für dein Smart Home
Der Kontext-Trick ist super, aber was, wenn die KI nicht nur die Namen, sondern auch die "Best Practices" für Home Assistant kennen würde? Hier kommen Skills ins Spiel. Stell dir Skills als kleine, spezialisierte Werkzeuge vor, die du deiner KI in die Hand drückst. Diese Werkzeuge enthalten Wissen darüber, wie man bestimmte Aufgaben in Home Assistant optimal löst.
Es gibt zum Beispiel einen "Home Assistant Best Practices Skill" (den du auf GitHub unter homeassistant-ai/skills findest). Dieser Skill enthält Anweisungen und Beispiele, wie man typische Home Assistant-Aufgaben korrekt und effizient umsetzt. Die KI kann dann auf dieses Wissen zugreifen, wenn sie eine Automation generiert.
Die Integration von Skills hängt stark vom verwendeten LLM und der Plattform ab. Manche KIs haben eine native Skill-Integration (wie z.B. Claude Desktop oder spezielle Agenten-Plattformen). Du "lädst" den Skill quasi in deine KI-Umgebung. Sobald er integriert ist, kannst du ihn in deinem Prompt referenzieren oder die KI nutzt ihn automatisch, wenn sie eine Home Assistant-bezogene Aufgabe erkennt.
Beispiel-Prompt mit integriertem Skill (konzeptuell):
"Nutze den 'Home Assistant Best Practices Skill', um eine Automation zu erstellen. Wenn mein binary_sensor.fenster_bad geöffnet wird und die sensor.bad_temperatur über 25 Grad liegt, schalte den switch.badluefter ein. Er soll sich ausschalten, wenn das Fenster geschlossen wird oder die Temperatur unter 23 Grad fällt."
Durch den Skill kann die KI besser beurteilen, wie man z.B. Trigger und Bedingungen optimal kombiniert oder welche Dienste für den Lüfter am besten geeignet sind. Das ist ein großer Schritt weg vom reinen "Raten" hin zu fundierten Vorschlägen.
Stufe 4: Der MCP-Server – Deine KI im Herzen deines Home Assistants
Jetzt wird's spannend und wir kommen zu dem Teil, der wirklich einen Unterschied macht: der MCP-Server (My Chatbot Platform Server). Das ist keine Spielerei mehr, sondern eine ernstzunehmende Schnittstelle, die deiner KI direkten Zugriff auf deinen Home Assistant gibt. Stell dir vor, dein Praktikant hat jetzt nicht nur den Plan deines Hauses, sondern auch die Schlüssel zu allen Räumen und kann selbst nachsehen, was wo ist und wie es funktioniert.
Der MCP-Server ist eine kleine Anwendung, die als Brücke zwischen deinem LLM und Home Assistant fungiert. Die KI kann dann über definierte "Tools" oder "Funktionen" direkt Informationen von deinem Home Assistant abrufen (z.B. "Liste alle Lichter auf", "Gib mir den Status von Entität X") oder sogar Aktionen ausführen ("Schalte Licht Y ein"). Das ist der heilige Gral für die KI-Integration im Smart Home.
Es gibt zwei Hauptwege, den MCP-Server zu installieren:
Möglichkeit 1: Als Home Assistant Add-on (Der einfache Weg für die meisten)
Für Home Assistant OS oder Supervised-Installationen ist das Add-on der bequemste Weg. Es integriert sich nahtlos in dein bestehendes System.
Schritt-für-Schritt-Installation des MCP-Server Add-ons:
- Add-on Repository hinzufügen:
Gehe in Home Assistant zu Einstellungen > Add-ons > Add-on-Store. Klicke unten rechts auf die drei Punkte und wähle "Repositories". Füge die URL des inoffiziellen HA MCP-Server Add-ons hinzu:
Bestätige mit "Hinzufügen" und schließe das Fenster.https://github.com/homeassistant-ai/ha-mcp - MCP-Server installieren: Nachdem du das Repository hinzugefügt hast, solltest du den "MCP Server" im Add-on-Store finden. Klicke darauf und dann auf "Installieren".
- Konfiguration des Add-ons:
Sobald die Installation abgeschlossen ist, wechselst du zum Reiter "Konfiguration" des Add-ons. Hier musst du den Home Assistant Long-Lived Access Token eingeben.
Wichtig zu wissen: Diesen Token erzeugst du in deinem Home Assistant unter Einstellungen > Dein Profil (ganz unten). Klicke auf "Token erstellen" und kopiere den langen String. Gib ihn niemals an Dritte weiter! Er ist der Schlüssel zu deinem HA.
Die Konfiguration könnte dann so aussehen:
Passeha_url: http://homeassistant.local:8123 ha_token:ha_urlgegebenenfalls an die IP-Adresse oder den Hostnamen deines Home Assistant an, fallshomeassistant.localnicht funktioniert. - Starten und Prüfen: Speichere die Konfiguration und starte das Add-on. Überprüfe im Reiter "Log", ob der Server fehlerfrei startet. Du solltest Meldungen sehen, die darauf hindeuten, dass der Server läuft und auf Verbindungen wartet.
- Verbindung mit deiner KI:
Der MCP-Server stellt eine API bereit. Wie du deine spezifische KI damit verbindest, hängt vom jeweiligen LLM ab. Bei Claude Desktop musst du in den Einstellungen unter "MCP Servers" die URL deines Home Assistant Add-ons angeben (z.B.
http://homeassistant.local:8123oder die IP deines HA-Servers, gefolgt vom Port des MCP-Servers, der standardmäßig5000ist, wenn du ihn nicht im Add-on umkonfiguriert hast). Die KI verwendet dann diesen Endpunkt, um mit deinem HA zu kommunizieren.
Möglichkeit 2: Lokalen MCP-Server installieren (Für Docker-Enthusiasten und Power-User)
Wenn du mehr Kontrolle willst oder Home Assistant Core/Container nutzt, kannst du den MCP-Server auch als eigenständige Python-Anwendung installieren. Das ist mein bevorzugter Weg, da ich gerne alles in Docker-Containern habe und so die Abhängigkeiten sauber trennen kann.
Schritt-für-Schritt-Installation des lokalen MCP-Servers:
- Python-Umgebung vorbereiten:
Stelle sicher, dass du Python 3.9+ und pip auf deinem System installiert hast (z.B. auf deinem Proxmox LXC oder einer dedizierten VM).
sudo apt update sudo apt install python3 python3-pip -y - MCP-Server installieren:
Installiere das
homeassistant-mcp-serverPaket über pip.pip install homeassistant-mcp-server - MCP-Server starten:
Starte den Server, indem du deine Home Assistant URL und den Long-Lived Access Token angibst.
Ersetzemcp-server --ha-url http://homeassistant.local:8123 --ha-token YOUR_HA_TOKENhttp://homeassistant.local:8123durch die korrekte URL deines Home Assistant undYOUR_HA_TOKENdurch deinen zuvor generierten Long-Lived Access Token.Mein Tipp: Lass den Server vorerst im Vordergrund laufen, um die Ausgabe zu beobachten. Später kannst du ihn mit
nohupoder einem Systemd-Service im Hintergrund laufen lassen. - Verbindung mit deiner KI:
Auch hier gilt: Die Verbindung hängt von deiner KI ab. Gib die IP-Adresse und den Port des Servers an, auf dem der MCP-Server läuft (standardmäßig Port 5000, wenn nicht anders konfiguriert). Wenn du ihn auf deinem Home Assistant Host laufen lässt, wäre es z.B.
http://<IP_DEINES_HA_HOSTS>:5000.
Sobald der MCP-Server läuft und mit deiner KI verbunden ist, kann die KI über definierte Funktionen (Tools) direkt mit deinem Home Assistant interagieren. Das ist ein Game Changer! Sie kann Entitäten abfragen, ihren Status prüfen, Dienste aufrufen und vieles mehr. Dein Prompt kann jetzt viel natürlicher sein, z.B.:
"Erstelle eine Automation, die das Licht in der Küche einschaltet, wenn ich den Raum betrete und es dunkel ist. Wenn ich den Raum verlasse, soll es wieder ausgehen. Berücksichtige dabei die aktuelle Helligkeit und die Bewegungssensoren, die du in meinem Home Assistant findest."
Die KI wird dann selbstständig die Entitäten für "Licht in der Küche", "Bewegungssensor" und "Helligkeit" abfragen und eine passende Automation generieren. Das ist echtes Vibe-Coding!
Stufe 5: CLI-Tools (OpenCode, Claude Code) für Power-User
Für die Hardcore-Admins unter uns, die gerne direkt im Terminal arbeiten, gibt es noch eine weitere Stufe: spezielle CLI-Tools wie OpenCode oder Claude Code. Diese Tools ermöglichen es dir, eine KI direkt aus der Kommandozeile zu steuern und ihr Aufgaben zu geben, die sie dann mit Zugriff auf dein System (oder eben über den MCP-Server auf Home Assistant) lösen kann.
Das ist quasi der direkte Draht zur KI, ohne Umweg über eine grafische Oberfläche. Du gibst einen Befehl, die KI überlegt, welche Aktionen sie ausführen muss (z.B. HA-Entitäten abfragen, YAML-Datei bearbeiten), führt diese aus und präsentiert dir das Ergebnis oder fragt nach Bestätigung. Das ist besonders nützlich, wenn du komplexe Skripte generieren oder größere Konfigurationsänderungen vornehmen möchtest.
Die Einrichtung dieser Tools ist oft spezifisch für das jeweilige LLM und erfordert in der Regel API-Keys und eine lokale Installation. Sie sind weniger für den Alltagsgebrauch gedacht, sondern für tiefergehende Entwicklungsaufgaben.
Die Probleme mit MCP und KI-Integration
Klingt alles super, oder? Aber natürlich ist nicht alles Gold, was glänzt. Es gibt ein paar Dinge, die du beachten solltest:
- Sicherheit: Du gibst deiner KI (indirekt über den MCP-Server) Zugriff auf dein Smart Home. Das ist ein enormes Vertrauen. Achte darauf, dass dein HA-Token sicher ist und der MCP-Server nur innerhalb deines lokalen Netzwerks erreichbar ist. Ein offener MCP-Server im Internet wäre ein enormes Sicherheitsrisiko.
- Kosten: Die Nutzung von LLMs über API-Keys ist in der Regel kostenpflichtig. Mit mehr Kontext und mehr Interaktionen steigen auch die Kosten. Behalte dein Budget im Auge.
- Over-Prompting: Auch mit MCP-Server solltest du präzise Prompts verwenden. Eine zu vage Anfrage kann immer noch zu suboptimalen Ergebnissen führen.
- Token-Limits: Große Kontexte (viele Entitäten, lange YAML-Dateien) können an die Token-Limits der LLMs stoßen. Das ist ein Bereich, in dem sich die Modelle aber ständig verbessern.
- "Halluzinationen": KIs können immer noch "halluzinieren", also falsche Informationen generieren. Verlasse dich niemals blind auf den generierten Code. Immer überprüfen und testen!
Wichtig zu wissen: KI ersetzt kein Wissen, sondern erweitert deine Fähigkeiten. Du musst die generierten Automationen immer noch verstehen und validieren können. Sie ist ein Assistenzsystem, kein Ersatz für dein Fachwissen.
Häufige Fehler und Lösungen
Ich hab's selbst erlebt, die ersten Schritte mit KI und Home Assistant können holprig sein. Hier sind drei typische Probleme und wie du sie löst:
1. Die KI generiert ungültige YAML oder nicht-existente Entitäten
Problem: Du gibst der KI einen Prompt, und sie spuckt YAML aus, das entweder Syntaxfehler hat, oder Entitäten verwendet, die es in deinem Home Assistant gar nicht gibt.
Lösung:
- Kontext, Kontext, Kontext: Das ist der häufigste Grund. Füttere der KI explizit die Namen deiner Entitäten und, wenn nötig, Beispiele deiner YAML-Struktur. Nutze die Methoden aus Stufe 2.
- Spezifiziere das Format: Bitte die KI explizit um "gültiges Home Assistant YAML für eine Automation" oder "eine Template-Sensor-Definition".
- Fehlercodes zurückgeben: Wenn du den MCP-Server nutzt und die KI eine Aktion ausführt, die einen Fehler zurückgibt (z.B. weil eine Entität nicht gefunden wurde), sollte die KI das im nächsten Schritt berücksichtigen und den Code anpassen. Wenn nicht, gib den Fehler manuell im Prompt an.
2. MCP-Server kann keine Verbindung zu Home Assistant herstellen
Problem: Der MCP-Server startet, aber im Log siehst du Fehlermeldungen bezüglich der Verbindung zu Home Assistant, oder deine KI meldet, dass sie nicht auf Home Assistant zugreifen kann.
Lösung:
- Token prüfen: Ist dein
ha_token(Long-Lived Access Token) korrekt und noch gültig? Hast du ihn vollständig kopiert? Erstelle im Zweifel einen neuen Token. - HA-URL prüfen: Ist die
ha_urlin der MCP-Server Konfiguration korrekt? Ist eshttpoderhttps? Ist der Port richtig (standardmäßig8123für Home Assistant)? Wenn duhomeassistant.localverwendest, versuche stattdessen die IP-Adresse deines Home Assistant Servers. - Netzwerk und Firewall: Kann der Server, auf dem der MCP-Server läuft, deinen Home Assistant überhaupt erreichen? Gibt es Firewall-Regeln (auf dem Host oder im Netzwerk), die die Verbindung blockieren? Teste die Verbindung manuell vom MCP-Server Host aus, z.B. mit
curl http://homeassistant.local:8123/api/states(mit dem Token im Header). - MCP-Server Port: Läuft der MCP-Server auf dem von der KI erwarteten Port (standardmäßig
5000)? Ist dieser Port auf dem Host des MCP-Servers offen und erreichbar?
3. KI versteht den Kontext nicht vollständig oder ignoriert Anweisungen
Problem: Du gibst der KI viel Kontext und spezifische Anweisungen, aber sie scheint Teile davon zu ignorieren oder generiert immer noch nicht das, was du wirklich willst.
Lösung:
- Prompt-Engineering verbessern: Sei noch präziser. Formuliere klar, was das Ziel ist, welche Entitäten verwendet werden sollen und welche Bedingungen gelten. Manchmal hilft es, den Prompt in Stichpunkte zu zerlegen.
- Schrittweise vorgehen: Wenn die Aufgabe komplex ist, teile sie in kleinere Schritte auf. Lass die KI zuerst die Trigger definieren, dann die Bedingungen, dann die Aktionen.
- Negativ-Prompting: Sag der KI, was sie nicht tun soll. "Verwende keine Entitäten, die 'test' im Namen haben."
- Modell wechseln: Nicht alle LLMs sind gleich gut. Manche sind besser im Code-Generieren, andere besser im Verständnis komplexer Anweisungen. Experimentiere mit verschiedenen Modellen, falls du die Möglichkeit dazu hast.
- Kontext-Fenster: Bei sehr langen Konversationen kann es sein, dass die älteren Teile des Kontexts aus dem "Gedächtnis" der KI fallen (Token-Limit). Starte im Zweifel einen neuen Chat oder fasse den bisherigen Kontext zusammen.
Fazit und nächste Schritte
Die Integration von KI in dein Home Assistant ist kein Hexenwerk, aber es erfordert ein Umdenken im Umgang mit den Modellen. Weg vom simplen "Fragen und Hoffen" hin zum bewussten "Füttern mit Kontext und Werkzeugen". Der MCP-Server ist dabei für mich der größte Game Changer gewesen, weil er die KI aus der Isolation holt und sie direkt an dein Smart Home anbindet.
Mein Fazit: Es ist eine Investition an Zeit und Einarbeitung, die sich aber lohnt. Das Potenzial, Automationen schneller und präziser zu erstellen, ist enorm. Und ganz ehrlich, es macht auch einfach Spaß, wenn die KI plötzlich versteht, was du von ihr willst!
Was sind die nächsten Schritte für dich?
- Fange klein an: Experimentiere mit Stufe 2, dem Kontext-Trick. Gib der KI ein paar deiner Entitäts-IDs und frage nach einer einfachen Automation.
- Probiere Skills aus: Wenn deine KI-Plattform es unterstützt, integriere den Home Assistant Best Practices Skill.
- Wage dich an den MCP-Server: Das ist der größte Sprung. Nimm dir Zeit für die Installation und teste die Verbindung sorgfältig.
- Bleib neugierig: Die KI-Welt entwickelt sich rasend schnell. Es kommen ständig neue Modelle, Tools und Integrationsmöglichkeiten hinzu. Bleib am Ball, experimentiere und teile deine Erfahrungen in der Community.
Ich bin gespannt, welche verrückten Automationen du mit deiner nun "intelligenten" KI in deinem Home Lab umsetzen wirst. Viel Erfolg beim Vibe-Coden!