Media Player Card with Grouping Support and Custom Buttons

I have been developing a set of custom media player cards for myself, and my wife, to easily control playback, grouping and provide shortcuts.

I want to gauge if there’s any interest in making this a proper project (with less shortcuts and more stability).

It consists of two cards. A ‘regular’ media player card, and a card made for panel mode (full screen player).

Regular card:

Panel Card:

You can find more info on github here:

Would love any feedback, and feel free to take it for a spin.

12 Likes

Beautiful!! The panel card is exactly something I’ve been looking for and wish it was implemented as a redesigned more-info popup. Fs trying these out soon.

Btw are they coming to HACS?

1 Like

Than you :slight_smile:

If enough show interest I’ll definitely look into getting it on hacs.

With regard to pop up, that’s something I also wanted, but all other implementations I’ve tried have been a bit buggy. So I opted to use the reliable way, which is having a dashboard named media-player with a tab for each player (in panel mode so you get a back button). The panel card background is a gradient starting at header background and ending in app background, so the header becomes seamless.

I can definitely make that background optional though, and then you could use the card in a bubble card pop up if you would like.

2 Likes

Would love that if you wanted to do that. I use bubble cards a lot currently.

Gonna test the cards out soon since I wanna redo my media bubble-card popup anyways just haven’t yet cuz lazy lol.



I’m adding mode: panel/card/in-card to the big card.
Might be able to get a release out this evening (two small kids might get in the way :slight_smile: )

Top screenshot is mode: in-card used with pop-up card from browser mod.
Bottom is mode: card

1 Like

The top card looks great i’ll definitely try that soon!

Just wondering though I’m assuming the speaker group feature won’t work with Chromecast / Google Nest Hub speakers cuz of how those speakers work in home assistant apparently you can’t group them and have to do that through the Google Home app only.

I’ve published a build with the latest addition to the panel (or massive) card.
With regards to your google speakers. If you cannot group them using homeassistant, what i would do would be to figure out how you can best deeplink into whatever app you can group them with.
Then use a custom_button like this to get there from the card:

type: custom:mediocre-media-player-card
entity_id: media_player.office_universal
custom_buttons:
  - icon: mdi:speaker-multiple
    name: Group Speakers
    tap_action:
      action: url
      url_path: //whatever-deeplinking-to-google-chromecast-speaker-group-looks-like
1 Like

Yea it doesn’t seem like its possible to group Google speakers in Home Assistant. You have to make the speaker group in the Google Home app then it will appear as one speaker in Home Assistant, I have that setup already.

Maybe you can add a speaker_groups: off feature so it doesn’t show that? Otherwise Ill just ignore that and try the cards normally just for the beautiful design of them and controlling single speakers lol.

The card looks outstanding.

1 Like

That already works. Just don’t add speaker_group :slight_smile:

1 Like

I’ve published a new build:

  • Added a built in popup mode. If you enable (on the small card) it tapping album art will open a built in popup with the massive card.
  • Fixed calling services (now actions) in custom_buttons. It was broken (i mainly use the custom buttons to navigate)
1 Like

Great Card! Thank you!

Two wishes:

1 - install the card via HACS
2 - Change the Join button color depending of his status: master/slave/not connected.

Thank You :slight_smile:

3 Likes

I don’t think it’s quite ready for HACS yet. At least I would like to get it a bit more “finished” before going down that road.

I’m curious what button you’re talking about. Once paired, the speaker chips go away, and go up in that volume/unpair area.

(What media players are you using? I know some have a bit different logic than others)

I’m talking about the grey +buttons under “Add Speakers to group”
in my card I’m not getting the players under “Grouped Speakers” its empty(getting only the title).
I have few “LinkPlay Devices” the join and the unjoin command working.
LinkPlay - Home Assistant

type: custom:mediocre-media-player-card
entity_id: media_player.bathroom_2
mode: in-card
tap_opens_popup: false
speaker_group:
  entities:
    - media_player.arylic_1
    - media_player.arylic_4
    - media_player.arylic_3
    - media_player.arylic_2
  entity_id: media_player.arylic_2
action:
  tap_action:
    action: more-info
custom_buttons: []

Link play logic might be different from Sonos/yamaha musiccast.

Can I get you to grab the state (attributes) of a paired speaker that is the master and post it here (or preferably as an issue on GitHub).

This is what you need?

Join (Master):

source_list:
  - Wifi
  - Line In
  - Bluetooth
  - Optical
  - USB DAC
sound_mode_list:
  - None
  - Classic
  - Pop
  - Jazz
  - Vocal
group_members:
  - FF31F09E019E9C0DB3C7C8F9
  - FF31F09E45CD93DB42919EBE
volume_level: 0.49
is_volume_muted: false
media_content_type: music
media_duration: 0
source: other
sound_mode: None
shuffle: false
repeat: "off"
device_class: receiver
friendly_name: Bathroom
supported_features: 743949

Unjoin:

source_list:
  - Wifi
  - Line In
  - Bluetooth
  - Optical
  - USB DAC
sound_mode_list:
  - None
  - Classic
  - Pop
  - Jazz
  - Vocal
group_members: []
volume_level: 0.49
is_volume_muted: false
media_content_type: music
media_duration: 0
source: other
sound_mode: None
shuffle: false
repeat: "off"
device_class: receiver
friendly_name: Bathroom
supported_features: 743949

I see. The issue is that the group members are not media player entity ids.
I don’t think any card is is going to be able to know which players are paired sadly.
If you know of another card that works with your setup, I’m curious to know how they do it.

It’s this issue.

I understand… you were my hope :slight_smile:

Thank You!

Hello,
does this card also work with alexa media player?? thank you in advance

If Alexa media player exposes regular media_player entities it should.

Grouping functionality depends on whether the media_player exposes group_members in a standard way (as you can see in the thread right above).

1 Like