Lovelace: Mini Media Player

Can you post the entire cards code? The icon sizes are tied to a multiplier --mmp-unit:

Do you care if the TV gets bigger too?

PS…I like the card layout!

type: vertical-stack
cards:
  - type: custom:mini-media-player
    entity: media_player.media_players
    volume_stateless: true
    artwork: cover
    scale: 1.1
    source: icon
    info: scroll
    group: true
    hide:
      volume: true
      controls: true
      progress: true
    toggle_power: false
    card_mod:
      style:
        mmp-powerstrip $: |
          ha-icon-button {
            color: red !important;
          }
        .: |
          ha-card {
             --mmp-icon-color: yellow !important;
             --mmp-text-color: lime !important;
             --mmp-unit: 1.5 !important;
             --mdc-icon-size: 50px  !important;
               }
  - type: custom:mini-media-player
    entity: media_player.media_players
    volume_stateless: true
    artwork: null
    scale: 1.1
    source: icon
    info: scroll
    group: true
    hide:
      icon: true
      info: true
      name: true
      volume: false
      power: true
      progress: true
    toggle_power: false
    card_mod:
      style: |
        ha-card {
           --mmp-text-color: blue !important;
           --mmp-unit: 1.5 !important;
           --mdc-icon-size: 50px  !important;
                    }

If my code works for you, I’d still would like the whole card to possibly use…

I would prefer individual control. I inserted your helpful code and I’ve tried playing with --mmp-unit, but it wrecks havoc! ).

card_mod:
    style: |
      ha-card {
        --mmp-text-color: blue !important;
        --mmp-unit: 1.1 !important;
        --mdc-icon-size: 32px  !important;
      }
      :host {
        margin: 12px 12px 12px 12px !important;
      }
      .entity__info__name {
        font-size: 15px !important;
        #color: magenta !important;
      }
      div.mmp-player__adds mmp-media-controls {
        opacity: 75%;
        font-size: smaller;
      }
      div.mmp-player {
        border: 0px solid rgba(0,0,0,0.12);
        border-radius: 12px 12px 12px 12px;
      }
      div.mmp-player__adds {
        margin-left: 12px;
        margin-right: 0px;
        
      }

The main file code is below, but if you want it all, I’d need to make a repo - which I can. There’s a lot of code for the fancy dpad!

image

Full Main File Code:

# lovelace_gen

# setup variables
{% set dpad_entity = "remote.samsung_q90_porch" %}
{% set menu_entity = "media_player.samsung_q90_porch" %}

{% set dpad_menu_icon_color = "white" %}
{% set dpad_menu_bg = "dimgrey" %}
{% set dpad_menu_br = "10px" %}
{% set dpad_bg = "lightgrey" %}
{% set dpad_icon_color = "black" %}
{% set dpad_br_center = "0% 0% 0% 0% / 50%" %}
{% set btn_data = {
  "btnTopLeft": {"command": "KEY_INFO", "icon": "mdi:information-variant"},
  "btnTopRight": {"command": "KEY_MENU", "icon": "mdi:tools"},
  "btnBotLeft": {"command": "KEY_RETURN", "icon": "mdi:arrow-u-left-top"},
  "btnBotRight": {"command": "KEY_HOME", "icon": "mdi:home"},
  "btnLeft": {"command": "KEY_LEFT", "icon": "mdi:arrow-left-thick"},
  "btnUp": {"command": "KEY_UP", "icon": "mdi:arrow-up-thick"},
  "btnRight": {"command": "KEY_RIGHT", "icon": "mdi:arrow-right-thick"},
  "btnDown": {"command": "KEY_DOWN", "icon": "mdi:arrow-down-thick"},
  "btnCenter": {"command": "KEY_ENTER", "icon": "mdi:circle-outline"}
} %}
{% set shortcut_data = [
  {"command": "JBL BAR 9.1", "icon": "mdi:hdmi-port", "color": "black"},
  {"command": "Peacock TV", "icon": "fapro:peacock#fullcolor"},
  {"command": "Prime Video", "icon": "si:prime", "color": "rgb(0,168,225)"},
  {"command": "Netflix", "icon": "fapro:netflix#fullcolor"},
  {"command": "YouTube TV", "icon": "mdi:youtube-tv", "color": "rgb(255, 0, 0)"},
  {"command": "YouTube", "icon": " fapro:youtube#fullcolor"},
  {"command": "Apple TV", "icon": "si:appletv", "color": "black", "size":'64px'},
  {"command": "ESPN", "icon": "fapro:espn3#fullcolor", "size":'48px'},
  {"command": "Paramount+", "icon": "fapro:paramounto#fullcolor", "size":"64px"},
  {"command": "KEY_ENTER", "icon": "mdi:circle-outline"},
] %}
{% set test = (btn_data | tojson) %}

# remote_command, remote_icon


# send variables to include file
button_card_templates: 
  !include 
    - includes/components/dpad/dpad_bc_template.yaml
    - dpad_bg: {{ dpad_bg }}
      menu_bg: {{ dpad_menu_bg }}
      menu_br: {{ dpad_menu_br }}
      dpad_entity: {{ dpad_entity }}
      menu_entity: {{ menu_entity }}
      menu_icon_color: {{dpad_menu_icon_color}}
      dpad_icon_color: {{dpad_icon_color}}
      dpad_br_default: {{ dpad_br_center }}

title: My Awesome Home
views:
  # View tab title.
  - title: Example
    type: masonry
    cards:
      - type: custom:stack-in-card
        card_mod:
          style: |
            ha-card {
              max-width: 388px;
              #lenght: 500px;
              #height: 65px;
              #border-radius: 20px;
              #margin-bottom: 1px;
            }
        cards:
        - type: custom:mini-media-player
          entity: media_player.samsung_q90_porch
          volume_stateless: true
          artwork: cover
          scale: 1.1
          source: icon
          info: scroll
          group: true
          hide:
            jump: false
            volume_level: false
            power_state: false
            
          card_mod:
            style: |
              ha-card {
                --mmp-text-color: blue !important;
                --mmp-unit: 1.1 !important;
                --mdc-icon-size: 32px  !important;
              }
              :host {
                margin: 12px 12px 12px 12px !important;
              }
              .entity__info__name {
                font-size: 15px !important;
                #color: magenta !important;
              }
              div.mmp-player__adds mmp-media-controls {
                opacity: 75%;
                font-size: smaller;
              }
              div.mmp-player {
                border: 0px solid rgba(0,0,0,0.12);
                border-radius: 12px 12px 12px 12px;
              }
              div.mmp-player__adds {
                margin-left: 12px;
                margin-right: 0px;
                
              }
              
        # ********* top menu shortcuts ***********
        - !include
            - includes/components/services_menu.yaml
            - menu_bg: {{ dpad_menu_bg }}
              btn_data: {{ btn_data }}
              shortcut_data: {{shortcut_data}}
              
        # ********* dpad shortcut ***********
        - !include 
            - includes/components/dpad/dpad.yaml
            - dpad_bg: {{ dpad_bg }}
              menu_bg: {{ dpad_menu_bg }}
              entity: {{ entity }}
              menu_icon_color: {{dpad_menu_icon_color}}
              dpad_icon_color: {{dpad_icon_color}}
              btn_data: {{ btn_data }}
        #- type: custom:button-card
        #  entity: media_player.samsung_q90_porch
        #  name: >
        #    [[[
        #      return entity.attributes['source']
        #    ]]]
          
          
        #- type: custom:button-card
        #  icon: mdi:circle-outline
        #  name: {{(test | fromjson).btnTopLeft.icon}}

I don’t get the same spacing issues you see with your code. Can you test removing the max width?

--mmp-unit: has to be at least 2.1

type: custom:stack-in-card
card_mod:
  style: |
    ha-card {
     
      #lenght: 500px;
      #height: 65px;
      #border-radius: 20px;
      #margin-bottom: 1px;
    }
cards:
  - type: custom:mini-media-player
    entity: media_player.media_players
    volume_stateless: true
    artwork: cover
    scale: 1.1
    source: icon
    info: scroll
    group: true
    hide:
      jump: false
      volume_level: false
      power_state: false
    card_mod:
      style: |
        ha-card {
          --mmp-text-color: blue !important;
          --mmp-unit: 2.1 !important;
          --mdc-icon-size: 32px  !important;
        }
        :host {
          margin: 12px 12px 12px 12px !important;
        }
        .entity__info__name {
          font-size: 15px !important;
          color: magenta !important;
        }
        div.mmp-player__adds mmp-media-controls {
          opacity: 75%;
          font-size: smaller;
        }
        div.mmp-player {
          border: 0px solid rgba(0,0,0,0.12);
          border-radius: 12px 12px 12px 12px;
        }
        div.mmp-player__adds {
          margin-left: 12px;
          margin-right: 0px;
          
        }

I think you can scale your mod code down a bit

type: custom:stack-in-card
cards:
  - type: custom:mini-media-player
    entity: media_player.media_players
    volume_stateless: true
    artwork: cover
    source: icon
    info: scroll
    group: true
    hide:
      jump: false
      volume_level: false
      power_state: false
    card_mod:
      style: |
        ha-card {
          --mmp-text-color: blue !important;
          --mmp-unit: 2.1 !important;
          --mdc-icon-size: 40px  !important;
          font-size: 10px !important;
           }
        .entity__info__name {
          font-size: 15px !important;
          color: magenta !important;
          }
        .mmp-player__adds mmp-media-controls {
          opacity: 75%;
                 }
          }

You rock. Your code got me moving in the right direction!
Below is a pic and below that is the card-mod stuff.
You will note that I did the opposite of scaling down the card-mod code! I’m only a few weeks into homeassistant, yaml, card-mod etc… so I’m using this little component to help me understand how it all works.

I don’t actually understand it all – but I’ve fudged it and my code works.
Here’s what I think I understand, but would love plain English explanations of:

  1. There are two modes in card-mod, object mode and text/css. Default is ‘object mode’ that let’s us navigate to elements. We use a $: to get into a shadow-root. When we get to the element we want to style we use the pipe (|) + newline, that now puts us into css/text mode for applying the actual styles.

  2. I don’t know what “.:” actually does, but I’m guessing it moves us up a level in the object hierarchy and we can start with #1 again, from that point in the hierarchy. I don’t quite know why we need the “.:” if we don’t need to go up a level, but I can’t find any other way (see ha-icon-button stuff in code below).

I’m sure I’m missing the joke, and certain that I am using terrible syntax to describe it all. As I said I’m a newbie. If folk can unpack #1 and #2 it would be super helpful, for me and all other newbies!

Right, here’s the card:
I have changed the icon sizes and text styles of various elements in mini-media-player and adjusted formatting so it sits nicely with the menu and dpad below.
I would love to switch the dropdown icon for an mdi:import icon, but can’t figure out if and how that would be possible.

And now the code (for the mini-media-player):

      - type: custom:mini-media-player
          entity: media_player.samsung_q90_porch
          volume_stateless: true
          artwork: cover
          scale: 1.1
          source: icon
          info: scroll
          group: true
          hide:
            jump: false
            volume_level: false
            power_state: false
            
          card_mod:
            # the pipe ("|") + newline says what follows is a string block.
            # we need it behind any css styling. but not before object oriented shadowroot selection
            # when in object mode, the ".:" seems to be needed to reselect the current level of objects.
            style:
              mmp-powerstrip:
                $:
                  ha-icon-button:
                    $:
                      mwc-icon-button:
                        # increase the size of the power button
                        $: |
                          button {
                            padding: 4px !important;
                            justify-content: flex-end !important;
                            --mdc-icon-size: 36px;
                            --mmp-unit: 2.1;
                          }
                  # the pipe moves us up a level (in object mode) to the mmp-powerstrip$
                  # i don't understand it exactly. but it works!

                  # styling the ha-icon-button, the parent of mwc-icon-button
                  # don't need it. just to show it can be done.
                  # mmp-source-menu -- shrink the dropdown icon
                  .: |
                    ha-icon-button {
                      # for testing padding-left: 180px;
                      
                    }
                    mmp-source-menu {
                      --mmp-unit: 2.1;
                      --mdc-icon-size: 24px;
                    }

              # ".: |" seems to say, move up a level (in this case to ha-card $)
              # the pipe puts us into css selector mode (string)
              # there is no shadow-root in the way of accessing the below.
              # set the device name size .entity__info__name
              # increase the size of volume and transport controls
              # .mmp-player__adds > mmp-media-controls 
              # finally go up a level (mini-media-player) create a margin
              # using :host

              .: |
                .entity__info__name {
                  font-size: 16px !important;
                  /* color: magenta !important; note css style comments */
                  }
                .mmp-player__adds > mmp-media-controls {
                  --mmp-unit: 2.1 !important;
                  --mdc-icon-size: 32px  !important;
                  }
                :host {
                  margin: 12px 12px 0px 12px !important;
                }
              div.mmp-player__adds>mmp-media-controls:
              # finally, shrink and fade the displayed volume % and push it right a little.
                $: |
                  div.--buttons.mmp-media-controls__volume.flex>span {
                    opacity: 75%;
                    font-size: 12px !important;
                    padding-left: 6px;
                  }
2 Likes

Check out this guide if you haven’t already

1 Like

As usual thanks. Yes - I’ve read so many of those links!
Can you explain what exactly .: means? I have it working, but don’t know what it means. i.e. select parent object from current level?

I am still learning and by no means an expert, but I thought it meant full stop for the . and select for the :

Hi everyone

Thanks for the player Karl!

Wondering if anyone can point me in the direction of putting a custom Service when hitting the power button?

Use case is by now I think starting to be frequent: Sonos system, so created service to toggle some smart plugs to turn off and on.

Is the Universal media player the only way to go?

Thanks in advance

I think so, but that isn’t a huge hassle.

1 Like

Artwork only shows on 1 random speaker?

Hello! Using HomePod Mini’s. All working. Just noticed on dashboard that only 1 speaker shows artwork when all playing in a group. Anything I did wrong or that I can change to fix?

Hi,

is it possible to insert/replace a drop down (Harmony activities) in the source drop down menu of the mini media player?

I would like to hide all the controls, the icon and the title in this card. Can somone tells me how to do this with card_mod or css?

image

The mini media player already has this function built in. Does that work for you?

type: custom:mini-media-player
entity: media_player.xxxx
hide:
  controls: true
  icon: true
  info: true
  power: true
  volume: true

All the fields you can hide.

name	
icon
info	
power	
source	
sound_mode	
group_button
controls
next	
play_pause	
play_stop	
jump	
volume	
volume_level	
mute	
progress	
runtime	
runtime_remaining	
artwork_border	
power_state	
icon_state	
shuffle	
repeat	
state_label	
2 Likes

Showing off and asking a question about shortcuts. Is it possible create a light switch using the shortcuts feature? For my ambilight, I’m currently using a service toggle for a script but it doesn’t show on & off states.

Aside that it’s still work in progress:

  • touchpad doesn’t look as good in light mode
  • PS4 artwork material cover isn’t consistent

type: custom:vertical-stack-in-card
cards:
  - type: custom:mini-media-player
    entity: media_player.main_hall_tv
    artwork: none
    source: full
    icon: mdi:television
    hide:
      volume: true
      controls: true
      source: true
      power_state: false
    shortcuts:
      columns: 1
      hide_when_off: true
      buttons:
        - type: service
          id: script.toggle
          data:
            entity_id: script.hyperion_mini_media_player_toggle
          icon: mdi:television-ambient-light
    toggle_power: false
    sound_mode: icon
    volume_stateless: false
    group: false
    scale: '1.1'
  - type: custom:mini-media-player
    entity: media_player.main_hall_tv
    artwork: none
    source: full
    icon: mdi:television
    hide:
      volume: true
      controls: true
      source: true
      power: true
      power_state: true
      name: true
      icon: true
    shortcuts:
      columns: 5
      buttons:
        - icon: mdi:movie-play
          type: source
          id: HDMI 1
        - icon: mdi:sony-playstation
          type: source
          id: HDMI 2
        - icon: mdi:raspberry-pi
          type: source
          id: HDMI 3
        - icon: mdi:microsoft-xbox
          type: source
          id: HDMI 4
        - icon: mdi:desktop-tower-monitor
          type: source
          id: HDMI 5
        - icon: mdi:hdmi-port
          type: source
          id: HDMI 0
    toggle_power: false
    sound_mode: icon
    volume_stateless: true
    group: false
    scale: '1.1'
  - type: custom:mini-media-player
    entity: media_player.android_tv_192_168_1_216
    name: Main Hall Cast
    source: icon
    artwork: material
    tap_action:
      action: none
    hide:
      power: true
      controls: false
      toggle_power: true
      runtime: false
      jump: false
      play-pause: false
      source: true
      mute: true
    shortcuts:
      columns: 4
      hide_when_off: true
      buttons:
        - icon: mdi:youtube-tv
          type: source
          id: com.teamsmart.videomanager.tv
        - icon: mdi:vlc
          type: source
          id: VLC
        - icon: mdi:youtube
          type: source
          id: YouTube
        - icon: mdi:cast
          type: source
          id: HDMI 4
    group: true
    max_volume: '25'
    min_volume: '1'
    volume_stateless: true
    show_progress: true
    sound_mode: full
    scale: '1.1'
    info: scroll
  - type: custom:collapsable-cards
    title: Cast Controls
    buttonStyle:
      - 'font-size: 16px;'
      - bold
    cards:
      - type: custom:android-tv-card
        card_mod:
          style: |
            }    ha-card {
            margin-bottom: 20px;    }
        remote_id: media_player.android_tv_192_168_1_216
        keyboard_id: media_player.android_tv_192_168_1_216
        media_player_id: media_player.android_tv_192_168_1_216
        rows:
          - - power
            - home
            - menu
          - - navigation_touchpad
          - - back
            - keyboard
        button_style:
          '--size': 32px
          color: grey
          border-width: 3px;
          box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.9);
          border-radius: 50%;
          backgound-color: black;
          background-opacity: 50%;
          padding: 8px;
        touchpad_style:
          background-image: url("/local/fingerprint.png")
          background-size: 150px
          background-repeat: no-repeat
          background-position: center
          opacity: 0.5
          box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.9);
          height: 200px
          width: 200px
        enable_double_click: true
        double_click_keycode: menu
        custom_keys:
          power:
            service: androidtv.adb_command
            service_data:
              entity_id: media_player.android_tv_192_168_1_216
              command: POWER
          back:
            service: androidtv.adb_command
            service_data:
              entity_id: media_player.android_tv_192_168_1_216
              command: BACK
          home:
            service: androidtv.adb_command
            service_data:
              entity_id: media_player.android_tv_192_168_1_216
              command: HOME
          menu:
            service: androidtv.adb_command
            service_data:
              entity_id: media_player.android_tv_192_168_1_216
              command: MENU
          up:
            service: androidtv.adb_command
            service_data:
              entity_id: media_player.android_tv_192_168_1_216
              command: UP
          left:
            icon: local/16x16.png
            service: androidtv.adb_command
            service_data:
              entity_id: media_player.android_tv_192_168_1_216
              command: LEFT
          center:
            icon: mdi:arrow-expand-all
            service: androidtv.adb_command
            service_data:
              entity_id: media_player.android_tv_192_168_1_216
              command: ENTER
          right:
            service: androidtv.adb_command
            service_data:
              entity_id: media_player.android_tv_192_168_1_216
              command: RIGHT
          down:
            service: androidtv.adb_command
            service_data:
              entity_id: media_player.android_tv_192_168_1_216
              command: DOWN
  - type: custom:button-card
    color_type: blank-card
  - type: custom:mini-media-player
    entity: media_player.playstation_4
    volume_stateless: false
    toggle_power: true
    artwork: material
    tap_action:
      action: none
    hide:
      volume: true
      source: true
      controls: true
      play_pause: true
      play_stop: true
      mute: true
      name: true
    group: false
    idle_view:
      when_idle: true
      when_paused: false
      when_standby: true
    source: full
    scale: '1.1'
    mini-media-player-background-opacity: 0.5
    background: /local/PS4.png
  - type: conditional
    conditions:
      - entity: media_player.playstation_4
        state_not: standby
      - entity: media_player.playstation_4
        state_not: unavailable
      - condition: state
        entity: media_player.playstation_4
        state_not: unknown
    card:
      type: custom:collapsable-cards
      buttonStyle:
        - 'font-size: 20px;'
      title: PS4 Remote
      cards:
        - cards:
            - aspect_ratio: 3/1
              entity: media_player.playstation_4
              hold_action:
                action: more-info
              icon: custom:ps4-share
              show_icon: true
              show_name: false
              tap_action:
                action: call-service
                service: ps4.send_command
                service_data:
                  command: share
                  entity_id: media_player.playstation_4
              type: custom:button-card
            - aspect_ratio: 3/1
              entity: media_player.playstation_4
              hold_action:
                action: more-info
              icon: custom:ps4-up
              show_icon: true
              show_name: false
              style:
                height: 40px
              tap_action:
                action: call-service
                service: ps4.send_command
                service_data:
                  command: up
                  entity_id: media_player.playstation_4
              type: custom:button-card
            - aspect_ratio: 3/1
              entity: media_player.playstation_4
              hold_action:
                action: more-info
              icon: custom:ps4-options
              show_icon: true
              show_name: false
              tap_action:
                action: call-service
                service: ps4.send_command
                service_data:
                  command: option
                  entity_id: media_player.playstation_4
              type: custom:button-card
          type: horizontal-stack
        - cards:
            - aspect_ratio: 3/1
              entity: media_player.playstation_4
              hold_action:
                action: more-info
              icon: custom:ps4-left
              show_icon: true
              show_name: false
              tap_action:
                action: call-service
                service: ps4.send_command
                service_data:
                  command: left
                  entity_id: media_player.playstation_4
              type: custom:button-card
            - aspect_ratio: 3/1
              entity: media_player.playstation_4
              hold_action:
                action: more-info
              icon: custom:ps4-x
              show_icon: true
              show_name: false
              tap_action:
                action: call-service
                service: ps4.send_command
                service_data:
                  command: enter
                  entity_id: media_player.playstation_4
              type: custom:button-card
            - aspect_ratio: 3/1
              entity: media_player.playstation_4
              hold_action:
                action: more-info
              icon: custom:ps4-right
              show_icon: true
              show_name: false
              tap_action:
                action: call-service
                service: ps4.send_command
                service_data:
                  command: right
                  entity_id: media_player.playstation_4
              type: custom:button-card
          type: horizontal-stack
        - cards:
            - aspect_ratio: 3/1
              entity: media_player.playstation_4
              hold_action:
                action: call-service
                service: ps4.send_command
                service_data:
                  command: ps_hold
                  entity_id: media_player.playstation_4
              show_icon: true
              show_name: false
              tap_action:
                action: call-service
                service: ps4.send_command
                service_data:
                  command: ps
                  entity_id: media_player.playstation_4
              type: custom:button-card
            - aspect_ratio: 3/1
              entity: media_player.playstation_4
              hold_action:
                action: more-info
              icon: custom:ps4-down
              show_icon: true
              show_name: false
              tap_action:
                action: call-service
                service: ps4.send_command
                service_data:
                  command: down
                  entity_id: media_player.playstation_4
              type: custom:button-card
            - aspect_ratio: 3/1
              entity: media_player.playstation_4
              hold_action:
                action: more-info
              icon: custom:ps4-o
              show_icon: true
              show_name: false
              tap_action:
                action: call-service
                service: ps4.send_command
                service_data:
                  command: back
                  entity_id: media_player.playstation_4
              type: custom:button-card
          type: horizontal-stack
  - type: tile
    name: Hyperion ambilight
    icon: mdi:television-ambient-light
    entity: light.first_led_hardware_instance_component_usb_capture
    features:
      - type: light-brightness
    tap_action:
      action: more-info

use “cover:” instead of “image:”

image

Hi,

I have a lg soundbar integration. This soundbar is also integrated with google cast. So, I have have two entities :

  • Lg soundbar entity. With mini media player, I can modify source and sound level but artwork deosn’t display when I listen music on spotify.
  • Google cast entity. With media player I can see artwork when I play music with spotify, increase sound level, change music. But when source is set to hdmi, no way to increase sound level. It’s like the soundbar is power off.

Is there a possibility to merge mini media player with this 2 entities ?

The First media player with google cast entity, the second with lg soundbar entity when I play music with spotify.

The First media player with google cast entity, the second with lg soundbar entity when I play movie on my tv.

I would like the sound slider when I play a movie or music on spotify and the artwork when I play music and the possibility to change the source.

Do you have an idea ?

Thank you

I use a Moode entity (DLNA) in combination with this Mini Media Player. I initiate the music from Music Assistant, choosing the Player (DLNA). I also have the Moode available as MPD entity.

If the Mini Media Player is configured for the DLNA entity:

  • The buttons on the front don’t function (can’t call service …).
  • When i klick on the Player name and the pop-up shows, the buttons on the pop-up do function.

Is there a difference in the buttons on the pop-up and on the face of the card, and how can i get the buttons on the face of the card working again (because it used to work).

If i use Mini Media Player with the MPD entity, i can use the buttons on the face of the card, but in that case i do not get the nice artwork.

Hello,

I have my player setup for my Alexa, to play whatever song I type in the text field. works great

However, when I click on stop, the music DOES stop, but the song info does not go away. Does anyone know what I could do to fix this?

I’ve tried the idle commands, but cant seem to code it right. If that even works with Alexa

Thanks

I have 2 input_select drop down menus

Can someone tell me how I can make the bottom drop down change to amazon, when i select amazon in the top drop down?

type: custom:stack-in-card
card_mod:
  style: |
    ha-card {
      overflow: visible !important;
      
    }
    ha-card > div {
      overflow-x: clip;
    }
cards:
  - type: custom:yet-another-expander-card
    title: ''
    cards:
      - type: custom:mini-media-player
        entity: media_player.movie_room
        icon: mdi:speaker-multiple
        name: ' '
        hide:
          power: true
          prev: true
          icon: true
          source: true
          info: true
          progress: true
          play_pause: true
          artwork: true
        sound_mode: full
        source: full
        volume_stateless: false
        artwork: none
        replace_mute: stop
        toggle_power: true
        group: false
        card_mod:
          style: |
            ha-card {
            margin: 0px 0px -20px 0px;
            --mmp-icon-color: #999999 !important;
            --md-slider-inactive-track-color: black;
            --md-slider-active-track-color: gray;
            --md-slider-handle-color: gray;
            }
    title-card:
      type: custom:mini-media-player
      entity: media_player.movie_room
      icon: mdi:speaker-multiple
      name: Backyard Music
      hide:
        controls: true
        power: true
        prev: true
        artwork: true
        progress: true
        icon: null
        volume: true
        source: true
        play_pause: true
      sound_mode: full
      source: full
      volume_stateless: false
      artwork: none
      replace_mute: stop
      toggle_power: true
      group: false
      card_mod:
        style: |
          ha-card {
          margin: 0px 0px -20px 0px;
          --mmp-icon-color: #999999 !important;
          --md-slider-inactive-track-color: black;
          --md-slider-active-track-color: gray;
          --md-slider-handle-color: gray;
          }
    gap: 0em
    padding: em
    child-padding: ''
    title-card-padding: ''
    title-card-button-overlay: true
    overlay-margin: 1.1em
    card_mod:
      style: |
        ha-card {
        margin: 0px 0px -20px 0px;
        --mmp-icon-color: #999999 !important;
        --md-slider-inactive-track-color: black;
        --md-slider-active-track-color: gray;
        --md-slider-handle-color: gray;
        }
  - cards: null
    card_mod:
      style: |
        ha-card {
        margin: 0px -6px -30px -6px;

        }  
    type: entities
    entities:
      - entity: input_select.content
        card_mod:
          style:
            hui-generic-entity-row $: |
              state-badge {
                display: none;
              }
              :host {
                color: red;
                --mdc-theme-primary: gray;
                    }
  - type: entities
    entities:
      - entity: input_select.pandora_stations
        card_mod:
          style:
            hui-generic-entity-row $: |
              state-badge {
                display: none;
              }
    card_mod:
      style: |
        ha-card {
        --card-mod-icon-color: gray;
        --card-mod-button: gray;
        padding: 10px 0px 0px 0px;
        margin: 0px -6px 0px -6px;

        }
        :host {
          color: red;
          --mdc-theme-primary: gray;
        }
  - type: entities
    entities:
      - type: call-service
        name: ' '
        icon: mdi:pandora
        action_name: Play Music
        service: script.alexa_backyard_pandora
        data:
          - PANDORA
    card_mod:
      style: |
        ha-card {
        --card-mod-icon-color: gray;
        --card-mod-button: gray;
        padding: 10px 10px 0px 10px;
        margin: -35px 0px 0px -12px;

        }
        :host {
          color: red;
          --mdc-theme-primary: gray;
        }