dirkhe / ioBroker.webcal

fetch events from WEBDAV, CALDAV, CARDDAV Calendar or Google Calendar for ioBroker
MIT License
1 stars 3 forks source link

Date is parsed wrong on repeated events #58

Open ZockerFloh7 opened 3 months ago

ZockerFloh7 commented 3 months ago

Describe the bug
I am using CalDav with Posteo.org The date of an event is parsed incorrectly for repeated events.

To Reproduce
Steps to reproduce the behavior:

  1. Add both events to the calendar events.zip
  2. Both events start on 17.03.2024, the first is a single event, the second a yearly repeated event
  3. Restart webcal adapter to refresh events
  4. Read data in adapter data point:

[{"id":"70653e83d6cfd6f02d3eda169e866bf6-v2mNbcQ","calendarName":"Florian","summary":"Kamera Reinigung","date":"2024-03-14T10:15:00.000Z","startTime":"11:15","endTime":"13:00","timeText":"von 11:15 bis um 13:00","dateText":"heute"},{"id":"4fb9e896-cee7-46d7-89e1-cf39bd8dff6e","calendarName":"Florian","summary":"Kamera reinigung","date":"2024-03-17T08:00:00.000Z","startTime":"09:00","endTime":"09:00","timeText":"von 09:00 bis um 09:00","dateText":"in 3 Tagen"}]

Expected behavior
Calender events are added as expected for the 17.03.2024

Versions:

dirkhe commented 3 months ago

das muß ich mir mal in Ruhe anschauen, also Geburtstage funktionieren bei mir, daher vermute ich mal, dass dein format etwas anders ist. Komme nur im moment zeitlich nicht zum programmieren

ZockerFloh7 commented 3 months ago

Hey @dirkhe Das kann gut sein, ich hab dir die Kalendereinträge angegangen. Wenn du mal Zeit hast rein zu schauen, würde mich sehr freuen :) Wenn du noch irgendwas brauchst, sag bescheid!

dirkhe commented 3 months ago

Also ich habe mal das Event eingelesen (Das Datum habe ich angepasst...): BEGIN:VCALENDAR VERSION:2.0 PRODID:-//Posteo Webmail//NONSGML Calendar//EN X-WR-Timezone: Europe/London BEGIN:VEVENT DTSTART:20240402T101500Z DTEND:20240402T120000Z RRULE:FREQ=YEARLY;COUNT=1;INTERVAL=1 DTSTAMP:20240314T212206Z SEQUENCE:1710451326 SUMMARY:Kamera Reinigung CATEGORIES:Keine UID:70653e83d6cfd6f02d3eda169e866bf6-v2mNbcQ END:VEVENT END:VCALENDAR

und habe das auch importiert: [{"id":"70653e83d6cfd6f02d3eda169e866bf6-v2mNbcQ","calendarName":"smarthome","summary":"Kamera Reinigung","date":"2024-04-01T10:15:00.000Z","startTime":"12:15","endTime":"14:00","timeText":"von 12:15 bis um 14:00","dateText":"heute"}]

dirkhe commented 2 months ago

Aber vlt ist ja auch das Problem, dass der Eintrag gar nicht mitkommt. Stell mal auf debug, da schreibt er dir das genau raus, was er parst

dirkhe commented 4 weeks ago

Bitte prüfe mal die letzte Version

ZockerFloh7 commented 2 weeks ago

Sorry für die späte Rückmeldung. Ich schaus mir mit dem aktuellen Release mal an. Danke für den Fix auf jeden Fall schon mal!

ZockerFloh7 commented 1 week ago

Sieht etwas besser aus, aber noch nicht gut. Die wiederholten Einträge sind jetzt einen Tag zu früh, aber schon die Logausgabe gibt das falsch aus. Also hier z.B. ein Geburtstag, Datum sollte der 15.07. sein, ist laut Log aber 14.07.

days for calendar-event({"start":"2024-07-14T22:00:00.000Z","end":"2024-07-15T22:00:00.000Z"}): {"27":{"id":"9768d59d-6e43-4b53-bcbc-b3409e4346a8","calendarName":"Mirli","summary":"Louis Geburtstag","date":"2024-07-14T22:00:00.000Z"}}

Hier der Ausschnit aus meinem Kalender bei Posteo: grafik

Hier ein Export des Events: LouisGeburtstag.zip

dirkhe commented 1 week ago

Also die logausgabe ist korrekt. 2024-07-14T22:00:00.000Z ist die utc zeit, sollte also nach deutscher zeit der 15.07 um 0 uhr sein. Wenn ich dein ical event sehe, steht da timezone europe/london, die ist eine andere wie europe/berlin. Was ich mir aber ggf. Nochmal anschauen müsste, ist das keine uhrzeit angegeben wurde.

ZockerFloh7 commented 1 week ago

Ah, hast du Recht. komisch das mit der Zeitzone, aber meinst du das ist die Ursache?

Das Event ist als ganztägig eingetragen.

dirkhe commented 1 week ago

Gantägige ereignisse handle ich intern von 0 -24 uhr. ich müsdte da jetzt auch noch mal tiefer einsteigen... Aber ich werte natürlich auch die zeitzone des kalenders aus. Ich vermute mal, wenn du ein zeitvent hast, ist das auch um eine stunde versetzt