Music Assistant Player Card - Control your players, adjust, transfer, and join queues, and browse your media!

That’s not something which is doable, unfortunately - most any way it could be possible would likely be a security flaw.

A better option would be to see what can be done about that issue from the tablet/browser. It sounds like either the tablet is prohibiting the browser from operating in the background, the browser doesn’t support background audio, or the browser is somehow stopping tabs when it moves to the background.

1 Like

The FAQ section in the Readme goes over this. The usual fix would be to enable downloading local artwork in the Mass Queue integration settings.

It also looks like you’re using an older version of the card (although I can’t confirm that). Upgrading to v2.5.0 would probably help.

Added in v2.5.0. Just enable sync_player_across_dashboard in your card config.

Only the selected player is synced - not really much else which can/should be synced, though.

This was fixed in v2.5.0.

Previously, the fallback images were placed behind the actual image. That worked fine for most cases but was a problem for any image with transparency as you saw.

Try with the latest version. If the issue still persists, please file an issue in the repo.

Shrinking the card isn’t something that I will support, unfortunately. It would create a lot of issues in other areas and for most users it would be more of an annoyance than useful. The card would still need to grow to full height for the queue/players tabs. Many players will also report idle/off for a fraction of a second when changing tracks which would lead to abrupt layout shifts while using the dashboard.

I already have the latest 2.5.0 version and tried also the downloading local artwork option. No luck, the artwork is not displayed.
And i get this as errors:

2026-01-29 12:42:29.685 ERROR (MainThread) [homeassistant.helpers.script.websocket_api_script] websocket_api script: Error executing script. Error for call_service at pos 1: Cannot find entry for Music Assistant with unique ID 5fab9184317d4233a6c272d89a4f608f

Brilliant! Thank you for the suggestion! I was just running HA companion app and never thought to launch MA from the built in Browser app on the Lenovo ThinkSmart! I will see if I can get that to work without the Browser app crashing or I might have to try a few Browser apps to find one that works the best but so far it is working and only crashed one time. :+1:

Looks like Duck Duck go browser is very stable! …nope it just stopped… the search continues… :frowning:

Great card!
Seems like the only reasonable solution to provide to user radio station selection from Music Assistant without much technical coding (it is easy to manage stations in MA Favorites).

I have some cosmetic questions:

  1. At this point I only use this card to enable radio station selection in Media Browser (so in Favorites there is only “Radios” enabled) and when opening Media Browser I see “Radios” box only and have to click to see list of stations. Is there a way to show radio stations immediately after opening Media Browser?
  2. The list of radio stations shows with pictures and some descriptions. Is it possible to make the list as lines with just plain text ?
  3. Each radio box has a play button while clicking opens the small menu to select (Play Next, Play Now & Clear Queue,…). There some options to disable this button but either I do something wrong or it does not work the way I understand. Any help here ?

Thank you.
Again the card is super usefull for me! Thank you @droans !

Thank you for all this, droans! Great stuff. I’m less than a year into HA and very recently diving into more advanced usage. Many hours have been spent in the last week trying to find the best media player for a wall mounted dashboard to handle my local (plex) music as well as YouTube music and possibly more. For all I seek, your card has proven to be my favorite when working with Music Assistant.

Question for anyone, and apologies if I’ve missed it or am still too much of a noob, I was looking for possible ways to hide certain elements (like Media Player in the header) or possibly swap out the default background svg when nothing is playing and have had no luck. I have card_mod installed and working with other cards, but I’ve been unable to have success here. Thoughts?

Thanks much, in advance :v:

I just stumbled across this thread so please forgive my dumb question. I’ve been using music assistant, the add-on now called app for over a year. What’s the use case for this card over using the full music assistant interface?

@harryfine Can only speak for myself, but I find it a very nice, clean and functional way to have home music control on a dashboard on my (soon to be) wall mounted tablet.

That’s what I’m trying to understand. How is it different. I’m thinking of a dedicated dashboard for MA but why not just use the MA app.

If you’re asking that, this card is probably not for you.

You’re probably satisfied with using the Music Assistant UI to control your players and that’s fine. The Music Assistant UI provides more features and details than this card. If you’re happy using that, this card probably won’t satisfy you.

This card is just a simple mobile-friendly interface to interact with your MA players inside of Home Assistant. It doesn’t have advanced controls such as DSPs, group timing offsets, etc. (although I plan on adding that Soon™️) nor can it be used to add/remove players or providers. The card only does what I’ve advertised it can do on GitHub.

1 Like

What an excellent one-of-a-kind card.
I’m struggling to target ui tweaks.

  1. Border Radius
    I’m not a fan of huge border-radiuses. I prefer a simple 12px br.
    How do I target them (player controls, shuffle etc…, volume bar and navbar). Also the player and shuffle etc… seem to have a misaligned base layer.

  2. For me, having virtual space taken up by the title “Media Player” is entirely redundant. And what I really want to see as a more distinctive text is the player name. Even if we can’t hide “Media Player”, How would i enlarge the player name text.

  3. default entity… probably my ignorance, but how do I set it so that the same entity is always selected when I pull up the dashboard (other entities can be selected during use).

Hello @droans , wondering if you wouldn’t mind schooling me on styling. Apologies if I’m being daft, but I’ve spend quite a lot of time reading github, here, talking to chatgpt and just trying different things. I’ve read through your stuff as well as through the material-you-utilities readme.

All that said, I see very little differences switching through the themes in the dropdown, are they all subtle changes? Your readme mentioned adding my own theme, but I cannot figure out how to do that with the card app, and card_mod nor custom dashboard theme settings flow down into the player much at all.

Ultimately, I just want to understand if I’m doing something wrong or am trying to do something the player just doesn’t allow.

TIA,
Doug

@droans - thanks for this. Are you still replying in this forum, or would you prefer questions via issues in the card repository?
I have a similar question to those above, about changing the styling. (I too would like to remove “Media Player”.)

Maybe I’m a bit plain, but the very first thing I noticed and wanted to change when I first tried the card is the ‘wavy’ playbar (time position, wavy before current play head, straight afterwards). I would much prefer a simple straight line. I have looked in the docs and issues but can’t find any mention of this.

Can you let us know how to simplify this play bar, and perhaps some other styling beyond the expressive settings?

EDIT: Thanks to GitHub repo issue reply from @xitters, I turned “expressive” off and it’s much less… expressive :slight_smile: now, with a straight non-wavy line for the playbar.

Thank you!

Decided to take the plunge. The card is beautiful. Used the default config and added my speakers through the UI. Really sweet. Thank you.

I’m having one issue, probably my config file. I start a song on speaker A. But I don’t see a way to add speaker B after the fact. Can anyone take a glance please?

type: custom:mass-player-card
entities:
  - media_player.office
  - media_player.kitchen
  - media_player.living_room_arc
  - media_player.master_bedroom_pair
  - media_player.guest_br
  - media_player.master_ensuite
  - media_player.rooftop_bt_rooftop_bridge
  - media_player.unnamed_room
  - media_player.living_room_pair
  - media_player.sonos_one
queue:
  enabled: true
  hide:
    header: false
    header_title: false
    clear_queue_button: false
    artist_names: false
    album_covers: false
    action_buttons: false
    move_down_button: false
    move_next_button: false
    move_up_button: false
    remove_button: false
  show_album_covers: true
  show_artist_names: true
player:
  enabled: true
  hide:
    header: false
    header_title: false
    player_selector: false
    group_selector: false
    player_name: false
    track_title: false
    track_artist: false
    track_progress_time: false
    track_progress_bar: false
    power_button: false
    repeat_button: false
    shuffle_button: false
    favorite_button: false
    volume: false
    mute_button: false
  layout:
    controls_layout: compact
    hide_labels: false
    artwork_size: medium
    icons:
      shuffle:
        size: small
        box_shadow: false
        label: true
      previous:
        size: small
        box_shadow: false
        label: true
      play_pause:
        size: large
        box_shadow: true
        label: true
      next:
        size: small
        box_shadow: false
        label: true
      repeat:
        size: small
        box_shadow: false
        label: true
      power:
        size: small
        box_shadow: false
        label: true
      favorite:
        size: small
        box_shadow: false
        label: true
players:
  enabled: true
  hide:
    header: false
    header_title: false
    action_buttons: false
    join_button: false
    transfer_button: false
media_browser:
  enabled: true
  playlists_allow_removing_tracks: false
  hide:
    header: false
    header_title: false
    back_button: false
    filter_button: false
    search_button: false
    titles: false
    enqueue_menu: false
    add_to_queue_button: false
    play_next_button: false
    play_next_clear_queue_button: false
    play_now_button: false
    play_now_clear_queue_button: false
  recents:
    enabled: true
    show_collection_view: true
    albums:
      enabled: true
      limit: 25
      favorites_only: true
    artists:
      enabled: true
      limit: 25
      favorites_only: true
    audiobooks:
      enabled: false
      limit: 25
      favorites_only: true
    playlists:
      enabled: true
      limit: 25
      favorites_only: true
    podcasts:
      enabled: false
      limit: 25
      favorites_only: true
    radios:
      enabled: true
      limit: 25
      favorites_only: true
    tracks:
      enabled: false
      limit: 25
      favorites_only: true
  recommendations:
    enabled: true
    show_collection_view: true
  favorites:
    enabled: true
    show_collection_view: true
    albums:
      enabled: true
      limit: 25
      favorites_only: true
    artists:
      enabled: true
      limit: 25
      favorites_only: true
    audiobooks:
      enabled: false
      limit: 25
      favorites_only: true
    playlists:
      enabled: true
      limit: 25
      favorites_only: true
    podcasts:
      enabled: fa;se
      limit: 25
      favorites_only: true
    radios:
      enabled: true
      limit: 25
      favorites_only: true
    tracks:
      enabled: true
      limit: 25
      favorites_only: true
expressive_scheme: fruit_salad
default_section: music_player
panel: true

Seems it was related to the second problem I was having, not being able to authenticate mass_queue

Worked throuigh it with Claude. Got it working. There is an issue on Github, unresolved, but here’s how Claude summarized:

I had the same problem, added the card yesterday and tried the mass_queue procedure, but it failed every time. I did some AI searching, fixed it, and asked it to summarize:

Fix for OAuth callback failing with “site cannot be reached” on homeassistant.local:8123

If you’re getting a “site cannot be reached” error when linking Music Assistant Queue Actions, the issue is that the OAuth callback hardcodes homeassistant.local:8123 as the redirect URL. Even if you have your HA internal URL set to your IP address (e.g. 192.168.1.55:8123), the callback will still try to resolve homeassistant.local:8123.

Fix: Simply start the entire integration setup from http://homeassistant.local:8123 in your browser instead of your IP address. Navigate to Settings → Devices & Services → + Add Integration → Music Assistant Queue Actions from that address. When MA redirects back after login, your browser will already be able to resolve homeassistant.local:8123 and the flow completes successfully.

Hi. Does anyone here have a good configuration for using this card on a Google Home display?
I have tried a panel view with just this card, but the aspect ratio is too tall and the buttons are off the screen. I want big text so I can see what’s playing from a distance, not the size that means I need to put my glasses on.
I know there are lots of settings, but I was hoping someone had already done this and I can use your card settings as a starting point.
Or, even some clear working advice about getting card_mod to work to change the font size. I just spent half an hour with ChatGPT unsuccessfully. I can change the CSS font size of .player-track-title and .player-track-artist in the browser Dev Tools, but can’t get this into a working card_mod style in YAML, probably due to shadow DOM stuff.
Thanks in advance.