Updated November 2026 for Home Assistant 2026.10 and 2026.11, with current Music Assistant features and the new YAML style (triggers:, actions: and action:).
Home Assistant multi-room audio means playing music on speakers in several rooms and controlling all of them from one place. You can send one playlist to the whole house, play the radio only in the kitchen, or pause every speaker when the doorbell rings. Home Assistant does not need its own speakers for this. It works with the ones you probably already have.
This guide explains the options in plain words, shows how to group speakers, gives two simple automations you can copy, and ends with a short list of what to buy if you are starting from zero.
How multi-room audio works
Every multi room audio setup has three parts:
- A music source: Spotify, a radio station, a podcast, or music files on your computer or NAS (a network drive).
- Players: the speakers in each room. In Home Assistant each speaker becomes a media player entity. An entity is Home Assistant’s name for one thing it can control.
- Something that keeps rooms in sync: when two speakers play the same song, they need to start at exactly the same moment, or you hear an echo when you walk between rooms.
That last part is the tricky one. Speakers from the same family (all Sonos, all Google Cast, all AirPlay) sync well with each other. Mixing brands is where it gets harder, and the options below handle it differently.
Home Assistant GreenPlug-and-play Home Assistant box. The easiest way to start, no SD card.Check price on AliExpress
ESP32 development boardThe default board for ESPHome sensors and Bluetooth proxies.Check price on AliExpressYour options for Home Assistant multi-room audio
Music Assistant (recommended)
Music Assistant is a free music server that runs next to Home Assistant. It collects your music sources into one library and plays them on almost any speaker: Sonos, Google Cast, AirPlay, Snapcast, Squeezebox players, DLNA, WiiM, Bluesound and more. Every speaker and group it manages shows up in Home Assistant as a media player you can use in automations. For most people this is the place to start.
Google Cast speaker groups
Google Nest speakers and anything with Chromecast built in work through the Google Cast integration. You create speaker groups in the Google Home app, and each group then appears in Home Assistant as its own media player. Cast groups play in perfect sync, and this is also what Music Assistant recommends for syncing Cast speakers.
Sonos
Sonos has its own integration and its own grouping. You can join and unjoin Sonos speakers from Home Assistant, and Music Assistant can use them too. If you already own Sonos, you have the simplest multi-room setup there is.
AirPlay
Many speakers and receivers support Apple’s AirPlay 2. Music Assistant can stream to them and group them in sync, even if you have no Apple devices at all.
Snapcast
Snapcast is a free, do-it-yourself system made for perfect sync. One server sends the audio, and a small program called Snapclient runs on each speaker, often a Raspberry Pi with a speaker or an old amplifier attached. Music Assistant supports it directly. Pick this if you like building things.
ESPHome speakers
ESPHome is free firmware for small ESP32 boards. Devices like the Home Assistant Voice Preview Edition or a DIY ESP32 speaker show up in Home Assistant as media players. Music Assistant can use them through its Home Assistant player provider. They are great for announcements in a small room, less so for serious music. Our guide to ESPHome voice devices shows how to build one.
A quick comparison:
| Option | Best for | Rooms in sync? |
|---|---|---|
| Music Assistant | Mixed speakers, one library | Yes, within the same speaker type |
| Google Cast groups | Nest and Chromecast speakers | Yes, groups made in Google Home |
| Sonos | Sonos owners | Yes |
| AirPlay | AirPlay 2 speakers and receivers | Yes, through Music Assistant |
| Snapcast | DIY speakers on Raspberry Pi | Yes |
| ESPHome speakers | Announcements, small rooms | Not reliably |
What you need
- A running Home Assistant install. Music Assistant as an app needs Home Assistant OS. On a Container install you run Music Assistant in its own Docker container instead.
- Speakers on the same network as Home Assistant. If you are buying new, two Google Nest Mini or Nest Audio speakers are the cheapest way in. Sonos Era 100 speakers are the easiest premium option.
- To make an old stereo or powered speakers smart, a small streamer like a WiiM Mini, or a Google Cast audio receiver.
- A wired connection for Home Assistant if you can. Stable Wi-Fi for the speakers helps keep rooms in sync.
Set up Music Assistant step by step
- Go to Settings > Devices & services, click Add integration and pick Music Assistant.
- On Home Assistant OS, leave Use the official Music Assistant app ticked. Home Assistant installs and starts the Music Assistant app for you. (Apps were called add-ons until early 2026. You can also install it yourself from Settings > Apps > Install app.)
- Open Music Assistant from the sidebar and finish its first-time setup.
- In Music Assistant’s settings, add a music provider, for example Spotify, a radio provider or a folder of music files.
- Add player providers for the speakers you own, like Sonos, Google Cast or AirPlay. Most find your speakers on their own. Some need an IP address.
- Back in Home Assistant, the integration finishes its setup and creates a media player for every Music Assistant player and group.
You may now see some speakers twice: once from their own integration and once from Music Assistant. Use the Music Assistant one for music. You can hide the other one in the entity settings if it bothers you. For more apps worth installing next to it, see our list of must-have Home Assistant apps.
How to group speakers
There are three ways, from quick to permanent.
Quick group from the player list
In Music Assistant, tick the speakers you want in the player list and they join the one that is playing. This only works for speakers of the same type that support synced playback, like two Sonos or two AirPlay speakers.
Group from an automation
Home Assistant’s join action does the same thing from a script or automation. The target is the speaker that is already playing, the group_members join it:
action: media_player.join
target:
entity_id: media_player.living_room
data:
group_members:
- media_player.kitchen
- media_player.dining_room
Use media_player.unjoin on a speaker to take it out of the group again.
Permanent sync group
In Music Assistant’s player settings, click Add group player, give it a name like “Downstairs” and pick its members. The group becomes its own media player in Home Assistant, which is handy for automations. For mixed brands there is also a universal group. It plays the same music everywhere, but not in sync, so use it for rooms that are far apart. Cast speakers sync best when you group them in the Google Home app. The Music Assistant groups page explains every group type.
Automation: morning music in the kitchen
This plays a playlist quietly in the kitchen at 7:00 on weekdays. Paste it in Settings > Automations & scenes > Create automation > Create new automation, then choose Edit in YAML from the three-dot menu:
alias: Kitchen morning music
triggers:
- trigger: time
at: "07:00:00"
conditions:
- condition: time
weekday:
- mon
- tue
- wed
- thu
- fri
actions:
- action: media_player.volume_set
target:
entity_id: media_player.kitchen
data:
volume_level: 0.25
- action: music_assistant.play_media
target:
entity_id: media_player.kitchen
data:
media_id: Morning Coffee
media_type: playlist
enqueue: replace
Replace media_player.kitchen with your own Music Assistant player and Morning Coffee with a playlist name from your library. A radio station works too: use its name with media_type: radio. Want to start it with a button by the coffee machine instead? A physical ESPHome button can trigger the same actions.
Automation: spoken announcements
TTS (text to speech) turns a text into spoken audio. Music Assistant has an announcement action that interrupts the music, plays the message and then resumes playback:
alias: Washing machine done announcement
triggers:
- trigger: state
entity_id: binary_sensor.washing_machine_running
to: "off"
for: "00:01:00"
actions:
- action: music_assistant.play_announcement
target:
entity_id: media_player.downstairs
data:
message: The washing machine is done.
tts_entity_id: tts.piper
announce_volume: 50
Use any TTS entity you have, like Piper (runs locally) or Home Assistant Cloud. Targeting a group player such as “Downstairs” speaks on every speaker in it. If a speaker is not managed by Music Assistant, the built-in TTS action works too:
action: tts.speak
target:
entity_id: tts.piper
data:
media_player_entity_id: media_player.kitchen_speaker
message: Someone is at the front door.
Control it from your dashboard
The media control card gives you play, pause, volume and the cover art:
type: media-control
entity: media_player.downstairs
Add one card per room or group. If you also want to control a TV from the same dashboard, see how to connect an Android TV to Home Assistant.
Common problems
- Speakers are not found. Home Assistant, Music Assistant and the speakers must be on the same network. Guest networks and separate VLANs often block discovery.
- Rooms are out of sync. You probably mixed speaker types in a universal group. Group same-type speakers instead.
- Music does not come back after an announcement. Send the announcement to the Music Assistant player with its announcement action, not to the original speaker entity.
- The automation runs but nothing plays. Check that the playlist name exists in your Music Assistant library, and open the automation’s trace from its three-dot menu to see the error.
The official Music Assistant integration page lists every action and option if you want to go further.
Frequently Asked Questions
What is the best way to do multi-room audio in Home Assistant?
For most people it is Music Assistant. It runs as a free Home Assistant app, works with Sonos, Google Cast, AirPlay, Snapcast and more, and gives you one music library plus a media player in Home Assistant for every speaker and group.
Can I mix Sonos, Google and AirPlay speakers?
Yes, Music Assistant can play on all of them. Speakers of the same type can play in perfect sync. A universal group can play the same music on mixed brands, but not in sync, so it suits rooms that are far apart.
Do I need HACS for Music Assistant?
No. Music Assistant has an official Home Assistant integration and is available as an app in the Home Assistant app store. Older guides installed it through HACS, but that is no longer needed.
How do I make announcements on all speakers?
Create a group player in Music Assistant, then use the music_assistant.play_announcement action with a message and a TTS entity, targeting the group. The music is interrupted for the message and resumes afterwards.





