Media Player Card with Grouping Support and Custom Buttons

Thanks for both of the tips!

1 Like

Hi First of all I the media player is awsome . I am having issue when it try to load it under type: custom:state-switch. The custom buttons doesnt display the icon or name.

My minimalist code with state switch:

title: Test
views:
  - title: Media
    path: media
    icon: mdi:play
    cards:
      - type: custom:state-switch
        entity: sensor.media_background
        default: default
        states:
          default:
            type: custom:mediocre-media-player-card
            entity_id: media_player.android_tv_living_room
            use_art_colors: true
            tap_opens_popup: true
            custom_buttons:
              - name: Play
                icon: mdi:play-pause
                tap_action:
                  action: perform-action
                  perform_action: media_player.media_play_pause
                  target:
                    entity_id: media_player.android_tv_living_room
              - name: Vol +
                icon: mdi:volume-plus
                tap_action:
                  action: perform-action
                  perform_action: media_player.volume_up
                  target:
                    entity_id: media_player.living_room
              - name: Vol -
                icon: mdi:volume-minus
                tap_action:
                  action: perform-action
                  perform_action: media_player.volume_down
                  target:
                    entity_id: media_player.living_room
            options:
              always_show_custom_buttons: true

That’s a strange one. Does the same configuration work when not used with state switch?

it does without any issues

Well that’s weird. I’m guessing state switch is doing something unexpected to that array of buttons. You might have luck asking in the state switch thread (if there is one).

Well, I gotta say, I tried the famous mediocre media player card, and it’s anything but mediocre. The card is aesthetically pleasing, it works correctly, and searches in music assistant with the card are sooo nice.

I don’t ever have to go to the music assistant interface to do pretty much anything these days. Except maybe, browse the media collection with large icons, but I don’t really do that very often anyway.

I think I will be replacing all of my uses of the mini-media player card using this card. To whomever’s building this card, I have to say, big thanks. You’ve done a great job.

1 Like

Incredible work, thank you for that!
I use Music Assistant and all works perfectly.

On the roadmap, possible to add the queue list ? adding song on queue ?

Love it !


About Playlist of Music Assistant, i don’t have all thumbnails but it’s ok on Music Assistant

2 Likes

First off. Thank you :pray:

With regards to the queue there’s a feature request already on GitHub that you can go and vote on :slight_smile:

Those image issues have been bugging me for some time. I initially thought that there’s nothing to do as I’m just using whatever url I’m provided with in an image tag, but I’m looking into whether I can somehow fix it by fetching the image in JS and providing that to the img.

I don’t really have that much time to dedicate to the card recently, so development is a bit slow, and I’m focusing on bugs and small features that can be done in short bursts of time.

There’s also the “issue” that the card is mostly “done” with the features that I myself need. It’s quite unique code wise (in a home assistant context) as I’m using preact, so for many developers that do react dev work in their dayjob (me), it should be fairly straight forward to contribute to.

1 Like

Even though there are a few imperfections (and I say this kindly because I wouldn’t know how to do the same thing myself), I decided to use it in my maps.
Your work is truly superb.

I’ll give you a little feedback on what I’ve seen in use and make suggestions when you have the bandwidth for it :wink:

The mini player is great, and it also allows you to access the larger map when you click on the icon: Great!

When the player is off, it would be nice to display a basic (cosmetic) image.

For the queue display part, I finally installed the custom:mass-card that I display when the player is playing; it’s great!

I use Music Assistant, and the combination with your development is fantastic! :clap:

What would be nice in future features would be:

  • Pictures is not seen sometimes, but you already know that.
  • being able to disable certain buttons (for example: Audiobook, Podcast, etc.)
  • the “Playnow” button isn’t very clear for everyone (I tested it with my family); it took them a while to understand the different options in the queue: clicking the “playnow” button, then adding music, and the impact. Perhaps having a specific bouton for clearing queue, addin in queue…?
  • I don’t know if it’s because of Music Assistant, but you don’t see a music progress bar.
  • Regarding groups, I tried, but I got a join error. It’s not a big deal because I can create groups in Music Assistant.
    2025-08-08_09h24_58

Once again, I’m glad I came across your work.
By the way, it’s worth a beer; you should think about adding a little icon for it in your GitHub project :wink:

Have a nice day!

2 Likes

Thank you for all the detailed feedback, and sorry about the late reply.

If you have specific feature requests a good place to put them is in the GitHub repo discussions. That way they get their own thread and people can vote on them.

With regards to your speaker group error I suspect you’re using a player provider in music assistant that doesn’t support ‘on the fly’ player joining (such as Google Cast).

1 Like

@minutnudler Your last release is just crazy with queue transfer ! :clap:
Once again thanks you for sharing your work.
It’s definitevly my card for music in my house for all my family.

1 Like

I’ll soon be publishing a new card variant to the mediocre cards called “mediocre multi media player card”. It’s a BIG card that incorporates both the massive and the regular card and is meant to be a sort full screen view that lets you control all your players (not just one).
Any feedback and bug reports are welcome. Link to the alpha release is here: Release v0.25.0-alpha.2 · antontanderup/mediocre-hass-media-player-cards · GitHub

1 Like

Love this! Will definitely replace the individual cards I have, sucks Google speakers can’t use grouping on Home Assistant but I guess they’ll still work individually like they do on the individual cards now.

1 Like

0.25.0 is now out with a

New Card - Mediocre Multi Media Player Card

A big card for an app like experience.
With this card you only need to configure a single card to control all your speakers.
Supports all the capabilities of existing cards but is a bit more spacious.

Screenshots




What else is new

  • Source selection on all media player card.
  • Volume sync is now on by default on the main volume sliders. If you want to control individual volumes go to the grouping interface.
  • A bunch of small fixes and tweaks all around
  • Moved MA settings above search settings to avoid confusion
3 Likes

Is it just a bug or am I not understanding? I am putting a name for each media player but it doesn’t seem to be changing, I have 2 offline ones and that just show “undefined” so thought putting the name field could at least hide that till back online.

Another feedback, as you can see I only have Google Speakers so no grouping capabilities which make the card look pretty empty, how about an option to make the player chips/pills instead look like a card in a list so it at least fills the space more? I’d say close to what the current card looks like but maybe just the name and icon only so not confusing for user.

And finally would be cool if we could set the speaker page as the default page too but that’s minor feedback.

Nice though so far I’m liking it.

1 Like

For the first one, would you say that it would be appropriate for unavailable players to just not be in the list? That would make things a bit simpler. Especially because i think selecting an unavailable player could break things around the place.
Edit: Found out those names we’re simply not used. Fix in next release :slight_smile:

My first draft was actually using cards and not chips for the speaker selection, but it was just super cluttered and not clear that you could click then to select. That’s why i ended up with the chips with the play/pause button for quick changes. I might revisit this, but i need to think about the ui, because the compact card is just too cluttered for that list.

Being able to select a default page will come. I think thats essential for wall panels and such.

1 Like

Yep this would make sense forsure.

Yeah that’s why I was saying not to do the full compact card but like a slim version of it just to select it as the speaker but without the volume/play controls etc. Could even do it similar to bubble-card media player slim design.

Nice.

1 Like

Those bubble media player cards are beautiful :heart_eyes:. Might do something similar for sure.

1 Like

Hi Anton - I’m using the Mediocre Multi Media Player card and love the look of it, a really useful addition. However I am struggling to get the Search option to appear - I have specified the ma_entity_id as per the documentation. Separately I also tried the search.enabled set to true with the same effect. I have Music Assistant installed. Have I got something wrong? Grateful for any help or ideas!

ma_entity_id: media_player.kitchen_2
entity_id: media_player.kitchen_2
media_players:
  - entity_id: media_player.kitchen_2
  - entity_id: media_player.living_room_2
use_art_colors: true
mode: card

This is multi card right?
ma_entity_id needs to be per media player. I would recommend using the visual editor instead of yaml. It should make sense there.

1 Like