Skip to main content
Sonos
Full Compatibility

Sonos + Home Assistant

Sonos speakers integrate with Home Assistant via local network discovery. Control playback, create announcements, and manage multi-room audio without any cloud dependency.

10 min setup Fully local control Auto-discovery

What You Need

  • Sonos speaker (S2 firmware recommended)
  • Sonos app (for initial setup and UPnP setting)
  • Home Assistant on the same network
  • TCP ports 1400 and 1443 accessible

Supported Devices

All Sonos S2-compatible devices are supported:

Speakers

  • Era 100, Era 300
  • Five, One (Gen 1/2)
  • Roam 2, Move 2
  • IKEA Symfonisk

Soundbars & Subs

  • Arc Ultra, Arc, Beam (Gen 2)
  • Ray
  • Sub 4, Sub Mini
  • Amp

Setup Steps

Step 1: Enable UPnP in Sonos App

  1. 1

    Open Sonos app

    Launch the Sonos app on your phone.

  2. 2

    Navigate to settings

    Go to Account → Privacy and Security

  3. 3

    Enable UPnP

    Toggle on the UPnP setting to allow local discovery.

Step 2: Add Integration in Home Assistant

  1. 1

    Add the integration

    Settings → Devices & Services → Add Integration → Search "Sonos"

  2. 2

    Speakers auto-discovered

    Your Sonos speakers will be discovered automatically on the network.

  3. 3

    Restart if needed

    If not all speakers appear, restart Home Assistant after initial setup.

Available Entities

Entity Type Description
Media Player Play, pause, volume, source, skip
Sensors Battery (Roam/Move), audio format, favorites
Switches Alarms, status light, touch controls
Numbers Bass, treble, subwoofer gain, audio delay
Soundbar Options Night sound, speech enhancement, surround settings

Key Features

TTS Announcements

Use the announce feature to overlay messages on current playback:

service: media_player.play_media
target:
  entity_id: media_player.living_room
data:
  media_content_id: media-source://tts/cloud?message=Dinner+is+ready
  media_content_type: music
  announce: true
  extra:
    volume: 0.6

Speaker Grouping

Group and ungroup speakers for synchronized playback:

# Join speakers
service: media_player.join
target:
  entity_id: media_player.living_room
data:
  group_members:
    - media_player.kitchen
    - media_player.bedroom

# Ungroup
service: media_player.unjoin
target:
  entity_id: media_player.kitchen

Snapshot & Restore

Save and restore playback state (useful for announcements):

# Save current state
service: sonos.snapshot
target:
  entity_id: media_player.living_room
data:
  with_group: true

# Restore after announcement
service: sonos.restore
target:
  entity_id: media_player.living_room
data:
  with_group: true

Network Requirements

  • TCP Port 1400: Push-based event updates (falls back to 1401-1500 if blocked)
  • TCP Port 1443: Required for TTS and announcements
  • Same network: Home Assistant and Sonos should be on the same VLAN
  • Note: If ports are blocked, the integration falls back to polling (slower)

Frequently Asked Questions

Does Sonos work offline with Home Assistant?

Yes, Sonos works offline for local playback control. The integration uses local network discovery via UPnP, so you can play, pause, adjust volume, and group speakers without internet. However, streaming services like Spotify or Apple Music require internet, and the Sonos app needs cloud connectivity for initial setup.

Can I use text-to-speech with Sonos in Home Assistant?

Absolutely! Sonos supports TTS announcements via the media_player.play_media service with announce: true. This overlays announcements on current playback and automatically restores music when done. You can set custom volume levels for announcements and use any TTS engine configured in Home Assistant.

Does Sonos require a subscription for Home Assistant?

No subscription is required for the Home Assistant integration. All local control features work without any fees. Sonos itself doesn't require a subscription for basic functionality. Any subscriptions you might have (like Spotify Premium or Sonos Radio HD) are separate from Home Assistant integration.

Can I group Sonos speakers through Home Assistant?

Yes! Use the media_player.join service to create speaker groups and media_player.unjoin to separate them. You can also use sonos.snapshot and sonos.restore to save and restore group configurations. This enables automations like 'party mode' that groups all speakers, or room-specific groupings based on time of day.

What happens if Sonos changes their API?

Sonos uses a local UPnP-based API for Home Assistant integration, which is stable and well-documented. Unlike cloud-dependent integrations, local control methods rarely break. Sonos has maintained backward compatibility for years. If changes occur, the Home Assistant community typically updates the integration quickly since Sonos is one of the most popular audio platforms.

Sources

Related Guides

Need Help with Your Sonos Setup?

Our team can configure your Sonos speakers with Home Assistant, set up whole-home audio automations, and create custom TTS announcements.

Get a Free Quote