From b417862f079e0fc2af603f4b228d0ccceded2992 Mon Sep 17 00:00:00 2001 From: Charles Blonde Date: Sat, 3 Dec 2016 12:32:59 +0100 Subject: [PATCH] Add Bose Soundtouch component documentation (#1409) --- .../media_player.soundtouch.markdown | 98 ++++++++++++++++++ source/images/supported_brands/soundtouch.jpg | Bin 0 -> 32008 bytes 2 files changed, 98 insertions(+) create mode 100644 source/_components/media_player.soundtouch.markdown create mode 100644 source/images/supported_brands/soundtouch.jpg diff --git a/source/_components/media_player.soundtouch.markdown b/source/_components/media_player.soundtouch.markdown new file mode 100644 index 00000000000..f9ab4354947 --- /dev/null +++ b/source/_components/media_player.soundtouch.markdown @@ -0,0 +1,98 @@ +--- +layout: page +title: "Soundtouch" +description: "Instructions how to integrate Bose Soundtouch devices into Home Assistant." +date: 2016-11-06 13:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: soundtouch.jpg +ha_category: Media Player +ha_release: X.X.X +ha_iot_class: "Local Polling" +--- + +The `soundtouch` platform allows you to control your [Bose Soundtouch](https://www.soundtouch.com/) speakers from Home Assistant. + +To add your Soundtouch components to your installation, add the following to your `configuration.yaml` file. + +```yaml +# Example configuration.yaml +media_player: + - platform: soundtouch + host: 192.168.1.1 + port: 8090 + name: Soundtouch Living Room +``` + +Or for multiple hosts + +```yaml +# 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``` + +```yaml +# Play media in configuration.yaml +- service: media_player.play_media + data: + entity_id: media_player.soundtouch_living_room + media_content_id: 1..6 + media_content_type: PLAYLIST +``` + +### {% linkable_title 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 + +### {% linkable_title 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` | + +### {% linkable_title 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| + +### {% linkable_title 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 | diff --git a/source/images/supported_brands/soundtouch.jpg b/source/images/supported_brands/soundtouch.jpg new file mode 100644 index 0000000000000000000000000000000000000000..58e3f0e83082b74c2abca4cb5b72c35440de52fc GIT binary patch literal 32008 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 literal 0 HcmV?d00001