Homeassistant: Sony PS-LX310BT Plattenspieler mit Bose Soundtouch nutzen

Homeassistant: Sony PS-LX310BT Plattenspieler mit Bose Soundtouch nutzen

Seit kurzem befindet sich ein recht drolliger Plattenspieler aus dem Hause Sony in meinem Besitz. Er schimpft sich PS-LX310BT und hat eine Eigenschaft, die jedem Audiophilen vermutlich die Zehennägel hochstehen lässt: Der Plattenspieler hat eingebaute Bluetooth-Konnektivität.

Da ich in meinem trauten Heim ein Bose Soundtouch Multi Room Audio System nutze, das ebenfalls Bluetooth als Eingangsquelle unterstützt, habe ich mich daran gemacht und den Plattenspieler in Homeassistant eingebunden.

Das Audio-Setup

Kern meiner heimischen Beschallung ist ein Yamaha RX-V577 AV-Receiver. An diesem ist über koaxiales Cinch ein Bose Soundtouch Wireless Adapter angeschlossen, der zusammen mit 4 weiteren Bose Soundtouch 10 im Verbund arbeitet und die gesamte Wohnung mit Tönen flutet. Sämtliche Bose Soundtouch-Geräte haben Bluetooth eingebaut und können daher das Signal des Plattenspielers entgegen nehmen.

Die nahtlose Integration des Plattenspielers

Mein Ziel war es den Plattenspieler so nahtlos wie möglich in Homeassistant zu integrieren. Grundproblem ist, dass der Soundtouch Adapter von Bose über analoges Cinch verbunden ist und der AV-Receiver von Yamaha daher, aufgrund der analogen Natur der Steckerverbindung, keinen sauberen State zugespielt bekommt, der aussagt ob gerade etwas auf dem anolgen Eingang abgespielt wird oder nicht. Dieses Problem lässt sich sehr leicht lösen, da der Soundlink Adapter von Bose gut in Homeassistant integriert ist und zuverlässig mitteilt, ob gerade eine Wiedergabe erfolgt und welche Eingangsquelle aktuell benutzt wird, z.B. Spotify, Bluetooth oder lokale Musikwiedergabe über LAN.

Was ich haben wollte war folgendes:

  1. Sobald der Plattenspieler eingeschaltet wird, soll er sich mit dem Wireless Link Adapter von Bose verbinden
  2. Sobald die Verbindung hergestellt ist, soll der AV-Receiver automatisch auf den korrekten Cinch-Eingang umschalten und die Lautstärke auf ein brauchbares Maß einstellen

Zur Theorie

Es wird in Homeassistant ein Sensor benötigt, der registriert ob der Plattenspieler eine Bluetooth-Verbindung zum Bose Wireless Link Adapter aufgenommen hat. Anschließend wird eine Automation erstellt, die dies dem AV-Receiver mitteilt.

Binary Sensor für den Plattenspieler

Nachdem der Plattenspieler initial mit dem Soundlink Adapter gekoppelt und eine LP erstmals abgespielt wurde, zeichnete sich folgender State für den Soundlink Adapter in Homeassistant ab:

Wie man sehen kann, gibt sich der Plattenspieler über das Attribut media_title mit seinem Namen PS-LX310BT zu erkennen. Dieses Attribut kann mit einem Template Binary Sensor ausgelesen werden und kann somit Auskunft darüber geben, ob der Plattenspieler verbunden ist und Musik abspielt:

binary_sensor:
  - platform: template
    sensors:
      plattenspieler_on:
        friendly_name: "Plattenspieler spielt"
        value_template: '{{ is_state_attr("media_player.soundtouch_wohnzimmer", "media_title", "PS-LX310BT") }}'
        icon_template: >-
          {% if is_state("plattenspieler_on", "on") %}
            mdi:record-player
          {% else %}
            mdi:volume-off
          {% endif %}   

Automation für AV-Receiver

Wenn der neu erstellte Binary Sensor nun auf On/True schaltet, muss der AV-Receiver auf den entsprechenden analogen Eingang schalten, an dem der Bose Soundlink Adapter angestöpselt ist. In meinem Fall ist das der AV5. Zusätzlich soll der Bose Adapter und der AV-Receiver eine bestimmte Lautstärke voreinstellen. Die passende Automation sieht so aus:

- alias: Set AV5 for Soundtouch
  initial_state: True
  trigger:
    - platform: state
      entity_id: binary_sensor.plattenspier_on
      to: 'on'      
  action:
    - service: media_player.turn_on
      data:
        entity_id: media_player.av_receiver
    - service: media_player.select_source
      data:
        entity_id: media_player.av_receiver
        source: AV5
    - service: media_player.volume_set
      data:
        entity_id: media_player.av_receiver
        volume_level: 0.8
    - service: media_player.volume_set
      data:
        entity_id: media_player.soundtouch_wohnzimmer
        volume_level: 0.84

Das war es auch schon. Wenn nun der Plattenspieler eingeschaltet wird, baut er automatisch eine Verbindung zum Bose Adapter auf. Der AV-Receiver schaltet sich darauf ein und regelt die Lautstärke.