
Bluesound ist eine Multiroom-Audio-Serie auf Basis von BluOS, der Streaming-Plattform von Lenbrook für verlustfreies Audio bis 24 Bit/192 kHz. Jeder BluOS-Player stellt im lokalen Netzwerk die BluOS Custom Integration API bereit: einfache HTTP-GET-Anfragen auf TCP-Port 11000, Antworten als UTF-8-XML, ohne Authentifizierung und ohne Cloud-Konto. TapHome kommuniziert direkt über das LAN mit dem Player.
Die Vorlage ist nicht modellspezifisch — sie enthält keine Modell- oder Herstellerbindung und spricht ausschließlich die HTTP-API an, gilt also für die gesamte aktuelle Serie (NODE, NODE X, NODE NANO, NODE ICON, POWERNODE, POWERNODE EDGE, PULSE, PULSE M, PULSE MINI, PULSE FLEX, PULSE CINEMA, PULSE CINEMA MINI, PULSE SOUNDBAR, VAULT und HUB) sowie für frühere Generationen. Da BluOS auch von NAD Electronics, DALI, PSB Speakers, Monitor Audio, Roksan, Cyrus und Peachtree ausgeliefert wird, stellen Player dieser Marken dieselbe API bereit und reagieren auf dieselben Anfragen.
Netzwerkverbindung
Es ist keine Verkabelung erforderlich. Ein BluOS-Player wird über den Einrichtungsassistenten der BluOS Controller App per Ethernet oder WLAN ins Heimnetz eingebunden, danach erreicht TapHome ihn über HTTP. Einzige Voraussetzung: Die TapHome-Steuereinheit und der Player müssen sich im selben LAN-Segment befinden, und Port 11000 muss zwischen beiden offen sein.
Port 11000 gilt für jeden BluOS-Player mit einer dokumentierten Ausnahme: Der NAD CI580 beherbergt vier Streamer-Knoten in einem Gehäuse auf den Ports 11000 / 11010 / 11020 / 11030. Die Vorlage spricht ausschließlich Port 11000 an und steuert auf einem CI580 daher Knoten 1.
Konfiguration
IP-Adresse des Players ermitteln
Die Adresse wird im Diagnostics-Bildschirm der BluOS Controller App angezeigt:
- Android / iOS — Reiter Players → Player auswählen → Reiter Home → Settings → unter Help & Support auf Diagnostics tippen.
- Windows / macOS — Player Drawer → Player auswählen → linker Navigation Drawer → Help → Diagnostics.
Derselbe Bildschirm listet unter Other Players auch die Adressen der übrigen Player im Netzwerk auf. Ohne die App liefert der Aufruf von http://<player_ip>:11000/SyncStatus im Browser das Attribut id des Players (Adresse und Port) zusammen mit seinem Attribut mac.
Adresse dauerhaft festhalten
Die Vorlage spricht den Player über seine IP-Adresse an, eine geänderte DHCP-Lease legt die Integration also unbemerkt still. Lenbrook empfiehlt ausdrücklich eine DHCP-Reservierung im Router statt einer am Player konfigurierten statischen Adresse:
- Öffnen Sie die Administrationsoberfläche des Routers und suchen Sie die Einstellungen für DHCP- bzw. LAN-Reservierungen.
- Tragen Sie die MAC-Adresse des Players ein — die Antwort auf
/SyncStatusenthält sie, sie lässt sich also ohne App über HTTP auslesen. - Weisen Sie die Adresse zu, die der Player behalten soll, und speichern Sie.
- Starten Sie den Player neu, damit er seine Lease erneuert, und prüfen Sie, ob er die reservierte Adresse übernommen hat.
Import der Vorlage
Die Vorlage hat einen einzigen Importparameter, IpAddress (Platzhalter 192.168.0.1). Geben Sie die Adresse des Players ein; Port 11000 und das Anfrageformat sind bereits Bestandteil der Vorlage.
Erforderliche Einrichtung nach dem Import — Mit Player gruppieren
Der Schalter Mit Player gruppieren wird mit der Variablen IP auf dem wörtlichen Platzhalter 192.168.x.x ausgeliefert. Das ist kein funktionierender Standardwert — solange er nicht ersetzt wird, sucht das Leseskript 192.168.x.x unter den Secondary-Playern, findet es nie, und der Schalter bleibt dauerhaft aus.
Öffnen Sie nach dem Import der Vorlage das Gerät Mit Player gruppieren in der TapHome App und setzen Sie IP auf die Adresse des Players, der als Gruppen-Secondary hinzugefügt werden soll. Verwenden Sie dazu den oben beschriebenen Diagnostics-Bildschirm (Other Players listet genau diese Adressen auf) oder lesen Sie /SyncStatus auf einem beliebigen Player im Netzwerk aus.
Alle übrigen Geräte der Vorlage funktionieren, sobald IpAddress ausgefüllt ist. Mit Player gruppieren ist das einzige Gerät, das nach dem Import einen zweiten Wert benötigt — bleibt
192.168.x.xstehen, wirkt der Schalter defekt, statt einen Fehler zu melden.
Gerätefunktionen
Wiedergabesteuerung
Fünf Taster steuern die Wiedergabe:
- Play — startet die aktuelle Audioquelle. Ein pausierter Player wird fortgesetzt, ein gestoppter dagegen nicht erneut gestartet.
- Pause — sendet ein Umschalten, derselbe Taster pausiert also einen laufenden Player und setzt einen pausierten fort. Läuft ein Alarm mit Timeout, wird dieser Timeout durch das Pausieren zugleich abgebrochen.
- Stop — stoppt die Wiedergabe. Anders als bei Pause lässt sich ein gestoppter Player mit Play nicht fortsetzen. Auch das Stoppen bricht einen laufenden Alarm-Timeout ab.
- Nächster Titel — springt in der Wiedergabeliste vorwärts und am Listenende zurück zum ersten Titel, unabhängig von der Wiederholungseinstellung.
- Vorheriger Titel — startet den aktuellen Titel neu, wenn er länger als vier Sekunden läuft, andernfalls wird zum vorherigen Titel gesprungen.
Diese Taster wirken auf die Wiedergabeliste. Wenn der Player einen Radiosender streamt oder von einem physischen Eingang wiedergibt, ist die Liste nicht die Audioquelle, und Vor- bzw. Zurückspringen steht nicht zur Verfügung — die API behandelt diesen Fall über einen eigenen Endpunkt, den die Vorlage nicht nutzt.
Lautstärke
Lautstärke ist ein Dimmer. Er liest den Pegel des Players (0–100) und skaliert ihn auf den Dimmerbereich 0,0–1,0; beim Schreiben wird der Wert als ganze Prozentzahl zurückgesendet. Das Ausschalten des Dimmers sendet einen Stummschaltbefehl statt Lautstärke 0, sodass der eigene Pegel des Players erhalten bleibt und beim Aufheben der Stummschaltung wiederhergestellt wird.
Beide Schreibvorgänge enthalten tell_slaves=1, was dem Gruppen-Lautstärkeregler in der BluOS Controller App entspricht: Ist der Player Gruppen-Primary, ändert sich die Lautstärke aller Player der Gruppe gemeinsam und nicht nur die des angesprochenen Players.
Der nutzbare Lautstärkebereich wird in der BluOS Controller App unter Settings → Player → Audio konfiguriert und liegt typischerweise bei −80…0 dB. Alle Pegel werden in diesen Bereich eingepasst, ein TapHome-Dimmer auf 100 % bedeutet also nicht zwangsläufig 0 dB. Player mit festem Line-Pegel melden überhaupt keine nutzbare Lautstärke; der Dimmer zeigt dann einen unsinnigen Pegel an, statt einen Fehler zu melden.
Der Lautstärke-Dimmer fragt den Player alle 2,5 Sekunden ab, während die BluOS-API von Integrationen ohne Long Polling höchstens eine Anfrage alle 30 Sekunden erwartet. Bei einem einzelnen Player sind das ein paar kleine Anfragen pro Minute, über ein ganzes Haus voller Player summiert sich das jedoch — behalten Sie das bei ausgelastetem WLAN im Blick und bevorzugen Sie in stark belasteten Netzen kabelgebundene Player.
Zufallswiedergabe und Wiederholung
Zufallswiedergabe schaltet das Mischen der Wiedergabeliste ein und aus. Das Mischen baut die Liste neu auf; beim Ausschalten wird die ursprüngliche Reihenfolge wiederhergestellt.
Wiederholung ist ein dreistufiger Schalter — Keine Wiederholung, Titel wiederholen und Alle wiederholen. TapHome ordnet diese Stufen genau umgekehrt zur API an, und die Vorlage wendet dieselbe Umsetzung beim Lesen wie beim Schreiben an, sodass beide Richtungen konsistent bleiben.
Beide Geräte lesen ihren Zustand aus einem Wert, den das Modul bei seiner eigenen 30-Sekunden-Statusabfrage zwischenspeichert, statt eigene Anfragen zu senden. Das hält den Netzwerkverkehr gering, kostet aber bis zu 30 Sekunden, bis eine in der BluOS App vorgenommene Änderung in TapHome sichtbar wird.
Presets
Preset ruft ein auf dem Player gespeichertes Preset ab — einen Radiosender, eine Playlist oder einen Eingang. Presets lassen sich ausschließlich in der BluOS Controller App anlegen und löschen; die API kann sie nur laden.
Das Gerät arbeitet nur schreibend: Es sendet den Preset-Befehl, liest aber nie zurück, welches Preset läuft — der Schalter spiegelt den tatsächlichen Zustand des Players also nicht wider.
Verwenden Sie die Preset-Slots 1–9. Slot 0 sendet die Preset-ID 64 statt 0, was eher nach einem übrig gebliebenen Platzhalter als nach einem echten Preset aussieht. Preset-IDs müssen zudem nicht fortlaufend sein — ein Player kann die Presets 1, 2, 3, 5, 7 und 8 enthalten. Prüfen Sie deshalb in der BluOS Controller App, welche IDs tatsächlich vorhanden sind, bevor Sie einen Slot in eine Szene einbinden.
Multiroom-Gruppierung
Mit Player gruppieren hängt einen zweiten BluOS-Player an diesen an. Der von TapHome angesprochene Player wird zum Primary: Er wählt die Musikquelle aus und verteilt sein Audiosignal, während der über die Variable IP benannte Player als Secondary beitritt. Das Ausschalten des Geräts entfernt diesen Player wieder aus der Gruppe. Der Zustand wird aus der Liste der angehängten Secondary-Player zurückgelesen, eine in der BluOS App vorgenommene Gruppierung wird in TapHome also abgebildet.
Aus der Funktionsweise der BluOS-Gruppierung ergeben sich zwei Konsequenzen:
- Nur externe Eingänge am Primary erreichen den Rest der Gruppe. Soll TV-Ton von einem optischen oder HDMI-Eingang überall wiedergegeben werden, muss TapHome den Player ansprechen, an dem dieser Eingang anliegt.
- Die BluOS Controller App verwaltet höchstens acht Gruppen mit je acht Playern oder vier Gruppen mit je sechzehn. Ein TapHome-Schalter bedient ein Primary-Secondary-Paar, eine Gruppe aus drei Playern benötigt also einen zweiten Schalter.
Die Gruppierungsanfragen verwenden eine Parameterschreibweise, die Singular- und Pluralform der API mischt. In der Praxis funktioniert das, weil Port 11000 der dokumentierte Standard ist — gut zu wissen ist es dennoch, falls sich ein Gruppenbefehl einmal unerwartet verhält.
Beispieltaster — Demonstrationen, keine Player-Funktionen
Die Vorlage enthält zwei Taster mit den Namen Beispiel – Jungle und Beispiel – Herunterfahren. Sie sind Demonstrationen des URL-Streamings, keine Fähigkeiten des Players: Jeder von ihnen stoppt die Wiedergabe, leert die Wiedergabeliste und spielt eine einzelne Audiodatei von einer URL ab, die in der Gerätevariablen hinterlegt ist.
Sie sind zum Bearbeiten oder Löschen gedacht. Das Jungle-Beispiel verweist auf einen fremden Sample-Host außerhalb der Kontrolle von TapHome und funktioniert nicht mehr, sobald sich diese Seite ändert. Das Herunterfahren-Beispiel verweist auf eine bei TapHome gehostete MP3 und ist ein brauchbares Muster für einen Türklingel- oder Ansageton, wenn die Adresse durch eine eigene ersetzt wird — beachten Sie dabei, dass die Adresse prozentkodiert sein muss, da sie unverändert an den Player weitergereicht wird.
Fehlerbehebung
Der Player antwortet nicht
- Rufen Sie
http://<player_ip>:11000/SyncStatusim Browser auf — eine XML-Antwort bedeutet, dass der Player erreichbar und die API aktiv ist. - Antwortet er nicht, prüfen Sie die Adresse im Diagnostics-Bildschirm der BluOS Controller App; eine DHCP-Erneuerung kann sie verschoben haben. Richten Sie die oben beschriebene DHCP-Reservierung ein, damit das nicht mehr vorkommt.
- Versuchen Sie es statt mit der IP-Adresse mit dem mDNS-Hostnamen des Players.
- Stellen Sie sicher, dass sich TapHome-Steuereinheit und Player im selben Netz bzw. VLAN befinden und nichts Port 11000 zwischen beiden blockiert.
Der Gruppierungsschalter lässt sich nie einschalten
Die Variable IP am Gerät Mit Player gruppieren enthält noch den Platzhalter 192.168.x.x oder eine Adresse, hinter der kein BluOS-Player steht. Setzen Sie sie auf die tatsächliche Adresse des Secondary-Players — siehe Einrichtung nach dem Import weiter oben.
Ein Preset bewirkt nichts
Entweder liegt auf diesem Player kein Preset hinter dem Slot, oder es wurde Slot 0 verwendet. Öffnen Sie die BluOS Controller App, prüfen Sie, welche Preset-IDs der Player tatsächlich enthält, und ordnen Sie die TapHome-Slots diesen IDs zu. Presets müssen zuerst in der App angelegt werden — die Vorlage kann sie nicht erzeugen.
Nächster / Vorheriger Titel bewirken nichts
Der Player gibt nicht aus seiner Wiedergabeliste wieder. Radiostreams und physische Eingänge sind nicht listenbasiert, Vor- und Zurückspringen gelten für sie nicht. Starten Sie die Wiedergabe aus einer Playlist, einem Album oder der Liste, dann funktionieren die Taster wieder.
Änderungen aus der BluOS App erscheinen verzögert
Zufallswiedergabe und Wiederholung werden aus dem zwischengespeicherten Status des Moduls gelesen, der alle 30 Sekunden aktualisiert wird. Die Lautstärke wird häufiger abgefragt. Die Wiedergabetaster und Preset arbeiten nur schreibend und bilden externe Änderungen überhaupt nicht ab.
Der Player ist stumm, TapHome zeigt aber einen Pegel
Die Stummschaltung wird beim Ausschalten des Lautstärke-Dimmers geschrieben, der Stummschaltzustand aber nie zurückgelesen. Ein über die BluOS Controller App oder deren Fernbedienung stummgeschalteter Player zeigt in TapHome weiterhin seinen vorherigen Dimmerpegel. Schalten Sie den Dimmer aus und wieder ein, um beide wieder in Einklang zu bringen.
