[dev] NC Calendar Zugriff auf Termin Daten

Moin,
ich habe mir heute die Nextcloud APP Calendar aktiviert.
Nun möchte ich mit den Termin Daten die ich eingetragen habe, weiterarbeiten.
Um damit weiterzuarbeiten, benötige ich folgende Daten von dem Termin: Titel, CalendarID, Start Timestamp und End Timestamp.
Bei den einmaligen Terminen ist der Timestamp auch richtig eingetragen.
( Die Daten sind in der DB in der Tabelle oc_calendarobjects_probs & oc_calendarobjects )
“firstoccurence” ist der Startzeitpunkt und “lastoccurence” der End Zeitpunkt.
Leider ist bei einem Termin mit Wiederholung der End-Zeitpunkt auf das Datum 01.01.2038 2:00 festgelegt.
Weiß jemand, wo der End-Zeitpunkt bei einem Wiederholungs-Termin gespeichert wird?

Ich hoffe ich habe mich halbwegs verständlich ausgedrückt, sodass ihr mich verstanden habt, was ich möchte. :slight_smile:

Ich benötige die Zeitpunkte um den Calender mit der Heizungssteuerung von AVM zu verbinden.

@georgehrke

Das ist so auch korrekt, weil wir diese beiden Spalten verwenden, um nach allen Events in einem bestimmten Zeitraum zu suchen.
(Ganz allgemein gesprochen ist die Datenbank auch nicht als API für andere Programme gedacht. Dafür bietet Nextcloud richtige APIs an. Im Kontext von Kalender wären das die PHP Calendar API und CalDAV)

Der wird nirgendwo separat abgespeichert, sondern findet sich lediglich in calendardata

Du wirst also nicht umhinkommen, calendardata zu parsen und mittels einer RRULE Bibliothek zu expanden. Da gibt es aber für alle gängigen Programmiersprachen Bibliotheken.

PS: Wenn du CalDAV verwendest, kannst du die Events automatisch auf dem Server expanden lassen und bekommst als Antwort jede einzelne Wiederholung als separates Event. Siehe auch RFC 4791 7.8.3

1 Like

Danke für die schnelle Antwort.
Dann werde ich die CalDav API nutzen.

Bei meiner Nextcloud 18 funktioniert das lesen per API nur mit dem Kalender user/personal
Das richtige Ergebnis beim Download ist hier:
A06A1FD7-0432-49AD-84E2-B3A1A06EBDED.ics
Wenn ich das mit einem importierten Kalender versuche (user/fewo-direkt)
liefert das API nur ein leeres Verzeichnis mit dem Namen “timeshift”
Gibt es für dieses Verhalten eine Erklärung?
Denn in NC werden ja die Events des Kalenders “fewo-direkt” richtig angezeigt.