Skip to content

eliseo-juan/mass-coverwall-card

Repository files navigation

mass-coverwall-card

hacs_badge License: MIT

A Lovelace custom card for the Sections view of Home Assistant that displays a responsive grid of Music Assistant covers — playlists, albums, or artists — and plays them with a single tap.


Preview

image

Features

  • 🎵 Playlists, albums or artists — choose what you want to browse
  • 🔊 Pick your speakers — one or more Music Assistant media players for instant multiroom
  • 🎛️ Sort your way — 16 options: recently added, last played, most played, random, alphabetical…
  • 📌 Manual mode — pin exactly the covers you want, drag to reorder
  • 🎨 Fits your theme — 100% aligned with your Home Assistant visual style
  • Built for Sections — the grid adapts automatically to any card size

One tap. The right vibe.


Requirements

  • Music Assistant integration installed in Home Assistant (not just the add-on)
  • A media_player entity provided by Music Assistant

Some more examples

Screenshot 2026-04-01 at 00 50 58 image image image

Installation

Via HACS (recommended)

  1. Open HACS in your Home Assistant instance.
  2. Go to Frontend → click the three-dot menu → Custom repositories.
  3. Add https://github.com/eliseo-juan/mass-coverwall-card with category Lovelace.
  4. Search for Music Assistant Cover Wall and install it.
  5. Reload your browser.

Manual

  1. Download dist/mass-coverwall-card.js from the latest release.
  2. Copy the file to /config/www/mass-coverwall-card.js.
  3. Go to Settings → Dashboards → Resources → Add resource:
    • URL: /local/mass-coverwall-card.js
    • Type: JavaScript module
  4. Reload your browser.

Configuration

Add the card via the visual editor or paste the YAML directly.

Minimal

type: custom:mass-coverwall-card
entity_id: media_player.salon

Full example

type: custom:mass-coverwall-card
entity_id:
  - media_player.salon
  - media_player.cocina
media_type: playlist          # playlist | album | artist
order_by: timestamp_added_desc
item_size: 3                  # grid columns per cover (Sections grid = 12 cols)

Manual mode example

type: custom:mass-coverwall-card
entity_id: media_player.salon
media_type: playlist
order_by: manual
item_size: 3
manual_items:
  - library://playlist/5
  - library://playlist/12
  - library://album/42

Configuration options

Option Type Default Description
entity_id string or list required One or more Music Assistant media_player entities. The first one is used to detect the MA instance. Supports multiroom out of the box.
media_type string playlist Content type: playlist, album, or artist
order_by string timestamp_added_desc Sort order (see table below)
item_size number 3 Width of each cover in Sections grid columns (1–12)
rows number (auto) Number of rows to display. Required for Masonry dashboards. Leave unset in Sections — the card auto-fits to the card height.
manual_items list [] List of Music Assistant URIs (only used when order_by: manual)
config_entry_id string (auto-detected) Override the Music Assistant config entry ID

order_by values

Value Description
timestamp_added_desc Date added (newest first)
timestamp_added Date added (oldest first)
last_played_desc Last played (newest first)
last_played Last played (oldest first)
play_count_desc Play count (highest first)
play_count Play count (lowest first)
random Random
random_less_played Random (least played)
name Name (A → Z)
name_desc Name (Z → A)
sort_name Sort name (A → Z)
sort_name_desc Sort name (Z → A)
year_desc Year (newest first)
year Year (oldest first)
artist_name Artist name (A → Z)
artist_name_desc Artist name (Z → A)
manual Manual order (uses manual_items)

Examples

Recently added playlists — full width

Show your latest additions across the full dashboard width.

type: custom:mass-coverwall-card
entity_id: media_player.salon
media_type: playlist
order_by: timestamp_added_desc
item_size: 3

(screenshot coming soon)


Albums sorted by year — compact

A tight grid of your newest albums, smaller covers for a denser look.

type: custom:mass-coverwall-card
entity_id: media_player.salon
media_type: album
order_by: year_desc
item_size: 2

(screenshot coming soon)


Multiroom — one tap, whole house

Tap a cover and every room plays in sync.

type: custom:mass-coverwall-card
entity_id:
  - media_player.salon
  - media_player.cocina
  - media_player.habitacion
media_type: playlist
order_by: last_played_desc
item_size: 3

(screenshot coming soon)


Manual — your go-to playlists

Always there, always in the right order. The ones you actually reach for.

type: custom:mass-coverwall-card
entity_id: media_player.salon
media_type: playlist
order_by: manual
item_size: 4
manual_items:
  - library://playlist/5    # Morning coffee
  - library://playlist/12   # Focus
  - library://playlist/7    # After dark

(screenshot coming soon)


Finding URIs for manual mode

  1. Go to Developer Tools → Actions in your Home Assistant instance.
  2. Select action music_assistant.get_library.
  3. Fill in:
    • config_entry_id: your Music Assistant instance ID
    • media_type: playlist, album, or artist
  4. Click Perform action.
  5. In the response, copy the uri field of the item you want (e.g. library://playlist/5).

License

MIT © eliseo-juan

About

One tap from the feeling — your Music Assistant covers, right in Home Assistant.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors