Already have a Shower Mode that plays a radio station when I activate it by voice. Now time to make it much better.
Checklist:
[ ] Automatically activate it via humidity sensor? (hardware required)
[x] Force the bathroom door and window to be closed before shower mode starts
[ ] Set a ten minute timer to go off on the Google Home
[ ] Don’t log station changes to Logbook until after 30 seconds or so. I only care about “real” station changes where I am actually listening to stuff and not just skipping past it in 2 seconds.
[x] Announce Radio Station changes option, with an input_boolean to toggle on/off from the frontend. This would say "Now playing KROQ" just before playing the station etc, allows me to know what's going on when I'm changing via voice.
[ ] When shower mode is active, set the Quarter-Hour Time Announce automation to be active
[ ] Track time spent showering (state = on), cause why not?
[x] If I forget to use the "Hey Google, Turn off Shower Mode" command and instead say the standard "Hey Google, Stop", it should be smart enough to automatically disable Shower Mode by itself. Look for state of media_player.bathroom_speaker to determine this stuff.
[ ] If someone arrives home while I'm in the shower and the music is super loud, fade out the music to play a TTS that a visitor is coming.
[x] When shower mode is active and the bathroom door is open, automatically stop shower mode because that means shower is over and bathroom unoccupied...
Shower Radio
Add much more streaming radio stations to this. Here's what to do:
[x] Make an input_select of radio stations (input_select.streaming_radio)
[x] Make a script that calls input_select.select_next for going through it
[x] Expose this script to Google Assistant, so that I can say "Hey Google next station" or something to skip the radio station if there's commercials or whatever.
[x] Do basically the same thing but make a script for input_select.select_previous too. That I can say "Hey Google, previous station" to call that script.
[x] Add buttons using custom:button-card, needs a button_template
[ ] Add resume support for radio, right now it doesn't pick up after a TTS interrupts
If I do this right, bonus would be that this could be used elsewhere in other automations. If I wanted to listen to radio stations randomly outside of Shower Mode for example. So put all the radio specific stuff like this into radio_stations.yaml and try to make it independent.
Already have a Shower Mode that plays a radio station when I activate it by voice. Now time to make it much better.
Checklist:
media_player.bathroom_speaker
to determine this stuff.Shower Radio
Add much more streaming radio stations to this. Here's what to do:
input_select.select_next
for going through itinput_select.select_previous
too. That I can say "Hey Google, previous station" to call that script.If I do this right, bonus would be that this could be used elsewhere in other automations. If I wanted to listen to radio stations randomly outside of Shower Mode for example. So put all the radio specific stuff like this into
radio_stations.yaml
and try to make it independent.