I am planning on creating a library of voice commands within /config/www/voice/ and have my bose soundtouch play specific files for certain automations. But the bose soundtouch API only allows playback of files over http. The documentation in https://www.home-assistant.io/integrations/soundtouch/ suggests using an nginx reverse proxy to get around this limitation. Does anyone have a good example of a nginx configuration to enable http access for this limited purpose (i.e., only allow http access by the soundtouch and https access for everything else?)
Check out my posts in this thread. Seems like you want to do something fairly similar. The threads that I link to in that post describe how to set up NGINX to do what you’re looking for.
Looks like bose now provides a REST API https://developer.bose.com/bose-soundtouch-api that allows for programmatic local control over their devices. I guess I will have to learn AppDaemon.
Not sure exactly what you require, but I do have soundtouch speakers and since they’re behind the proxy I can issue notifications etc.
I just have the set up described in my post
Thanks for your tutorial. It was very helpful for my set-up.
How are you issuing notifications from the bose soundtouch? Is it integrated via alexa_media_player? The current version of libsoundtouch used by hass doesn’t appear to be updated with Bose’s Soundtouch Audio Notification API.
You can add the Bose skill to Alexa and control the soundtouch via alexa media player if you remove the soundtouch from hass auto discovery and do not have an entry for the soundtouch in configuration.yaml. But I haven’t tried implementing google tts with the bose yet so that might work much better than what I’m currently attempting.
And I invoke tts via the more info card with the following lovelace yaml:
type: media-control
entity: media_player.bose
I’m able to access http://example.com/local/voice/file.m4a which causes Chrome to download the file but I can’t figure out where to configure google tts to go over http instead of https.