Benachrichtigung über heutige Kalendereinträge

Hi!
habe vor, wenn ich mein Handy vom Ladegerät nehmen, mir eine Benachrichtigung schicken zu lassen mit allen Kalendereinträgen von heute.
Hab dazu ChatGPT befragt, da hab ich folgenden Code bekommen

> automation:
>   - alias: 'Heutige Terminbenachrichtigung'
>     trigger:
>       platform: time
>       at: '09:00:00'  # Uhrzeit für die Benachrichtigung
>     action:
>       - service: notify.notify  # Ändere dies für deinen spezifischen Benachrichtigungsdienst
>         data_template:
>           message: >
>             {% set today = now().date() %}
>             {% set events_today = [] %}
>             {% set calendars = [
>               'calendar.kalender1',
>               'calendar.kalender2',
>               'calendar.kalender3'
>             ] %}
>             {% for calendar in calendars %}
>               {% set events = state_attr(calendar, 'events') %}
>               {% if events is not none %}
>                 {% for event in events %}
>                   {% if event.start.date() == today %}
>                     {% set _ = events_today.append(event.summary ~ ' um ' ~ event.start.time()) %}
>                   {% endif %}
>                 {% endfor %}
>               {% endif %}
>             {% endfor %}
>             {% if events_today | length > 0 %}
>               Heute hast du folgende Termine: {{ events_today | join(', ') }}.
>             {% else %}
>               Heute sind keine Termine geplant.
>             {% endif %}

Leider bekomme ich immer als Benachrichtigung, dass heute keine Termine geplant sind, obwohl Termine im Kalender stehen. (Kalender sind integriert in HA, habe hier nur die Namen auf Platzhalter geändert.)
Hat sowas schon jemand hinbekommen und kann mir helfen?

Danke, LG

:crayon:by HarryP: Codezeilen formatiert

Warum machst du dir das Leben so schwer? Sieht hier unnötig kompliziert aus.

alias: test calendar
description: ""
triggers:
  - trigger: time
    at: "09:00:00"
conditions: []
actions:
  - action: calendar.get_events
    metadata: {}
    data:
      duration:
        hours: 24
        minutes: 0
        seconds: 0
    target:
      entity_id: calendar.homeassistant
    response_variable: antwort
mode: single

In meinem Beispiel hast du dann alle Termine die von jetzt bis +24 Stunden anstehen in der Antwortvariable “antwort”. Die kannst du dann in Folgeschritten verarbeiten. Es gibt ja die Atkonion calendar.get_events

07-11-2024_11-14-04

Ach ja. mit Aussagen “hat mir ChatGPT” gesagt wirst du dir keine Freunde machen. Vertrau lieber auf offizielle Dokumente.

1 „Gefällt mir“

Danke dir schon mal für die Antwort!

Das mit action get_events funktioniert schon soweit, ich bekomme auch die Antwortvariable, in der die Termine stehen.
Jedoch ist die Variable, so wie sie ausgegeben wird, nicht brauchbar für die Benachrichtigung, ich müsste die Texte in der summary:“” extrahieren.

Kannst du mir hierfür auch noch einen Tipp geben?

Das mit ChatGPT verstehe ich nicht, ist doch in manchen Situationen eine gute Hilfe, danke dir trotzdem für den Rat.

LG

Im Trace von der Automatisierung siehst du welche Daten du in welchem Feld hast. Diese kannst du dann ansprechen und verarbeiten. Beispiel sendet eine Benachrichtigung unformatiert …

weitere Verarbeitung dann z. B. mit “for each” und anderen Template Befehlen.

alias: test calendar
description: ""
triggers:
  - trigger: time
    at: "09:00:00"
conditions: []
actions:
  - action: calendar.get_events
    metadata: {}
    data:
      duration:
        hours: 24
        minutes: 0
        seconds: 0
    target:
      entity_id: calendar.homeassistant
    response_variable: antwort
  - action: notify.persistent_notification
    metadata: {}
    data:
      message: "{{ antwort['calendar.homeassistant']['events'] }}"
mode: single

Goolge calender ist permanentes Thema in diesem und dem englischen Forum. Da findest du sicher genügend Anregungen. Du musst ja nicht das Rad neu erfinden.

Wenn dir das zu viel Aufwand ist kannst ja Vordefiniertes nutzen. Vielleicht hilft dir sowas … https://community.home-assistant.io/t/calendar-notifications-actions/612326/3

Auch eine defekte Uhr zeigt 2 mal am Tag die richtige Zeit an, trotzdem bevorzuge ich eine die zuverlässig läuft. Ich für mich supporte keinen ChatGPT Kauderwelsch.

  • Meist schwer zu verstehen was überhaupt gemacht wird
  • Der TE sollte selbst in der Lage sein die eigene Installation zu verstehen oder zumindest wissen wer bei Problemen konkret helfen kann. Bei jeder kleinen Änderung in HA kommt dann ein panischer Post … ging immer, weiß nicht warum es nicht mehr geht, meine Familie sitzt mir im Nacken weil die Wohnung kalt ist …

my 2cents

08-11-2024_08-01-01

Zwar ein wenig OT, aber die ganzen KI-Bots sind lediglich Werkzeuge. Wenn ich nicht weiß, wie ich das Werkzeug korrekt benutze, sind die Ergebnisse teilweise mehr als fragwürdig.

Ich nutze zwar manchmal auch Perplexitiy (als Konkurrenz zu ChatGPT), weil dort zumindest im Ansatz erläutert wird, warum einzelne Schritte vorgenommen wurden und wie die grundsätzliche Funktion der Befehle ist. Auch kann man dort Folgefragen stellen, wenn etwas nicht funktioniert. Trotzdem ist es - zumindest derzeit - noch weit weg von einer generell nutzbaren Möglichkeit zur Problemlösung.

Anders ausgedrückt:

Wenn ich das Ergebnis nachvollziehen kann und weiß, was die Maschine macht, ist es gut. Frei nach dem Motto: “hätte ich ja vielleicht auch selbst drauf kommen können” oder “hey, das ich ja eine coole Lösung, wäre ich alleine nicht drauf gekommen”.

Wenn ich das Ergebnis nicht nachvollziehen kann und nicht weiß, was eigentlich passiert und daher auch nicht weiß, warum etwas nicht funktioniert, ist es das falsche Werkzeug für mich.

Aber sicher gibt es dazu auch unterschiedliche Meinungen.

1 „Gefällt mir“