Lokale KI mit Ollama
Ollama installieren, das richtige Modell wählen und als Conversation Agent in Home Assistant einrichten. Komplett lokal, ohne Cloud.
Warum lokale KI?
Drei Gründe, warum du ein Sprachmodell lokal betreiben willst statt über eine Cloud-API:
| Lokal (Ollama) | Cloud (OpenAI, Claude) | |
|---|---|---|
| Datenschutz | Alles bleibt in deinem Netzwerk | Daten gehen an fremde Server |
| Kosten | Einmal Hardware, dann kostenlos | Laufende API-Kosten pro Anfrage |
| Verfügbarkeit | Funktioniert ohne Internet | Abhängig von Serverstatus |
Der Nachteil: Du brauchst passende Hardware und die Antwortqualität ist nicht ganz auf Cloud-Niveau. Für die typischen Smart-Home-Aufgaben reicht sie aber locker aus.
Begriffe kurz erklärt
Bevor du loslegst, hier die wichtigsten Begriffe. Kein Vorwissen nötig.
Parameter (3B, 8B, 14B) sind die gelernten Verbindungen im Modell, gemessen in Milliarden. Mehr davon heißt schlauer, aber auch langsamer und hungriger nach RAM. Grobe Einordnung: 3B ist ein Taschenrechner, 8B ein brauchbarer Assistent, 14B+ ein Experte.
Token sind Wort-Fragmente. "Wohnzimmer" sind zum Beispiel 2 bis 3 Tokens. tok/s (Tokens pro Sekunde) zeigt die Geschwindigkeit: Ab 15 tok/s fühlt sich eine Antwort flüssig an. Unter 5 wird es zäh.
Quantisierung (Q4, Q8, F16) komprimiert das Modell für weniger Speicherbedarf. Ollama nutzt standardmäßig Q4. Vergleichbar mit: Q4 = JPEG, Q8 = PNG, F16 = RAW. Für die meisten Anwendungen reicht Q4 vollkommen aus.
Context Window bestimmt, wie viel Text das Modell gleichzeitig "im Kopf" behalten kann. 8K Tokens sind ca. 6.000 Wörter. Wenn der Kontext voll ist, vergisst das Modell den Anfang des Gesprächs.
Tool Calling / Function Calling ist DER entscheidende Faktor für die Modellwahl. Das Modell kann nicht nur Text antworten, sondern auch Funktionen aufrufen: Licht einschalten, Temperatur abfragen, Einkaufsliste beschreiben. Home Assistant stellt diese Funktionen bereit. Nicht alle Modelle beherrschen das zuverlässig.
Zwei Begriffe, die dir in den Modell-Beschreibungen begegnen werden:
MoE (Mixture of Experts) aktiviert pro Frage nur einen kleinen Teil der Parameter. Schnell wie ein kleines Modell, schlau wie ein großes. Haken: Der volle RAM wird trotzdem gebraucht. Beispiel: gemma4:26b hat 25B Parameter total, aber nur 3,8B sind gleichzeitig aktiv.
Thinking Mode haben Qwen3 und Gemma4. Sie "denken" erst intern nach (<think>...</think>), bevor die Antwort kommt. Kostet Zeit, verbessert die Qualität bei komplexen Fragen. Für Smart-Home-Chat meist unnötig. Bei Qwen3 mit /no_think deaktivierbar.
Welche Hardware brauchst du?
Die wichtigste Frage zuerst: Was hast du bereits rumstehen? Das bestimmt, welche Modelle du nutzen kannst. Hier die sechs realistischsten Hardware-Klassen:
| Hardware | RAM / VRAM | 3B Modelle | 7-8B Modelle | 14B+ Modelle | Strom | Preis |
|---|---|---|---|---|---|---|
| Raspberry Pi 5 (8 GB) | 8 GB LPDDR4X | 5-7 tok/s (grenzwertig) | nicht genug RAM | nicht möglich | ~5-8 W | ab ~80 EUR |
| Intel N100 Mini-PC | 16 GB DDR4/5 | ~8-12 tok/s (brauchbar) | 6-9 tok/s (zäh) | unter 3 tok/s | 12-18 W | ab ~180 EUR |
| Mac Mini M4 (16 GB) | 16 GB Unified | 50-80 tok/s (flüssig) | 20-35 tok/s (flüssig) | 12-16 tok/s (grenzwertig) | ~20-28 W | ab 699 EUR |
| Mac Mini M4 Pro (48 GB) | 24-48 GB Unified | 80-120 tok/s | 40-55 tok/s (flüssig) | 20-30 tok/s (flüssig) | ~30-45 W | ab 1.549 EUR |
| PC mit RTX 3060 12 GB | 12 GB VRAM | 80-100 tok/s | ~42 tok/s (flüssig) | ~23 tok/s (flüssig) | ~150-180 W | ab ~500 EUR |
| PC mit RTX 4060 Ti 16 GB | 16 GB VRAM | 100-130 tok/s | 40-52 tok/s (flüssig) | 25-35 tok/s (flüssig) | ~120-165 W | ab ~1.200 EUR |
Faustregel: Für flüssige Konversation im Home Assistant Chat brauchst du mindestens 15 tok/s. Alle Werte basieren auf Q4_K_M-Quantisierung (Ollama-Standard), kurze Prompts und Einzelnutzer-Inferenz.
Apple Silicon hat "Unified Memory", d.h. CPU und GPU teilen sich den Speicher. Darum laufen LLMs auf Macs so überraschend gut, obwohl sie "nur" 16 GB haben.
Die besten Modelle für Home Assistant
Nicht jedes Modell taugt für Home Assistant. Der entscheidende Faktor: Tool Calling. Ohne zuverlässiges Tool Calling kann das Modell zwar antworten, aber keine Geräte steuern.
| Modell | Parameter | Download | Tool Calling | Kontext | Stärke |
|---|---|---|---|---|---|
| qwen3:8b | 8B | 4,9 GB | ja | 128K | Bester Allrounder. Thinking-Mode deaktivierbar |
| gemma4:e4b | ~2B aktiv (MoE) | 5,4 GB | ja | 128K | Multimodal (Bild + Audio), gutes Deutsch |
| llama3.1:8b | 8B | 4,7 GB | ja | 128K | Bewährt, solides Tool Calling, kein Thinking-Problem |
| phi4-mini | 3,8B | 2,5 GB | ja | 128K | Klein und schnell, ideal für schwache Hardware |
| fixt/home-3b-v3 | 3B | ~2 GB (Q4) | ja (97% laut Modell-Doku) | 4K | Speziell für Home Assistant trainiert. Pi-5-tauglich |
| mistral-small:24b | 24B | 15 GB | ja (stark) | 128K | Bestes Function Calling, braucht aber viel RAM |
| qwen3:14b | 14B | 9 GB | ja | 128K | Gute Balance aus Qualität und Geschwindigkeit |
| gemma4:26b-a4b | 25B total / 3,8B aktiv | 18 GB | ja | 256K | MoE: Speed wie 4B, Qualität wie 25B |
Welches Modell für welchen Zweck?
Für die Gerätesteuerung (Conversation Agent) zählt vor allem zuverlässiges Tool Calling. llama3.1:8b ist hier der sicherste Kandidat: kein Thinking-Mode, solides Function Calling, bewährt in der Community. qwen3:8b ist die modernere Alternative, braucht aber die Einstellung "Think before responding = AUS" in Home Assistant.
Achtung bei gemma4: Super Textqualität und multimodal. Aber für die HA-Gerätesteuerung erfindet es gern eigene Tool-Namen (search, get_temperature) statt die HA-Intents zu nutzen. Für allgemeine Chat-Fragen top, für Gerätesteuerung unzuverlässig.
Kontext-Fenster in Ollama: Die meisten Modelle haben theoretisch 128K Kontext, aber Ollama setzt standardmäßig nur 2048 Tokens. Für Home Assistant reicht das in der Regel. Wenn du mehr brauchst (z.B. viele Entitäten), kannst du den Wert mit num_ctx in einem Modelfile hochsetzen.
Für den Raspberry Pi 5 gibt es nur eine sinnvolle Option: fixt/home-3b-v3. Das ist ein Community-Modell, das speziell für Home Assistant trainiert wurde. Laut der Modell-Dokumentation auf Ollama erreicht es 97% Function-Calling-Accuracy. Alle anderen 7B+ Modelle sind auf dem Pi zu langsam oder passen nicht in den RAM.
Schritt-für-Schritt: Ollama installieren
1. Ollama herunterladen
macOS (empfohlen: Mac Mini M4)
Lade Ollama von ollama.com/download herunter und starte die App. Das war's. Ollama installiert sich als Menübar-App und läuft im Hintergrund.
Du kannst alternativ Homebrew nutzen:
brew install ollamaLinux (Raspberry Pi, Mini-PC, Server)
Ein Befehl im Terminal:
curl -fsSL https://ollama.com/install.sh | shOllama läuft danach automatisch als systemd-Service.
Windows
Lade den Windows-Installer von ollama.com/download. Nach der Installation läuft Ollama als Hintergrund-Dienst.
2. Modell laden
Öffne ein Terminal und lade dein gewähltes Modell:
1# Empfehlung für Mac Mini M4 / GPU-PC:
2ollama pull qwen3:8b
3
4# Alternative (kein Thinking-Problem):
5ollama pull llama3.1:8b
6
7# Für Raspberry Pi 5:
8ollama pull fixt/home-3b-v3
9
10# Kompakt für schwache Hardware:
11ollama pull phi4-miniDer Download dauert je nach Modell und Internetgeschwindigkeit 1 bis 10 Minuten. Du siehst einen Fortschrittsbalken.
3. Modell testen
Teste dein Modell direkt im Terminal:
ollama run qwen3:8b "/no_think Welche Geräte könnten in einem Smart Home nützlich sein?"Wichtig bei Qwen3: Ohne
/no_thinkaktiviert das Modell den Thinking-Mode. Dann siehst du erst einen langen<think>...</think>Block, bevor die Antwort kommt./no_thinkam Anfang der Nachricht deaktiviert das im Terminal. In Home Assistant gibt es dafür die Checkbox "Think before responding" in den Integrationseinstellungen.
Bei llama3.1:8b oder fixt/home-3b-v3 brauchst du den Zusatz nicht:
ollama run llama3.1:8b "Welche Geräte könnten in einem Smart Home nützlich sein?"4. Ollama im Netzwerk verfügbar machen
Home Assistant läuft typischerweise auf einem anderen Gerät als Ollama. Damit HA zugreifen kann, muss Ollama Verbindungen von außen annehmen.
Das ist der häufigste Fehler: Standardmäßig hört Ollama nur auf 127.0.0.1 (localhost). Du musst es auf 0.0.0.0 umstellen.
macOS:
1# Option 1: Ollama im Terminal starten (empfohlen für Tests)
2# Ollama-App beenden (Menübar-Icon > Quit), dann:
3OLLAMA_HOST=0.0.0.0:11434 ollama serve
4
5# Option 2: Permanent via launchctl (überlebt Neustart)
6launchctl setenv OLLAMA_HOST "0.0.0.0:11434"
7# Danach Ollama-App komplett beenden und neu startenWichtig: Die
.zshrc-Methode funktioniert nur, wenn duollama serveselbst im Terminal startest. Die Ollama-App (Menübar) liest.zshrcnicht. Nutzelaunchctl setenvoder starte Ollama direkt im Terminal.
Linux:
sudo systemctl edit ollamaFüge ein:
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"Dann:
sudo systemctl daemon-reload
sudo systemctl restart ollamaVerifizierung: Im Log muss stehen: Listening on [::]:11434. Wenn dort 127.0.0.1:11434 steht, hat Ollama den neuen Host noch nicht übernommen.
Test von Home Assistant oder einem anderen Gerät:
curl http://IP-DES-OLLAMA-RECHNERS:11434/api/tagsWenn du eine JSON-Antwort mit deinen Modellen bekommst, funktioniert die Verbindung.
5. Ollama in Home Assistant einrichten
Jetzt verbindest du Ollama mit Home Assistant:
- Gehe zu Einstellungen > Geräte & Dienste > Integration hinzufügen
- Suche nach Ollama
- Trage die URL ein:
http://IP-DES-OLLAMA-RECHNERS:11434 - Wähle dein Modell (z.B.
qwen3:8boderllama3.1:8b) - Home Assistant erstellt automatisch zwei Einträge: Conversation Agent (Chat) und AI Task (Hintergrund-Aufgaben)
6. Conversation Agent konfigurieren
Unter Einstellungen > Sprachassistenten kannst du den Ollama Conversation Agent als Standard setzen:
- Wähle bei "Conversation Agent" deinen Ollama-Eintrag
- Setze einen System-Prompt:
1Du bist ein Smart Home Assistent für Home Assistant.
2Du antwortest kurz, präzise und auf Deutsch.
3Nutze ausschließlich die bereitgestellten Tools um Informationen abzufragen oder Geräte zu steuern.
4Erfinde keine eigenen Tool-Namen.
5Wenn du etwas nicht weißt, sage das ehrlich.
6Wenn du eine Aktion ausführst, bestätige kurz was du getan hast.- Aktiviere "Control Home Assistant", damit das Modell Geräte steuern kann
- Bei Qwen3: "Think before responding" auf AUS stellen! Sonst denkt das Modell endlos nach und antwortet nie
7. Entitäten freigeben
Gib nur 30 bis 60 wichtige Entitäten frei: Lichter, Jalousien, Temperatursensoren, Schalter, Szenen. Nicht alle 400+ Entitäten auf einmal.
Warum? Bei zu vielen Entitäten sprengt die Liste den Context des Modells. Dann antwortet es entweder nicht oder halluziniert Entitäten, die gar nicht existieren.
Tipp: Verwende klare, deutsche Entitäten-Namen. "Wohnzimmer Stehlampe" versteht das Modell viel besser als
light.ikea_tradfri_e27_3.
8. Testen
Öffne den Assist-Chat in Home Assistant und stelle Fragen:
- "Welche Lichter sind gerade an?"
- "Wie warm ist es im Wohnzimmer?"
- "Mach das Licht im Flur an."
- "Schreib Milch auf die Einkaufsliste."
Das Modell nutzt Tool Calling, um Home Assistant zu steuern. Du kannst die Details jeder Antwort aufklappen und sehen, welche Tools das Modell aufgerufen hat.
Empfehlungen nach Budget
Minimum (bis ~250 EUR)
Raspberry Pi 5 (8 GB) + fixt/home-3b-v3
Funktioniert. Punkt. Keine Wunder erwarten: 3 bis 8 Sekunden pro Antwort, nur einfache Fragen und Gerätesteuerung. Aber komplett offline, stromsparend, und für ein kleines Setup mit 10 bis 15 Entitäten absolut brauchbar.
Preis-Leistung (~700 EUR)
Mac Mini M4 (16 GB) + qwen3:8b oder llama3.1:8b
Meine Empfehlung für die meisten Leute. Flüssige Antworten, zuverlässiges Tool Calling, leise, stromsparend. Der Mac Mini steht bei mir im Flur und ich vergesse regelmäßig, dass da ein LLM drauf läuft.
Bastler-Setup (~500-800 EUR, gebraucht)
PC mit RTX 3060 12 GB + qwen3:14b
Hast du schon einen Tower rumstehen? Dann reicht eine gebrauchte RTX 3060 für 150 bis 250 EUR. Die 12 GB VRAM schaffen auch 14B-Modelle flüssig. Nachteil: 150+ Watt unter Last und der Lüfter ist hörbar.
Enthusiast (ab 1.500 EUR)
Mac Mini M4 Pro 48 GB + mistral-small:24b oder qwen3:32b
Für Leute, die das Maximum wollen. Große Modelle, komplexe Automatisierungsvorschläge, genug Headroom für Voice-Stack, Vision und parallele Dienste.
AI Task: Ollama als Hintergrund-Worker
Neben dem Conversation Agent hat die Ollama-Integration einen zweiten Eintrag: AI Task. Damit kannst du die KI in Automationen als Hintergrund-Worker einsetzen.
Beispiel: Eine Automation, die jeden Abend eine Zusammenfassung deiner Energiedaten erstellt. Oder ein Script, das Sensor-Anomalien prüft und dich benachrichtigt, wenn etwas ungewöhnlich aussieht.
Der Unterschied zum Conversation Agent: Kein Chat, sondern Datenverarbeitung im Hintergrund. Du schickst einen Prompt mit Daten rein und bekommst eine strukturierte Antwort zurück.
Typische Probleme und Lösungen
| Problem | Ursache | Lösung |
|---|---|---|
| HA findet Ollama nicht | OLLAMA_HOST nicht gesetzt oder nicht neu gestartet | OLLAMA_HOST=0.0.0.0:11434 setzen, Ollama komplett neu starten. Im Log prüfen: Listening on [::]:11434 |
| Modell antwortet nicht | Context gesprengt (zu viele Entitäten) | Entitäten auf 30-60 reduzieren |
| Modell halluziniert Entitäten | Modell erfindet Namen | Klare deutsche Entitäten-Namen verwenden, weniger Entitäten freigeben |
| Qwen3 denkt endlos nach | Thinking-Mode aktiv | In HA: "Think before responding" auf AUS |
| Modell erfindet Tool-Namen | Nicht alle Modelle nutzen HA-Intents korrekt | llama3.1:8b oder qwen3:8b verwenden statt gemma4 |
412-Fehler beim ollama pull | Ollama-Version zu alt | Ollama updaten: brew upgrade ollama oder App neu herunterladen |
| Langsame Antworten | Hardware zu schwach oder Modell zu groß | Kleineres Modell wählen (3B statt 8B) oder Hardware upgraden |
| RAM-Fehler / Ollama crasht | Modell passt nicht in den Speicher | Kleineres Modell nutzen. Faustregel: Modell braucht 1,2x seine Dateigröße als RAM |
