Moin,
mein zweites eigenes Modul ist gleich etwas komplexer geworden:
Mit OpenCalendar lassen sich verschiedene Online-Kalender direkt in Symcon einbinden, synchronisieren und gemeinsam darstellen und Termine bearbeiten, löschen und hinzufügen direkt in der Kachel, oder der IPSView-Darstellung (bei vorhandenen Schreibrechten im Kalender-Konto).
Unterstützte Kalenderdienste
OpenCalendar unterstützt derzeit:
- Apple iCloud über CalDAV und anwendungsspezifisches Passwort
- Google Calendar über den zentralen Symcon-OAuth-Dienst
- Microsoft 365 und Outlook.com über den zentralen Symcon-OAuth-Dienst
- generische CalDAV-Server
- einzelne oder mehrere ICS-/Webcal-Abonnements
Für Google und Microsoft werden keine eigenen Client-IDs oder Clientschlüssel benötigt. Voraussetzung ist lediglich eine aktive Symcon-Connect-Verbindung.
Kalenderkonten und Konfigurator
Jeder Anbieter wird über eine Instanz Kalender Konto eingerichtet. Nach erfolgreicher Verbindung findet der Kalender Konfigurator automatisch die verfügbaren Kalender und übernimmt beim Erstellen einer Kalender-Instanz:
- Kalendername und technische Kalender-ID
- Anbieter-ID und Kalenderadresse
- Kalenderfarbe
- Lese- und Schreibberechtigungen
- die Verbindung zum richtigen Kalenderkonto
- bei ICS/Webcal den voreingestellten Aktualisierungsplan
Bei mehreren Konten kann entweder für jedes Konto ein eigener Konfigurator verwendet oder ein vorhandener Konfigurator über Gateway ändern mit einem anderen Konto verbunden werden.
Termine synchronisieren und bearbeiten
Jede Kalender-Instanz kann einen eigenen Synchronisationszeitraum und Aktualisierungsplan erhalten. Unterstützt werden:
- Abruf vergangener und zukünftiger Termine
- manuelle oder zeitgesteuerte Synchronisation
- Erstellen neuer Termine
- Bearbeiten und Löschen vorhandener Termine
- ganztägige Termine
- Kalender- und Terminfarben
- ETag-basierter Schutz vor dem Überschreiben zwischenzeitlicher Änderungen
- lokaler Cache für eine zuverlässige Anzeige
Schreiboperationen stehen nur zur Verfügung, wenn der jeweilige Anbieter entsprechende Rechte meldet. ICS- und Webcal-Abonnements sind grundsätzlich schreibgeschützt.
Wiederkehrende Termine werden im gewählten Zeitraum als einzelne Vorkommen dargestellt. Das Ändern oder Löschen einzelner Serienvorkommen ist in dieser Beta bewusst noch nicht freigegeben, damit nicht versehentlich die vollständige Terminserie verändert wird.
Gemeinsame Kalenderansicht
Die Instanz Kalender Ansicht führt beliebig viele Kalender in einer gemeinsamen responsiven Darstellung zusammen. Verfügbar sind:
- Agendaansicht
- 3-Tage-Ansicht
- Wochenansicht
- Monatsansicht
- horizontale oder vertikale Wochendarstellung
- optionale Anzeige von Kalendername, Ort und Beschreibung
- optionale Anzeige des fortlaufenden Tages im Jahr
- Navigation zwischen Zeiträumen
- gemeinsame Synchronisation aller ausgewählten Kalender
- Erstellen, Bearbeiten und Löschen von Terminen direkt in der Ansicht
Die Darstellung passt sich sowohl großen Kacheln als auch schmalen Mobilansichten an.
IPSView-Unterstützung
Neben der nativen Symcon-Kachel kann OpenCalendar eine eigenständige WebContent-Variable für IPSView bereitstellen.
Die IPSView-Ausgabe bietet:
- dieselben Agenda-, 3-Tage-, Wochen- und Monatsansichten
- Touch-optimierte Bedienung
- Terminbearbeitung innerhalb der HTML-Box
- transparente oder gestaltete Hintergründe
- helle und dunkle Vorgaben
- benutzerdefinierte Farben, Schriften, Rahmen und Effekte
- Übernahme geeigneter Standardstile aus einer vorhandenen
.ipsView-Datei - automatische Aktualisierung nach Kalendersynchronisationen
In IPSView muss dafür eine HTML-Box mit dem Renderer Browser des Clients oder Automatisch verwendet werden.
Für die Anpassung der IPSView-Darstellung bietet die Kalenderansicht-Instanz weitreichende Einstellungsmöglichkeiten:
Zuverlässigkeit und Datenschutz
OpenCalendar enthält keine eigene Telemetrie. Kalender- und Termindaten werden grundsätzlich auf der eigenen Symcon-Installation verarbeitet und direkt mit dem jeweiligen Anbieter ausgetauscht.
Liebe Grüße
Burkhard
ICS-/Webcal-Abonnements verfügen zusätzlich über einen persistenten Cache. Temporäre Netzwerk- oder Serverprobleme ersetzen dadurch nicht die letzte gültige Feed-Version. Zugangsdaten, OAuth-Tokens und private Kalenderadressen werden nicht unbereinigt in Debugmeldungen ausgegeben.
Voraussetzungen
- Symcon ab Version 9.0
- für Google und Microsoft eine aktive Symcon-Connect-Verbindung
- für Apple iCloud ein anwendungsspezifisches Passwort
- für IPSView ein HTML-Box-Steuerelement mit Browser-Renderer
Installation
OpenCalendar steht im Symcon Module Store über den Kanal Beta zur Verfügung.
Die empfohlene Reihenfolge ist:
- Kalender Konto anlegen und verbinden.
- Verbindung testen und Konto synchronisieren.
- Kalender über den Kalender Konfigurator erstellen.
- Optional eine Kalender Ansicht für die Kachelvisualisierung oder IPSView anlegen.
Die vollständige Dokumentation befindet sich im OpenCalendar-Repository.
Beta und Rückmeldungen
OpenCalendar wird zunächst als Beta veröffentlicht. Rückmeldungen zu unterschiedlichen CalDAV-Servern, Kalenderanbietern, wiederkehrenden Terminen sowie zur Darstellung auf verschiedenen Endgeräten, Fehlern, Verbesserungswünschen sind ausdrücklich willkommen.
Fehler und Verbesserungsvorschläge können über den GitHub-Issue-Bereich gemeldet werden. Bitte keine Zugangsdaten, OAuth-Tokens oder privaten Kalenderadressen veröffentlichen.
Lizenz
OpenCalendar wird unter der PolyForm Noncommercial License 1.0.0 veröffentlicht und darf im Rahmen der dort definierten nichtkommerziellen Zwecke verwendet, verändert und weitergegeben werden. Für eine kommerzielle Nutzung ist eine gesonderte Erlaubnis erforderlich.









