Zeitsteuerungsbausteine Hilfe

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:

  • 0 [DateTime] Startzeit des nächsten Termins.
  • 1 [TimeSpan] Dauer des nächsten Termins.
  • 2 [String] Betreff/Titel des nächsten Termins.
  • 3 [String] Ort des nächsten Termins.

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.

Kalender für Wecksequenz
In diesem Beispiel werden zwei Kalender ausgelesen und die Startzeiten kombiniert an den Wecker übermitelt.

Beispiel: Terminanzeige

Mit Hilfe geeigneter Displays kann der jeweils nächste Termin visualisiert werden.

Lizenzinformationen