Sonos TTS to multiple devices?

Hello

I have finally decided to get back to my Sonos TTS and it works nicely from various posts on here. But I just cannot get it to work with multiple devices. I have 2 Sonos, 1 Kitchen and 1 Dining room. Any ideas please?

automation

- alias: test
  trigger:
    platform: state
    entity_id: binary_sensor.door_window_sensor_158d0001a64ed3
    from: 'off'
    to: 'on'
  action:   
    - service: script.sonos_say
      data:
        sonos_entity: media_player.kitchen
        volume: 0.1
#        message: 'Good Morning. Travel time to work is looking like {{states.sensor.home_to_work.attributes.duration_in_traffic}}. It's currently {{states.sensor.dark_sky_summary.state}} and {{states.sensor.dark_sky_temperature.state|round}} degrees. Today will be {{states.sensor.dark_sky_hourly_summary.state|replace(".", "")}}, with a high of {{states.sensor.dark_sky_daily_high_temperature.state|round}} degrees.'

script

sonos_say:
  alias: "Sonos TTS script"
  sequence:
   - service: media_player.sonos_snapshot
     data_template:
       entity_id: "{{ sonos_entity }}"
   - service: media_player.sonos_unjoin
     data_template:
       entity_id: "{{ sonos_entity }}"
   - service: media_player.volume_set
     data_template:
       entity_id: "{{ sonos_entity }}"
       volume_level: "{{ volume }}"
   - service: tts.amazon_polly_say
     data_template:
       entity_id: "{{ sonos_entity }}"
#       message: "{{ message }}"
       message: >
          Good Morning. Travel time to work is looking like {{states.sensor.home_to_work.attributes.duration_in_traffic}}. It's currently {{states.sensor.dark_sky_summary.state}} and {{states.sensor.dark_sky_temperature.state|round}} degrees. Today will be {{states.sensor.dark_sky_hourly_summary.state|replace(".", "")}}, with a high of {{states.sensor.dark_sky_daily_high_temperature.state|round}} degrees.
   - delay:
       seconds: 1
   - delay: >-
       {% set duration = states.media_player[where].attributes.media_duration %}
       {% if duration > 0 %}
         {% set duration = duration - 1 %}
       {% endif %}
       {% set seconds = duration % 60 %}
       {% set minutes = (duration / 60)|int % 60 %}
       {% set hours = (duration / 3600)|int %}
       {{ [hours, minutes, seconds]|join(':') }}
   - service: media_player.sonos_restore
     data_template:
       entity_id: "{{ sonos_entity }}"