Skip to content

Instantly share code, notes, and snippets.

@Didgeridrew
Last active May 25, 2025 02:16
Show Gist options
  • Save Didgeridrew/3a03ba7b35701ed32329d8e0c459b4be to your computer and use it in GitHub Desktop.
Save Didgeridrew/3a03ba7b35701ed32329d8e0c459b4be to your computer and use it in GitHub Desktop.
alias: Notify - Current Calendar Event - Multiple Calendars
description: ""
mode: single
triggers:
- event_type: custom_current_calendar
trigger: event
- event: start
entity_id: calendar.d
trigger: calendar
- event: end
entity_id: calendar.d
trigger: calendar
- event: start
entity_id: calendar.home_assistant_events
trigger: calendar
- event: end
entity_id: calendar.home_assistant_events
trigger: calendar
- event: start
entity_id: calendar.household
trigger: calendar
- event: end
entity_id: calendar.household
trigger: calendar
actions:
- data:
start_date_time: "{{ now() }}"
end_date_time: "{{ today_at() + timedelta(days=1) }}"
response_variable: cal_events
target:
entity_id:
- calendar.d
- calendar.household
- calendar.home_assistant_events
action: calendar.get_events
- variables:
most_current: >
{%- set fms = namespace(event=[]) %}
{%- for key, value in cal_events.items() %}
{%- for event in value.events %}
{%- set fms.event = (fms.event + [event]) %}
{%- endfor %}
{%- endfor %}
{% set x = (fms.event + [{'summary': 'now','start':
now().isoformat()}])|sort(attribute='start') %}
{% set ns = namespace(ind='') %}
{% for ev in x %} {% if ev.get('summary') == 'now' %} {% set ns.ind =
loop.index0 %} {% else %}{% continue %}{% endif %}{% endfor %}
{{ x[ns.ind - 1] }}
- metadata: {}
data:
message: "{{ most_current.get('start') }}"
title: "{{ most_current.get('summary') }}"
action: persistent_notification.create
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment