I was using 1 Amazon Echo device for streaming live FM radio (TuneIn) and as a TTS output device (Reminders), but I am living in a Apple universe with Apple devices all around me, including smarthome devices connected to Homekit and using Siri and the Home app all day. With the release of the HomePod on this Monday in Germany, I needed to buy one even with the lack of some main features, because I am an Apple follower :). So I tried to solve this 2 missing main feateurs for me:
I want to say: “Hey Siri, play SWR3” and the HomePod should stream that radio station
I want to get TTS reminders from the HomePod
I managed to get both working in a real simple way! How? Read on:
In the Home App I changed the Name of the device from “Radio” to “SWR3”, and with that I can just say “Hey Siri start SWR3” and Radio is starting! With “Hey Siri stop SWR3” I can stop it again. Without changing this Siri interprets “Radio” to start Beats1 Radio from Apple Music, what I dont want to hear. So you need another name for the HomePod radio switch.
As a side effect I can use TTS with this ATV-workaround, too. My HomePod is now saying thing like “It begins to rain and your roof window ist still open”…
Now I can get rid of my non Apple device from Amazon!
Thanks for sharing this trick!
However I might missing something about TTS because it’s been diffused through tv speakers even if HomePod output is chosen.
Do you have an idea to get TTS through HomePod only?
This is a nice solution, but unfortunately it’s far away from perfect.
Because as I understand this, this is only possible on the apple tv (used as media player and a connected homepod)
I’m also a apple follower, but actually I want to ask alexa/siri something like “was the postman here already”. This also should be possible for all alexa/siri devices. And it should answer on the the I have spoken too.
This is already possible with alexa and the alexa mediaplayer component.
Would be great to have that to for siri. But I think that will never happen, as this would mean that devices like the iphone have to be mediaplayers. Only than you could send tts to them after you triggered an automation with siri.
By the way the alexa mediaplayer component team uses a sensor called sensor.last_alexa to be able to send tts to the last called alexa device. This way she answers to the device you called.
I took an old ThinkPad T440 and installed MacOS on it. I installed the iTunes API from github on that laptop and then added the itunes media_player component. This allows home assistant to control iTunes on the laptop and toggle on and off AirPlay devices. This includes AirPlay 2 devices like stereo homepods. You cannot control Stereo or AirPlay 2 from Windows iTunes.
I was also about to generate TTS links and then add them to iTunes. I was then able to trigger items in my iTunes library using the itunes component. This includes TTS links I added manually to iTunes. I think it could be automated to get TTS links, add them to itunes and then trigger iTunes to play it.
Using this I am able to control 4 Stereo HomePods with few glitches. There is still a lot to be desired but I think its better than using the appletv.
Perhaps it is possible to integrate this directly in the Homekit solution of Home Assistant or as an additional custom component?! Unfortunately I am no developer…
As an alternative it would be great to have this directly as a Home Assistant mediaplayer: You could vote this feature request here: HomePod as a media player
@nicx Quick question, when you send TTS messages to your homepod while music is playing how do you resume the music? Does it resume automatically or is it a manual process?
as far as i know it just resumes the playback after playing an audio file… but i am not sure anymore. i dont use this solution anymore because the airtunes-radio plugin for homebridge just stopped working a view months ago. working. for now i am waiting for ios 13 which includes fm radio playback directly
maybe with this new ios version its even possible to find a new direct solution to playback tts files…but i dont know if this could be possible.