Closed TheBigS1981 closed 1 year ago
Es wäre gut, wenn Dein Adapter die Zusamenhängenden Termine nur einmal berücksichtigt.
Das Problem ist, dass das Thema beliebig komplex wird. Wenn man eine Serie anlegt, ist das ja erstmal nur ein Eintrag in ical mit einer Regel (rrule). Wenn man nun aber etwas ändert und nicht sagt "alle Einträge ändern" (so mache ich das immer), dann wird das geteilt und entstehen mehrere Einträge im ical-File.
Da alle Eventualitäten und Möglichkeiten abzufangen ist praktisch unmöglich. Am besten einfach die alte Serie löschen.
Vielen Dank @klein0r für Deine schnelle Antwort.
Ich habe meine Einträge auch so editiert, dass ich den aktuellen und alle zukünftigen Termin bearbeitet habe. Leider lässt der Nextcloud-Kalender nicht zu, alle vorhandenen Termine zu bearbeiten. Mir war auch klar, dass die Komplexität damit im Adapter steigt.
Vielleicht wäre auch eine Lösung, dass Du inhaltsgleiche (Titel, Datum und Beschreibung) Ereignisse ausfilterst.
Ich kann gut mit der aktuellen Version Deines Adapters leben (ich habe ja das Problem erkannt), aber vielleicht andere nicht ;).
Vielleicht wäre auch eine Lösung, dass Du inhaltsgleiche (Titel, Datum und Beschreibung) Ereignisse ausfilterst.
Das würde ja schon passieren, aber der Titel ist ja nicht mehr gleich, wenn Du den Namen änderst (weil geheiratet).
The problem
Hintergrund: Ich nutze einen Nextcloud-Kalender für meine Geburtstage. Früher hatte ich das Geburtsjahr in Klammer im Titel eines jeden Eintrags. Als ich jetzt aber Deinen Adapter für die Geburtstagsvisualisierung und Erinnerung verwenden wollte, musste ich meine Kalendereinträge anpssen und das Geburtsjahr in die Beschreibung schreiben. Soweit so gut. Die Änderung habe ich natürlich nicht beim aller ersten Vorkommen eines Eintrags (z. B. im Jahr 2018) gemacht, sondern jeweils im aktuellen Jahr (also 2022). Dadurch wurden die alten Kalendereinträge "Beendet" und qusai ab dem Jahr 2022 neu angelegt. Die Vergangenheit wurde also nicht angepasst. Dadurch hat Dein Adapter alle Kalendereinträge doppelt eingelesen. Wenn man sich das in der ICS-Datei anschaut, sieht man auch das die Einträge miteinander verknüpft werden:
Erster Eintrag BEGIN:VEVENT CREATED:20220919T151723Z DTSTAMP:20220921T180525Z LAST-MODIFIED:20220921T180525Z SEQUENCE:4 UID:963ff1dc-d60e-4bb9-aeb4-38f77cc831b6 DTSTART;VALUE=DATE:20170920 DTEND;VALUE=DATE:20170921 STATUS:CONFIRMED SUMMARY:###NAME### RRULE:FREQ=YEARLY;BYMONTH=9;UNTIL=20220919 RELATED-TO;RELTYPE=SIBLING:0de9a49f-d4ef-4ed8-951e-d97415559c9e DESCRIPTION:2017 END:VEVENT
Zweiter Eintrag BEGIN:VEVENT CREATED:20220921T175743Z DTSTAMP:20220921T175743Z LAST-MODIFIED:20220921T175743Z SEQUENCE:0 UID:0de9a49f-d4ef-4ed8-951e-d97415559c9e DTSTART;VALUE=DATE:20220920 DTEND;VALUE=DATE:20220921 STATUS:CONFIRMED SUMMARY:###NAME### RRULE:FREQ=YEARLY;BYMONTH=9 DESCRIPTION:2017 RELATED-TO;RELTYPE=SIBLING:963ff1dc-d60e-4bb9-aeb4-38f77cc831b6 END:VEVENT
Das passiert aber (wahrscheinlich auch bei anderen Kalendersystemen) auch dann, wenn man bspw. den Titel anpassen muss (Person hat geheiratet und jetzt einen anderen Nachnamen). Es wäre gut, wenn Dein Adapter die Zusamenhängenden Termine nur einmal berücksichtigt. Theoretisch könnten natürlich weitere Änderungen, auch zusätzliche (>2) Einträge erzeugen.
Falls Du weitere Informationen möchtest, stehe ich gerne zur Verfügung.
Und übrigens: vielen Dank für Deine tolle Arbeit hier und auch auf YouTube!
Version of nodejs
16.18.1
Version of ioBroker js-controller
4.0.23
Version of Adapter
2.1.0
Operating system running ioBroker
Ubuntu 20.04
Checklist of files to include below
Additional information & file uploads
No response