Home Assistant Ollama macht Assist lokal: Conversation Agent auf dem LAN-Server, optional Control Home Assistant — und Spoiler: unter 25 Exposed Entities bleibt die Küche Küche, nicht die Gästezimmer-Jalousie.
Freitagabend. Ich stehe in der Küche, Hände voller Pfannen, und sage dem Assist: „Mach die Küche aus.“ Spoiler: Die Jalousie im Gästezimmer tanzt. Licht in der Küche? Bleibt an. Rolllade zwei Zimmer weiter? Fährt runter, als hätte sie den Abend gebucht. Assist — mein übermotivierter Mitbewohner — hat 80 Lampen „im Kopf“, drei Rollläden und null Disziplin. Und ich stehe da wie der Typ, der dem falschen Mitbewohner den Schlüssel gegeben hat.
Im Ernst: Das ist kein Alexa-Drama und kein Cloud-Märchen. Das ist Home Assistant mit der offiziellen Ollama-Integration, Conversation Agent auf einem Server im eigenen Netz, und ein Fail, den die Doku selbst zwischen den Zeilen warnt. Zu viele Exposed Entities. Zu kleines Modell. Control Home Assistant an — und plötzlich halluziniert der Mitbewohner Geräte, die er „kennt“, aber nicht meint.
Die kurze Version vorab: Seit Home Assistant 2024.4 gibt es die Ollama-Integration als Conversation Agent, powered by einem externen Ollama-Server (macOS, Linux, Windows). Sie richten ihn unter Einstellungen → Geräte & Dienste ein, zeigen auf eine URL wie http://localhost:11434, wählen ein Modell — und können optional Control Home Assistant aktivieren. Experimental. Nur Exposed Entities. Nur Modelle mit Tool-Support. Und die Docs empfehlen ausdrücklich: weniger als 25 Entitäten exposen. Genau darüber schreiben wir. Nicht über ZHA. Nicht über Dashboards. Nicht über den nächsten Mini-PC-Kaufcheck. Sondern über Assist ohne Cloud — und warum Disziplin an der Exposed-Liste wichtiger ist als das nächste 70B-Modell.
Nerd-Alarm: Wer Home Assistant gerade erst aufsetzt, braucht zuerst den Überblick — bei uns liegt der Home-Assistant-Einsteiger-Guide als Pillar für den Einstieg. Hier setzen wir voraus: Instanz läuft, Assist ist kein Fremdwort, und Sie wollen den Conversation Agent lokal füttern. Pillar verlinken, nicht neu schreiben. Genau.
Home Assistant Ollama: Conversation Agent ohne Cloud-Umweg
Die offizielle Integration heißt schlicht Ollama und macht genau das, was der Name verspricht: Sie hängt einen lokalen Ollama-Server an Home Assistant und bekommt daraus einen Conversation Agent. Laut Home-Assistant-Dokumentation zur Ollama-Integration ist das ein Agent, der von einem externen Ollama-Server betrieben wird — nicht von einer Cloud-API irgendwo „draußen“. IoT-Klasse: Local Polling. Eingeführt mit Home Assistant 2024.4. Die Docs nennen außerdem eine Nutzungsangabe von rund 2,2 % der aktiven Installationen — das ist eine Dokumentationsangabe, kein Marketing-Claim von uns, und wir kennzeichnen sie als solche.
Was die Integration ausdrücklich nicht macht: Sentence Triggers. Wer also erwartet, dass Ollama die klassischen Assist-Satz-Trigger ersetzt oder mit ihnen verschmilzt — nein. Conversation Agent und Sentence Triggers bleiben getrennte Baustellen. Spoiler: Das ist gut so. Weniger Magie, weniger Überraschungen an der Rolllade.
Geräte-Personifikation, erste Runde: Assist ist der Mitbewohner, der sagt „Ich kann das.“ Ollama ist der Kellerrechner, der die Antworten rechnet. Home Assistant ist die Hausordnung. Und Control Home Assistant ist der Hausschlüssel, den Sie dem Mitbewohner nur geben, wenn er Tools versteht — und wenn Sie ihm nicht 80 Zimmer gleichzeitig erklären.
Alltagsvergleich: Früher war „sprachgesteuertes Licht“ oft gleichbedeutend mit „Satz geht zur Cloud, Antwort kommt zurück, Licht geht an — hoffentlich“. Hier bleibt der Satz im Haus. Der Ollama-Server sitzt im LAN. Die Entitäten, die Assist anfassen darf, legen Sie fest. Privacy-These ohne Pathos: „Mach die Küche aus“ muss nicht durch drei Rechenzentren, um eine Lampe zu erreichen. Bleibt im Haus. Genau das ist der Winkel.
Ollama installieren und im LAN erreichbar machen
Home Assistant bringt den LLM-Server nicht mit. Die Integration erwartet einen externen Ollama-Server. Download und Installationsweg liegen bei Ollama selbst — unter anderem für Windows 10 oder neuer, und laut HA-Doku auch für macOS und Linux. Als Download-Quelle reicht der offizielle Einstieg: Ollama zum Download für Windows und Co. Wir erfinden hier keine Feature-Show. Installieren. Laufen lassen. Über das Netz erreichbar machen, wenn Home Assistant und Ollama nicht auf derselben Kiste wohnen.
Bastelprojekt-Realität: localhost:11434 funktioniert nur, wenn Ollama wirklich auf derselben Maschine wie der HA-Core erreichbar ist, der die Integration anspricht. Läuft Ollama auf dem Mini-PC nebenan und Home Assistant in einer VM oder auf einem anderen Host, brauchen Sie die LAN-URL zu genau diesem Server — und Ollama muss dort netzwerkseitig erreichbar sein. Die Doku sagt: einmal installieren, dann über das Netz zugänglich machen. Mehr Feature-Marketing braucht es nicht. Erreichbarkeit schlägt Marketing-Folie.
Setup in Home Assistant, die kurze Version aus der Doku:
- Home Assistant öffnen.
- Einstellungen → Geräte & Dienste.
- Integration hinzufügen → Ollama.
- URL des Servers angeben, zum Beispiel
http://localhost:11434. - Optional: API Key, falls Ihr Ollama-Server Authentifizierung verlangt.
- Modell wählen — Beispiele aus der Doku:
mistraloderllama2:13b. Modelle werden beim Setup automatisch heruntergeladen.
Klingt einfach, ist es aber nicht — zumindest nicht, wenn Sie danach sofort Control Home Assistant anknipsen und dem Agenten das ganze Haus exposen. Spoiler: Der Download ist der einfache Teil. Die Exposed-Entities-Liste ist der Charaktertest.
Hardware-Host nur am Rande: Ollama kann auf demselben Rechner wie Home Assistant laufen oder auf einem Mini-PC nebenan. Wer den Xiaomi-AI-Cube-Prototyp und die Hardware-Diskussion sucht, findet bei uns den Text zum Xiaomi AI Cube als Mini-PC-Idee für lokale KI — und wer Grundlagen zu NPU, RAM und Strom will, den Evergreen zu lokaler KI auf Mini-PCs mit den wichtigsten Hardware-Fragen. Hier bleibt der Fokus enger: Integration, Assist, Disziplin. Kein Kaufcheck. Das ist der Parallel-Artikel.
Optional, wer sowieso über Host-Fragen stolpert: Bei uns liegt auch der Überblick zu Home-Assistant-Hardware und sinnvollen Host-Setups. Wieder: Randnotiz. Kein Remake.
Assist lokal steuern: Control Home Assistant und Tool-Modelle
Jetzt der heikle Schalter. In den Options der Ollama-Integration gibt es „Control Home Assistant“. Experimental. Das Modell bekommt Zugriff auf die Assist API — und darf nur Entitäten anfassen oder abfragen, die Sie exposen. Die Doku ist klar: Nur Modelle, die Tools unterstützen, dürfen Home Assistant steuern. Ohne Tool-Support bleibt der Agent ein Chat-Partner mit Hausmeinung, aber ohne Lichtschalter in der Hand.
Instructions — also die Anweisungen, wie der Agent antworten soll — schreiben Sie mit Home-Assistant-Templating. Das ist kein Prompt-Poetry-Slam. Das ist Hausordnung in Template-Form: Ton, Grenzen, Verhalten. Assist als Mitbewohner: „Sei kurz. Schalte nur exposierte Entitäten. Rate nicht wild durchs Haus.“ Klingt trocken. Rettet Freitagabende.
Nerd-Alarm zu zwei Konfigurationen: Die Doku empfiehlt ein Muster, das ich inzwischen als Pflichtübung verkaufe. Zwei Ollama-Einträge. Gleiches Modell. Unterschiedlicher Auftrag.
- Chat-only: Control Home Assistant aus. Conversation Agent fürs Gespräch. Kleine Modelle halten so eher den Faden.
- Mit Control: Zweites Setup, gleiches Modell, Control an. Dediziert zum Schalten und Abfragen.
Warum? Weil kleinere Modelle laut Doku oft nicht zuverlässig Conversation und Control gleichzeitig halten. Assist im Chat-Modus plaudert. Assist im Control-Modus schaltet. Trennen Sie die Rollen, bevor der Mitbewohner beides gleichzeitig „kann“ und dann die falsche Rolllade zieht.
Im Ernst: Das ist kein Overengineering. Das ist Wohnzimmer-Hygiene. Ein Werkzeug zum Reden, ein Werkzeug zum Schalten — selbst wenn unter der Haube dasselbe Modell rechnet.
Warum Home Assistant Assist unter 25 Exposed Entities bleiben sollte
Hier sitzt der Fail, der diesen Text trägt. Die offizielle Empfehlung: Wenn Sie mit lokalen LLMs und Home Assistant experimentieren, exposen Sie weniger als 25 Entitäten. Kleinere Modelle irren häufiger als größere. Und je voller die Exposed-Liste, desto größer die Chance, dass der Agent „Küche“ hört und „Gästezimmer-Jalousie“ meint — weil irgendein Name, Alias oder Kontext-Schnipsel ihn in die falsche Ecke zieht.
Mein eigener Fail, ausgeschmückt ohne Heldengeschichte: Ich hatte exposiert, was „irgendwie Assist-würdig“ wirkte. Lampen. Schalter. Cover. Sensoren „nur zum Nachschauen“. Spoiler: „Nur zum Nachschauen“ ist für ein Tool-Modell oft trotzdem Kontextfutter. Assist kannte plötzlich ein halbes Inventar. „Mach die Küche aus“ wurde zu einem Ratespiel mit Rollladen-Teilnahme. Die Jalousie im Gästezimmer — call it Übermotivation — war schneller als mein „stopp“.
Die Disziplin-Liste, die ich mir an die Magnettür geheftet hätte:
- Unter 25. Nicht „ungefähr 40, aber die Sensoren zählen nicht.“ Die zählen. Für den Kontext zählen sie.
- Namen, die ein Mensch meint. Wenn Sie „Küche“ sagen, sollte genau eine klare Küchen-Gruppe/Entitäten-Menge matchen — nicht drei Lampen plus Cover plus Szene mit „Küche“ im Alias.
- Keine Zombie-Entitäten. Alte Testschalter, tote Zigbee-Geister, „irgendwann brauche ich das“ — raus aus Exposed.
- Control nur mit Tool-Modell. Chat-Modell ohne Tools darf nicht so tun, als hätte es den Hausschlüssel.
- Zwei Integrationen, ein Modell. Chat-only und Control getrennt, wenn das Modell klein und wackelig ist.
Geräte-Personifikation, zweite Runde: Assist mit 80 Exposed Entities ist der Mitbewohner, der behauptet, alle Nachbarn zu kennen. Er kennt Namen. Er kennt Etagen. Er kennt Geschichten. Und wenn Sie „Mach Licht aus“ sagen, erzählt er Ihnen von der Lampe im Kellerflur von 2019. Unter 25 ist er der Mitbewohner mit einer kurzen Liste auf dem Kühlschrank. Weniger impressiv auf Partys. Besser um 23:17 Uhr.
Verwandtes Thema in den Docs: Entities to Assist exposen. Das ist die Schaltstelle. Nicht die Integration „irgendwie schlauer machen“. Die Liste kürzen. Das ist der Hebel.
Context Window 8k, RAM und warum größer nicht automatisch besser ist
Dieses Bild wurde komplett mit KI generiertProviderhiggsfieldModellgpt_image_2PromptPhotorealistic close-up of a tablet with a blurred smart-home entity list, only a few items softly highlighted, kitchen counter context, warm daylight, metaphor for limited exposed entities, no logos, no readable UI text, no brand marks, no text overlay, 16:9Home Assistant setzt als Default für die Context Window Size 8k Tokens an — größer als der Ollama-Server-Default von 2k. Die Idee: mehr Kontext, mehr Platz für Entities und Gesprächsverlauf. Die Kehrseite: mehr RAM auf dem Ollama-Host. Die Doku sagt es geradeheraus — größerer Wert unterstützt größere Homes mit mehr Entities besser; kleinere Werte können den RAM-Bedarf des Ollama-Servers senken.
Spoiler: Wenn Sie unter 25 Entities bleiben, brauchen Sie den Context Window nicht als Ausrede für ein überfülltes Haus. Der 8k-Default ist ein sinnvoller Start. Aufblasen, weil „vielleicht hilft mehr Kontext gegen Halluzinationen“, ist oft Wunschdenken. Mehr Kontext mit einer chaotischen Exposed-Liste ist mehr Chaos im Fenster — nicht automatisch mehr Präzision.
Weitere Options, die in der Praxis zählen:
- Max history messages: Obergrenze, wie viele Nachrichten pro Conversation behalten werden (0 = kein Limit). Ältere Messages fliegen raus, wenn Sie begrenzen. Hilft gegen endlos wachsenden Ballast.
- Keep alive: Wie lange das Modell nach einer Message im Speicher bleibt. Default -1 (kein Limit). 0 = keine Retention. Alltagsübersetzung: -1 heißt „bleib warm“, 0 heißt „nach dem Satz wieder raus aus dem RAM“.
- Think before responding: Default
false. Wenn an, soll das Modell erst „nachdenken“ und dann antworten — kann länger dauern, kann bessere Antworten liefern. Nicht jedes Modell unterstützt Thinking. Und: Thinking-Inhalt wird im Frontend derzeit noch nicht angezeigt. Nerd-Alarm: Feature da, Anzeige noch nicht — also nicht wundern, wenn Sie keinen Gedankenstrom im UI sehen.
Die kurze Version: Context, History, Keep alive und Think sind Schrauben. Exposed Entities unter 25 ist die Hausordnung. Schrauben drehen ohne Hausordnung ist Tuning am falschen Ende.
Privacy: der Satz bleibt im Haus — Assist ohne Cloud-Abhängigkeit
„Lokal“ heißt hier: Conversation Agent spricht mit Ihrem Ollama-Server. Der Server sitzt bei Ihnen — localhost oder LAN-URL. Control Home Assistant greift auf die Assist API und die Exposed Entities zu. Der Satz „Mach die Küche aus“ muss dafür nicht zu einem Sprachassistenten-Konzern. Das ist der Privacy-Gewinn ohne Pathos-Folie.
Was lokal nicht automatisch heißt: „absolut sicher, egal wie Sie es exposen.“ Ein Ollama-Endpunkt im WLAN ohne Sinn und Verstand ist ein anderes Thema — und bewusst nicht der Hauptbogen dieses Textes. Hier geht es um Assist ohne Cloud-Primary: Home Assistant Ollama als Conversation Agent im eigenen Netz. Bleibt im Haus. Genau.
Alltagsvergleich: Früher haben Sie dem Mitbewohner zugerufen, und irgendjemand draußen hat mitgeschrieben. Jetzt rufen Sie dem Mitbewohner zu, und der Kellerrechner antwortet. Ob der Mitbewohner die richtige Lampe trifft, bleibt Ihre Disziplin-Aufgabe. Privacy und Präzision sind Geschwister — keine Zwillinge.
Parenthese für Erwartungsmanagement: Lokal heißt nicht „Assist versteht plötzlich jedes Dialekt-Marmelade-Kommando perfekt“. Es heißt: die Rechnung und der Satzpfad bleiben bei Ihnen. Verständnisqualität hängt am Modell, am Prompt/an den Instructions, an der Exposed-Liste und am Context. Privacy und Trefferquote sind zwei Achsen. Wer nur die eine dreht und die andere ignoriert, bekommt entweder einen geschwätzigen Mitbewohner mit Cloud-Abhängigkeit — oder einen lokalen Mitbewohner mit Rollladen-Tick.
Automationen sind nicht Conversation — Abgrenzung ohne Remake
Kurzer, wichtiger Zaun. Automationen in Home Assistant sind Regeln: Wenn X, dann Y. Conversation mit Ollama ist Sprach-/Textverständnis plus optional Tool-Aufrufe über die Assist API. Beides kann im selben Haus leben. Beides ist nicht dasselbe.
Wer Automationen als Einsteiger-Pfad sucht, findet bei uns den Text zu Home-Assistant-Automationen für Einsteiger ohne Conversation-Verwirrung. Hier bleiben wir beim Agenten. Spoiler: Eine Automation „Küche aus um 23 Uhr“ zieht keine Gästezimmer-Jalousie, nur weil ein LLM „Küche“ falsch geparst hat. Der Fail-Modus ist ein anderer. Deshalb die Abgrenzung.
Nerd-Alarm: Sentence Triggers integriert die Ollama-Integration nicht. Wer Trigger-Sätze pflegt, pflegt sie weiter dort, wo sie hingehören — nicht in der Hoffnung, Ollama würde sie magisch übernehmen. Conversation Agent ≠ Trigger-Engine. Punkt.
Fail-Protokoll: Halluzination an der Rolllade und was wirklich hilft
Zurück zum Freitagabend. „Mach die Küche aus.“ Jalousie tanzt. Was hilft — ohne Offensiv-Tipps, ohne Bypass-Mythen, ohne „jailbreak your Assist“-Unsinn:
- Exposed-Liste kürzen auf unter 25, besser klar und thematisch (nur Licht OR nur ein Raum-Cluster, nicht alles).
- Control nur mit Tool-fähigen Modellen — und bei wackligen kleinen Modellen Control und Chat trennen.
- Instructions scharf formulieren (Templating): nur exposierte Entitäten, bei Unklarheit nachfragen statt raten.
- Context Window nicht als Kompensation für Chaos missbrauchen — 8k Default erst verstehen, dann drehen.
- History begrenzen, wenn alte Turns den Agenten in die Irre führen.
- Keep alive bewusst setzen, wenn RAM auf dem Host knappt (-1 ist bequem, 0 ist streng).
- Think nur testen, wenn das Modell es kann — und nicht erwarten, dass das Frontend den Denkprozess zeigt.
Assist als Mitbewohner nach dem Fail: Er steht im Flur, Jalousie halb unten, und sagt „Ich dachte, Küche.“ Sie sagen: „Du kennst zu viele Zimmer.“ Er sagt: „Ich war motiviert.“ Sie kürzen die Liste. Er wird langweiliger. Das Licht geht aus, wo es soll. Spoiler: Langweilig ist hier ein Feature.
Im Bastelprojekt-Jargon: Die Integration seit 2024.4 ist der Freifahrtschein zum Experiment. Die Docs sind der Guardrail. Local Polling. Assist API. Exposed Entities. Tool-Modelle. Zwei Configs. 8k Context. Keep alive -1. Think default false. Und die Nutzungsangabe ~2,2 % aktiver Installationen — wieder: Docs-Angabe, als solche gelesen, nicht als Trend-Feuerwerk.
Noch ein Alltagsvergleich, weil er sitzt: Sie geben dem Mitbewohner eine Einkaufsliste mit 80 Zeilen. „Milch“ steht dreimal, „Küche“ einmal als Notiz am Rand, und irgendwo „Rollladen Öl“ von einem Wochenend-To-do. Dann sagen Sie: „Besorg das für die Küche.“ Spoiler: Er kommt mit Öl und einer Geschichte über Jalousien zurück. Die Exposed-Liste ist diese Einkaufsliste. Unter 25 Zeilen. Klare Namen. Kein Wochenend-Öl zwischen den Lampen.
Was ich bewusst nicht mache: Ihnen beibringen, wie Sie Guardrails umgehen, Modelle „überreden“ oder Exposed-Limits austricksen. Das wäre der falsche Text und der falsche Mitbewohner-Deal. Hier geht es um die offizielle Integration, die Docs-Grenzen und den Fail, den zu viele Entities erzeugen. Disziplin ist der Patch. Nicht ein cleverer Prompt, der so tut, als wäre Chaos Absicht.
Und ja — Voice lokal ist der sekundäre Suchwunsch, den viele mitdenken. Ollama an Home Assistant ist zuerst der Conversation Agent. Ob Sie Tippen, ein Voice-Pipeline-Setup davorsetzen oder Assist anders ansprechen: Der Kern bleibt LAN-Server plus Exposed-Disziplin. Wer „home assistant voice lokal“ googelt und hier landet, bekommt denselben Hebel: Modell im Haus, Control nur mit Tools, Liste kurz. Der Rest ist Host und Pipeline — und gehört nicht in diesen Artikel als How-to-Remake.
HomeAssistant, Ollama, Assist: Checkliste vor dem nächsten „Küche aus“
Bevor Sie dem Mitbewohner wieder den Freitagabend geben, die knappe Liste:
- Ollama-Server läuft und ist für Home Assistant erreichbar (URL, optional API Key).
- Integration hinzugefügt über Einstellungen → Geräte & Dienste → Ollama.
- Modell gewählt; bei Control: Tool-Support Pflicht.
- Exposed Entities bewusst unter 25 — und benannt, wie Menschen sprechen.
- Optional zweite Integration: gleiches Modell, einmal chat-only, einmal mit Control.
- Instructions per Templating als Hausordnung, nicht als Liebesbrief an die KI.
- Context 8k als Start; History/Keep alive/Think nach Host und Modell justieren.
- Erwartung klar: kein Sentence-Trigger-Ersatz, kein Automationen-Ersatz, kein Cloud-Alexa-Primary.
Wer danach immer noch den Hardware-Host überdenkt, bleibt am Rand: Cube-Text, Mini-PC-Evergreen, optional Hardware-Überblick. Wer Automationen will, geht in den Automationen-Text. Wer Home Assistant von null braucht, in den Pillar. Dieser Artikel bleibt beim Conversation Agent auf LAN-Ollama — und bei der Disziplin, die verhindert, dass die Gästezimmer-Jalousie den Küchenbefehl klaut.
Mein Assist? Kennt jetzt weniger Geräte. Kennt sie besser. Und wenn er übereifrig wird, liegt es selten am fehlenden Modell-Update — und oft an einer Exposed-Liste, die zu freundlich war. Die kurze Version: Unter 25. Tool-Modell für Control. Zwei Configs, wenn nötig. Satz bleibt im Haus. Rolllade bleibt, wo sie hingehört.

