Calendar: Unterschied zwischen den Versionen
K (kleinere Korrekturen) |
F Klee (Diskussion | Beiträge) (Kapitel "Events" aus commandref in Wiki übernommen.) |
||
(8 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt) | |||
Zeile 2: | Zeile 2: | ||
|ModPurpose=Anlegen eines Kalenderobjekts | |ModPurpose=Anlegen eines Kalenderobjekts | ||
|ModType=h | |ModType=h | ||
|ModForumArea=Unterstützende Dienste/Kalendermodule | |||
|ModTechName=57_Calendar.pm | |ModTechName=57_Calendar.pm | ||
|ModOwner=borisneubert | |ModOwner=borisneubert ({{Link2FU|10|Dr. Boris Neubert}}) | ||
}} | }} | ||
[[Calendar]] ist ein Hilfsmodul, das Kalenderereignisse aus einer Datei oder einem über die URL angegeben Kalender holt. Der Kalender muss im iCal-Format vorliegen. | [[Calendar]] ist ein Hilfsmodul, das Kalenderereignisse aus einer Datei oder einem über die URL angegeben Kalender holt. Der Kalender muss im iCal-Format vorliegen. | ||
Zur Anzeige der Kalenderereignisse kann | Zur Anzeige der Kalenderereignisse kann das Modul [[CALVIEW]] verwendet werden. | ||
== Voraussetzungen == | == Voraussetzungen == | ||
Zeile 16: | Zeile 15: | ||
== Anwendung == | == Anwendung == | ||
=== Define === | === Define === | ||
Siehe {{Link2CmdRef|Anker=Calendardefine}}; | |||
:<code>define <name> Calendar ical url <URL> [<interval>]</code> | :<code>define <name> Calendar ical url <URL> [<interval>]</code> | ||
:<code>define <name> Calendar ical file <FILENAME> [<interval>]</code> | :<code>define <name> Calendar ical file <FILENAME> [<interval>]</code> | ||
Sofern für den Zugriff auf den Kalender Benutzername und Passwort erforderlich sind, können diese in der URL beispielsweise so mit angegeben werden: | Sofern für den Zugriff auf den Kalender Benutzername und Passwort erforderlich sind, können diese in der URL beispielsweise so mit angegeben werden: | ||
:<code>define myCalendar ical url <nowiki>https://user:password@my.domain.com/.../yourcalendar.ics</nowiki></code> | :<code>define myCalendar Calendar ical url <nowiki>https://user:password@my.domain.com/.../yourcalendar.ics</nowiki></code> | ||
=== Attribute === | === Attribute === | ||
Siehe {{Link2CmdRef|Anker=Calendarattr}}; | |||
=== Events === | |||
Wenn der Kalendar neu geladen oder aktualisiert oder eine Alarm-, Start- oder Endzeit erreicht wurde, wird ein FHEM-Event erzeugt: | |||
<code>triggered</code> | |||
Man kann sich darauf verlassen, dass alle Readings des Kalenders in einem konsistenten und aktuellen Zustand befinden, wenn dieses Event empfangen wird. | |||
Wenn ein Termin geändert wurde, werden zwei FHEM-Events erzeugt: | |||
<code>changed: UID <mode></code> | |||
<code><mode>: UID</code> | |||
<mode> ist der aktuelle Modus des Termins nach der Änderung. Bitte beachten: Im FHEM-Event befindet sich ein Doppelpunkt gefolgt von einem Leerzeichen. | |||
FHEM-Events sollten nur auf den vorgenannten Events basieren und nicht auf FHEM-Events, die durch ändern eines mode... Readings ausgelöst werden. | |||
== Anwendungsbeispiel(e) == | == Anwendungsbeispiel(e) == | ||
* Einbindung von owncloud-Kalendern | |||
Für ownCloud-Kalender muss bei der Definition als <URL> der Link zum Export des jeweiligen Kalenders angegeben werden. Der Link kann in der Weboberfläche von ownCloud gefunden werden. Für ownCloud 9.0 folgt dieser URL z.B. dem folgenden Muster: | |||
:<code>http://<ownCloud-Benutzer>:<ownCloud-Passwort>@example.com/owncloud/remote.php/dav/calendars/<ownCloud-Benutzer>/<Kalendername>?export</code> | |||
Der Standard für <Kalendername> ist <code>defaultcalendar</code> | |||
* [[Google-Kalender zur Steuerung von Dummies]] | |||
* [[Wochenende, Feiertage und Schulferien]] | |||
* Limitierungen im Sinne der Datenarmut nutzen | |||
Die Attribute <code>hideOlderThan <timespec></code> und <code>hideLaterThan <timespec></code> bewirken, dass nur Kalendereinträge des definierten Zeitraums angezeigt werden. Gerade bei langjährig genutzen Kalendern kann die Datenmenge ansonsten extrem groß werden und schlägt sich in entsprechend langen Update-Runs nieder. | |||
== Links == | == Links == | ||
* Modul, das alle Termine aus einer bestehenden Instanz von [[Calendar]] in Readings übernimmt: [[CALVIEW]] |
Aktuelle Version vom 23. Juni 2024, 07:26 Uhr
Calendar | |
---|---|
Zweck / Funktion | |
Anlegen eines Kalenderobjekts | |
Allgemein | |
Typ | Hilfsmodul |
Details | |
Dokumentation | EN / DE |
Support (Forum) | Unterstützende Dienste/Kalendermodule |
Modulname | 57_Calendar.pm |
Ersteller | borisneubert (Dr. Boris Neubert ) |
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref! |
Calendar ist ein Hilfsmodul, das Kalenderereignisse aus einer Datei oder einem über die URL angegeben Kalender holt. Der Kalender muss im iCal-Format vorliegen.
Zur Anzeige der Kalenderereignisse kann das Modul CALVIEW verwendet werden.
Voraussetzungen
Wenn die Kalender-URL mit https:// beginnt, muss das Perl Modul IO::Socket::SSL installiert sein (z.B. mit cpan -i IO::Socket::SSL
oder mit apt-get install libio-socket-ssl-perl
).
Anwendung
Define
Siehe commandref/Calendardefine;
define <name> Calendar ical url <URL> [<interval>]
define <name> Calendar ical file <FILENAME> [<interval>]
Sofern für den Zugriff auf den Kalender Benutzername und Passwort erforderlich sind, können diese in der URL beispielsweise so mit angegeben werden:
define myCalendar Calendar ical url https://user:password@my.domain.com/.../yourcalendar.ics
Attribute
Siehe commandref/Calendarattr;
Events
Wenn der Kalendar neu geladen oder aktualisiert oder eine Alarm-, Start- oder Endzeit erreicht wurde, wird ein FHEM-Event erzeugt:
triggered
Man kann sich darauf verlassen, dass alle Readings des Kalenders in einem konsistenten und aktuellen Zustand befinden, wenn dieses Event empfangen wird.
Wenn ein Termin geändert wurde, werden zwei FHEM-Events erzeugt:
changed: UID <mode>
<mode>: UID
<mode> ist der aktuelle Modus des Termins nach der Änderung. Bitte beachten: Im FHEM-Event befindet sich ein Doppelpunkt gefolgt von einem Leerzeichen.
FHEM-Events sollten nur auf den vorgenannten Events basieren und nicht auf FHEM-Events, die durch ändern eines mode... Readings ausgelöst werden.
Anwendungsbeispiel(e)
- Einbindung von owncloud-Kalendern
Für ownCloud-Kalender muss bei der Definition als <URL> der Link zum Export des jeweiligen Kalenders angegeben werden. Der Link kann in der Weboberfläche von ownCloud gefunden werden. Für ownCloud 9.0 folgt dieser URL z.B. dem folgenden Muster:
http://<ownCloud-Benutzer>:<ownCloud-Passwort>@example.com/owncloud/remote.php/dav/calendars/<ownCloud-Benutzer>/<Kalendername>?export
Der Standard für <Kalendername> ist defaultcalendar
- Google-Kalender zur Steuerung von Dummies
- Wochenende, Feiertage und Schulferien
- Limitierungen im Sinne der Datenarmut nutzen
Die Attribute hideOlderThan <timespec>
und hideLaterThan <timespec>
bewirken, dass nur Kalendereinträge des definierten Zeitraums angezeigt werden. Gerade bei langjährig genutzen Kalendern kann die Datenmenge ansonsten extrem groß werden und schlägt sich in entsprechend langen Update-Runs nieder.