Calendar: Fehler bei RRULE COUNT

Begonnen von Olaf, 26 Januar 2013, 08:49:02

Vorheriges Thema - Nächstes Thema

Olaf

Während ich mich gerade mit dem Kalendermodul beschäftige und eine Heizungssteuerung auf Basis von wiederkehrenden Terminen ausprobiere, bin ich auf folgendes Problem gestoßen: Ich habe alle Termine mit Wiederholen=Anzahl definiert. Dabei wird dann der Termin immer noch einen Tag nach Definitionsende angezeigt.
Die Angaben unten basieren auf auf dem Modul 57_Calendar.pm Rev. 2339 aus dem SVN.

Ich habe mich in den Code eingelesen: Es gibt da die Zeilen

392: $self->{count} = $r{"COUNT"} if(exists($r{"COUNT"})); (sub fromVEvent)
479: return if(exists($self->{count}) and $self->{count} == 0); #We are already at the last occurance (sub advanceToNextOccurance)
526: $self->{count} -= 1 if(exists($self->{count})); (sub advanceToNextOccurance)

In Zeile 392 wird die Angabe COUNT aus dem Google Kalender übernommen (z.B. COUNT=2) und in der Zeile 526 auf 0 runtergezählt und in Zeile 479 mit der Abbruchbedingung count == 0 geprüft. 2-1-0 sind 3 Ereignisse, also eins zuviel. Ich habe mein 57_Calendar wie folgt geändert:
392: $self->{count} = $r{"COUNT"}-1 if(exists($r{"COUNT"})); (sub fromVEvent)
Man könnte natürlich auch die Abbruchbedingung count == 0 auf count == 1 setzen.


Bitte prüfen und das Modul 57_Calendar anpassen.



Dr. Boris Neubert

Zitat von: Olaf schrieb am Sa, 26 Januar 2013 08:49

Bitte prüfen und das Modul 57_Calendar anpassen.



Habe eine Anpassung im Modul vorgenommen und eingecheckt. Morgen per update verfügbar. Bitte teste mal, ob es damit bei Dir klappt.

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Olaf

Ich habe es installiert, aber das Testen wird erst mit dem nächsten Serienterminwechsel von Fr. auf Sa. laufen. Gesondert zu testen habe ich gerade keine Zeit, aber ich gebe das Ergebnis dann bekannt.

Ich habe dann noch eine andere Frage zum Calendar, wo ich einen Rat benötigen würde. Serientermine mit Ausnahmen bei den Zeiten. Dazu habe ich aber ein neues Thema erstellt.

Gruß,
Olaf

Olaf

heute getestet -> geht.
Danke, Olaf