Calendar Serie per Automation löschen und automatisch eine neue Serie einstellen

Hallo, ich möchte in einer Automation auf Basis eines manuellen Events alle Kalendereinträge mit der Summary “Beispieltermin” meines Kalenders “Test” löschen und eine neue Serie mit Startdatum “heute+10 Tage” mit einer Wiederholung der Termine alle 10 Tage automatisch erstellen lassen. Ist das überhaupt möglich und wo könnte ich den zugehörigen YAML Code finden? Besten Dank im voraus.

Das wird mit den aktuellen Möglichkeiten nicht funktionieren.

Schade, vielen Dank für die schnelle Rückmeldung.

Moin,

Da müsstest Du schon Vorarbeit leisten oder mal schauen, ob es da schon Anfänge, in einem Blueprint gibt, oder wie ist da Deine Erwartungshaltung?

Allgemein wird das nicht in yaml gehen, aber Du könntest Dir ein Python Skript erstellen oder auf Github suchen, ob es schon etwas in diese Richtung gibt, dieses dann in HA integrieren, hier mal der Einstieg,

Um welchen Kalender geht es, der in HA integrierte, oder ein Kalender eines Drittanbieters, Apple, Google, etc.?
Vielleicht gibt es ja da Automationen, die man nutzen kann!

Dann könnte ich mir auch noch die neue Mode, KI, Sprachsteuerung vorstellen, dass man damit etwas machen kann.

Wenn man dann einen Google Kalender nimmt und Gemini als KI, das kann man ja in HA als Integration, installieren

Damit sollte dann sicherlich auch das Problem zu lösen sein.

VG
Bernd

Moin,
ich möchte das Löschen einer Terminserie im Kalender von Home Assistant durchführen, also kein externer Kalender wie Google etc.

Google hat mir folgenden YAML Code geliefert (Suche: home assistant calendar terminserie einträge löschen yaml code)

action:
  - variables:
      serien_name: "MeinSerienname" # Ersetzen Sie dies mit dem Namen der Serie
  - service: calendar.get_events
    data:
      calendar_id: "local_calendar.example_calendar" # Ersetzen Sie dies mit Ihrer Kalender ID
      start: "{{ (now().date() + timedelta(days=0)).isoformat() }}"
      end: "{{ (now().date() + timedelta(days=7)).isoformat() }}"
      search: "{{ serien_name }}" # Suche nach der Serie
    response_variable: serien_termine
  - repeat:
      for: item
      sequence:
        - if:
            - condition: template
              value_template: "{{ item.summary == serien_name }}" # Überprüfen, ob der Termin zur Serie gehört
          then:
            - service: calendar.delete_event
              data:
                event_id: "{{ item.uid }}"
                calendar_id: "local_calendar.example_calendar"

→ jedoch führt das beim Speichern zur Fehlermeldung: Message malformed: extra keys not allowed @ data[‘actions’][2][‘repeat’][for]

Moin,

sag mal Google, dass Du das nicht als Automation haben möchtest, sondern als Skript, in HA, denn Skripte brauchen keinen Trigger, sondern werden dann durch einen virtuellen Schalter ausgelöst.

VG
Bernd

1 „Gefällt mir“

Moin,
mit folgender Google-Suche: “home assistant script zur Löschung einer terminserie im kalender” habe ich folgendes Ergebnis erhalten:

alias: Terminserie aus Kalender löschen
sequence:
  - service: calendar.get_events
    data:
      calendar_id: your_calendar_id  # Ersetzen Sie dies durch Ihre Kalender ID
      start: "{{ now().isoformat() }}"
      end: "{{ (now() + timedelta(days=365)).isoformat() }}" # Suche innerhalb eines Jahres
      filter:
        summary: "Terminserienname"  # Ersetzen Sie dies durch den Namen der Terminserie
    response_variable: events
  - repeat:
      for:
        item: events
      sequence:
        - condition: template
          value_template: "{{ item.recurring_id is defined }}"
        - service: calendar.remove_event
          data:
            entity_id: calendar.your_calendar_id  # Ersetzen Sie dies durch Ihre Kalender ID
            event_id: "{{ item.event_id }}"
mode: single

Beim Speichern erhalte ich leider folgende Fehlermeldung: Message malformed: extra keys not allowed @ data[‘sequence’][1][‘repeat’][‘for’]

Wenn du schon ChatGPT nutzt, dann frag dort auch wie du den Fehler beheben kannst.

3 „Gefällt mir“

Moin,

dann mal mit der KI Weiterquatschen, und ihr sagen, dass Du diesen Fehler bekommst.

Ich habe mal herumgespielt, ist noch ein Fehler drin, habe aber keine Zeit mehr mich damit zu beschäftigen

sequence:
  - variables:
      serien_name: test4forum
  - action: calendar.get_events
    data:
      start_date_time: "2025-07-14 00:00:00"
      end_date_time: "2025-12-31 00:00:00"
    response_variable: serien_termine
    target:
      entity_id: calendar.alle_aufgaben
  - repeat:
      for_each: "{{ serien_termine.calendar.test4forum.events }}"
      sequence:
        - if:
            - condition: template
              value_template: "{{ repeat.item.summary == serien_name }}"
          then:
            - data:
                event_id: "{{ repeat.item.uid }}"
                calendar_id: calendar.test4forum
              action: calendar.delete_event
alias: test4forum
description: ""

VG
Bernd

Hallo, ich hatte nicht ChatGPT sondern Google angefragt und von der Google KI den Vorschlag erhalten. ChatGPT liefert mir folgende Informationen:

Home Assistant unterstützt das automatische Löschen mehrerer Termine aus dem lokalen Kalender per YAML leider nicht direkt, weil:

  • :pushpin: Es keinen Dienst gibt, um Termine per YAML zu listen (calendar.get_events gibt es nicht).
  • :pushpin: Der Dienst calendar.delete_event funktioniert nur, wenn du die event_id kennst.
  • :x: Schleifen über mehrere Events, ohne sie vorher in einer Liste zu haben, funktionieren nicht in Automationen oder Skripten.

:crayon:by HarryP: unnötiges Vollzitat des eigenen Beitrages entfernt

Vielen Dank

VG Oliver

Moin,

dem widerspreche ich jetzt einfach Mal :slight_smile:

1 „Gefällt mir“

Das spielt keine Rolle!
Das Forum hier ist nicht dafür da, Fehler einer KI zu korrigieren.
Wenn Du unbedingt mit der KI arbeiten möchtest, was Dir natürlich frei steht, dann frage bitte auch die KI, warum ihr Code nicht funktioniert.

Da alle hier in Ihrer Freizeit und ehrenamtlich tätig sind, ist uns unsere Zeit für KI-Fehler einfach zu schade!

3 „Gefällt mir“

Alles klar, danke für den Hinweis. Wusste ich nicht, sorry.

An die Vorredner: Wir sollten KI nicht komplett ablehnen, man kann mit ihr lernen und ich tue das auch. Aber ich gebe Euch Recht und mußte auch lächeln als ich das Antwort Muster sah: Frag doch die KI was sie zu diesem Fehler sagt anstelle von der Fehler kommt weil.

@gigabit.power KI wird Dich erst dann weiterbringen wenn Du mindestens HA Grundlagen verstanden hast. Dann werden Deine Fragen zielgenauer und Du kannst Müll von guten Antworten unterscheiden. Auch empfehle ich Dir anfangs nur überschaubare Fragen zu stellen. Kognitive Zusammenhänge kann KI noch nicht herstellen.

@Bacardi: vielen Dank für deine Antwort. Ich nutze HA seit ca. 2 Jahren, leider bin ich mit YAML nicht ausreichend vertraut. Ich möchte hier auch gar nicht Ergebnisse der KI überprüfen lassen, sondern habe nur auf die Anmerkung von dp20eic reagiert, Anfänge hier im Forum zu liefern. Dann war es von meiner Seite etwas ungeschickt, Google Ergebnisse, die inzwischen auf KI-Basis erfolgen zu posten. Konkret setze ich HA für die Steuerung meines Pools (Pumpen, Nachspeiser, Rückspülung, Bayrol Salzanlage etc.) ein. Da ich zu Einsparung des Wasserverbrauchs den Rückspülvorgang auf ein Minimum zu reduzieren, habe ich die Anforderung, nach manueller Auslöung des Rückspülvorgangs die automatische Serie der Vorgänge (aktuell ist eine Terminserie im lokalen HA Kalender mit einer Wiederholung alle 10 Tage eingetragen) so zu verschieben (ggf. per Automation zu löschen und neu anzulegen), dass der nächste Rückspülvorgang erst in 10 Tage erfolgt, danach wieder in 10 Tagen (also eine Serie, die 10 Tage nach der manuellen Auslösung startet). Da ich bisher auch im offiziellen HA Forum nichts gefunden habe, überlege ich einen Feature Request, gepaart mit einer Spende, einzustellen.
VG Oliver

ja, du hast recht, den Befehl gibt es, sorry :grimacing:

Alles gut. Wie gesagt, ich arbeite auch mit ChatGPT Plus.

Generell würde ich so rangehen

  • Irgendwas startet/triggert calendar.get_events
  • Ein Mechanismus parst das Ergebnis durch und such nach summary und löscht bei Treffer den Termin (*)
  • Ein weiterer Mechanismus führt calendar.create_event aus

(*) Hier fand ich auf die Schnelle keinen Befehl, vielleicht gibt es den nicht. Man könnte ggf. mit calendar.create_event den alten Termin überschreiben “gecancelt”. Vielleicht wechselt man auch von einem lokalem HA Kalender zu einem Google Kalender und hat dort einen delete Befehl. Sieht für mich nach Doku lesen und viel Testen aus.

Vielen Dank, ja lesen und testen hilft immer :slight_smile:

Moin,

dann bin ich aber wieder bei meiner ursprünglichen Aussage, vom Anfang.

Für das Vorhaben braucht es schon mehr, und ob das dann einfach als HA Skript oder Automation machbar ist, kann ich nicht ganz abschätzen, bin auch nicht wirklich gut im Zusammenklicken der Sachen.

Daher würde ich ein Python Skript erstellen, das dann alle Aufgaben innerhalb von HA erledigt.
Wie komplex das ist, kann ich nicht sagen, müsste ich auch erst einmal etwas lesen.

VG
Bernd