Bose SoundTouch


The Bose SoundTouch integration allows you to control your Bose SoundTouch speakers from Home Assistant.

Configuration

Adding Bose SoundTouch to your Home Assistant instance can be done via the user interface, by using this My button:

Bose SoundTouch can be auto-discovered by Home Assistant. If an instance was found, it will be shown as “Discovered”, which you can select to set it up right away.

Manual configuration steps

Playing media

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

# Play media preset
- service: media_player.play_media
  target:
    entity_id: media_player.soundtouch_living_room
  data:
    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
  target:
    entity_id: media_player.soundtouch_living_room
  data:
    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.

Services

Service 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 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 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 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