Terminkalender
Beschreibung
Dieser Baustein liest einen als iCal formatierten Kalender ein und stellt Informationen zum jeweils nächsten Termin dar. Damit können Wecker gesteuert oder Termine auf grafischen Anzeigen visualisiert werden.
Wiederkehrende Termine (Serientermine) werden derzeit noch nicht vollständig unterstützt; während Serientermine selbst noch nicht einbezogen werden, werden die von der Serie abweichenden Termine berücksichtigt.
Eigenschaften
Eingänge
Bezeichnung | Porttyp | Beschreibung |
---|---|---|
iCal Kalender | Zeit |
Eingang, an den ein iCal Kalender übermittelt wird. Da die Auswertung großer Kalender auf dem X1 recht viel Last erzeugen kann, sollten die Aktualierungsintervalle eher großzügig gewählt werden. |
Parameter
Bezeichnung | Porttyp | Beschreibung |
---|---|---|
Einschließende Parameter | Ganzzahl |
Um die Auswahl der Termine eines Tages zu filtern, können Termine mittels einschließender Parameter gefiltert werden. Ein Termin wird dann angezeigt wenn alle 0..10 einschließenden Parameter erfüllt sind. Die Filterung efolgt mittels "String.StartsWith(.. OrdinalIgnoreCase)", so dass auch selbst gewählte Prefixe erfasst werden können. |
xx. Einschließender Parameter | Ganzzahl |
Ein einschließender Parameter. Sollen beispielsweise bei einem von Microsoft Exchange erzeugten iCal-Kalender nur Termine berücksichtigt werden, die als "gebucht" klassifiziert sind, so würde als Parameter "X-MICROSOFT-CDO-BUSYSTATUS:BUSY" eingetragen werden. |
Ausschließende Parameter | Ganzzahl |
Um die Auswahl der Termine eines Tages zu filtern, können Termine mittels ausschließender Parameter gefiltert werden. Ein Termin wird dann angezeigt wenn keiner der 0..10 ausschließenden Parameter erfüllt sind. Die Filterung efolgt mittels "String.StartsWith(.. OrdinalIgnoreCase)", so dass auch selbst gewählte Prefixe erfasst werden können. |
xx. Ausschließender Parameter | Ganzzahl |
Ein ausschließender Parameter. Sollen beispielsweise in einem Kalender alle Buchungen ausgeblendet werden, die "Focus Time" heißen, so würde als Parameter "SUMMARY:Focus Time" eingetragen werden. |
Aktualisieren nach | Zeitspanne |
Definiert die Zeit nach Beginn des aktuellen Termins (0 sek .. 15 min), nachdem der nächste Termin an den Ausgangsports angekündigt wird. |
Formatvorlage | Text |
Erlaubt die Formatierung des Ausgabetextes mit Platzhaltern "{x}" für den nächsten Termin. Dafür stehen die folgenden Werte zur Verfügung:
Wird keine Formatierung angegeben, so bleibt die Ausgabe "Zusamenfassung" leer! |
Text "Kein Termin" | Text |
Text, der am Ausgang "Zusammenfassung" ausgegeben wird, wenn im Kalender für die nächsten sieben Tage kein Termin eingetragen ist. |
Ausgänge
Bezeichnung | Porttyp | Beschreibung |
---|---|---|
Nächster Termin | Zeit |
Gibt die Startzeit des nächsten Termins zurück. Der jeweils nächste Termin wird nach Ablauf der Zeit "Aktualisieren nach" nach Beginn des aktuellen Termins angezeigt. Liegt für die nächsten sieben Tage kein Termin an, so wird der Standardzeitpunkt "01.01.0001 00:00:00" zurückgegeben. Der Parameter "Zusammenfassung" wird immer unmittelbar vor diesem Ausgang aktualisiert. |
Zusamenfassung | Zeit |
Liefert eine Zusammenfassung des nächsten Termins gemäß der in "Formatvorlage" eingestellten Formatierung. Liegt für nächsten sieben Tage kein Termin an, kann ein definierter Text ("Text "Kein Text"") ausgegeben werden. Der Parameter "Nächster Termin" wird immer unmittelbar nach diesem Ausgang aktualisiert. |
Anwendung
Beispiel: Kalender zur Steuerung des Weckers
Wenn Menschen jeden Tag zur gleichen Zeit aufstehen, so werden häufig Zeitschaltuhren eingesetzt, um Abläufe zu automatisieren. Verschiebt sich der Tagesablauf jedoch (z.B. aufgrund regelmäßiger Reisetätigkeit), gerät diese Steuerung häufig an ihre Grenzen.
Mit Hilfe des iCal-Kalender-Logikbausteins können Schaltzeiten durch einen externen Kalender bestimmt werden. Der Kalender wird dabei z.B. vom WebRequest-Baustein von Daniel Albuschat eingelesen und an den Logikbaustein übergeben.
Anhand von (teilweise herstellerspezifischen) Filtern werden die relevanten Termine des Tages gefiltert und stehen dann z.B. dem Wecker-Logikbaustein zur Verfügung.
Beispiel: Terminanzeige
Mit Hilfe geeigneter Displays kann der jeweils nächste Termin visualisiert werden.
Lizenzinformationen
- Lizenzbedingungen für diesen Logikbaustein
- Teilweise Übernahme des iCal.NET Parsers von GitHub / der-daniel
- Today icon by Icons8