This is an update to my earlier post [TUTORIAL] Whole house audio and text to speech announcements to HomePod Mini and other AirPlay speakers where I used a Mac running Airfoil to make announcements to HomePod minis around my house.
With the arrival of iOS 16.4, there is now a slicker and simpler alternative which uses a new feature in Apple Shortcuts and an iOS device dedicated to running pushcut and set up as a pushcut automation server.
The new feature in question is the Intercom action in shortcuts which can take as input text or audio and plays it to any single HomePod or collection by room / group (e.g. downstairs or home) that you have set up in Apple Home. The pushcut automation server makes these shortcuts available to Homey via a REST API call.
Install the shortcuts and pushcut apps on an iOS device running 16.4 or later. Start the pushcut server on the device. This must be left running in the foreground at all times, hence a fully dedicated device.
Create an Apple shortcut that looks something like this: Shortcuts
Create a flow in Homey that looks something like this:
- When you want to announce from a flow, simply change the value of the Announcement variable to the message you want to announce.
In this example, I am using a single announcement variable and just announcing to my “downstairs” group of HomePods but you could have variations of this flow and variables for Announce_downstairs, Announce_upstairs and so on. The abstraction via a variable keeps all the specifics of how to call the API in a single flow for easier maintenance.
Hope this was useful to someone!
EDIT: Obviously you shouldn’t normally share your secret with anyone as I have above, but I have generated a new secret so this one no longer works!