Google Home Integration for SoundTouch
I've been working on integrating Google Home with my SoundTouch speakers and I'm hoping to release a preview of it soon. So far, I've mainly been focused on the platform rather than the finer touches of natural conversation. I can send instructions to SoundTouch devices from Google Assistant via a service running in Azure as well as sync the status of all SoundTouch devices to Azure in real-time. At the moment this is done via a Windows application but the intention is to get this running on an IoT device.
The application logs into your SoundTouch account to grab all your speaker IP addresses, then opens up a websocket to each one and posts any SoundTouch device updates to the service. It then opens up a web socket to the service and sits waiting for instructions. No NATing or other router/firewall configuration is required (other than the Windows Firewall to let the app out to the Internet).
The cloud service integrates with Google Assistant and both relays instructions and answers questions about them based on the info it knows from the updates coming from the local app. All traffic is HTTPS and authentication with Google is done with OAUTH2 and OpenID connect.
I've just posted a video to YouTube but it's been blocked for copyright reasons, I'll take another and post a link once uploaded. It's not quite ready to ask the general Bose community to take a look yet due to me not having put much time into the Google Assistant area yet, but I'm starting on that this week. In the meantime though, I'm keen to get initial feedback from some suitably technical people who won't get too frustrated in helping me test it. I know computers can be frustrating at the best of times, but my short experience of giving them a voice makes it all the more painful when testing (even when you know why it's saying what it is!)
@Zach - at the moment I'm storing the SoundTouch username and password locally on the PC (encrypted) as I've not had chance to see if Bose offer OpenID connect. Are you able to offer any info here? (I assume you support it for integration with streaming music services, I just don't have the endpoint details or if Bose would allow me a client that can request refresh tokens).