Lokaler Sprachassistent für Smart Home
Was dieser Artikel über lokale Sprachassistenten behandelt
- Wie Du einen komplett lokalen Sprachassistenten baust.
- Whisper (STT) + Ollama (Verständnis) + Piper (TTS).
- Wie Du den Assistenten mit Home Assistant verbindest.
- Praxisbeispiele für Licht, Klima, Musik und Sicherheit.
- Best Practices für Latenz, Genauigkeit und Datenschutz.
Einleitung: Lokaler Sprachassistent verständlich erklärt
Ein lokaler Sprachassistent versteht Sprachbefehle ohne Cloud: Du sprichst, Whisper transkribiert, Ollama versteht und entscheidet, Piper antwortet. Keine Daten verlassen Dein Netzwerk, im Gegensatz zu Alexa oder Google Home.
Dieser Artikel richtet sich an Anwender, die einen lokalen Sprachassistenten bauen wollen. Grundlagen findest Du in Home Assistant mit KI und Sprachassistenten.
Warum brauche ich einen lokalen Sprachassistenten?
Alexa und Google Home senden Deine Sprachbefehle in die Cloud. Ein lokaler Assistent verarbeitet alles auf Deinem Server: „Licht an” wird lokal transkribiert, verstanden und ausgeführt. Keine Daten raus, keine Werbung, volle Kontrolle.
Lokaler Sprachassistent kurz erklärt
Mikrofon → Whisper (STT) → Ollama (LLM) → Home Assistant (Aktion) → Piper (TTS) → Lautsprecher. Alles lokal, keine Cloud.
Der Kerngedanke lautet: Sprachsteuerung ohne Datenübertragung.
Für wen ist dieser Artikel gedacht?
- Privacy-Bewusste, die keine Cloud-Sprachassistenten wollen.
- Smart-Home-Bastler, die lokale Sprachsteuerung bauen.
- Home-Assistant-Nutzer, die Assist lokal nutzen.
- Tinkerer, die eigene Sprachassistenten bauen.
Wichtige Begriffe
- Whisper - Speech-to-Text von OpenAI (lokal). Wann nützlich: für Spracheingabe.
- Ollama - Lokaler Modellserver. Wann nützlich: für Verständnis.
- Piper - Text-to-Speech (lokal). Wann nützlich: für Sprachausgabe.
- Wyoming - Protokoll für Sprachdienste. Wann nützlich: für Integration.
- Home Assistant - Smart-Home-Plattform. Wann nützlich: für Aktionen.
- Assist - HA-Sprachassistent. Wann nützlich: für die Pipeline.
Architektur
Spracheingabe (Mikrofon)
│
▼
Whisper (STT) ──► "Mach das Licht an"
│
▼
Ollama (LLM) ──► Versteht: light.turn_on
│
▼
Home Assistant ──► Führt aus: Licht an
│
▼
Piper (TTS) ──► "Das Licht ist jetzt an"
│
▼
Sprachausgabe (Lautsprecher)
Setup: Komplett lokaler Sprachassistent
1. Docker-Stack
version: "3.8"
services:
whisper:
image: rhasspy/wyoming-whisper:latest
ports:
- "10300:10300"
volumes:
- whisper_data:/data
command: --model small --language de
networks:
- voice
piper:
image: rhasspy/wyoming-piper:latest
ports:
- "10200:10200"
volumes:
- piper_data:/data
command: --voice de_DE-thorsten-high
networks:
- voice
ollama:
image: ollama/ollama:latest
ports:
- "11434:11434"
volumes:
- ollama_data:/root/.ollama
networks:
- voice
homeassistant:
image: homeassistant/home-assistant:latest
ports:
- "8123:8123"
volumes:
- ha_config:/config
networks:
- voice
volumes:
whisper_data:
piper_data:
ollama_data:
ha_config:
networks:
voice:
driver: bridge
2. Home Assistant konfigurieren
# configuration.yaml
# Wyoming-Integration für Whisper und Piper
# Ollama als Conversation Agent
ollama:
url: http://ollama:11434
In der UI:
- Settings → Devices & Services → Add Integration → Wyoming
- Whisper:
http://whisper:10300 - Piper:
http://piper:10200
- Whisper:
- Settings → Voice Assistants → Assist
- STT: Whisper
- Conversation Agent: Ollama
- TTS: Piper
3. Satellit (Mikrofon + Lautsprecher)
Für Spracheingabe brauchst Du einen Satelliten:
# ESP32-S3 mit Micro Wake Word
# Oder: Raspberry Pi mit ReSpeaker
# Oder: Wyoming Satellite auf Linux
Praxisbeispiel 1: Einfache Befehle
# In Home Assistant: Assist-Befehle
automation:
- alias: "Licht an"
trigger:
- platform: conversation
command:
- "Mach das Licht an"
- "Licht an"
- "Licht einschalten"
action:
- service: light.turn_on
target:
area_id: wohnzimmer
Praxisbeispiel 2: Kontext-basierte Befehle
automation:
- alias: "KI-Kontext-Befehl"
trigger:
- platform: conversation
command:
- "Mach es gemütlich"
- "Gemütliche Atmosphäre"
action:
- service: light.turn_on
data:
brightness: 128
color_temp: 300
- service: media_player.play_media
data:
media_content_type: music
media_content_id: "gemütliche Playlist"
- service: climate.set_temperature
data:
temperature: 22
Praxisbeispiel 3: Fragen beantworten
automation:
- alias: "KI-Frage"
trigger:
- platform: conversation
command:
- "Wie ist das Wetter"
- "Was ist die Temperatur"
action:
- service: ollama.generate
data:
prompt: |
Aktuelle Daten:
- Außentemperatur: {{ states('sensor.aussentemperatur') }}°C
- Wetter: {{ states('weather.home') }}
- Luftfeuchtigkeit: {{ states('sensor.luftfeuchtigkeit') }}%
Beantworte die Frage: "{{ trigger.command }}"
Kurz und freundlich.
response_variable: antwort
- service: tts.speak
data:
message: "{{ antwort.text }}"
media_player_entity_id: media_player.kueche
Praxisbeispiel 4: Komplexe Befehle
automation:
- alias: "KI-Komplexer-Befehl"
trigger:
- platform: conversation
command:
- "Fahr die Rollladen runter wenn die Sonne scheint"
action:
- condition:
- condition: sun
before: sunset
after: sunrise
- service: cover.close_cover
target:
entity_id: cover.wohnzimmer
Sicherheitshinweise
- Alles lokal: Keine Sprachdaten verlassen Dein Netzwerk.
- Validierung: Kritische Befehle (Tür öffnen) sollten Bestätigung erfordern.
- Mikrofon-Zugriff: Nur autorisierte Geräte dürfen zugreifen.
- Logging: Protokolliere Befehle für Debugging.
Typische Stolpersteine
- Latenz: Whisper + Ollama braucht 3-7 Sekunden. Für schnellere Antworten: kleinere Modelle.
- Deutsche Sprache: Whisper small ist gut, large ist genauer aber langsamer.
- Fehlinterpretation: „Licht an” kann mehrere Räume betreffen. Kontext präzisieren.
- Mikrofon-Qualität: Schlechtes Mikrofon = schlechte Transkription.
- Hintergrundgeräusche: Lärm stört die Erkennung. Gutes Mikrofon + Positionierung.
Weiterführende Links
- Home Assistant mit KI - HA + Ollama.
- Smart Home Agent - KI-Agenten.
- Sprachassistenten - Übersicht.
- Whisper - STT-Modelle.
- Ollama - Modellserver.
- Node-RED Home Assistant - Für komplexe Flows.
Key Takeaways:
- Lokaler Sprachassistent: Whisper + Ollama + Piper, komplett offline.
- Keine Daten verlassen Dein Netzwerk, im Gegensatz zu Alexa/Google.
- Home Assistant als Aktionsschicht, Assist als Pipeline.
- Für Privacy-bewusste Smart-Home-Nutzer.
- Latenz 3-7 Sekunden, je nach Modell und Hardware.
FAQ
Was ist ein lokaler Sprachassistent?
Lokal oder Alexa?
Welche Hardware brauche ich?
Wie schnell ist die Antwort?
Funktioniert Deutsch gut?
Sind meine Sprachdaten sicher?
Funktioniert das offline?
Was, wenn der Assistent falsch versteht?
Quellen und weiterführende Literatur
- Whisper - Speech-to-Text.
- Piper - Text-to-Speech.
- Home Assistant Assist - Sprachassistent.
- Ollama - Modellserver.


