From 58fffd6d067e7a3a317c395d5194fd4ab8bbe765 Mon Sep 17 00:00:00 2001 From: borisneubert Date: Sun, 18 May 2014 13:47:33 +0000 Subject: [PATCH] note on missing BYDAY functionality in Calendar documentation git-svn-id: svn://svn.code.sf.net/p/fhem/code/trunk@5887 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/57_Calendar.pm | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/fhem/FHEM/57_Calendar.pm b/fhem/FHEM/57_Calendar.pm index dcca87333..a4f8006c6 100644 --- a/fhem/FHEM/57_Calendar.pm +++ b/fhem/FHEM/57_Calendar.pm @@ -516,6 +516,9 @@ sub advanceToNextOccurance { } elsif($self->{freq} eq "WEEKLY") { # special handling for WEEKLY and BYDAY if(exists($self->{byday})) { + # this fails for intervals > 1 + # BYDAY with prefix (e.g. -1SU or 2MO) is not recognized + # BYDAY with list (e.g. SU,TU,TH) is not recognized my ($msec, $mmin, $mhour, $mday, $mmon, $myear, $mwday, $yday, $isdat); my $preventloop = 0; do { @@ -1137,8 +1140,9 @@ sub Calendar_Undef($$) { earliest alarm time is kept.

Recurring calendar events are currently supported to an extent: - FREQ INTERVAL UNTIL COUNT are interpreted, BYMONTHDAY BYDAY BYMONTH WKST - are recognized but not interpreted. The module will get it most likely wrong + FREQ INTERVAL UNTIL COUNT are interpreted, BYMONTHDAY BYMONTH WKST + are recognized but not interpreted. BYDAY is only correctly interpreted for weekly events. + The module will get it most likely wrong if you have recurring calendar events with unrecognized or uninterpreted keywords.

@@ -1347,8 +1351,9 @@ sub Calendar_Undef($$) { Ein Kalender ist eine Menge von Kalender-Ereignissen. Ein Kalender-Ereignis hat eine Zusammenfassung (normalerweise der Titel, welcher im Quell-Kalender angezeigt wird), eine Startzeit, eine Endzeit und keine, eine oder mehrere Alarmzeiten. Die Kalender-Ereignisse werden aus dem Quellkalender ermittelt, welcher über die URL angegeben wird. Sollten mehrere Alarmzeiten für ein Kalender-Ereignis existieren, wird nur der früheste Alarmzeitpunkt behalten. Wiederkehrende Kalendereinträge werden in einem gewissen Umfang unterstützt: - FREQ INTERVAL UNTIL COUNT werden ausgewertet, BYMONTHDAY BYDAY BYMONTH WKST - werden erkannt aber nicht ausgewertet. Das Modul wird es sehr wahrscheinlich falsch machen, wenn Du wiederkehrende Kalender-Ereignisse mit unerkannten oder nicht ausgewerteten Schlüsselworten hast.

+ FREQ INTERVAL UNTIL COUNT werden ausgewertet, BYMONTHDAY BYMONTH WKST + werden erkannt aber nicht ausgewertet. BYDAY wird nur für wöchentliche Kalender-Ereignisse + korrekt behandelt. Das Modul wird es sehr wahrscheinlich falsch machen, wenn Du wiederkehrende Kalender-Ereignisse mit unerkannten oder nicht ausgewerteten Schlüsselworten hast.

Ein Kalender-Ereignis wird durch seine UID identifiziert. Die UID wird vom Quellkalender bezogen. Um das Leben leichter zu machen, werden alle nicht-alphanumerischen Zeichen automatisch aus der UID entfernt.