The Monoprice is great because it has six independent speaker zones and six independent inputs. Any input can be output to any individual or combination of zones (1:1 or 1:many). My zones are: 1) Attic Sitting, 2) Attic Bath, 3) Bedroom Landing, 4) Office, 5) Porch, and 6) Patio. Using groups.yaml, I’ve grouped them into All Attic, All Inside, and All Outside groups. I plan on buying another Monoprice unit for six more zones: 1) Living Room, 2) Family Room, 3) Kitchen, 4) Entry, 5) Workshop, 6) Basement.
I use four out of six inputs now: 1 Chromecast Audio for general use (music and other casting); 1 Chromecast Audio dedicated to voice notifications; 1 Airport Express of Airplay; and 1 stereo mini connected to my server.
When an automation triggers a voice notification (like when the alarm is armed, the front door is opened, etc.), each zone current input is set to an input slider. The notification Chromecast input is then selected for all inside zones, the notification plays, and then the inside zones are all returned to their previous input. Most of the time we’re just streaming music, so pausing/resuming isn’t necessary. A more elegant solution would be to have a mixer overlay the voice notification, but then I’d need a mixer and separate Chromecast Audio for each input.
I also use this really cool streaming radio control: Chromecast Radio with station and player selection