Calendar - new entitites or helper that show a list of calendar events within a certain scope

Hey,

Currently I am running an automation using nodered where I fetch my calendar from Icloud (caldav) to announce (using TTL on my Google mini speakers) a list of what I’m going to do today.

Problem is that Home Assistant only shows you using an entity what the upcoming event is and when it will be active. Workaround I did was to use nodered’s caldav call (which is double… because I use it visually inside Home Assistant and inside Nodered for integration) to gather the data of today. You can also use the event of calendar but that only activates when an event becomes active and ends. Currently it just isn’t possible to just show a list of everything you’re going to do today.

The idea is to introduce a few new entitites surrounding calendars:

  • calendar.name-today (what’s my plan today)
  • calendar.name-tomorrow (what’s my plan tomorrow)
  • calendar.name-thisweek (what’s my plan within 7 days)
  • calendar.name-yesterday (maybe you want to list everything you did yesterday)
  • calendar.name-lastweek (maybe you want to list everything you did last 7 days)

Another idea would be to use a helper that interacts with a Calendar where you can set your own time span of things you want. Same functionality as above, only here you interact with it the way you want.

Inside the entities an array showing all the events of the scope with a name and start/end date (just like it is now).

At 00:00 the entitites should be updated containing the new event (or previous) events using a new scope.

While for me I managed to get it working nodered, I would love to see this feature realized inside Home Assistant.

Hi Schwick,
Did this get any traction, I see a lot of discussion on this topic all over the home assistant pages however looks like it is still not adopted. Are you able to send the NodeRed script for me to adapt personally?

@Garyw: I use a caldav in nodered to fetch my Apple calendar

Using said node will return you all events within a few days/hours/etc.

1 Like

Thanks will give it a shot,

I’d also be interested in this feature!

I’m also very interested to get an functionality to retrieve upcoming events.

My use case is to show a list of upcoming events on a epaper display. I already tried some ICS/ICAL custom_components, however they all seem to have huge problems with reoccuring events (e.g. birthdays events).

There are multiple requests in the community, e.g.:

+1 vote from me, my usecase is the same as @bjobo’s :slight_smile:

Maybe you could try the same solution I tried with Nodered. It works for me. Granted, yes, it would be better to have it build in into Home Assistant.

You who used node-red, how did you put the list back to home assistant in a good way? I am using ESPHome with lots of other data from home assistant so I would like to all the data available there.

Thanks

+1 ended up here; I have a specific Google Calendar for my household chores and would really like to have a TTS summary play on my kitchen speaker, triggered by BLE Beacon detection on my phone in the morning. I’m not asking how to do that part, just illustrating the use case. The missing piece is a way to get the day’s list of events from a Google Calendar that I can process further.

Would love to see this natively integrated. I have automations surrounding my calendar events already and this would be amazing

I too would like this feature.
Now use PowerAutomate to notify me of friends whose birthday is today.

I want this! :wink:

The new calendar integration is great, it has views listing all events for the day or week or month.

I just need to know a list of tomorrow’s events but the calendar entity has a summary containng only the first. When you have all-day events this never changes between the days events.

If the entity had a list we could loop through TTS and other notification automations would be easy.

+1 from me, all i can do is notify the first in the list on the day.

I would also appreciate this feature :slightly_smiling_face:

has someone a workaround until it will, maybe integrated?

As mentioned in one of my previous posts, I use a node-red integration which calls the same calendar. With said integration I call the calendar which returns a list of all events within a day or more (depending on your range you want)

I am waiting for this feature for a long time: I hope I could get a TTS about the events list of tomorrow / next week and etc.

+1

I am also waiting for this feature, in the mean time I have found a workaround. Using the REST API it is possible to get a list of events from a calendar:

curl -X GET -H "Authorization: Bearer ABCDEFGH" \
  -H "Content-Type: application/json" \
  http://localhost:8123/api/calendars/calendar.holidays?start=2022-05-01T07:00:00.000Z&end=2022-06-12T07:00:00.000Z

Integrating that REST API call into a python script allows us to do anything related to past/upcoming events.

The default Python Script integration does not allow using Python imports (so no cURL/requests to make REST API calls), but using the pyscript integration everything is possible!