Gegeben ist folgendes:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:Data::ICal 0.24
BEGIN:VEVENT
DESCRIPTION:Description
DTSTAMP:20250618T174801Z
DTSTART:20250618T194000
DURATION:+PT5M
LOCATION:Location
SUMMARY:Summary
UID:6852fbd1-f33f-22e2-1c2c-6ce0189d4a26ee69-fhem
END:VEVENT
END:VCALENDAR
Dieser Eintrag läßt sich problemlos in einem Calendar-device verarbeiten.
Das Attribut cutoffOlderThan mit dem Wert 60s hat aber keine Wirkung.
Nach einem "set <calendar> reload" findet sich mit "get <calender> vevents" immer noch der abgelaufene Eintrag:
7: VEVENT @4 [new]
DESCRIPTION: Description
DTSTAMP: 20250618T174801Z
DTSTART: 20250618T194000
DURATION: +PT5M
LOCATION: Location
SUMMARY: Summary
UID: 6852fbd1-f33f-22e2-1c2c-6ce0189d4a26ee69-fhem
>>> Events:
6852fbd1f33f22e21c2c6ce0189d4a26ee69fhem end 18.06.2025 19:40-18.06.2025 19:45 Summary Location
>>> Skipped events:
Meine Vermutung nach einem oberflächlichen Blick in den Code:
Es wird zwar für ein event ein Ende berechnet, wenn DURATION angegeben ist:
} elsif($self->hasKey("DURATION")) {
my $duration= $self->d($self->value("DURATION"));
$event->{end}= $nextstart + $duration;
aber bei der Auswertung der VEVENTS wird die Variante mit DURATION nicht berücksichtigt und bei nicht periodischen Einträgen nur nach DTEND gesucht, was es bei Einträgen mit DURATION aber nicht gibt. Deshalb wird das cutoffOlderThan nicht ausgeführt.
Zusatzinfo:
Das Attribut hideOlderThan funktioniert in "get <calendar> events" einwandfrei und filtert die abgelaufenen Einträge aus.
Hallo,
kannst du bitte mal beigefügte Version bei Dir testen?
Viele Grüße
Boris
Ja, mache ich. Bin aber jetzt am Wochenende nicht dazu gekommen.
Hallo Boris,
bis jetzt erkenne ich im Verhalten der Kalendereinträge keine Änderung.
Aber im Logfile habe ich eine "neue" Meldung:
2025.10.20 11:58:32 1: PERL WARNING: Argument "P1D" isn't numeric in addition (+) at ./FHEM/57_Calendar.pm line 3088.
Kann die mit Deiner Änderung zusammenhängen?
EDIT: es gibt noch mehr Meldungen zu einem späteren Zeitpunkt:
2025.10.20 13:00:58 1: PERL WARNING: Argument "+PT5M" isn't numeric in addition (+) at ./FHEM/57_Calendar.pm line 3088.
2025.10.20 13:00:58 1: PERL WARNING: Argument "20251020T120000" isn't numeric in addition (+) at ./FHEM/57_Calendar.pm line 3088.
Hmmm... Copy & Paste funktioniert also doch nur manchmal beim Programmieren ;-)
Ich muss mir einen Testfall bauen. Oder kannst du mir bitte gezielt die beiden VEVENTS aus der .ics-Datei schicken, die P1D und +PT5M in DURATION stehen haben?
Zitat von: Dr. Boris Neubert am 20 Oktober 2025, 20:22:26Oder kannst du mir bitte gezielt die beiden VEVENTS aus der .ics-Datei schicken, die P1D und +PT5M in DURATION stehen haben?
Jetzt wird es lustig... P1D habe ich überhaupt nirgends stehen.
Zum Testen hatte ich einen Calendar angelegt, der nur aus dem vcalendar aus dem ersten Beitrag hier im Thread bestand. Ich hatte lediglich DTSTART auf das gestrige Datum geändert.
Zitat von: betateilchen am 21 Oktober 2025, 09:50:44Zitat von: Dr. Boris Neubert am 20 Oktober 2025, 20:22:26Oder kannst du mir bitte gezielt die beiden VEVENTS aus der .ics-Datei schicken, die P1D und +PT5M in DURATION stehen haben?
Jetzt wird es lustig... P1D habe ich überhaupt nirgends stehen.
Ok, das P1D kommt aus dem Abfallkalender des Landkreises hier.
BEGIN:VEVENT
UID:38643731-3131-4233-a130-326163383566
DTSTAMP:20251101T115824Z
DESCRIPTION:Abfuhrtermine und aktuelle Störungsmeldungen auf https://abfall
.landkreis-stade.de/abfuhrkalender/
DTSTART;VALUE=DATE:20251114
DURATION:P1D
LOCATION:Fredenbeck\, Alle anderen Straßen
SUMMARY:Restabfalltonne(14-täglich)
TRANSP:TRANSPARENT
URL:https://abfall.landkreis-stade.de/abfuhrkalender/
X-MICROSOFT-CDO-BUSYSTATUS:FREE
END:VEVENT