Skip to content
BotServBotServ
SprachassistentLokalWhisperOllamaPiperSmart Home

Lokaler Sprachassistent für Smart Home

Lokaler Sprachassistent für Smart Home. Whisper + Ollama + Piper, komplett offline, keine Cloud.

S

schutzgeist

4 min read
Lokaler Sprachassistent für Smart Home

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:

  1. Settings → Devices & Services → Add Integration → Wyoming
    • Whisper: http://whisper:10300
    • Piper: http://piper:10200
  2. 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.

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?

Ein Sprachassistent, der komplett auf Deinem Server läuft: Whisper für STT, Ollama für Verständnis, Piper für TTS. Keine Cloud, keine Datenübertragung.

Lokal oder Alexa?

Lokal für Privacy und Kontrolle. Alexa für Einfachheit und Musik. Lokal ist komplexer, aber vollständig privat.

Welche Hardware brauche ich?

Server: 8-16 GB VRAM für Whisper + Ollama. Satellit: ESP32-S3 oder Raspberry Pi für Mikrofon + Lautsprecher.

Wie schnell ist die Antwort?

3-7 Sekunden von Sprache zu Aktion. Whisper small: 1-2s, Ollama 8B: 2-5s, Piper: <1s. Für schnellere Antworten: kleinere Modelle.

Funktioniert Deutsch gut?

Ja, Whisper small/large für deutsche Sprache. Piper mit deutscher Stimme (de_DE-thorsten-high). Ollama mit deutschen Prompts.

Sind meine Sprachdaten sicher?

Ja, komplett. Alle Verarbeitung lokal. Keine Sprachdaten verlassen Dein Netzwerk. Das ist der Hauptvorteil gegenüber Cloud-Assistenten.

Funktioniert das offline?

Ja, komplett. Keine Internet-Verbindung nötig. Whisper, Ollama und Piper laufen lokal. Nur für Updates brauchst Du Internet.

Was, wenn der Assistent falsch versteht?

KI kann Befehle falsch interpretieren. Für kritische Aktionen (Tür öffnen) Bestätigung einbauen. Präzise Befehle und Kontext helfen.

Quellen und weiterführende Literatur

Zurück zum KI Blog
Share:

Ähnliche Beiträge