Übersetzung aktuelle commandref zu 57_Calendar.pm

Begonnen von TomLee, 27 Mai 2018, 13:50:29

Vorheriges Thema - Nächstes Thema

TomLee

Hab mir mal die Mühe gemacht einfach nur den Google-Übersetzer mit der aktuellen Calendar-Commandref zu füttern.

ZitatDefine

define <name> Calendar ical url <URL> [<interval>]
define <name> Calendar ical file <FILENAME> [<interval>]

Definiert ein Kalendergerät.

Ein Kalendergerät sammelt regelmäßig Kalenderereignisse aus dem Quellkalender unter der angegebenen URL oder aus einer Datei. Die Datei muss im ICal-Format sein.

Wenn die URL mit https: // beginnt, muss das Perl-Modul IO :: Socket :: SSL installiert sein (verwenden Sie cpan -i IO :: Socket :: SSL).

Hinweis für Nutzer von Google Kalender: Sie können die private ICal-URL in Ihrem Google Kalender verwenden. Wenn Ihre Google Kalender-URL mit https: // beginnt und das Perl-Modul IO :: Socket :: SSL nicht auf Ihrem System installiert ist, können Sie es durch http: // ersetzen, wenn keine Umleitung zu https erfolgt: // URL Überprüfen Sie zuerst Ihren Browser, wenn Sie sich nicht sicher sind.

Das optionale Parameterintervall ist die Zeit zwischen aufeinanderfolgenden Aktualisierungen in Sekunden. Es ist standardmäßig auf 3600 (1 Stunde) eingestellt.

Beispiel: define MyCalendar Calendar ical url https://www.google.com­/calendar/ical/john.doe%40example.com­/private-foo4711/basic.ics define YourCalendar Calendar ical url http://www.google.com­/calendar/ical/jane.doe%40example.com­/private-bar0815/basic.ics 86400 define SomeCalendar Calendar ical file /home/johndoe/calendar.ics

Set

set <name> update
Erzwingt das Abrufen des Kalenders von der URL. Der nächste automatische Abruf soll zeitlich später erfolgen.

set <name> reload
Wie Update, aber alle Kalenderereignisse werden zuerst entfernt.


Get

get <name> update
Genauso wie set <name> update

get <name> reload
Genauso wie set <name> update

get <name> events [format:<formatSpec>] [timeFormat:<timeFormatSpec>] [filter:<filterSpecs>] [series:next[=<max>]] [limit:<limitSpecs>]

Das Schweizer Taschenmesser zur Anzeige von Kalenderterminen. Gibt zeilenweise Informationen zu den Kalenderereignissen im Kalender <name> gemäß den Formatierungs- und Filterregeln zurück.
Sie können keine, ein oder mehrere Format-, TimeFormat-, Filter-, Serien- und Limit-Parameter angeben und es ist sogar sinnvoll, den Filterparameter mehrmals anzugeben.

Der format-Parameter bestimmt die Gesamtformatierung des Kalenderereignisses.
Folgende Formatangaben stehen zur Verfügung:

<formatSpec>                                   Inhalt
default                                        das Standardformat (siehe unten)
full                                               das gleiche wie custom = "$ U $ M $ A $ T1- $ T2 $ S $ CA $ L"
text                                              das gleiche wie custom = "$ T1 $ S"
custom = "<formatString>"     ein benutzerdefiniertes Format (siehe unten)
custom = "{<perl-code>}"        ein benutzerdefiniertes Format (siehe unten)
Einfache Anführungszeichen (') können anstelle von Anführungszeichen (") im benutzerdefinierten Format verwendet werden.

Sie können die folgenden Variablen im <formatString> und im <perl-code> verwenden:

Bedeutung der Variablen
$t1 die Startzeit in Sekunden seit der Epoche
$T1 die Startzeit nach dem Zeitformat
$t2 die Endzeit in Sekunden seit der Epoche
$T2 die Endzeit nach dem Zeitformat
$a die Alarmzeit in Sekunden seit der Epoche
$A die Alarmzeit nach dem Zeitformat
$d die Dauer in Sekunden
$D die Dauer in lesbarer Form
$S die Zusammenfassung
$L der Ort
$CA die Kategorien
$CL die Klassifizierung
$DS die Beschreibung
$U die UID
$M der Modus
\, (maskiertes Komma) zusammenfassend, Ort und Beschreibung werden durch ein Komma ersetzt, aber \ n (steht für Newline) ist unberührt.

Wenn der Parameter format nicht angegeben wird, wird die benutzerdefinierte Formatzeichenfolge aus dem Attribut defaultFormat verwendet.
Wenn dieses Attribut nicht festgelegt ist, wird "$ T1 $ D $ S" als benutzerdefinierte Standardformatzeichenfolge verwendet. Das letzte Vorkommen gewinnt, wenn der Parameter format mehrmals angegeben wird.

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) }

Der Parameter timeFormat bestimmt die Formatierung von Start-, Ende- und Alarmzeiten.

Es werden POSIX-Konvertierungsangaben im <timeFormatSpec> verwendet. Die Webseite strftime.net hat einen schönen Builder für <timeFormatSpec>.

Wenn der timeFormat-Parameter nicht angegeben wird, wird die Zeitformatangabe aus dem standardmäßigen TimeFormat-Attribut verwendet. Wenn dieses Attribut nicht festgelegt ist, wird "% d.% M.% Y% H:% M" als Standardzeitformatspezifikation verwendet. Einfache Anführungszeichen (') oder doppelte Anführungszeichen (") können verwendet werden, um die Formatspezifikation zu umschließen.

Das letzte Auftreten gewinnt, wenn der Parameter mehrmals gegeben wird.

Beispiel:
get MyCalendar events timeFormat:"%e-%b-%Y" format:full

Der Filterparameter beschränkt die angezeigten Kalenderereignisse auf eine Untergruppe.
<filterSpecs> ist eine durch Kommas getrennte Liste von <filterSpec> -Spezifikationen.
Alle Filter müssen gelten, damit ein Kalenderereignis angezeigt wird.
Der Parameter ist kumulativ: Alle separaten Vorkommen des Parameters addieren sich zu der Filterliste.

<filterSpec>descriptionuid=="<uid>"UID is <uid>
same as field(uid)=="<uid>"uid=~"<regex>"UID matches regular expression <regex>
same as field(uid)=~"<regex>"mode=="<mode>"mode is <mode>
same as field(mode)=="<mode>"mode=~"<regex>"mode matches regular expression <regex>
same as field(mode)=~"<regex>"field(<field>)=="<value>"content of the field <field> is <value>
<field> is one of uid, mode, summary, location, description,categories, classificationfield(<field>)=~"<regex>"content of the field <field> matches <regex>
<field> is one of uid, mode, summary, location, description,categories, classification

Die doppelten Anführungszeichen (") auf der rechten Seite einer <filterSpec> sind nicht Teil des Werts oder regulären Ausdrucks. Stattdessen können einfache Anführungszeichen (') verwendet werden.

Beispiele:
get MyCalendar events filter:uid=="432dsafweq64yehdbwqhkd"
get MyCalendar events filter:uid=~"^7"
get MyCalendar events filter:mode=="alarm"
get MyCalendar events filter:mode=~"alarm|upcoming"
get MyCalendar events filter:field(summary)=~"Mama"
get MyCalendar events filter:field(classification)=="PUBLIC"
get MyCalendar events filter:field(summary)=~"Gelber Sack",mode=~"upcoming|start"
get MyCalendar events filter:field(summary)=~"Gelber Sack" filter:mode=~"upcoming|start"

Der Serienparameter bestimmt die Anzeige von wiederkehrenden Ereignissen.
series: next begrenzt die Anzeige auf das nächste Kalenderereignis aller Kalenderereignisse in der Reihe, die noch nicht beendet sind.
series: next = <max> zeigt höchstens die <max> nächsten Kalendertermine in der Serie an.
Dies gilt pro Serie. Um die Gesamtzahl der angezeigten Ereignisse zu begrenzen, sehen Sie sich den folgenden Grenzwert an.

Der Limit-Parameter begrenzt die Anzahl der angezeigten Ereignisse. <limitSpecs> ist eine durch Kommas getrennte Liste von <limitSpec> -Spezifikationen.

<limitSpec> descriptioncount = <n> zeigt höchstens <n> Ereignisse, <n> ist eine positive ganze Zahl von = [+ | -] <timespec> zeigt nur Ereignisse, die nach einer Zeitspanne <timepec> von jetzt an enden;
Verwenden Sie ein Minuszeichen für Ereignisse in der Vergangenheit;
<timespec> wird im Abschnitt Attributes beschrieben = [+ | -] <timespec> zeigt nur Ereignisse an, die vor einer Zeitspanne <timespec> von jetzt an beginnen;
erwenden Sie ein Minuszeichen für Ereignisse in der Vergangenheit; <timespec> wird im Abschnitt Attribute beschrieben

Beispiele:
get MyCalendar events limit:count=10
get MyCalendar events limit:from=-2d
get MyCalendar events limit:count=10,from=0,to=+10d


get <name> find <regexp>
Gibt zeilenweise die UIDs aller Kalenderereignisse zurück, deren Zusammenfassung dem regulären Ausdruck <regexp> entspricht.

get <name> vcalendar
Gibt den Kalender im ICal-Format zurück, wie er von der Quelle abgerufen wurde.

get <name> vevents
Gibt eine Liste aller VEVENT-Einträge im Kalender mit zusätzlichen Informationen zum Debuggen zurück.
Nur Eigenschaften, die während der Verarbeitung der Quelle beibehalten wurden, werden angezeigt.
Die Liste der Kalenderereignisse, die von jedem VEVENT-Eintrag erstellt wurden, wird ebenso angezeigt wie die Liste der Kalenderereignisse, die nicht berücksichtigt wurden.

Attributes

defaultFormat <formatSpec>
Legt das Standardformat für den Befehl get <name> events fest.
Die Spezifikation wird dort erklärt. Sie müssen die <formatSpec> in doppelten Anführungszeichen (") wie die Eingabe in attr myCalendar defaultFormat" $ T1 $ D $ S "einschließen.

defaultTimeFormat <timeFormatSpec>
Legt das Standardzeitformat für den Befehl get <name> events fest. Die Spezifikation wird dort erklärt.
Schließen Sie das <timeFormatSpec> nicht in Anführungszeichen ein.

update sync|async|none
Wenn dieses Attribut nicht festgelegt ist oder wenn es auf Synchronisierung eingestellt ist, wird die Verarbeitung des Kalenders im Vordergrund ausgeführt.
Große Kalender blockieren FHEM auf langsamen Systemen. Wenn dieses Attribut auf async festgelegt ist, wird die Verarbeitung im Hintergrund ausgeführt und FHEM blockiert während Aktualisierungen nicht.
Wenn dieses Attribut auf "None" gesetzt ist, wird der Kalender überhaupt nicht aktualisiert.

removevcalendar 0|1
Wenn dieses Attribut auf 1 gesetzt ist, wird der vCalendar nach der Verarbeitung verworfen, um den Speicherverbrauch des Moduls zu reduzieren. Ein Abruf über get <name> vcalendar ist dann nicht mehr möglich.

hideOlderThan <timespec>
hideLaterThan <timespec>

Diese Attribute begrenzen die Liste der Ereignisse, die von get <Name> full | debug | text | summary | location | alarm | start | end ... angezeigt werden.

Die Zeit wird relativ zur aktuellen Zeit t angegeben. Wenn hideOlderThan festgelegt ist, werden Kalenderereignisse, die vor t-hideOlderThan beendet wurden, nicht angezeigt. Wenn hideLaterThan festgelegt ist, werden Kalenderereignisse, die nach t + hideLaterThan starten, nicht angezeigt.

Beachten Sie, dass eine Aktion, die durch eine Änderung des Modus "end" ausgelöst wird, nicht auf das Kalenderereignis zugreifen kann, wenn Sie hideOlderThan auf 0 setzen, da das Kalenderereignis zu diesem Zeitpunkt bereits ausgeblendet ist. Setze hideOlderThan besser auf 10.

<timespec> muss eines der folgenden Formate haben:

formatdescriptionexampleSSSseconds3600SSSsseconds3600sHH:MMhours:minutes02:30HH:MM:SShours:minutes:seconds00:01:30D:HH:MM:SSdays:hours:minutes:seconds122:10:00:00DDDddays100d

cutoffOlderThan <timespec>
Dieses Attribut schneidet alle nicht wiederkehrenden Kalenderereignisse ab, die eine Zeitspanne cutoffOlderThan vor der letzten Aktualisierung des Kalenders beendeten.
Der Zweck dieses Attributs ist es, Speicher zu sparen. Auf solche Kalenderereignisse kann von FHEM überhaupt nicht zugegriffen werden.
Kalenderereignisse werden nicht abgeschnitten, wenn sie wiederkehrend sind oder wenn sie keine Endzeit haben (DTEND).

onCreateEvent <perl-code>
Mit diesem Attribut kann der Perl-Code <perl-code> für jedes erstellte Kalenderereignis ausgeführt werden. Siehe Abschnitt "Plug-Ins" unten.

SSLVerify
Dieses Attribut legt den Verifizierungsmodus für das Peer-Zertifikat für SSL-geschützte Verbindungen fest.
Setzen Sie das Attribut entweder auf 0 für SSL_VERIFY_NONE (keine Zertifikatsprüfung) oder auf 1 für SSL_VERIFY_PEER (Zertifikatsprüfung).
Die Deaktivierung der Überprüfung ist für lokale Kalenderinstallationen (z. B. OwnCloud, NextCloud) ohne gültiges SSL-Zertifikat nützlich.

ignoreCancelled
Setzen Sie den Wert auf 1, um Ereignisse mit dem Status "CANCELLED" zu ignorieren. Setzen Sie dieses Attribut auf 1, wenn Kalender-Ereignisse einer Serie zurückgegeben werden, obwohl sie abgebrochen werden.

readingFnAttributes

Beschreibung

Ein Kalender ist eine Gruppe von Kalenderereignissen. Die Kalenderereignisse werden regelmäßig aus dem Quellkalender unter der angegebenen URL abgerufen.

Ein Kalenderereignis hat eine Zusammenfassung (normalerweise der Titel, der in einer visuellen Darstellung des Quellkalenders angezeigt wird), eine Startzeit, eine Endzeit und null, eine oder mehrere Alarmzeiten. Bei mehreren Alarmzeiten für ein Kalenderereignis wird nur die früheste Alarmzeit beibehalten.

Wiederkehrende Kalenderereignisse (Serien) werden derzeit in gewissem Umfang unterstützt: FREQ INTERVAL UNTIL COUNT werden interpretiert, BYMONTHDAY BYMONTH WKST werden zwar erkannt, aber nicht interpretiert. BYDAY wird für wöchentliche und monatliche Ereignisse korrekt interpretiert. Das Modul wird höchstwahrscheinlich falsch angezeigt, wenn Sie wiederkehrende Kalenderereignisse mit nicht erkannten oder nicht interpretierten Keywords haben. Out-of-Order-Ereignisse und -Ereignisse, die von einer Serie (EXDATE) ausgeschlossen sind, werden behandelt. Kalenderereignisse werden nur innerhalb von ± 400 Tagen um den Zeitpunkt der letzten Aktualisierung erstellt.

Kalenderereignisse werden erstellt, wenn FHEM gestartet wird oder wenn sich der entsprechende Eintrag im Quellkalender geändert hat und der Kalender aktualisiert wird oder wenn der Kalender mit get <name> neu geladen wird. Es werden nur Kalenderereignisse innerhalb von ± 400 Tagen um die Ereigniserstellungszeit erstellt. Ziehen Sie in Erwägung, den Kalender von Zeit zu Zeit neu zu laden, um zu verhindern, dass die bevorstehenden Ereignisse ausgehen. Sie können etwas wie define reloadCalendar bei + * 240: 00: 00 verwenden, indem Sie MyCalendar für diesen Zweck neu laden.

Einige einfache Kalender verwenden LAST-MODIFIED nicht. Dies kann dazu führen, dass Änderungen im Quellkalender unbemerkt bleiben. Laden Sie den Kalender neu, wenn dieses Problem auftritt.

Ein Kalenderereignis wird anhand seiner UID identifiziert. Die UID wird aus dem Quellkalender übernommen.
Alle Ereignisse in einer Reihe, die Out-of-Order-Ereignisse enthalten, haben die gleiche UID.
Alle nicht-alphanumerischen Zeichen werden von der ursprünglichen UID entfernt, um Ihnen das Leben zu erleichtern.

Ein Kalenderereignis kann in einem der folgenden Modi sein:

upcomingNeither - hat weder die Alarmzeit noch die Startzeit des Kalenderereignisses erreicht.
alarm - die Alarmzeit ist abgelaufen, aber die Startzeit des Kalenderereignisses ist noch nicht erreicht.
start - die Startzeit ist abgelaufen, aber die Endzeit des Kalenderereignisses ist noch nicht erreicht .
end - die Endzeit des Kalenderereignisses ist abgelaufen.
Ein Kalenderereignis wechselt sofort, wenn die Zeit für die Änderung gekommen ist, von einem Modus in einen anderen. Dies geschieht durch Warten auf die früheste zukünftige Zeit unter allen Alarm-, Start- oder Endzeiten aller Kalenderereignisse.

Ein Kalendergerät hat mehrere Messwerte. Mit Ausnahme von calname ist jede Lesung eine durch Semikolons getrennte Liste von UIDs von Kalenderereignissen, die bestimmte Bedingungen erfüllen:

Name des CalendarModeAlarmeevents im AlarmmodemodeAlarmOrStarterevents im Alarm modemAlarmOrStartevents in Alarm oder Start modemodeAlarmeevents, die gerade von modemodeChangedevents in modemodeEndevents in endmodemodeEndevents gewechselt haben, die gerade von Start zu Ende modemodeStartevents in start modemodeStartedevents gewechselt haben, die gerade zum Starten von modemodeUpcomingevents übergegangen sind im kommenden Modus

Bei wiederkehrenden Ereignissen sind normalerweise mehrere Kalenderereignisse mit derselben UID vorhanden. In diesem Fall wird die UID nur im Modus für den interessantesten Modus angezeigt.
Der interessanteste Modus ist der erste anwendbar von Start, Alarm, bevorstehendes, Ende.

Insbesondere werden Sie nie die UID einer Reihe in modeEnd oder modeEnded sehen, solange die Serie noch nicht beendet ist - die UID wird in einem der anderen Modus ... readings sein. Dies bedeutet, dass Sie keine FHEM-Ereignisse für Serien basierend auf Modus-Lesungen auslösen. Siehe unten für eine Empfehlung..


Events

Wenn der Kalender neu geladen oder aktualisiert wurde oder wenn eine Alarm-, Start- oder Endzeit erreicht wurde, wird ein FHEM-Ereignis erstellt:

triggered

Wenn Sie dieses Ereignis erhalten, können Sie sich darauf verlassen, dass sich die Messwerte des Kalenders in einem konsistenten und neuesten Zustand befinden.

Wenn sich ein Kalenderereignis geändert hat, werden zwei FHEM-Ereignisse erstellt:

changed: UID <mode>
<mode>: UID

<mode> ist der aktuelle Modus des Kalenderereignisses nach der Änderung. Hinweis: In der FHEM-Ereignisspezifikation befindet sich ein Doppelpunkt gefolgt von einem einzelnen Leerzeichen.

Die empfohlene Art, auf Modusänderungen von Kalenderereignissen zu reagieren, besteht darin, auf die zuvor erwähnten FHEM-Ereignisse benachrichtigt zu werden und nicht nach FHEM-Ereignissen zu suchen, die durch eine Änderung eines Modus-Lesens ausgelöst werden.

Plug-ins

Ein Plug-in ist ein Stück Perl-Code, der ein Kalenderereignis im laufenden Betrieb ändert. Der Perl-Code arbeitet mit der Hash-Referenz $ e.
Die wichtigsten Elemente sind folgende:

Codebeschreibung
$e -> {start} die Startzeit des Kalenderereignisses, in Sekunden seit der Epoche
$e -> {end} die Endzeit des Kalenderereignisses, in Sekunden seit der Epoche
$e -> {alarm} die Alarmzeit des Kalenderereignisses, in Sekunden seit der Epoche
$e -> {summary} die Zusammenfassung (Untertitel ???, Titel) des Kalenderereignisses
$e -> {location} der Ort des Kalenderereignisses

Um die Alarmzeit eines Kalenderereignisses für alle Ereignisse mit der Zeichenfolge "Tonne" in der Zusammenfassung hinzuzufügen oder zu ändern, kann das folgende Plug-in verwendet werden:

attr MyCalendar onCreateEvent { $e->{alarm}= $e->{start}-86400 if($e->{summary} =~ /Tonne/);; }

Das Doppel-Semikolon maskiert das Semikolon. Perl-Specials können nicht verwendet werden.

Um eine fehlende Endzeit hinzuzufügen, kann das folgende Plug-in verwendet werden:

attr MyCalendar onCreateEvent { $e->{end}= $e->{start}+86400 unless(defined($e->{summary})) }


Usage scenarios
Show all calendar events with details

get MyCalendar events format:full
2767324dsfretfvds7dsfn3e4­dsa234r234sdfds6bh874­googlecom alarm 31.05.2012 17:00:00 07.06.2012 16:30:00-07.06.2012 18:00:00 Erna for coffee
992hydf4y44awer5466lhfdsr­gl7tin6b6mckf8glmhui4­googlecom upcoming 08.06.2012 00:00:00-09.06.2012 00:00:00 Vacation

Nutzungsszenarien

Zeigen Sie alle Kalenderereignisse mit Details an

text 20 60 { fhem("get MyCalendar events timeFormat:'%d.%m.%Y %H:%M' format:custom='$T1 $S' filter:mode=~'alarm|start') }

Das könnte so aussehen:

07.06.12 16:30 Erna for coffee
08.06.12 00:00 Vacation

Schalte das Licht an, wenn Erna kommt

Finden Sie zuerst die UID des Kalenderereignisses:

get MyCalendar find .*Erna.*
2767324dsfretfvds7dsfn3e4­dsa234r234sdfds6bh874­googlecom

Definieren Sie dann ein notify (der Punkt nach dem zweiten Doppelpunkt entspricht dem Leerzeichen):

define ErnaComes notify MyCalendar:start:.2767324dsfretfvds7dsfn3e4­dsa234r234sdfds6bh874­googlecom set MyLight on

Sie können auch eine Protokollierung durchführen:

define LogErna notify MyCalendar:alarm:.2767324dsfretfvds7dsfn3e4­dsa234r234sdfds6bh874­googlecom { Log3 $NAME, 1, "ALARM name=$NAME event=$EVENT part1=$EVTPART0 part2=$EVTPART1" }

Schalte Aktoren ein und aus

Denken Sie an einen Kalender mit Kalenderereignissen, deren Zusammenfassungen (Themen, Titel) die Namen von Geräten in Ihrer Fhem-Installation sind.
Sie möchten, dass die entsprechenden Geräte beim Start des Kalenderereignisses eingeschaltet werden und beim Beenden des Kalenderereignisses ausgeschaltet werden.

define SwitchActorOn notify MyCalendar:start:.* { \
my $reading="$EVTPART0";; \
my $uid= "$EVTPART1";; \
my $actor= fhem('get MyCalendar filter:uid=="'.$uid.'" format:custom="$S"');; \
if(defined $actor) { fhem("set $actor on") } \
}

define SwitchActorOff notify MyCalendar:end:.* { \
my $reading="$EVTPART0";; \
my $uid= "$EVTPART1";; \
my $actor= fhem('get MyCalendar filter:uid=="'.$uid.'" format:custom="$S"');; \
if(defined $actor) { fhem("set $actor off") } \
}

Sie können auch eine Protokollierung durchführen:

define LogActors notify MyCalendar:(start|end):.* { my $reading= "$EVTPART0";; my $uid= "$EVTPART1";; \
my $actor= fhem('get MyCalendar filter:uid=="'.$uid.'" format:custom="$S"');; \
Log3 $NAME, 1, "Actor: $actor, Reading $reading" }

Informationen zur Müll-Kollektion

Wir nehmen an, dass der Müll-Kalender alle Daten der Müll-Kollektion mit dem in der Zusammenfassung erfassten Müll-Typ enthält.
Die folgende Benachrichtigung kann verwendet werden, um über die Speicherbereinigung zu informieren:

define GarbageCollectionNotifier notify GarbageCalendar:alarm:.* { \
my $uid= "$EVTPART1";; \
my $summary= fhem('get MyCalendar events filter:uid=="'.$uid.'" format:custom="$S"');; \
# e.g. mail $summary to someone \
}

Wenn der Müll-Kalender keine Erinnerungen enthält, können Sie diese auf einen Tag vor dem Sammlungsdatum setzen:

attr GarbageCalendar onCreateEvent { $e->{alarm}= $e->{start}-86400 }

Der folgende Code realisiert eine HTML-Anzeige der bevorstehenden Kollektionstermine (siehe unten):

{ CalendarEventsAsHtml('GarbageCalendar','format:text filter:mode=~"alarm|start"') }

Eingebettetes HTML

Das Modul bietet zwei Funktionen, die HTML-Code zurückgeben.

CalendarAsHtml (<name>, <options>) gibt den HTML-Code für eine Liste von Kalenderereignissen zurück.
<name> ist der Name des Kalendergeräts
<options> ist das, was Sie nach get <name> text schreiben würden. Diese Funktion ist veraltet.

Beispiel:

define MyCalendarWeblink weblink htmlCode { CalendarAsHtml("MyCalendar","next 3") }

CalendarEventsAsHtml (<name>, <parameters>) gibt den HTML-Code für eine Liste von Kalenderereignissen zurück.
<name> ist der Name des Kalendergeräts und
<Parameter> ist das, was Sie in get <name> events <parameter> schreiben würden.


Beispiel:

define MyCalendarWeblink weblink htmlCode { CalendarEventsAsHtml('F','format:custom="$T1 $D $S" timeFormat="%d.%m" series:next=3') }

Tipp: Verwenden Sie einfache Anführungszeichen als äußere Anführungszeichen.


Gruß

Thomas

betateilchen

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

TomLee

#2
Das dies aktuell ein gefragtes Thema ist, denke ich und durch meinen kleinen Beitrag (Vorarbeit) sich vielleicht eher ein Freiwilliger findet der a. fähig ist das Korrektur zu lesen und ggf. ergänzen kann und b. befugt ist die Anleitung der deutschen commandref hinzuzufügen

Das du die deutsche commandref am liebsten abschaffen würdest ist mir bekannt.




nils_

viele Wege in FHEM es gibt!

Christoph Morrison

Zitat von: nils_ am 28 Mai 2018, 11:12:19
57_Calendar.pm hat doch schon eine deutsche commandref !?
geht los bei: https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/57_Calendar.pm#L3754


3760   <b>Diese deutsche &Uuml;bersetzung ist nicht mehr aktuell
3761   (siehe bitte <a href="https://forum.fhem.de/index.php/topic,86148.msg786290.html#msg786290">Forumsbeitrag</a>).
3762   Bitte hilf bei FHEM mit und aktualisiere diese &Uuml;bersetzung. Die englischsprachige
3763   Dokumentation ist immer aktuell.</b><p>

nils_

ok.... sorry, da hätte ich genauer lesen sollen  ::)
viele Wege in FHEM es gibt!