FHEM Forum

FHEM => Ankündigungen => Thema gestartet von: Dr. Boris Neubert am 09 August 2015, 12:17:57

Titel: 57_Calendar.pm: Neuerungen und Änderungen
Beitrag von: Dr. Boris Neubert am 09 August 2015, 12:17:57
Hallo,

an diesem Wochenende habe ich folgende Neuerungen und Änderungen beim Calendar-Modul eingecheckt:

Das Abholen des Kalenders von einer URL blockiert ab sofort FHEM nicht. Aufgrund der asynchronen Abholung und Verarbeitung habe ich einige strukturelle Änderungen im Kode vorgenommen, um Race Conditions zu vermeiden. Insbesondere wird ein Kalender nach dem Neustart von FHEM erst aktualisiert, wenn die Initialisierung von FHEM komplett gelaufen ist, also die gespeicherten Werte aus fhem.save geladen wurden. Die Verarbeitungsfolge war in der Vergangenheit anders rum - heute ist es richtig.

Wöchentlich wiederkehrende Termine an einem bestimmten Wochentag funktionierten auch bisher bereits. Nun funktionieren auch zwei-, drei-, ... n-wöchentlich wiederkehrende Termine an einem bestimmten Wochentag. Was nicht geht, sind Termine, die an zwei oder mehr bestimmten Wochentagen stattfinden (z.B. Sport jeden Montag und Mittwoch) - hierzu muss man im Ursprungskalender zwei Serien anlegen.

Termine außer der Reihe bei wiederkehrenden Terminen (Serien) wurden in der Vergangenheit nicht richtig verarbeitet, da die Terminserie dieselbe UID wie der Termin außer der Reihe hat. Ab sofort setzt sich die UID des Termins aus der um Sonderzeichen bereinigten UID im Kalendar und der SEQUENCE-Nummer zusammen (0, 1, ... wird angehängt). Wer Regeln/Notify auf die UID gesetzt hat, muss diese mit hoher Wahrscheinlichkeit anpassen.

Viele Grüße
Boris
Titel: Antw:57_Calendar.pm: Neuerungen und Änderungen
Beitrag von: chris1284 am 09 August 2015, 14:30:48
habe mir die aktuelle version mal gezogen. so richtig klappt das nicht. # $Id: 57_Calendar.pm 9039 2015-08-09 10:01:32Z borisneubert $
nach fhem start sind alle calendar auf state error (war auch in der 9026 so)

Zitat2015.08.09 14:23:34 1: Kalender_Abfall: URL error: connect to https://www.google.com:443 timed out
2015.08.09 14:23:34 1: Kalender_Christian: URL error: connect to https://www.google.com:443 timed out
2015.08.09 14:23:34 1: Kalender_Feiertage: URL error: connect to https://www.google.com:443 timed out

ein set reload bringt dann STATE No data gefolgt von  Active. erts nach dem händischen reload sind wieder daten da (auf den automatischen nach 1h wollt ich jetzt nicht warten)
Titel: Antw:57_Calendar.pm: Neuerungen und Änderungen
Beitrag von: Dr. Boris Neubert am 09 August 2015, 20:18:07
Hallo,

das Problem habe ich in meiner Entwicklungs-/Testumgebung nicht, wohl aber in meiner Produktionsumgebung.

Den Timemout hochzusetzen bringt nichts. Ich verzögere nun die initiale Aktualisierung des Kalenders um eine zufällig gewählte Zeitspanne von 10 bis 29 Sekunden nach Abschluss der Initialisierung von FHEM. Damit funktioniert auch die erstmalige Aktualisierung des Kalenders nach dem Neustart von FHEM bei mir einwandfrei, so dass man ein extra Reload nicht braucht.

Jetzt im SVN, morgen im Update.

Grüße
Boris
Titel: Antw:57_Calendar.pm: Neuerungen und Änderungen
Beitrag von: Dr. Boris Neubert am 30 August 2015, 16:13:22
Aufgrund von Problemen mit der Verarbeitung von Serienterminen habe ich die Änderungen zurückgezogen und das Kalendermodul auf den Stand vom 04.06. zurückgestellt. Ich arbeite an einer substanziell überarbeiteten Version.
Boris