Plugin ‚ical‘ Konfiguration

plugin logo

Im folgenden sind etwaige Anforderungen und unterstützte Hardware beschrieben. Danach folgt die Beschreibung, wie das Plugin ical konfiguriert wird. Außerdem ist im folgenden beschrieben, wie das Plugin in den Item Definitionen genutzt werden kann. [1]

Es handelt sich bei diesem Plugin um ein web Plugin.

Beschreibung

Ermöglicht die Verwendung von Kalendern (ICS) Es können sowohl Dateien als auch Onlinefeeds eingebunden werden.

Anforderungen

  • Minimum SmartHomeNG Version: 1.9.0

Konfiguration

Im folgenden ist beschrieben, wie das Plugin ical konfiguriert wird. Außerdem ist im folgenden beschrieben, wie das Plugin in den Item Definitionen genutzt werden kann.

Parameter

Das Plugin verfügt über folgende Parameter, die in der Datei ../etc/plugin.yaml konfiguriert werden:

calendars

Liste von Kalendern die automatisch aktualisiert und via sh.ical() Funktion abgerufen werden kann. Konfiguriert optional einen Alias und die URI des Kalenders, die sowohl auf ein lokales File als auch einen Onlinefeed mit https:// verweisen kann. Onlinekalender werden in den Ordner var/ical gespeichert und je nach cycle-Angabe aktualisiert. Beispiel: holidays:http://cal.server/holidays.ics

  • Datentyp: list(str)

cycle

Definiert in Sekunden das Intervall, in dem der Kalender aktualisert werden soll.

  • Datentyp: int

  • Standardwert: 3600

directory

Definiert den Unterordner im var-Pfad, in dem die Kalenderdateien gespeichert werden sollen.

  • Datentyp: str

  • Standardwert: ics

handle_login

Umgang mit Login-Daten (http://user:pass@domain.tld/path) in Kalender-URIs in Logs. ‚mask‘ ersetzt die Login-Daten durch Sternchen, ‚show‘ gibt sie ins Log aus und ‚strip‘ löscht den jeweiligen Teil der URI vor Ausgabe ins Log.

  • Datentyp: str

  • Standardwert: mask

  • Mögliche Werte:

    • mask

    • show

    • strip

timeout

Wartezeit in Sekunden auf eine Antwort vom Server beim Download eines Onlinekalenders.

  • Datentyp: int

  • Standardwert: 10

Item Attribute

Das Plugin unterstützt folgende Item Attribute, die in den Dateien im Verzeichnis ../items verwendet werden:

ical_calendar

Dieses Attribut konfiguriert eine Verbindung zwischen Item und entsprechendem Kalender, der entweder als Dateinamen (die Datei muss in var/ical vom smarthomeNG Verzeichnis liegen), URI oder als Kalender Alias (im etc/plugin.yaml definiert) angegeben wird. Der konfigurierte Kalender wird automatisch zum internen Kalender-Zwischenspeicher hinzugefügt und aktualisiert. Das Item wird auf Wahr gesetzt, sobald ein Event im Moment stattfindet. Ansonsten ist es falsch. Das Aktualisierungsintervall ist derzeit auf eine Minute festgelegt. Das beduetet, jede Minute wird der Kalender auf Events geprüft und das Item bei Bedarf aud Wahr geschaltet.

  • Datentyp: str

Logik Parameter

Das Plugin verfügt über folgende Parameter, die in der Datei ../etc/logic.yaml konfiguriert werden:

Keine Logik Parameter in den Metadaten beschrieben - Bitte in der README nachsehen (siehe Fußnote)

Plugin Functions

Das Plugin verfügt über folgende öffentliche Funktionen, die z.B. in Logiken aufgerufen werden können.

ical(ics= ‚None‘, delta=1, offset=0, prio=1, verify=True)

Es wird ein dictionary mit einem datetime.date Objekt als Key und folgenden Arraywerten zurückgeliefert: die Event Startzeit, die Event Endzeit, die Eventkategorie (z.B. privat), die Eventzusammenfassung (z.B. die Notizen) Start- und Endzeit werden durch das Plugin von der im Kalender verwendeten Zeitzone in die lokale smarthomeNG Zeitzone konvertiert. Wenn ein Kalender öfters verwendet werden soll, wird empfohlen, diesen in der etc/plugin.yaml zu konfigurieren.

  • Ergebnistyp der Funktion: dict

ics

eine lokale Datei, eine mit http:// startende URL oder ein Kalender-Alias aus der Pluginkonfiguration

  • Datentyp: str

  • Standardwert: None

delta

wieviele zusätzliche Tage analysiert werden sollen.

  • Datentyp: int

  • Standardwert: 1

offset

wann der zu analysierende Zeitrahmen starten soll.

  • Datentyp: int

  • Standardwert: 0

prio

Falls in einem Kalendereintrag Felder mehrfach vorkommen, kann hier bestimmt werden, das wievielte Feld priorisiert werden soll.

  • Datentyp: int

  • Standardwert: 1

verify

Bestimmt, ob eine https URL per SSL verifiziert werden soll oder nicht.

  • Datentyp: bool

  • Standardwert: True