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.
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/
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
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
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.
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).
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.
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… 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.
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?