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
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.
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:
Es keinen Dienst gibt, um Termine per YAML zu listen (
calendar.get_events
gibt es nicht).Der Dienst
calendar.delete_event
funktioniert nur, wenn du dieevent_id
kennst.Schleifen über mehrere Events, ohne sie vorher in einer Liste zu haben, funktionieren nicht in Automationen oder Skripten.
by HarryP: unnötiges Vollzitat des eigenen Beitrages entfernt
Vielen Dank
VG Oliver
Moin,
dem widerspreche ich jetzt einfach Mal
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!
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
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
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