How to announce all Google Calendar events from a specific calendar on Google Home devices

Hello! I am a new HA user, but have read hours of posts on this and still have not found what I am looking for exactly. If you can help me see what I am missing, I would appreciate it very much!

I want to have a Google Home (mini, nest mini, etc) audibly announce each event (just the Title of each event) on my Google Calendar 5 minutes before it is scheduled. I have two problems that I’ve found so far:

  1. The code I have working only reads the “Description” field in the Calendar event. I would like it to read the title but can’t find the right attribute to make this happen.

  2. This automation (I only have one) seems to get “stuck” on whatever the first description is that it finds and just keeps saying that same one over and over again for each event even though the descriptions on each test event are different.

How can I do this better? Here’s my code:

- id: '1656306573122'
  alias: Calendar Notification
  description: ''
  trigger:
  - platform: calendar
    event: start
    offset: -0:5:0
    entity_id: calendar.family
  condition: []
  action:
  - service: tts.cloud_say
    data:
      message: This is a test message. '{{ states.calendar.family.attributes.description
        }}'
      entity_id: media_player.shed_speaker_3
  mode: queued

Thank you!

  action:
  - service: tts.cloud_say
    data:
      message: This is a test message. '{{ states.calendar.family.attributes.message
        }}'

Tip: it’s easier to test under ‘Developer’ → ‘Services’ → type tts in the ‘Service’ field and fill in the rest.

1 Like

Hey @carlsonsimsfamily , did you get this working? I am trying to achieve the same, only that for me TTS does not actally read anything on my calendar, even with the example @Nick4 gave, it just reads aloud all that {{ states dot calendar etc…

In fact, I have no idea how I can make TTS service say aloud for example some sensor value (outdoor temperature for example). It reads aloud the code and a lot of other stuff that sounds like sensor name and some extra code, that I cannot even see anywhere. Is there some guides somewhere how this was actually supposed to work…

EDIT: I got it working, I think I forgot to add .attributes.message in the end originally.