2 Minuten
Bose Soundtouch Multi-Room Audio

Mit dem Release 0.107 erhielt die Bose Soundtouch Integration nach langer Zeit ein nützliches Feature für die heimliche Beschallung über mehrere Räume. Das Soundtouch System von Bose kann auf einfachem Weg mehrere Lautsprecher zu einem Verbund zusammenschließen und Audio synchron ausgeben. Das funktionierte in Homeassistant auch seit geraumer Zeit, jedoch gab die State Machine keinerlei Infos/Attribute preis, ob aktuell ein Lautsprecherverbund aktiv und welcher Lautsprecher der Master des Verbunds war. Diese fehlenden Attribute wurden im Release 0.107 ergänzt und nach einer anfänglich fehlerhaften Implementierung mit dem Release 0.108 komplettiert. Existiert ein Zonenverbund steht nun unter den Soundtouch Media Playern das Attribut is_master: true/false
zur Verfügung.
Zeitgleich zu dem Release erfuhr auch die grandiose Custom Lovelace Card Mini-Media-Player ein Update, um einfach einen Verbund (Zone) von Lautsprechern erstellen und auflösen zu können. Diese Custom Card kann einfach über HACS in Homeassitant installiert werden. Für die Nutzung von Multi-Room-Audio in der Lovelace Card gibt es einen eigenen Abschnitt in der README.

Sensor zur Ausgabe des aktuellen Masters
Wer in seiner Homeassistant UI nun einen Sensor haben möchte, der angibt welcher Lautsprecher gerade der Master ist oder ob überhaupt eine Zone aus mehreren Lautsprechern besteht, kann das auf folgende Weise mit einem Template Sensor und einer zugehörigen Automation, die diesen Sensor updated, lösen. In dem folgenden Beispiel nutze ich meine drei Soundtouch 10 Lautsprecher und einen Wireleass Link Adapter, die mit dem Namensschema media_player.soundtouch_RAUMNAME
benant sind.
Template Sensor erstellen
Der Template Sensor iteriert über alle Lautsprecher, prüft ob eine Zone existiert und sucht anschließend nach dem Attribut is_master
. Anschließend gibt er den Namen des Lautsprechers aus. Existiert keine Zone gibt er No Master
aus.
- platform: template
sensors:
soundtouch_master:
value_template: >
{% set master = states.media_player | selectattr('attributes.soundtouch_zone', 'defined') | selectattr('attributes.soundtouch_zone.is_master','eq',True) | map(attribute='name') | list | first %}
{{ master if master else "No Master" }}
friendly_name: 'Multiroom Master'
Automation zum updaten des Template Sensors
In der nachfolgenden Automation müssen die Namen der Lautsprecher entsprechend den von euch vergebenen angepasst werden:
- alias: Soundtouch update master sensors
initial_state: True
trigger:
- platform: state
entity_id:
- media_player.soundtouch_kuche
- media_player.soundtouch_room2
- media_player.soundtouch_schlafzimmer
- media_player.soundtouch_wohnzimmer
action:
- service: homeassistant.update_entity
entity_id: sensor.soundtouch_master
Ergebnis
Der erstellte Sensor mit dem namen sensor.soundtouch_master kann nun in jeder Lovelace Card eingebunden werden:

Weiterführendes
Das Multi-Room-Audio Feature der Bose Soundtouch Boxen habe ich mit meinem Sony Plattenspieler mit Bluetooth-Konnektivität genutzt, um Vinyl im gesamten Haus abzuspielen. Der Post dazu: Sony PS-LX310BT: Plattenspieler mit Bose Soundtouch und Homeassistant nutzen