I have multiple automations and scripts that use alexa TTS (alexa media player). I am finding that they sometimes step on each other…one message is speaking and another just starts before the first message ends.
Is there a way to serialize messages or stop a new message from starting when the alexa is busy?
That script first runs a simple little script to wake up the device before it actually say something (Google Home takes a second or so to start up from sleeping)
So if the device is off, it plays an mp3 that is simply one second of silence, and waits for the device to go from state “playing” (to “idle”) before returning.
Then all my other scripts are triggering the actual “notify”-script, so they are nicely queued.
tts_weather:
alias: TTS Weather report
sequence:
- service: script.notify_speaker
data_template:
message: >
The weather report goes here