Hallo zusammen,
ich habe vor mir ein Sensor Template für die Tagesaktuellen Events aus meinem Kalender anzulegen. Nun kann es aber vorkommen das:
- Event ist irgendwann am Tag und ist irgendwann beendet
- Event ist ein Ganztages Event
- Event ist ein Ganztagesevent welches aber über den Tag hinaus geht und z.B. erst 6 Tage später beendet ist.
Hier ein Bsp.: einiger Termine:
- trigger:
- trigger: time_pattern
minutes: /15
- trigger: homeassistant
event: start
#----------------------------------------------------------------------------------------
# Aktion - Events abrufen (Heute)
#----------------------------------------------------------------------------------------
action:
- action: calendar.get_events
target:
entity_id:
- calendar.stephi_martin
data:
start_date_time: "{{ as_timestamp(now()) | timestamp_custom('%Y-%m-%d 00:00:01') }}"
end_date_time: "{{ as_timestamp(now()) | timestamp_custom('%Y-%m-%d 23:59:59') }}"
response_variable: today_events
#----------------------------------------------------------------------------------------
# Sensor mit Attributen anlegen
#----------------------------------------------------------------------------------------
sensor:
- name: Termine Heute
unique_id: termine_heute
state: "{{ today_events['calendar.stephi_martin'].events | count() }}"
attributes:
termine_heute: >
{%- set event_list = [] %}
{%- for event in today_events['calendar.stephi_martin'].events %}
{%- set event_details = {} %}
# Prüfen, ob das Event ein ganztägiges Event ist
{%- if event.all_day %}
{%- set event_details = {
'Termin': event.summary,
'Beginn': event.start_date,
'Ende': event.end_date,
'Dauer': (as_timestamp(event.end_date) - as_timestamp(event.start_date)) | int,
'Hinweis': event.description
} %}
{%- else %}
# Wenn das Event zeitlich begrenzt ist
{%- set event_details = {
'Termin': event.summary,
'Beginn': event.start_time,
'Ende': event.end_time,
'Dauer': (as_timestamp(event.end_time) - as_timestamp(event.start_time)) | int,
'Hinweis': event.description
} %}
{%- endif %}
# Liste der Ereignisse erstellen
{%- set event_list = event_list + [event_details] %}
{%- endfor %}
{{ event_list }}
Im Sensor State wird mir aber nur “unavailable” angezeigt.
Lg Martin
