Lovelace: Mini Media Player

This was a reply to @staceydodds

I do not believe you can stream urls to alexa devices
:frowning_with_open_mouth:

Can you create a shortcut to directly open the Sonos radio station-favorites? Instead of having to tap on the media-icon, then ā€œSearch Mediaā€ → ā€œFavoritesā€ → ā€œRadioā€.

try as follows:

type: custom:mini-media-player
entity: media_player.gunters_echo_dot
shortcuts:
  buttons:
    - name: Radio21
      type: custom
      id: play radio21
      icon: mdi:radio

@Reini79
I’m sorry that I’m only writing now
Thanks for your answer!
This code works now:

type: custom:mini-media-player
entity: media_player.gunters_echo_dot
artwork: cover
info: short
shortcuts:
  buttons:
    - name: Radio21
      icon: mdi:radio
      type: music
      id: media-source://radio_browser/e417eec8-b2ad-466f-9a3c-ce4abd05c37a
volume_stateless: true
announce: true
group: false
toggle_power: false
source: full
sound_mode: full

Unfortunately the volume changes independently.
Advertising louder
Music quieter
News quieter.
Can that be changed?

Quick question: I use the screenshot provided by Android ADB as artwork in mini-media-player. Is there a way to instruct (or modify) mini-media-player to hold and use the last image whenever an image becomes no longer available?

Example: The artwork displays find most of the time on my Nvidia Shield. However, when a movie starts on Hulu or Disney plus, an entity_picture is no longer provided. Rather than going blank, I’d prefer that mini-media-player just hold the last image received.

can you share this amazing card? THANX

Hi,

i was playing with the new Sections dashboard and noticed that the dimension of the tiles are not perfectly aligned.

Does anyone knows if it is just me or is a common bug?

Thanks

I have a lot of google speakers at home and I am looking for a way to use some kind of variable input for the entity. At the moment I use my spotify integration as the media_player entity, but that is kind of slow when new song/speaker is choosen.

I have also tried using conditional cards for each speaker, but every time I buy a new speaker or create a new group I have to do a lot of coding.

I have a script (in node-red) that saves the information of the current playing speaker or group and I would like to use this as an input to the entity, to minimize the amount of code needed.

Is there anyway of solving this in a nice way?

Here is an example of the minimal amount of code I am looking for (but that does not work)

type: custom:mini-media-player
entity: >
  {{ 'media_player.livingroom' if (states('input_text.active_speaker')
  == 'Livingroom') else 'media_player.kitchen' }}

Hi,
I was successful in setting up mini player with radio stations (from radio browser). Now I want to stream mp3s from my Synology NAS (DLNA), either specific folders or genre. How can I do this?

This is my DLNA server from synology:
Screenshot 2024.11.16-18.16

Here my card:
Screenshot 2024.11.16-18.19

And here is the code from my card:

type: custom:mini-media-player
entity: media_player.ue46f5500
hide:
  volume: false
  power_state: false
  icon_state: true
  power: true
  volume_level: false
  play_pause: true
  source: true
shortcuts:
  columns: 3
  hide_when_off: 0
  buttons:
    - data:
        entity_id: media_player.chromecast_dg_2
        media_content_id: media-source://radio_browser/cbd9a2cb-7e37-4362-9eb3-269ed743fc62
        media_content_type: audio/mpeg
      id: media_player.play_media
      name: null
      cover: /local/bilder/ƶ1.jpg
      type: service
    - data:
        entity_id: media_player.chromecast_dg_2
        media_content_id: media-source://radio_browser/8a3685e2-711e-4764-9080-6fa143c33014
        media_content_type: audio/mpeg
      id: media_player.play_media
      name: null
      cover: /local/bilder/radiowien.jpg
      type: service
    - data:
        entity_id: media_player.chromecast_dg_2
        media_content_id: media-source://radio_browser/e723f7f8-0db1-4bc5-a64c-64d8377f9f9a
        media_content_type: audio/mpeg
      id: media_player.play_media
      cover: /local/bilder/ƶ3.jpg
      type: service
    - data:
        entity_id: media_player.ue46f5500
        source: HDMI
      id: media_player.select_source
      type: service
      name: switch HDMI
      icon: mdi:audio-video
info: short
name: Chromecast DG | Samsung TV
source: icon
sound_mode: icon
artwork: cover
volume_stateless: false

Hello.
I use Mini Media Player for my Sony tv (andoird tv).
I can control the volume and turn on and off the tv.
i would like to have 3 buttons which will change the source of the tv to a specific app like, spotify or nordvpn.

here is my code:

type: custom:mini-media-player
name: Living Room TV
entity: media_player.android_tv_192_168_1_127
artwork: cover-fit
source: full
sound_mode: icon
info: short
shortcuts:
  columns: 3
  buttons:
    - icon: fapro:freetv (1)
      type: source
      id: tv.freetv.androidtv
    - icon: fapro:Nordvpn1 (1)
      type: source
      id: com.nordvpn.android
    - icon: fab:spotify
      type: source
      id: Spotify
hide:
  source: true
volume_stateless: true

hope someone can help me with this.

Hi,

Anyone know how to change the ā€˜placeholder’ text in the TTS input?
I want to change it from Text to speech… to Search…

Thanks.

Hi,
I want to mute a different player, so I use button:
Screenshot 20241125-082900

type: custom:mini-media-player
entity: media_player.chromecast_wz_3
artwork: cover
name: Wohnzimmer
shortcuts:
  columns: 3
  buttons:
    - data:
        entity_id: media_player.tx_nr616
      id: media_player.volume_down
      type: service
      name: Vol -
    - data:
        entity_id: media_player.tx_nr616
      id: media_player.volume_up
      type: service
      name: Vol +
    - data:
        entity_id: media_player.tx_nr616
        is_volume_muted: "{{ not state_attr('media_player.tx_nr616','is_volume_muted') }}"
      id: media_player.volume_mute
      type: service
      name: Mute

Vol + and - are working, but mute not with following error:

Why is the template for ā€œis_volume_mutedā€ an invalid boolean? Under developer tool it seems to be ok:

Any ideas?

Hi all! i have many devices ( 3 google home/nest and a marantz receiver). can i create a button to switch between devices?
thank you

Hi @Andrea_Ciullini! I had the same issue and solved it by using a mushroom-select-card. I use the drop down to choose speaker and then when I press the play button to the left, I have chosen an action to start a script (in Node-Red, triggered by an input_boolean) to transfer the music (by using Spotcast integration) to selected speaker.

SkƤrmbild 2024-11-29 153039

type: custom:mushroom-select-card
entity: input_select.choose_speaker
name: Change Speaker
secondary_info: none
tap_action:
  action: call-service
  service: input_boolean.turn_on
  data: {}
  target:
    entity_id: input_boolean.byt_hogtalare
icon: mdi:play-circle-outline
fill_container: false
icon_color: teal
layout: horizontal
primary_info: name
card_mod:
  style:
    mushroom-state-info$: |
      .container {
        --card-primary-font-weight: 400;
      }
    .: |
      mushroom-state-item {
        max-width: 45% !important;
      }

1 Like

I would like to make the top 3 icons in the player the full size of the button, how would i do that?

2024-11-30 11_19_26-Tablet – Home Assistant - Vivaldi

type: custom:mini-media-player
entity: media_player.kodi_game_room
artwork: full-cover
hide:
  power: true
info: scroll
show_icon: true
show_state: false
show_name: true
toggle_power: false
shortcuts:
  columns: 3
  column_height: 50
  align_text: center
  buttons:
    - type: service
      id: script.toggle
      image: /local/images/Thrash King Radio.png
      data:
        entity_id: script.game_room_kodi_thrash_king_radio
    - type: service
      id: script.toggle
      image: /local/images/Classic Video Games Radio.png
      data:
        entity_id: script.game_room_kodi_classic_video_games_radio
    - type: service
      id: script.toggle
      image: /local/images/Hyrule Radio.png
      data:
        entity_id: script.game_room_kodi_hyrule_radio
    - type: service
      id: script.toggle
      icon: mdi:music
      data:
        entity_id: script.game_room_kodi_local_video_game_music_playlist
    - type: service
      id: script.toggle
      image: /local/images/radionintendo.png
      data:
        entity_id: script.game_room_kodi_nintendo_radio
    - type: script
      name: Random
      icon: mdi:movie-open
      data:
        id: script.andrew_office_kodi_preshow_experience_random_movie
    - type: script
      name: Halloween
      icon: mdi:halloween
      data:
        id: script.andrew_office_kodi_preshow_experience_random_movie_halloween
    - type: script
      name: Thanksgiving
      icon: mdi:turkey
      data:
        id: script.andrew_office_kodi_preshow_experience_random_movie_thanksgiving
    - type: script
      name: Christmas
      icon: mdi:candycane
      data:
        id: script.andrew_office_kodi_preshow_experience_random_movie_christmas
      tap_action:
        action: toggle
    - type: script
      name: null
      icon: null
      id:
        action: toggle
    - name: Power On
      icon: mdi:power
      type: script
      data:
        id: script.game_room_kodi_power_on
    - name: Power Off
      icon: mdi:power-off
      type: script
      data:
        id: script.master_bedroom_kodi_shutdown_full

Is there a way to supply/override the artwork when none is available?
Instead of the player just being small and text only when the TV is the source

image

I’d like to supply an image of the device/channel that’s in use by the TV.

I’ve had a look at Card-Mod, but can’t see how I’d need to change it, as the player doesn’t have the artwork field

You can set a background. The full solution is on this topic.

Not background, Artwork. they’re different.

Sorry, I wasn’t clear.

I was answering this specifically: