Zum Hauptinhalt springen

Bose SoundTouch Smart-Home-Integration, kostenlos und Open Source

Bose SoundTouch-Integration für Gladys Assistant

Bose-SoundTouch-Lautsprecher im lokalen Netz: Betrieb, Lautstärke, Quellen, Voreinstellungen, Titel.

Steuere deine Bose-SoundTouch-Lautsprecher (SoundTouch 10, 20, 30, 300, Wave, Lifestyle und die anderen SoundTouch-Systeme) mit Gladys im lokalen Netzwerk: Betrieb, Lautstärke, Stummschaltung, Wiedergabe und Pause, vorheriger und nächster Titel, Quelle, die sechs Voreinstellungen, was gerade läuft und die Multiroom-Gruppe.

Ohne die Hardware entwickelt: Rückmeldungen willkommen. Diese Integration wurde anhand der Dokumentation „Bose SoundTouch Web API“ und der aufgezeichneten Antworten anderer Open-Source-Projekte geschrieben, ohne Lautsprecher zur Hand. Erzähl uns im Gladys-Forum, was funktioniert und was nicht.

Diese Integration steht in keiner Verbindung zu Bose. Bose und SoundTouch sind Marken der Bose Corporation.

Überblick​

Jeder Lautsprecher wird ein Gladys-Gerät, ein Musikplayer: Die Gladys-Box Musik im Dashboard steuert ihn (Wiedergabe, Pause, zurück, weiter, Lautstärkeregler), und die Gerätebox zeigt den Rest. Was am Lautsprecher, mit seiner Fernbedienung oder in der SoundTouch-App geändert wird, kommt in weniger als einer Sekunde in Gladys an, über die Benachrichtigungen des Lautsprechers selbst.

Alles bleibt in deinem Netzwerk: Die Integration spricht direkt mit den Lautsprechern, ohne Konto und ohne Cloud. Bose hat das Ende des SoundTouch-Clouddienstes angekündigt; die lokale API, die diese Integration nutzt, funktioniert ohne ihn weiter.

Voraussetzungen​

  • Gladys 5.2.0 oder neuer.
  • SoundTouch-Lautsprecher im selben Netzwerk wie Gladys, bereits mit der SoundTouch-App eingerichtet (sie müssen in deinem WLAN oder per Ethernet verbunden sein).
  • Gladys muss die Lautsprecher über die TCP-Ports 8090 (API), 8080 (Benachrichtigungen) und, für die Aktion „Audio-Adresse abspielen“, 8091 (UPnP) erreichen.

Konfiguration​

  1. Installiere die Integration (Integrationen → Von GitHub installieren, solange sie nicht im Store ist) und öffne dann ihren Tab Konfiguration.
  2. Lautsprecher im selben Netzwerk werden automatisch gefunden (mDNS, von Gladys weitergeleitet). Fehlt einer, gib seine IP-Adresse unter IP-Adressen der Lautsprecher ein (mehrere Adressen: durch Kommas trennen). Die SoundTouch-App zeigt sie unter Einstellungen, Lautsprechereinstellungen, Lautsprecher-Info. Gib deinen Lautsprechern wenn möglich eine feste Adresse in deinem Router.
  3. Wähle die Sprache der Texte: die Funktionsnamen (beim Hinzufügen eines Lautsprechers festgelegt) und die Texte der Integration (Quelle, Gruppe, Standby). Standardmäßig Französisch.
  4. Speichere, öffne dann den Tab Entdecken und füge deine Lautsprecher hinzu.

Die Schaltfläche Lautsprecher suchen sucht erneut nach den Lautsprechern und listet die gefundenen auf, mit Modell, Adresse und dem Zustand ihrer Benachrichtigungen (live oder abgefragt).

Das Lautsprecher-Gerät​

FunktionWas sie tut
BetriebSchaltet den Lautsprecher ein (er setzt fort, was er zuletzt spielte) oder in den Standby
Lautstärke0 bis 100, folgt dem Lautstärkeknopf und der Fernbedienung
StummschaltungSchaltet den Ton stumm oder wieder ein
Wiedergabe, PauseTasten der Musik-Box
Vorheriger, Nächster TitelVorheriger oder nächster Titel (bei Quellen, die das erlauben)
WiedergabestatusWiedergabe oder Pause, nur lesbar (Standby zählt als Pause)
QuelleAUX, Bluetooth oder eine der gespeicherten Voreinstellungen; „Andere“ für jede andere Quelle
Aktueller TitelDer Titel, sonst der Sender, sonst die Quelle; „Standby“, wenn er aus ist
InterpretDer Interpret, oder der Sender eines Radios, das einen Titel spielt; „—“, wenn es keinen gibt
Multiroom-Gruppe„Nicht gruppiert“, „Steuert Küche, Schlafzimmer“ oder „Folgt Wohnzimmer“, nur lesbar

Die Liste Quelle zeigt die auf dem Lautsprecher gespeicherten Voreinstellungen mit ihrem Namen („Voreinstellung 2 · FIP“); sie folgt den Voreinstellungen, die du in der SoundTouch-App speicherst oder änderst. „Andere“ zu wählen bewirkt nichts: Es bedeutet nur, dass der Lautsprecher eine Quelle spielt, die Gladys nicht selbst wählen kann (Spotify, ein Radio außerhalb der Voreinstellungen, Standby). AUX wird nur bei Lautsprechern mit AUX-Eingang angeboten.

Multiroom-Gruppen werden angezeigt, nicht erstellt: Erstelle sie in der SoundTouch-App.

Dashboard-Widget​

Das Widget SoundTouch-Player zeigt einen Lautsprecher (in seinen Einstellungen gewählt):

  • Titel und Interpret, mit der Quelle oder der Voreinstellung;
  • die Lautstärke, live;
  • den Status (Wiedergabe, Pause, Standby, nicht erreichbar), die Quelle und die Multiroom-Gruppe;
  • vier Schaltflächen: zurück, Wiedergabe/Pause (Einschalten, wenn der Lautsprecher im Standby ist), weiter und Voreinstellungen, die die Liste der sechs Voreinstellungen öffnet, um eine zu starten.

Die Gladys-Box Musik funktioniert auch: Wähle darin den Lautsprecher.

Szenen​

Auslöser: SoundTouch-Voreinstellung gestartet​

SoundTouch-Voreinstellung gestartet löst aus, wenn eine der sechs Voreinstellungen außerhalb von Gladys startet: über die Tasten des Lautsprechers, seine Fernbedienung oder die SoundTouch-App. Er löst auch aus, wenn der Lautsprecher auf einer Voreinstellung aufwacht. Er löst nicht aus, wenn Gladys die Voreinstellung selbst startet (eine Szene, das Widget, die Liste Quelle), sodass eine Szene nicht darüber in eine Schleife geraten kann.

Filter: der Lautsprecher und die Voreinstellungen (leer für eine beliebige). Variablen: Nummer und Name der Voreinstellung.

Aktion: SoundTouch-Voreinstellung abspielen​

SoundTouch-Voreinstellung abspielen startet die Voreinstellung 1 bis 6 eines Lautsprechers und schaltet ihn bei Bedarf ein. Die Aktion gibt den Namen der Voreinstellung für die folgenden Aktionen der Szene zurück. Eine leere Voreinstellung lässt die Aktion fehlschlagen (der Rest der Szene läuft weiter).

Aktion: Audio-Adresse abspielen​

Audio-Adresse abspielen schickt eine http://-Adresse (einen Radiostream, eine in deinem Netzwerk bereitgestellte Tondatei) an den UPnP-Renderer des Lautsprechers, mit optionaler Lautstärke. Die Lautsprecher spielen keine https://-Adressen. Nicht jedes Modell hat den UPnP-Renderer: Dort schlägt die Aktion fehl.

Betrieb, Lautstärke und Quelle brauchen keine eigene Aktion: Nutze die Kernaktion „Ein Gerät steuern“ auf den Funktionen des Lautsprechers.

Szenenbeispiele​

  • Mit dem Radio aufwachen: um 7:00 an Werktagen „SoundTouch-Voreinstellung abspielen“ (Voreinstellung 1, dein Morgenradio) im Schlafzimmer, dann Lautstärke auf 15.
  • Eine Voreinstellungstaste als Schalter: Wenn „SoundTouch-Voreinstellung gestartet“ für Voreinstellung 6 des Wohnzimmerlautsprechers auslöst, die Wohnzimmerlampen einschalten und die Rollläden schließen: Die Taste des Lautsprechers wird zur „Filmabend“-Taste.
  • Ruhe beim Gehen: Wenn die letzte Person das Haus verlässt, alle Lautsprecher ausschalten.

Aktualisierung und Netzwerk​

  • Die Lautsprecher senden jede Änderung (Lautstärke, Titel, Quelle, Voreinstellungen, Gruppe) über ihren Benachrichtigungs-WebSocket: Gladys folgt ihnen in Echtzeit.
  • Die Integration liest außerdem jeden Lautsprecher alle 2 Minuten per HTTP (alle 30 Sekunden, solange seine Benachrichtigungen unterbrochen sind), um eine verlorene Benachrichtigung nachzuholen und einen ausgesteckten Lautsprecher zu bemerken. Das sind sechs kleine Anfragen pro Lautsprecher, nur in deinem lokalen Netzwerk.
  • Unveränderte Werte werden alle 6 Stunden erneut an Gladys gesendet, damit das Gerät nie „kein aktueller Wert“ anzeigt.
  • Alle 15 Minuten läuft eine neue Suche, um einem Lautsprecher zu folgen, dessen Adresse sich geändert hat (DHCP).
  • Die SoundTouch-Web-API hat kein Konto, kein Kontingent und keinen Schlüssel. Die API ist für jedes Gerät in deinem Netzwerk offen: So sind die Lautsprecher gebaut.

Fehlerbehebung​

  • Kein Lautsprecher gefunden: Prüfe, ob der Lautsprecher über die SoundTouch-App spielt, und gib dann seine IP-Adresse in der Konfiguration ein. Die automatische Erkennung braucht ein Gladys, das mDNS weiterleitet (5.2.0 oder neuer), und ein Netzwerk, das mDNS durchlässt (manche Mesh-WLANs und Gastnetze tun das nicht).
  • Der Lautsprecher ist nicht erreichbar: Er ist vielleicht ausgesteckt oder im Tiefschlaf (manche Modelle verlassen das Netzwerk nach langem Standby). Drücke eine Taste am Lautsprecher und dann Lautsprecher suchen.
  • Zustände kommen verspätet an: Die Benachrichtigungen sind vielleicht zwischen Gladys und dem Lautsprecher blockiert (Port 8080); die Integration liest den Lautsprecher dann alle 30 Sekunden. Lautsprecher suchen zeigt „abgefragt“ statt „live“.
  • Eine Voreinstellung fehlt in der Liste Quelle: Speichere sie zuerst auf dem Lautsprecher (SoundTouch-App oder langer Druck auf die Voreinstellungstaste).
  • Setze LOG_LEVEL=debug für die Integration, um jede Benachrichtigung und jede Aktualisierung in ihren Protokollen zu sehen.

Einschränkungen​

  • Ohne die Hardware entwickelt: Das Verhalten an einem echten Lautsprecher ist noch nicht geprüft.
  • Gladys-Durchsagen (die Szenenaktion „Benachrichtigung senden“) werden nicht angeboten: Gladys Plus liefert sie über eine https://-Adresse, und die Lautsprecher spielen nur http://-Adressen.
  • Multiroom-Gruppen werden gelesen, nicht erstellt oder geändert.
  • Nur AUX und Bluetooth können als Eingang gewählt werden: Die HDMI- und TV-Eingänge der Lifestyle- und SoundTouch-300-Systeme sowie die Streamingdienste erscheinen als „Andere“.
  • Zurück und weiter funktionieren nur bei Quellen, die das Überspringen erlauben (nicht bei einem Radio).
  • Bass, Klang und die Wecker mancher Modelle werden nicht unterstützt.

Konfigurationseinstellungen​

Diese Einstellungen fragt Bose SoundTouch in seinem Konfigurationsbildschirm in Gladys ab.

EinstellungTypPflichtfeldBeschreibung
Deine Lautsprecher findensectionNeinSoundTouch-Lautsprecher im selben Netzwerk wie Gladys werden automatisch gefunden (mDNS): Öffne den Tab „Entdecken“. Fehlt einer, gib unten seine IP-Adresse ein (in der SoundTouch-App unter Einstellungen, Lautsprechereinstellungen, Lautsprecher-Info). Nicht mit Bose verbunden.
IP-Adressen der LautsprecherstringNeinOptional, durch Kommas getrennt. Nur für Lautsprecher nötig, die die automatische Erkennung nicht findet.
Sprache der TexteselectNeinSprache der Funktionsnamen (beim Hinzufügen eines Lautsprechers festgelegt) und der Texte der Integration: Quelle, Gruppe, Standby.

So installierst du Bose SoundTouch in Gladys​

  1. Öffne in Gladys Integrationen: Bose SoundTouch erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
  2. Klicke auf Installieren. Gladys lädt das Docker-Image (ghcr.io/guim31/gladys-soundtouch:1.0.1) herunter, startet es in einer vom Kern isolierten Sandbox und erzeugt die Oberfläche der Integration (Geräte, Erkennung und Konfiguration).
  3. Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
  4. Du kannst sie auch direkt über die URL ihres Repositorys installieren: https://github.com/guim31/gladys-soundtouch.

Bose SoundTouch benötigt Gladys >=5.2.0. Der Katalog in Gladys wird stündlich aktualisiert, eine neue Version ist also spätestens eine Stunde nach ihrer Veröffentlichung verfügbar.

Du nutzt Gladys noch nicht? Es ist kostenlos und Open Source: folge der Installationsanleitung, um loszulegen.

Über externe Integrationen​

Bose SoundTouch ist eine externe Integration: eine Community-Integration, die als Docker-Container verpackt und auf GitHub veröffentlicht wird. Gladys installiert sie mit einem Klick und führt sie in einer vom Kern isolierten Sandbox aus. Sie wird von guim31 veröffentlicht und gepflegt, nicht vom Gladys-Kernteam.

Abonniere den Newsletter von Gladys Assistant

Ein paar E-Mails im Monat zu neuen Releases und Neuigkeiten aus dem Projekt. Verschickt von Pierre-Gilles Leymarie, dem Gründer des Projekts. Jederzeit abbestellbar 🙂