Lovelace: Mini Media Player

Hello,
This is a screen capture of my mini media player cards.
I wonder if it’s possible to integrate thoses cards to my floorplan ?
And if so, how ?

Hi. i cant find, what can increase size of “source menu” button. how to increase size oof this button?

Hi!

I’m trying to cast lovelace view to a google hub with only mini media player as a card.
It seems to work, but artwork is missing. Has anyone got the artwork to be displayed when using lovelace cast?

Hi all,

Is is possible to play a Sonos queue with Mini Media Player? I managed to play spotify playlist, sonos radio and favorites, but I haven’t managed to play from the Sonos queue. Thanks for your help/suggestions!

Hello, I’m trying to color the icon inside the card as you can see below:

What i’d like to achieve is that each button change color if the related sensor is active or not.
The card code is the following:

 - type: custom:mini-media-player
        entity: media_player.salotto
        artwork: cover
        name: Salotto
        icon: mdi:soundbar
        icon_state: true
        volume_stateless: false
        volume_step: 5
        sound_mode: full
        hide:
          power_state: false
          controls: false
        shortcuts:
          columns: 2
          buttons:
            - name: Dialoghi
              icon: mdi:account-voice
              type: service
              id: switch.toggle
              data:
                  entity_id: switch.sonos_salotto_speech_enhancement
            - name: Notte
              icon: mdi:weather-night
              type: service
              id: switch.toggle
              data:
                  entity_id: switch.sonos_salotto_night_sound

What do you suggest to use?

That’s not a feature of this card, as far as I’m aware. Head over to card-mod and look or ask for help there.

I’m aware about that, but I saw some posts here where other users have been able to change colors, but only for all icons and not just one.
Reading the documentation the card has the option to change autmatically the color with other type of services, but not for switch.toggle.
I’ve also tried to use conditional card, but it doesn’t fit my needs cause you can’t change the color to the single button.

Hello all,

I’ve managed to group my chromecast audios together for my home, and everything is working as intended but I’d like to hide chromecasts that are unavailable when I unplug them. Does anyone know how to make a conditional that hides them when their status is listed as “unavailable”?

Appreciate any help, thanks!

type: grid
cards:
  - type: custom:mini-media-player
    group: true
    info: scroll
    toggle_power: false
    volume_stateless: false
    source: icon
    entity: media_player.kitchen_speakers
    name: Kitchen Speakers
    hide:
      power: true
    artwork: full-cover
  - type: custom:mini-media-player
    name: Living Room Speakers
    icon: mdi:cast-audio
    source: true
    volume_stateless: false
    group: true
    toggle_power: false
    entity: media_player.vincent_s_chromecast
    hide:
      power: true
      controls: true
      progress: true
  - type: custom:mini-media-player
    shortcuts: source
    volume_stateless: false
    group: true
    entity: media_player.rx_v685
    source: icon
  - type: custom:mini-media-player
    group: true
    name: Balcony Speakers
    entity: media_player.balcony_speakers
    icon: mdi:cast-audio
    hide:
      power: true
      controls: true
      progress: true
  - type: custom:mini-media-player
    group: true
    entity: media_player.bedroom_speakers
    name: Master Bedroom Speakers
    icon: mdi:cast-audio
    conditions:
      state: 'off'
    hide:
      power: true
      controls: true
      progress: true
  - type: custom:mini-media-player
    group: true
    entity: media_player.office_speakers
    name: Office Speakers
    icon: mdi:cast-audio
    hide:
      power: true
      controls: true
      progress: true
  - type: custom:mini-media-player
    group: true
    entity: media_player.guest_bedroom_speakers
    name: Guest Bedroom Speakers
    icon: mdi:cast-audio
    hide:
      power: true
      controls: true
      progress: true
columns: 1
square: false

Is the state listed as unavailable? Then it should be fairly easy with a conditional card, something like:

type: custom:stack-in-card
title: Media
mode: vertical
cards:
  - type: conditional
    conditions:
      - entity: media_player.living_room_apple_tv
        state: unavailable
    card:
      type: custom:mini-media-player
      (...)

Otherwise you can create a binary sensor that pulls the state, or use entity-filter (that is what I do)

              - entity: sensor.gpodder
                type: custom:podcast-card
                name: Home Assistant Podcasts
                icon: mdi:home-assistant
                default_target: media_player.office_speaker
                show_player: true
                custom_player: true

This is with gpodder and Home Assistant podcasts

How do I stop the source list doing this?

This is due to the removal of paper-list items in 2022.3.0 as part of the move to Material Web Components, waiting on a fix.

Yes I know. There was an update pushed today for mini media and Ian is going to fix goodder on the weekend.

1 Like

Hello could anyone help me please,
When i play radio it only plays on my livingroom chromecast even though iv selected bathroom.
I did not what to click on the dropdown so i seperated the input selects, so i just select the room tab at the top, and the player should be instantly selected with no interacting with the dropdown
I was thinking its something to do with my script, Any ideas?

play_radio_on_chromecast:
  alias: play radio
  sequence:
  - service: media_player.play_media
    data_template:
      entity_id: '{% if is_state("input_select.livingroom_speaker", "Livingroom") %} media_player.living_room_tv
        {% elif is_state("input_select.girlsroom_speaker", "Girlsroom") %} media_player.girls_room_tv
        {% elif is_state("input_select.bathroom_speaker", "Bathroom") %} media_player.bathroom_tv
        {% elif is_state("input_select.select_speaker", "Everywhere") %} media_player.home_group
        {% endif %}

        '
      media_content_id: '{% if is_state("input_select.radio_stations", "Northsound1")
        %} https://stream-mz.planetradio.co.uk/northsound1.aac?direct=true&listenerid=1645367587852_0.16917221665432358&aw_0_1st.bauer_listenerid=1645367587852_0.16917221665432358&aw_0_1st.playerid=BMUK_html5&aw_0_1st.skey=1645367588&aw_0_1st.bauer_loggedin=false&aw_0_req.userConsentV2=CPUtmLDPUtmLDAGABCENCDCsAP_AAAAAAAwIHANf_X_fb3_D-_59_9t0eY1f9_7_v-0zjgeds-8Nyd_X_L8X_2M7vB36pq4KuR4Eu3LBAQdlHOHcTQmQ6IkVqTPsbk2Mr7NKJ7PEmlMbO2dYGH9_n9XT_ZKY79_____7__-_____77f__-__3_v5_UgEAAACQyAsABQAIYATABHADLgH2AfgBGACOAFLAKuAVsA3gCYgE2ALRAWwAvMBgQDDwGcgM8AZ8MAFADaAHgAWIA6oCPQEnALoAXkA0IBt4iA0AFYAQwAyABlgDZAH4AQAAjABSwCngFXANYAdUA-QCHQEiAJsATsApEBcgDAgGEgMPAZOAzkBnwgAKACQA3gC6AGhAN0CQUwAEAALgAoACoAGQAOQAeACAAGAAMgAaAA8gCGAIoATAAnwBVAFYALAAbwA5gB6AD8AIQAQ0AiACJAEcAJYATQApQBbgDDAGRAMoAywBqgDZAHeAPYAfEA-wD9AIBARcBGACNAEcAJSAUEApYBTwCrgFzAMUAawA2gBuADeAHoAPkAhsBDoCRAExAJlATYAnYBQ4CkQFNALFAWgAtgBcgC7wF5gMCAYMAwkBhoDDwGSAMnAZcAzkBnwDSAGnQNYA1kBt4QBBAA4ADwASAB_AEUAJEAZoA2gBzgEDAIOAT8AoYBogDqgI9ASsAm0BYQC6AF1ALtAXkAxABiwDIQGRgNCAaMA0oBqYDbgG6BoEIAVgAuACGAGQAMsAbIA_ACAAEFAIwAUsAp4BV4C0ALSAawA3gB1QD5AIdARUAkQBNgCdgFIgLkAYEAwkBh4DGAGTgM5AZ4Az4MAGANkAdQBdADIwGhAN0FQGgAKABDACYAFwARwAywB-AEYAI4AUsAq8BaAFpAN4AkEBMQCbAFNgLYAXIAvMBgQDDwGcgM8AZ8A3IUAJAG0APAAgoB1QEegLoAaEA14Bt46DGAAuACgAKgAZAA5AB8AIAAXQAwADIAGgAPAAfQBDAEUAJgAT4AqgCsAFgALgAXwAxABmADeAHMAPQAfgBDQCIAIkARwAlgBMACaAFGAKUAWIAt4BhAGGAMgAZQA0QBsgDvAHtAPsA_QB_gEDgIsAjABHICUgJUAUEAp4BVwCxQFoAWkAuYBdQC8gGKANoAbgA6gB6AENgIdAREAioBF4CQQEiAJUATYAnYBQ4CmgFWALFAWhAtgC2QFwALkAXaAu8BeYDBgGEgMNAYeAxIBjADHgGSAMnAZUAy4BnIDPgGiQNIA0kBpYDTgGsANvHAQgAEQAOAA8AC4AJAAcgA_ADIAGgAP4AigBIgCzAGWAM0AbQA5wB3AEAAILAQcBCACIgE2gJ8An4BSwCoAF6AMCAZkA1gBvADjgHSAOqAeQA-QCEAEewJWAlcBMUCZAJlATaAoUBSACkwFMAKqAV2AsoBagC4oF0AXUAvoBgQDEAGLAMhAZeA0IBowDSgGmgNTAa8A2kBtgDbiEDcABYAFAAMgAuABiAEMAJgAUwAqgBcAC-AGIAMwAbwA9ACOAFiAMIAd8A-wD8AH-ARgAjgBKQCggFDAKeAVeAtAC0gFzAMUAbQA6gB6AEggJEASoAmwBTQCxQFowLYAtoBcAC5AF2gMPAYkAycBnIDPAGfANEAaSA0sBwBABCAAgAH4AaAA_gCRAGWANoAc4A8ACCgE-AKWAWIAzIBvADqgHbAR6Ak4BK4CYgE2gKFAUgApMBdAC8gGBANCAaUA1MBtgDbiUDgABAACwAKAAZAA4AB-AGAAYgA8ACIAEwAKoAXAAvgBiADMAG0AQ0AiACJAEcAKMAUoAtwBhADVAGyAO8AfgBGACOAEnAKeAVeAtAC0gF1AMUAbgA6gB8gEOgIqAReAkQBNgCxQFsALtAXmAw8Bk4DOQGeAM-AaQA1gBt4DgCQBsABwAFwAQgA5ADIAJEAXIAywBqADaAHcAQAAnwBUADMgG8AOqAfYBHoCVgE2gKTAWUAugBiwDSgG5FIIwAC4AKAAqABkADkAHwAggBgAGQANAAeQBDAEUAJgATwApABVACwAF8AMQAZgA5gB-AENAIgAiQBRgClAFiALcAYQAygBogDVAGyAO-AfYB-gEWAIwARwAlIBQQChgFXAK2AXMAvIBtADcAHoAQ6Ai8BIgCTgE2AJ2AUOAsUBbAC4AFyALtAXmAw0Bh4DGAGSAMnAZcAzkBngDPoGkAaTA1gDWQG3lAGgAFwAQgAkAByAD8AKwAZAA2gCOAEiALkAZYA1ABrgDaAHOAO4AeABAACKgEiAJOATYAncBPgE_AKWAWIAuoBigDeAHVAO2AeQA_4CPQExAJlATaApABTACuwFoALoAXkAvoBgQDFgGiANKAabA1IDUwGvAAAA.YAAAAAAAAAAA
        {% elif is_state("input_select.radio_stations", "Radio 1") %} http://stream.live.vc.bbcmedia.co.uk/bbc_radio_one
        {% elif is_state("input_select.radio_stations", "Radio 1 Extra") %} http://stream.live.vc.bbcmedia.co.uk/bbc_1xtra
        {% elif is_state("input_select.radio_stations", "Radio 2") %} http://http://stream.live.vc.bbcmedia.co.uk/bbc_radio_two
        {% elif is_state("input_select.radio_stations", "Capital UK") %} https://media-ssl.musicradio.com/CapitalUK
        {% elif is_state("input_select.radio_stations", "Capital XTRA") %} https://media-ssl.musicradio.com/CapitalXTRANational
        {% elif is_state("input_select.radio_stations", "Capital XTRA Reloaded") %}
        https://media-ssl.musicradio.com/CapitalXTRAReloaded {% elif is_state("input_select.radio_stations",
        "Capital Dance") %} https://media-ssl.musicradio.com/CapitalDance {% elif
        is_state("input_select.radio_stations", "Heart UK") %} https://media-ssl.musicradio.com/HeartUK
        {% elif is_state("input_select.radio_stations", "Heart 70s") %} https://media-ssl.musicradio.com/Heart70s
        {% elif is_state("input_select.radio_stations", "Heart 80s") %} https://media-ssl.musicradio.com/Heart80s
        {% elif is_state("input_select.radio_stations", "Heart 90s") %} https://media-ssl.musicradio.com/Heart90s
        {% elif is_state("input_select.radio_stations", "Heart Dance") %} https://media-ssl.musicradio.com/HeartDance
        {% elif is_state("input_select.radio_stations", "Smooth UK") %} https://media-ssl.musicradio.com/SmoothUK
        {% elif is_state("input_select.radio_stations", "Smooth Chill") %} https://media-ssl.musicradio.com/SmoothChill
        {% elif is_state("input_select.radio_stations", "Smooth Country") %} https://media-ssl.musicradio.com/SmoothCountry
        {% elif is_state("input_select.radio_stations", "RadioX UK") %} https://media-ssl.musicradio.com/RadioXUK
        {% elif is_state("input_select.radio_stations", "Radio Gold") %} https://media-ssl.musicradio.com/Gold
        {% endif %}

        '

Please post your code properly.

That’s looking better, thanks for that.

I think you should look in the script or automation debug for what is happening.

No problem, I forgot about the preformatted button its been a while since iv been on hear
I had a look and it shows it got sent to Livingroom but should have got send to bathroom

In this code (I haven’t quoted the whole thing) you are testing four different input_selects. Why do you have four different input select entities?

I made 4 as i did not want to manual select from the dropdown source menu, I was going to get rid of that as i was just wanting to select the room tab at the top and the source be pre selected and ready to go

Or would i need four scripts one for each input select?

I an trying to get my head around it :slight_smile:

You have four tabs, and when you click on the bedroom tab you want the input_select to change to bedroom so you get music in the bedroom?