Home Assistant Anleitung Sprachausgabe auf Sonos-Lautsprecher

Wer Home Assistant und Sonos-Lautsprecher nutzt, kann diese Kombination nutzen, um dich von Home Assistant über Ereignisse informieren zu lassen. Alles, was man hierfür benötigt (neben Home Assistant und Sonos-Lautsprecher(n)) sind der gewünschte Benachrichtigungstext als mp3-Datei sowie eine Mini-Automation.

Wie du deinen individuellen Benachrichtigungstext als mp3-Datei und die Automation zur Wiedergabe der mp3-Datei auf dem Sonos-Lautsprecher erstellst, beschreibe ich im folgenden!

Auf der Homepage https://ttsmp3.com/ kannst du dir mit wenigen Mausklicks kostenlos eine mp3-Datei von einem beliebigen Text erstellen. Klar, das kann je nach Wort beziehungsweise Satzbau schonmal ein wenig mechanisch oder künstlich klingen, aber wir wollen damit ja auch keinen Lesewettbewerb gewinnen 😉

Zudem kannst du dir vor dem Erstellen deiner mp3-Datei das Ergebnis anhören und bei Nichtgefallen zwischen 3 deutschen Stimmen auswählen. Für mich war bislang immer ein passendes Ergebnis dabei!

Home Assistant Anleitung Sprachausgabe auf Sonos-Lautsprecher

Als Ergebnis erhältst du auf jeden Fall die gewünschte mp3-Datei, welche wir für die Wiedergabe der Sprachbenachrichtigung in deiner Home Assistant Automation benötigen.

Ja, ich weiß, dass Home Assistant eine eingebaute TTS-Funktion hat. Aber diese gefällt mir aus mehreren Gründen nicht:

  1. Es muss zwingend eine aktive Internetverbindung bestehen, da die Online-TTS-Funktion von Google selbst bei aktivem Caching der TTS-Datei einmalig genutzt werden muss.
  2. Und obwohl ich ein Google-Handy besitze und auch sonst sehr gerne Google-Dienste nutze, muss Google ja wiederum nicht alles von mir wissen – ein wenig Privatsphäre darf ja wohl noch sein! 😉
  3. Sollte die Benachrichtigung einmal nicht wie gewünscht funktionieren, wird die Fehlersuche komplexer, da es an der Internetverbindung, an dem TTS-Service und natürlich meinem Skript liegen kann. Bei einer lokal vorhandenen mp3-Datei, kann es nur an meinem Skript liegen!

Hast du die mp3-Datei also heruntergeladen, solltest du diese direkt auf die SD-Karte deiner Home Assistant Instanz kopieren. Kopiere die Datei am besten in den Ordner config/www/. Dateien, die dort abgelegt werden, kannst du in Skripten unter Nutzung des Pfades „/local/“ nutzen.

Nun brauchst du nur noch die Automation, welche die auf der SD-Karte befindliche mp3-Datei auf Wunsch auf deinem Sonos-Lautsprecher(n) abspielen wird.

Um meinen Beispielcode nicht zu komplex zu, nutze ich als Trigger eine simple State-Abfrage und spiele dann die mp3-Datei auch nur auf einem Lautsprecher ab:

- alias: Waschmaschine/Trockner fertig
  description: ''
  trigger:
    - platform: numeric_state
      entity_id: sensor.steckdose_current_consumption
      below: '5'
      for: '00:10:00'
  condition: []
  action:


#zuerst erstellen wird von einem konkreten Sonos-Lautsprecher einen Snapshot, also merken uns dessen Zustand/Einstellungen
    - service: sonos.snapshot
      data:
        entity_id: media_player.wohnzimmer

#wir stoppen die aktuelle Wiedergabe manuell
    - service: media_player.media_stop
      data:
        entity_id: media_player.wohnzimmer
#dann stellen wir die Lautstärke auf einen bestimmten Wert (das probierst du am besten aus!)
    - service: media_player.volume_set
      data:
        volume_level: 0.2
      target:
        entity_id: media_player.wohnzimmer
#um dann die zuvor erstellte mp3-Datei abzuspielen
    - service: media_player.play_media
      target:
        entity_id: media_player.wohnzimmer
      data:
        media_content_type: music
        media_content_id: http://47.11.08.15.1/local/washingmachine.mp3
#ein klein wenig Pause tut gut :)
    - delay:
        hours: 0
        minutes: 0
        seconds: 5
        milliseconds: 0
#und jetzt reaktivieren wir die eingangs gemerkten Einstellungen des Sonos-Lautsprechers
    - service: sonos.restore
      data:
        entity_id: media_player.wohnzimmer

Da ich im Code selbst jeden relevanten Befehl kommentiert habe, dürfte der Code als solcher ziemlich selbsterklärend sein!

Dieses Code-Beispiel ist so bei mir im Einsatz und informiert uns über einen Sonos-Lautsprecher im Wohnzimmer, wenn die Wäsche vermutlich fertig ist!

[custom_shortcode_quicktipps]

Dieser Beitrag ist Teil einer kleinen Beitrags-Serie rund um den hass.io Home Assistant.

AngebotBestseller Nr. 1
KETOTEK Smart Heizkörperthermostat Zigbee, Elektrische...*
  • 【Zusatzprodukt für Starter-Kit】 Besitzen Sie bereits unser...
  • 【Flexible Steuerung】 Stellen Sie die Temperatur am...

*= Preis inkl. MwSt., ggf. zzgl. Versandkosten. Letzte Aktualisierung vor 60 Minuten / Affiliate Links / Bilder von der Amazon Product Advertising API. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen.

3 Gedanken zu „Home Assistant Anleitung Sprachausgabe auf Sonos-Lautsprecher“

  1. Vielen Dank! Genau das was ich gesucht habe! Sonos hat immer aufgehört zu spielen nachdem die MP3 abgespielt wurde… nicht wirklich sinvoll. mit .snapshot und .restore klappt es wunderbar.

    Als kleiner Anreiz für andere: Ich nutze diese Funktion zusammen mit einem ESP um das Signal der Klingel mit zu erfassen und Sende ein „Ding Doong“ über SONOS ins ganze Haus. Zusätzlich gibt es eine Telegram Nachricht aufs Handy.

    Antworten
  2. Nachdem ich eine Lösung mit TTS implementiert habe, und dabei leider die Musik stoppte, habe ich deinen Artikel gelesen.

    Das Automatisierungsscript konnte ich komplett übernehmen. Lediglich mit dem delay hatte ich Probleme. Der war anfangs zu kurz und daher wurde das mp3 zu früh abgebrochen. Leider wird das Abspielen eines mp3 quittiert, nachdem der Befehl gesendet wird und nicht erst, nachdem das mp3 abgespielt wurde.

    Antworten

Schreibe einen Kommentar

Die folgenden im Rahmen der DSGVO notwendigen Bedingungen müssen gelesen und akzeptiert werden:
Durch Abschicken des Formulares wird dein Name, E-Mail-Adresse und eingegebene Text in der Datenbank gespeichert. Für weitere Informationen wirf bitte einen Blick in die Datenschutzerklärung.