Automation works fine but annouces notificaion twice. Using templating

Im not great at templating and Im sure I did something wrong. Could anyone please explain to me how to fix it? My broadcast notification works but they are coming through twice for one event.

- id: Broadcast Motion Detected
  alias: Broadcast Motion Detected
  description: ''
  trigger:
  - platform: state
    entity_id:
    - binary_sensor.backyard_motion
    - binary_sensor.front_door_motion
    - binary_sensor.side_motion
  action:
  - service: media_player.volume_set
    data:
      volume_level: 1
    target:
      entity_id: media_player.media_speakers
  - service: tts.google_translate_say
    entity_id: media_player.media_speakers
    data_template:
      message: '{{ trigger.to_state.attributes.friendly_name }} {% if trigger.to_state.state
        == ''on'' %} {% else %} {% endif %}'
  mode: single

The second half of your template isn’t doing anything… what was you goal for the if/then statement?

If this automation is just for motion being detected, you should set a to: on in the trigger so that only a state change to “on” fires the automation. When you use a state trigger without assigning a to or from, the automation will also trigger on changes to any attribute of the binary sensor.

- id: Broadcast Motion Detected
  alias: Broadcast Motion Detected
  description: ''
  trigger:
  - platform: state
    entity_id:
      - binary_sensor.backyard_motion
      - binary_sensor.front_door_motion
      - binary_sensor.side_motion
    to: 'on'
  action:
  - service: media_player.volume_set
    data:
      volume_level: 1
    target:
      entity_id: media_player.media_speakers
  - service: tts.google_translate_say
    entity_id: media_player.media_speakers
    data_template:
      message: '{{ trigger.to_state.attributes.friendly_name }}'
  mode: single