Home Assistant

HomePod als TTS-Lautsprecher in Home Assistant

Die HomeKit-Integration in Home Assistant ist seit Jahren stabil, aber die wahre Magie kommt erst beim Zusammenspiel mit media_player.homepod und Text-to-Speech. Statt das Smartphone für jede Push-Mitteilung in die Hand zu nehmen, spricht der HomePod das Ereignis einfach laut aus – auf Deutsch, mit Cloud-TTS-Qualität. Dieser Beitrag zeigt, wie eine Morgenroutine mit Temperatur­ansage, sanftem Aufwach­licht und HomePod-Sprachausgabe in HA aussieht.

Die Idee: Information statt Ping

Der typische HA-Anwender hat unzählige Push-Benachrichtigungen – die meisten ignoriert man irgendwann. Sprachausgabe über den HomePod ist anders: kontextuell, lokal und unaufdringlich. Beispiele aus der Praxis:

  • Morgens um 05:00: HomePod schaltet sich ein, sagt Wetter und Innentemperatur an.
  • Geschirrspüler fertig: kurze gesprochene Meldung in der Küche statt Push.
  • Tür Aqara Sensor: Wenn länger als 5 Min. offen, sagt der HomePod «Tür ist noch offen».
  • Verdichter-Warnung: Wenn die Wärmepumpe stark taktet, kommt die Ansage ins Büro.

Der Trick: Drei HA-Bausteine kombinieren – ein automation-Trigger, ein script.tts_* und der media_player.homepod als Target.

Voraussetzungen

In HA muss die HomeKit Controller-Integration den HomePod als media_player-Entität exponieren. Ab HA 2024.4 funktioniert das mit AirPlay-2-Lautsprechern out of the box. Zusätzlich braucht es eine TTS-Engine. Drei Optionen:

  • Home Assistant Cloud (tts.home_assistant_cloud): Premium-Abo bei Nabu Casa, beste deutsche Stimme («marlene»).
  • Google Translate (tts.google_translate_en_com): kostenlos, aber roboterhaft.
  • OpenAI TTS (tts.openai_tts): hochwertig, benötigt API-Key, kostenpflichtig pro Zeichen.

Für Alltags-Sprachausgabe ist Nabu Casa der beste Kompromiss aus Qualität und Kosten.

Schritt 1: Das TTS-Script

Ein wiederverwendbares Script kapselt die HomePod-Ansage – wenn du den Wortlaut änderst, musst du nicht in jeder Automation suchen:


# scripts.yaml
tts_temperatur_buro:
  alias: TTS Temperatur Buero
  sequence:
    - service: tts.cloud_say
      data:
        entity_id: media_player.homepod
        language: de-DE
        options:
          voice: MarlenNeural
        message: >
          Guten Morgen. Im Büro hat es
          {{ states('sensor.buro_temperatur') | round(1) }} Grad,
          die Luftfeuchtigkeit liegt bei
          {{ states('sensor.buro_luftfeuchtigkeit') | round(0) }} Prozent.
  mode: single

mode: single verhindert, dass der HomePod sich beim schnellen Wiederauslösen selbst überspricht.

Schritt 2: Sound-Benachrichtigung als zweites Script

Für kurze Hinweise ohne Stimme ist ein Sound-Script nützlich – etwa wenn der Geschirrspüler fertig ist und du gerade telefonierst. Ein WAV-File in /config/www/sounds/ liegt bereit:


sound_notification_homepod:
  alias: sound-notification-homepod
  sequence:
    - service: media_player.play_media
      data:
        entity_id: media_player.homepod
        media_content_id: >
          media-source://media_source/local/sounds/ding.mp3
        media_content_type: audio/mp3
  mode: single

Beide Scripts sind im HA-UI sichtbar und können beliebig in Automationen aufgerufen werden – siehe auch unser Beitrag Hue-Szenen tageszeitgesteuert per input_select und Script-Mapping, wo das gleiche Muster (Script als Indirektion) für Lichtszenen genutzt wird.

Schritt 3: Morgenroutine 05:00 Uhr

Die automation.homepod_einschalten_05_00 orchestriert alles: HomePod aufwecken, kurz Sound spielen, dann Temperatur ansagen, danach Hue-Szene «Sanftes Aufwachen» starten.


# automations.yaml
- alias: Homepod einschalten 05:00
  trigger:
    - platform: time
      at: "05:00:00"
  condition:
    - condition: state
      entity_id: input_boolean.urlaubsmodus
      state: "off"
    - condition: time
      weekday:
        - mon
        - tue
        - wed
        - thu
        - fri
  action:
    - service: media_player.turn_on
      target:
        entity_id: media_player.homepod
    - delay: "00:00:02"
    - service: script.sound_notification_homepod
    - delay: "00:00:03"
    - service: script.tts_temperatur_buro
    - delay: "00:00:08"
    - service: scene.turn_on
      target:
        entity_id: scene.kuche_sanftes_aufwachen
  mode: single

Die delay-Schritte sind wichtig: HomePods brauchen ca. 2 Sekunden bis zur Audiobereitschaft, sonst werden die ersten Silben verschluckt. Wer experimentiert: die delays minimal halten und mit Logs prüfen.

Schritt 4: Eventbasierte Ansagen

Statt zeitgesteuert kann jede Sensor­änderung den HomePod auslösen. Beispiel: wenn der Wäschetrockner fertig ist (via Vibrations­sensor), kommt eine Sprachausgabe:


- alias: Trockner fertig
  trigger:
    - platform: state
      entity_id: binary_sensor.lumi_lumi_vibration_aq1
      from: "on"
      to: "off"
      for: "00:03:00"
  action:
    - service: tts.cloud_say
      data:
        entity_id: media_player.homepod
        language: de-DE
        message: "Trockner ist fertig."

Stolperfallen aus der Praxis

Drei Dinge sind erfahrungsgemäss zu beachten. Erstens: Der HomePod muss in AirPlay 2-Modus laufen und im gleichen WLAN wie HA hängen – sonst meldet media_player unavailable. Zweitens: Bei mehreren HomePods empfiehlt sich eine media_player-Gruppe, sonst hört man die Ansage nur in einem Raum. Drittens: Wenn der HomePod gerade Musik spielt, unterbricht TTS sie – nach der Ansage spielt sie nicht automatisch weiter. Workaround: Vor der Ansage media_player.media_pause, danach media_player.media_play.

Fazit

HomePod-TTS in Home Assistant ist kein Spielzeug – richtig konfiguriert ersetzt es einen Grossteil der Push-Benachrichtigungen, fühlt sich natürlicher an und macht die Heim­automation für Mitbewohner sichtbar. Die Investition ist eine Stunde Konfiguration plus ein Nabu-Casa-Abo. Wer einmal morgens vom HomePod den Tagesplan erzählt bekommt, will nicht zurück zum Push-Ping.

← Zurück zur Übersicht