Sonos media_player.join not working, but appears to be

I am trying to help a friend get a TTS automation working with his Sonos speakers. We can play to any of the Sonos speakers individually, but we cannot get the media_player.join function to work. It seems to work, we don’t get any errors and we believe we can actually see the speakers grouping in the native app when we run the automation, but we only get audio out of the one speaker that we choose as the target entity.

alias: Announcement - Call mom, please.
description: ""
triggers: []
conditions: []
actions:
  - action: media_player.join
    metadata: {}
    data:
      group_members:
        - media_player.computer_cave
        - media_player.peter_office
    target:
      entity_id:
        - media_player.computer_cave
    enabled: true
  - action: tts.speak
    metadata: {}
    data:
      cache: true
      message: Call mom, please.
      media_player_entity_id: media_player.computer_cave
    target:
      entity_id: tts.google_translate_en_com
    enabled: true

We have tried it with the target entity in the group members list and out of the group members list. That doesn’t seem to make a difference.
Any idea why we aren’t getting audio out of both of the chosen speakers? We have 8 speakers in total we would like to target in the join, but have simplified this to two until we get it working.

We are using the native Sonos integration. Home Assistant 2024.11.2.

Open to any thoughts, thank you!

When announcing on a Sonos speaker only the single speaker that is targeted will announce. That is a limitation of the Sonos interface to announce.

Try running the action once for each speaker when they are not grouped.

Thank you for that, I appreciate the confirmation.

What my friend ultimately ended up doing, was creating a group helper that contained each of the speakers and then targeted that entity in the TTS action. That seems to be working well and is quite clean.

Thanks all!

Yes that’s a good solution and result in the group integration doing individual service calls for each speaker.