57_Calendar.pm - Neue Funktionen und Änderungen an Attributen

Begonnen von betateilchen, 23 Februar 2019, 13:59:52

Vorheriges Thema - Nächstes Thema

betateilchen

In Abstimmung mit Boris sind in den letzten Tagen/Wochen ein paar Erweiterungen im Modul 57_Calendar.pm entstanden, die ich hier vorstellen möchte.


  • Neuer Filter limit:when=today|tomorrow Damit lassen sich nun auf einfache Weise alle anstehenden Termine für heute oder morgen ermitteln: get <calName> events limit:when=today
  • In der Definition eines Calendar-Device können nun Wildcards (Platzhalter) - analog zu den Parametern bei FileLog - angegeben werden. Diese werden jeweils beim Kalenderupdate ausgewertet und durch die tatsächlichen Werte ersetzt. Damit können beispielsweise Jahreszahlen in der URL automatisch angepasst werden.
  • Das Attribut "update" hat den neuen Wert "onUrlChanged" dazubekommen. Damit kann festgelegt werden, dass eine Aktualisierung des Kalenders tatsächlich nur dann erfolgt, wenn sich die URL seit dem letzten Abruf verändert hat. Dieser Attributwert macht eigentlich nur dann Sinn, wenn im define des device mit Wildcards (siehe 1.) gearbeitet wird.
  • Die Werte "sync" und "async" wurden aus dem Attribut "update" entfernt. Wird einer diesen beiden Werte beim FHEM Start in der Konfiguration gefunden, wird eine Logmeldung ausgegeben, die auf das neue Attribut "synchronousUpdate" hinweist. Das vorhandene Attribut "update" wird gelöscht, die Konfiguration wird jedoch NICHT automatisch gespeichert, es erscheint das rote Fragezeichen. Damit kann der Anwender erkennen, dass sich etwas geändert hat.
  • Das Attribut "synchronousUpdate" wurde neu eingeführt. Damit kann gesteuert werden, ob das Kalenderupdate (Verarbeitung der gelesenen Kalenderdaten) blocking (Attributwert = 1) oder nonblocking (Attributwert = 0) ausgeführt werden soll. Defaultwert ist ab sofort nonblocking.
  • Ein Intervall von 0 ist ab sofort nicht mehr zulässig. Wird dieser Wert angegeben, verwendet das device automatisch den Defaultwert 3600 Sekunden. Eine entsprechende Logmeldung wird ausgegeben.
  • Die englische commandref wurde den Änderungen entsprechend angepasst.

Die Änderung Nr.1 ist bereits seit einigen Tagen eingecheckt, der Rest wird heute noch bereitgestellt und kommt mit dem morgigen Update.

In der Community wird zur Zeit an einer aktualisierten deutschen commandref zum Modul gearbeitet. Sobald mir dieser Text vorliegt, werde ich den den ebenfalls mit einbauen. Die Modulversion, die ich heute einchecken werde, besitzt erstmal gar keine deutsche commandref mehr, da diese inhaltlich immer weniger zum Funktionsumfang des Moduls passt. Die englische commandref ist auf jeden Fall aktuell.

Danke an Boris für die Freigabe, meine Änderungen selbst einchecken zu dürfen :)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Das Modul inklusive der überarbeiteten deutschen commandref sind nun im SVN verfügbar, die reguläre Auslieferung erfolgt mit dem morgigen Update.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Nach dem heutigen Update hat sich herausgestellt, dass die Auswertung der neu eingeführten Platzhalter in URL zu Problemen führt, wenn in den URL selbst bereits Prozentzeichen % vorhanden sind, die aber keine Platzhalter kennzeichnen. Insbesondere bei Google Kalendern kommen Prozentzeichen in den URL vor.

Inzwischen ist eine neue Modulversion bereitgestellt, die morgen per Update verteilt wird und das Problem behebt.


  • für google Kalender wird die Auswertung von Platzhaltern automatisch unterbunden
  • eine Auswertung von Platzhalten in beliebigen anderen Kalendern kann manuell unterbunden werden, wenn im device dem Attribut "quirks" der Wert "noWildcards" hinzugefügt wird.

Wer das Modul jetzt schon direkt per download haben möchte, kann folgenden Link verwenden https://svn.fhem.de/trac/export/HEAD/trunk/fhem/FHEM/57_Calendar.pm
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Falls nach dem heutigen Update noch weitere Probleme auftreten, bitte in diesem Thread posten:

https://forum.fhem.de/index.php/topic,97810.0.html
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!