Bose Speaker with WebCoRE/CoRE integration

It has taken me some time to integrate Bose Soundtouch 10 with Google Home to enable volume control and Presets. The answer for me was SmartThings with WebCoRE/CoRE SmartApp.

I won’t describe the installation of these as they are well documented and a quick google will get that but the rest was hard to find and work out so I wanted to make it easy for others wondering the same thing…

SmartThings enables the voice command “Turn on” and “Turn off” but not a great deal else (unless someone knows something that I could not figure out). So I set about solving the volume and preset issue. It sounds complicated but is fairly simple when you go through the steps.

  1. Install CoRE SmartApp into SmartThings. I followed https ://community.smartthings.com/t/core-for-dummies-how-to-get-started-and-make-your-first-piston/55214
    UPDATE: better to use WebCoRE https://wiki.webcore.co/

  2. Create some Virtual Buttons
    Log on to http ://graph.api.smartthings.com.
    UPDATE: use https://account.smartthings.com instead!
    Select “My Locations” and click on your location (this is to get round a bug)
    Click on “My Devices”
    Click “New Device”

  • Name -> Enter a Name (I created 3; “Preset 1”, “Aux” and “Bose Volume”)
  • Label -> Same as Name
  • Zigbee ID -> leave blank
  • Device Network ID -> A unique number e.g. 123456
  • Type -> For Volume, use “Virtual Dimmer Switch”; for the others use “Virtual Switch”
  • Version -> Published
  • Location -> Your Location
  • Hub -> Your hub
  • Group -> Leave blank initially but then you can go and edit this once it is created
  1. Create a CoRE Piston for each
    On the SmartThing (connect or classic) go to
    Automation -> (SmartApps ->) CoRE or Market Place -> SmartApps -> My Apps -> CoRE

i) Volume (this will monitor the virtual dimmer called Bose Volume being changed then tell the Bose to set the volume to the the same level as the dimmer):
Piston Mode: Basic
If: Capability -> Dimmer -> Bose Volume -> “Changes”
Then: Control music players -> Bose Speaker (or whatever you called it) -> "Set Level (variable) "-> Level = $curentEventValue
Name: Change Bose Volume CoRE

ii) Preset 1 (this will monitor the virtual switch called Preset1 being turned on then tell the Bose to switch to Preset1 and then turn the virtual switch off):
Piston Mode: Basic
If: Capability -> Switch -> Preset 1 -> “Changes to” -> On
Then: Action #1 -> Control music players -> Bose Speaker (or whatever you called it) -> “⌂preset1(…)” (optionally here create an Task #2 here for “Play”)
Action #2: Capability -> Switch -> Preset 1 -> “Turn Off”
Name: Preset 1 CoRE

iii) Aux (this will monitor the virtual switch called Aux being turned on then tell the Bose to switch to Aux and then turn the virtual switch off):
Piston Mode: Basic
If: Capability -> Switch -> Aux -> “Changes to” -> On
Then: Action #1 -> Control music players -> Bose Speaker (or whatever you called it) -> “⌂aux(…)”
Action #2: Capability -> Switch -> Aux -> “Turn Off”
Name: Aux CoRE

  1. You will now have 3 more commands available to you:
    i) Hey Google, switch aux on
    ii) Hey Google, switch Preset1 on
    iii) Hey Google, set Bose Volume to xx%

Hope this helps others looking to do the same as me.
Good luck :slight_smile:

Two main concerns with your post…

  1. You should consider the new and more powerful WebCoRE instead of the older CoRE app.
  2. you should be pointing users to https://account.smartthings.com to access IDE. Hint to anyone… do NOT use graph.api.smartthings.com unless you know you are on the original shard.
1 Like

Does the Bose 10 show up in your Google home app the same as a Google home would? If so, then I suggest you look at Cast-Web. This allows for total integration with ST (volume control, pause/stop, voice notifications).

Updated fully with WebCoRE as in the included images.
Thanks for you for your input :slight_smile:

Meant to respond to this @Ryan780, the Bose does not show up in Google Home however I have a Chromecast plugged into the AUX port but that means I can only control the Chromecast, not the Bose.

Wait…does the Bose connect to wifi on its own? If so, why the Chromecast? Which are you trying to control? And if it has Google home, how does it not show up in the Home app on your phone?

The Bose will show up in Google Home if you link SmartThings and Google Home and your Bose exists as a device in SmartThings:

No, I meant as a device in Google home. The fact the speaker is a Google home speaker, you shouldnt have to get it into ST to control it from Google Home. You can just command it natively. I have a home mini… And to set the volume I just command it by itself. No integration with ST necessary.
The Google home app… Not the assistant app.

@Ryan780 , mine looks the same as @WB70.

I can see my Bose in the Home Control, not as a Chromecast device. Google cannot cast directly to the speaker, I had to buy a Chromecast Audio to plug into the Aux.

The Bose just looks like a switch in Home Control and that is all I can do, turn it on or off. Google’s support for Bose Soundtouch is VERY limited!

So, you meant, integrate the Bose with Google Assistant. Because your sentence made it sound like it was one of those new speakers with Google Home built in. My apologies.
But you do know that if you’re casting through the Chromecast audio, you can control the volume of that by itself. Without changing the nose volume.

I was thinking of upgrading… :wink: but sadly no, it is the older style.

I generally don’t cast to that speaker, I usually use it for radio streaming or playing my own music library on my NAS. I keep the Chromecast audio on it for when I use Google Play Music and then use the Chromecast Audio volume control.

I use “Google Home Helper” in ST to create virtual switch (e.g. Preset 1, 2, 3… , volume) then control via WebCORE.

So i manage control the Soundtouch via GH.

Very similar to my approach @tangcmin except I used a virtual switch rather than a Google Switch from Google Home Helper.

Google Home Helper may be useful for other purposes that I can see however :slight_smile:

1 Like

Have you played with trying to get two speakers working together - i.e. both joining the same zone and playing a preset together?

Not yet. My budget (or accountant :wink:) hasn’t stretched that far yet…

This is a longshot. But is anyone aware if when casting to chrome cast device on bose auxiliary input if can send command being cast to smartthings and run smartthings app from google home that sets bose to auxiliary input automatically when casting to that device. Then upon stopping casting music sends commands from google home to smartthings to turn off bose. this would be best case integration.

Work around is have a google home routine for “Sets all bose to auxiliary input” then can create group in google home of bose speakers to cast as group for multi room audio. In addition to auxiliary input would also set volume to preset volume and use volume controls and chrome cast audio device. I think these could be merged into the same routing but will need some experimenting.

A separate smartapp then would turn off all bose devices power when leaving house, going to bed, etc.

A routine from google home could also run this all as a routing to connect bose to auxilary then play preset on google speaker group. Example of this would be waking up to chromecast audio on bose device.

Has anyone used WebCoRE for these automatons already?

How is ST supposed to control the Bose speaker? Do you have an IR blaster or something?

Hi,

Do you know what button/action should I use to switch to the corresponding “TV” button from Bose remote.

I’m trying to create a piston that can switch from music/presets to tv without using the Bose remote.
The SoundTouch app is lacking of this function.

I’ve created the following piston but when I run the piston, the Bose sound bar switches to Bluetooth instead of Tv

Thank you,
Vlad