Soundtouch


The soundtouch platform allows you to control your Bose Soundtouch speakers from Home Assistant.

By default it supports auto-discovery provided by Home Assistant, and you don’t need to add anything to your configuration.yaml.

Alternatively, you can add the following to your configuration.yaml file.

# Example configuration.yaml
media_player:
  - platform: soundtouch
    host: 192.168.1.1
    port: 8090
    name: Soundtouch Living Room

Or for multiple hosts

# Example configuration.yaml with many devices
media_player:
  - platform: soundtouch
    host: 192.168.1.1
    port: 8090
    name: Soundtouch Living Room
  - platform: soundtouch
    host: 192.168.1.1
    port: 8090
    name: Soundtouch kitchen

Configuration variables:

  • host (Required): The host name or address of the Soundtouch device.
  • name (Required): The name of the device used in the frontend.
  • port (Optional): The port number. Defaults to 8090.

You can switch between one of your 6 pre-configured presets using media_player.play_media

# Play media preset
- service: media_player.play_media
  data:
    entity_id: media_player.soundtouch_living_room
    media_content_id: 1..6
    media_content_type: PLAYLIST

You can also play HTTP (not HTTPS) URLs:

# Play media URL
- service: media_player.play_media
  data:
    entity_id: media_player.soundtouch_living_room
    media_content_id: http://example.com/music.mp3
    media_content_type: MUSIC

Text-to-Speech services

You can use TTS services like Google Text-to-Speech or Amazon Polly only if your Home Assistant is configured in HTTP and not HTTPS (current device limitation, a firmware upgrade is planned).

A workaround if you want to publish your Home Assistant installation on Internet in SSL is to configure an HTTPS Web Server as a reverse proxy (nginx for example) and let your Home Assistant configuration in HTTP on your local network. The Soundtouch devices will be available to access the TTS files in HTTP in local and your configuration will be in HTTPS on the Internet.

Service soundtouch_play_everywhere

Create a multi-room (zone) from a master and play same content on all other devices (slaves)

Service data attribute Optional Description
master no entity_id of the master device

Service soundtouch_create_zone

Create a multi-room (zone) from a master and play on selected slaves

Service data attribute Optional Description
master no entity_id of the master device
slaves no List of slaves entity_id

Service soundtouch_add_zone_slave

Add slave(s) to an existing zone

Service data attribute Optional Description
master no entity_id of the master device
slaves no List of slaves entity_id to add

Service soundtouch_remove_zone_slave

Remove slave(s) from an existing zone.

Removing the last slave will destroy the zone. You will need to create a new zone in order to be able to add slave(s) again

Service data attribute Optional Description
master no entity_id of the master device
slaves no List of slaves entity_id to remove