57_Calendar.pm: erweitertes Modul zum Testen

Begonnen von Dr. Boris Neubert, 23 März 2018, 22:49:57

Vorheriges Thema - Nächstes Thema

Dr. Boris Neubert

Hallo,

bitte findet anbei eine überarbeitete Version des Calendar-Moduls.

Folgende Änderungen sind erfolgt:

  • Meldung Too many arguments for main::Calendar_CheckAndRearm... im Log abgestellt.
  • Neues Kommando get ... events
  • Neues Attribut defaultFormat für get ... events
  • Neues Attribut defaultTimeFormat für get ... events
  • Feld classification am Termin wird ausgewertet (Default: PUBLIC) (über die Variable $CL in der Format-Spezifikation in die Ausgabe einsteuerbar)
  • get ... update aktualisiert den Kalender, auch wenn automatisch Kalendar-Updates abgeschaltet sind.

Wenn Ihr nach der Installation contrib/commandref_join.pl laufen lasst, erhaltet Ihr eine aktuelle Dokumentation.

get ... events ist das Schweizer Taschenmesser der Terminanzeige. Mit den Parametern format und timeFormat kann die Darstellung der Termine frei definiert werden.

Beispiele:
get MyCalendar events format:full
get MyCalendar events format:custom="$T1-$T2 $S \@ $L"
get MyCalendar events format:custom={ sprintf("%20s %8s", $S, $D) }
get MyCalendar events timeFormat:"%e-%b-%Y" format:full

get ... events fehlt noch die Filterfunktion. Daher ist es noch nicht sinnvoll einsetzbar. Die Filterfunktion rüste ich in Kürze nach.

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

kaihs

Ich glaube da hat sich ein Fehler eingeschlichen:

  $event->{categories}= $self->valueOrDefault("CATEGORIES", "");
  $event->{classification}= $self->valueOrDefault("CATEGORIES", "PUBLIC");


Die zweite Zeile sollte wohl

  $event->{classification}= $self->valueOrDefault("CLASS", "PUBLIC");

lauten.

Es gibt auch kein get classification obwohl es ja ein get categories gibt, ist das Absicht?
Banana Pi, Add-On Board mit 1.8" TFT LCD und IR-Sender, CULFW V1.61, div. Homematic Komponenten, Pollin Funksteckdosen, Selbstbau CUL433 MHz, Jeelink Clone, EC3000
Selbstbau CUL868MHz für Wireless M-Bus, SIGNALduino mit Logilink Temp.-sensoren und Auriol Wetterstation

Dr. Boris Neubert

Zitat von: kaihs am 24 März 2018, 17:29:17
Die zweite Zeile sollte wohl

  $event->{classification}= $self->valueOrDefault("CLASS", "PUBLIC");

lauten.

Danke für den Hinweis. In der nächsten Variante, die heute Abend kommt, wird das gefixt sein.

Zitat
Es gibt auch kein get classification obwohl es ja ein get categories gibt, ist das Absicht?

Ja, Absicht. get <name> <format> <filter> [<max>] wird als veraltet markiert. Künftig geht alles viel flexibler über get <name> events .....
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

betateilchen

können wir nicht irgendwann damit aufhören, Testversionen von bereits "offiziellen" Modulen in einzelnen Threads bereitzustellen? Eigentlich fände ich es sehr viel sinnvoller, solche Dateien in ./contrib bereitzustellen.

Wer es schafft, eine Moduldatei aus einem Thread herunterzuladen und auf sein FHEM zu bringen, schafft das auch aus SVN, am einfachsten mittels TRAC

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Dr. Boris Neubert

#4
Hallo,

anbei nun der Release-Kandidat mit folgenden Änderungen und Erweiterungen:

  • Fix für CLASS auf Hinweis von kaihs
  • Neuer Parameter filter für get ... events
  • Neuer Parameter series für get ... events
  • Neue Funktion CalendarEventsAsHtml()
  • get <name> <format> <filter> [<max>] ist veraltet.
Um die Doku zu aktualisieren bitte nach Installation des Moduls im Anhang nach FHEM noch contrib/commandref_join.pl ausführen.

Ich gebe das jetzt in den Test und werde die Version vorbehaltlich etwaiger Meldungen an Ostern offiziell veröffentlichen.

Ein Reload des Moduls aus einer laufenden FHEM-Ausgabe heraus wird nicht funktionieren, weil Funktionen ihre Signatur geändert haben. Es ist ein Shutdown Restart erforderlich.

Ich suche noch Hilfe bei der deutschen Übersetzung. Die Passage zu get ... events, die beiden neuen Attribute defaultFormat und defaultTimeFormat, kleinere Ergänzungen zu Serienterminen in Description, das zweite Beispiel bei Plug-ins, die geänderten Beispiele bei Usage Scenarios und die Änderungen in der Passage zu Embedded HTML müssten übersetzt werden.  --> bitte PM

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

Dr. Boris Neubert

Weitere Änderungen:


  • neues Attribute ignoreCancelled
  • \, wird in $S, $L und $DS durch , ersetzt
  • reduzierte Warnungen durch uninitalisierte Felder im Falle eines fehlgeschlagenen Abrufs
  • Doku erweitert
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Virsacer

Hallo Boris,

auf Anraten von nils_ hier ein Hinweis auf meinen Patch:
https://forum.fhem.de/index.php/topic,85302.msg776492.html

Viele Grüße
Virsacer

Dr. Boris Neubert

Weitere Änderung (Dank an Virsacer):


  • Termine der Form WEEKLY BYDAY INTERVAL werden erkannt (bisher war INTERVAL immer 1)

Hinweis: am Tage des Release schließe ich alle Themen zu, von denen Änderungen für diese neue Version ausgingen.
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

nils_

viele Wege in FHEM es gibt!

Dr. Boris Neubert

Zitat von: nils_ am 28 März 2018, 20:50:47
/zum mitlesen

OT: Benachrichtigen-Knopf unterhalb des Themas ist praktischer  ;)
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

nils_

Zitat von: Dr. Boris Neubert am 28 März 2018, 20:52:52
OT: Benachrichtigen-Knopf unterhalb des Themas ist praktischer  ;)

dann taucht der aber nicht unter "Ungelesene Antworten zu deinen Beiträgen" auf, oder? :)
das benutzt ich meistens.  ;)
viele Wege in FHEM es gibt!

Amenophis86

OT: Dann setz ein Lesezeichen über den Knopf "Neues Lesezeichen". Da erscheinen neue Posts auch ganz oben, zwar nicht bei ungelesen, aber den einen Klick mehr zu "Meine Lesezeichen" wirste sicher schaffen ;)
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Dr. Boris Neubert

Neue Version ist eingecheckt und ab Morgen 8 Uhr per Update verfügbar.

Thema wird geschlossen.
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!