Wie kann man Abfragen ob der google calendar heute einen Eintrag hat?

Hallo,

ich benötige die Info ob mein calendar heute eine Eintrag hat, egal zu welcher Uhrzeit auch ganztägige Ereignisse sollen mit abgefragt werden.
Habe schon einiges probiert aber bekomme es nicht hin.
Letzter Versuch war:

 {% set today = now().date() %}
          {% set events = state_attr('calendar.test_google', 'events') %}
          {% if events is defined %}
            {% set today_events = events | selectattr('start', 'date', 'eq', today) | list %}
            {{ 'on' if today_events | count > 0 else 'off' }}
          {% else %}
            off
          {% endif %}

Kann mir jemand einen Tipp geben?

Falls du Homeassistent nutzt :
Hast du es mit Neue Automatisierung ,Zeit und Ort, Kalender als Trigger versucht?

1 „Gefällt mir“

Wie sieht denn dein now.date als Wert aus, sicherlich wird das eine Zeichenkette/String sein. Also darin ist dann Datum und Uhrzeit gespeichert. Wenn du jetzt mit „date“ prüfst ob heute ein Termin ansteht, stimmen die Formate für date aus dem google calendar und HA nicht überein.

Die Zeit müsste imho also irgendwie formatiert werden. Wahrscheinlich in Jahr; Monat, Tag

{% set today = now().strftime('%Y-%m-%d') %}

noch nicht, muss ich mal probieren

das geht leider auch nicht

Hast du es so versucht?

{% set today = now().strftime('%Y-%m-%d') %}
{% set events = state_attr('calendar.test_google', 'events') %}
{% if events is defined %}
  {% set today_events = events | selectattr('start', 'string', today) | list %}
  {{ 'on' if today_events | count > 0 else 'off' }}
{% else %}
  off
{% endif %}

ja, es kommt dann immer off zurück

{% set today = now().strftime('%Y-%m-%d') %}
{% set events = state_attr('calendar.test_google', 'events') %}
{% if events is defined %}
  {% set today_events = events | selectattr('start', 'string', today) | list %}
  {{ 'on' if today_events | count > 0 else 'off' }}
{% else %}
  off
{% endif %}


off

Ergebnistyp: string

Dieses Template wird zu Beginn jeder Minute aktualisiert.

Dieses Template abonniert die folgenden Ereignisse zur Zustandsänderung:

  • Entität: calendar.test_google

mhh, dann weiß ich auch nicht so richtig weiter. Ich hatte mir mal einen Sensor für den Abfallkalender gebaut, der hat abgefragt ob übermorgen eine Ziehung ansteht. Vielleicht hilft dir das weiter, wegen der Zeitabfrage, müsste ja theoretisch mit google auch funktionieren.

{% set start_time = state_attr('calendar.abfall', 'start_time') %}
{% if start_time %}
  {% set event_date = (start_time | as_datetime).date() %}
  {% set tomorrow_date = (now() + timedelta(days=1)).date() %}
  {% if event_date == tomorrow_date %}
    on
  {% else %}
    off
  {% endif %}
{% else %}
  off
{% endif %}
1 „Gefällt mir“

ich werde nochmal ein bischen weiter testen

1 „Gefällt mir“