MusicBee via MQTT als Media Player in HA einbinden

Moin in die Runde,
als long-time lurker und passiver Lerner dachte ich, es ist mal an der Zeit etwas zurückzugeben. Ich bin leidenschaftlicher Nutzer des Media Players MusicBee unter Windows. Als audiophil angehauchte Person, die gerne mal mehrere Release/Remaster/5.1-Versionen eines Albums in Besitz hat, geht dran kein Weg vorbei, wenn man nicht das völlig überteuerte Roon in Anspruch nehmen will.

Anyway, Grund des Beitrags war die bisherige Frustration der fehlenden Anbindung an HA. Hier hat sich aber dank Troy Fernandes in den letzten Tagen endlich etwas geändert. Er hat unter diesem Repository endlich das lange verschollen geglaubte MQTT-Plugin für MusicBee veröffentlicht. Die Installation ist gut dokumentiert.

In Kombination mit dem ebenfalls von ihm stammenden hass-mqtt-mediaplayer custom component lässt sich so eine vollwertige Media Player Entität (inkl. skipping/pausieren etc) in HA erstellen.

In der config.yaml braucht es dann folgende Einträge:

media_player:
- platform: mqtt-mediaplayer
  name: "Musicbee"
  topic:
    song_title: "{{ states('sensor.musicbee_song_title') }}"
    song_artist: "{{ states('sensor.musicbee_song_artist') }}"
    song_album: "{{ states('sensor.musicbee_song_album') }}"
    song_volume: "{{ states('sensor.musicbee_player_volume') }}"
    player_status: "{{ states('sensor.musicbee_player_status') }}"
    album_art: "musicbee/song/albumart"
    volume:
      service: mqtt.publish
      data:
        topic: "musicbee/command"
        payload: "{\"command\":\"volume_set\", \"args\":{\"volume\":\"{{volume}}\"}}"
  status_keyword: "true"
  next:
    service: mqtt.publish
    data:
      topic: "musicbee/command"
      payload: "{\"command\": \"next\"}"
  previous:
    service: mqtt.publish
    data:
      topic: "musicbee/command"
      payload: "{\"command\": \"previous\"}"
  play:
    service: mqtt.publish
    data:
      topic: "musicbee/command"
      payload: "{\"command\": \"play\"}"
  pause:
    service: mqtt.publish
    data:
      topic: "musicbee/command"
      payload: "{\"command\": \"pause\"}"
mqtt:
  sensor:
    - state_topic: "musicbee/song/title"
      name: "Musicbee_Song_Title"
    - state_topic: "musicbee/song/artist"
      name: "Musicbee_Song_Artist"
    - state_topic: "musicbee/song/album"
      name: "Musicbee_Song_Album"
    - state_topic: "musicbee/player/volume"
      name: "Musicbee_Player_Volume"
      icon: "mdi:volume-medium"
    - state_topic: "musicbee/player/playing"
      name: "Musicbee_Player_Status"
      icon: "mdi:volume-medium"

Möge es anderen helfen, die vielleicht ebenfalls mit diesem zugegeben exotischeren Player unterwegs sind. Ich betreibe die Kombi gerade erfolgreich unter HA 2023.12.0. mosquitto addon 6.4.0 und MusicBee 3.5.8698

LG, io

Edit: Typo

1 „Gefällt mir“