Other then delays between some steps to make sure the announcements are finished there are just different actions to check/set stuff and retrieve calendar info to be played, there are no timeouts added.
I will disable the announcements to see what it gives the coming days.
I'd try just setting the announcements to false first and see what it does. I'm not sure how it would work if you play multiple announcements one after another - I'm away atm so can't test anything and I don't think I've ever tried that. I wonder if waiting for multiple announcements is messing things up - or do you just have one announcement : true?
Since we now allow parallel commands, I can imagine that the announcement followed by another command could cause a problem. The announcement will be waiting for it to complete (i.e. the state to go back to stop), but in the mean time, another command has told the player to start playing a new item, so the stop isn't found.
I think you might need to force your script to wait for the announcement to actually complete before allowing the script to proceed. You could try a wait_template
- wait_template: "{{ is_state('media_player.lms_player', 'stop') }}"
timeout: "00:02:00" # Safety net so the script doesn't hang forever if something breaks
continue_on_timeout: true
I can't test it as I'm away, but I think this might be your problem....