Play_media service cuts off when sending to multiple HomePods

I have several automations that play a TTS message to several of my Apple HomePods at once. They almost always cut off after about a second into the message. I always thought this was simply an issue with the integration to HomePods.

Today I discovered it only happens when I’m attempting to send to multiple HomePod entity_ids at once. When I change it to send to a single one, the audio no longer clips.

I can’t seem to find anything on this issue. Is there anything wrong with my automation config below? If not, are there any reasonable workarounds I can try? Thanks!

Note: The same thing occurs if I create a Group for all the HomePods, and use that as the entity.

service: media_player.play_media
target:
  entity_id:
    - media_player.study
    - media_player.dining_room
    - media_player.master_bedroom
data:
  media_content_id: >-
    media-source://tts/google_translate?message=Water+detected+by+patio+door&language=en-us
  media_content_type: provider
metadata:
  title: Water detected by patio door
  thumbnail: https://brands.home-assistant.io/_/google_translate/logo.png
  media_class: app
  children_media_class: null
  navigateIds:
    - {}
    - media_content_type: app
      media_content_id: media-source://tts
    - media_content_type: provider
      media_content_id: >-
        media-source://tts/google_translate?message=Water+detected+by+patio+door&language=en-us

Have you tried targeting one media_player at a time, with a short delay after each to allow the TTS message time to play?

I did try that. It improved things a bit, but not completely. Some of the speakers fail to ever play anything fairly frequently.

They always work great if it’s just a single player on an automation.

There’s a new data attribute for media_player.play_media called announce which solved a similar problem for me with Sonos speakers - you might have a look at that?