This is the solution I’ve had to implement because announcements stopping music I have playing through the house is a deal breaker.
Also a fix for google TTS going to a cast group working for a short while then failing (and the reason why)
I have Chromecast Audio (google music) playing music in most rooms in my house all day. It is in sync and sounds amazing. I use a chromecast audio, some bookshelf type speakers and a small digital amp from AliExpress which was about $100
I have a google home mini in every room.
If I don’t have a chromecast audio in a room, the music will play from the the google home mini.
I’ve set up a google cast audio group called “everything” which is where I send music. It is set up in the google home app, and it’s set up as the default audio device. So if I say “play some music” it comes out of all the speakers in the “everything” group. It is mostly chromecast Audio devices and one or two Google Home devices.
I’ve set up another group called “bullhorn” in home assistant, which is all the google home devices that are NOT part of the “everything” group. This is NOT a google cast group. I’ll explain why a cast group won’t work in a moment. If I want to announce something, I google TTS it via home assistant to the “bullhorn” group.
This way I get my music, and I get announcements (yeah announcements play a little out of sync but they don’t stop the music)
WHY YOU CAN’T USE a google cast audio GROUP to send TTS to.
It works … for about 20 min or so. Then it stops working until you reboot home assistant / disconnect reconnect the google integration… The reason is that when you make a google cast group, it doesn’t have a specific physical device. It’s a virtual device group. The devices in that group negotiate and nominate one of themselves as the “master” and the IP address of that device is remembered by the homeassistant / google integration. So when you send a TTS to the group it goes to that “master” and gets played around the group.
Problem is, that “master” can get demoted and another “master” nominated (wifi strength, response time, and other timey-wimey causes). Next time you do a TTS, it gets sent to the old “master”, that device ignores it because it’s not the “master” and you don’t hear anything. When you do a reboot it will discover who the new “master” is, and work until that one gets demoted.
I went nuts for three days working out why that kept screwing up. Arrrrg \o/
TTS works fine if you send it to a specific single google home, or a home assistant created group of media players. Just not a google cast group.
Remember: Make sure that NONE of the devices in your “bullhorn” (TTS) group are also in your music cast group. If there is any crossover between the groups, the music will stop when you do an announcement.