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.
- 🎵 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.
- Music Assistant integration installed in Home Assistant (not just the add-on)
- A
media_playerentity provided by Music Assistant
- Open HACS in your Home Assistant instance.
- Go to Frontend → click the three-dot menu → Custom repositories.
- Add
https://github.com/eliseo-juan/mass-coverwall-cardwith category Lovelace. - Search for Music Assistant Cover Wall and install it.
- Reload your browser.
- Download
dist/mass-coverwall-card.jsfrom the latest release. - Copy the file to
/config/www/mass-coverwall-card.js. - Go to Settings → Dashboards → Resources → Add resource:
- URL:
/local/mass-coverwall-card.js - Type:
JavaScript module
- URL:
- Reload your browser.
Add the card via the visual editor or paste the YAML directly.
type: custom:mass-coverwall-card
entity_id: media_player.salontype: 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)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| 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 |
| 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) |
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)
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)
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)
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)
- Go to Developer Tools → Actions in your Home Assistant instance.
- Select action
music_assistant.get_library. - Fill in:
config_entry_id: your Music Assistant instance IDmedia_type:playlist,album, orartist
- Click Perform action.
- In the response, copy the
urifield of the item you want (e.g.library://playlist/5).
MIT © eliseo-juan