Home assistant

Home Assistant Multi-Room Audio: A Beginner’s Guide

On this page
    TL;DR: The easiest way to get Home Assistant multi-room audio is Music Assistant. Install it from Settings > Apps (or let the Music Assistant integration install it for you), connect your music sources, and it finds your Sonos, Google Cast, AirPlay and other speakers. Group speakers of the same type for music that plays in sync, then use automations for morning music or spoken announcements.

    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.

    What you needHome Assistant GreenPlug-and-play Home Assistant box. The easiest way to start, no SD card.Check price on AliExpressESP32 development boardThe default board for ESPHome sensors and Bluetooth proxies.Check price on AliExpress

    Your 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.

    AliExpress deals

    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

    1. Go to Settings > Devices & services, click Add integration and pick Music Assistant.
    2. 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.)
    3. Open Music Assistant from the sidebar and finish its first-time setup.
    4. In Music Assistant’s settings, add a music provider, for example Spotify, a radio provider or a folder of music files.
    5. 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.
    6. 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.

    Leave a comment

    Your email address will not be published. Required fields are marked *

    This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

    Coming soon
    The ready-made Home Assistant dashboard
    One email when it's ready, with an early-bird price. No spam. Privacy