Plugin ‚ical‘ Konfiguration
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