owncloud - die Zentrale für Kalender und Adressbuch

owncloud ist eine Cloud Software, die man auf einem eigenem Server betreiben kann.

Nach dieser Anleitung besitzt Ihr eine eigene Cloud.
In dieser werden eure Termine und Kontakte von mehreren Personen verwaltet.

Ich möchte hier Erklären, wie man owncloud, IPS, Android und Thundebird verbindet.

[ul]
[li]IPS kann diese Termine lesen und in verschiedenen Variablen speichern[/li][li]Thunderbird kann Termine und Aufgaben anzeigen, bearbeiten und erstellen. Ebenso wird es ein zentrales Adressbuch geben.[/li][li]Android die Termine und Kontakte werden mit dem owncloud synchronisiert.[/li][li]IOS habe ich nicht, muß jemand anderes testen[/li][/ul]

Das IPS Script ist in der Lage von einem owncloud Server beliebig viele Kalender abzufragen und in Variablen zu speichern.

Das Script basiert auf das als Google Script welches hier im Forum existiert. Weiß aber nicht mehr von wem es ist.

Cloud_V1.18.txt (57,4 KB)

Ich gehe davon aus, daß Ihr einen PHP-fähigen Webserver bereits in Betrieb habt.
Diese muß über das Internet und ggf. im lokalem Netz erreichbar sein.

Die Installation von owncloud wird auf deren Seite hinreichend beschrieben und wird hier nicht weiter erklärt.
Es werden hier aber alle notwendigen Schritte erklärt, um den eigenen owncloud Server mit IPS, Thunderbird und Android zu verbinden.

Der owncloud SERVER:

  1. owncloud Software runterladen und installieren
    Diese bekommt Ihr hier: http://owncloud.org/install/
    Owncloud Server einrichten.
    Nach der Einrichtung ist die Webseite aufzurufen um den owncloud Server einzurichten. Admin, SQL datenbank etc.
    Anleitungen dazu gibt es bei owncloud
    Nach dem ganzen installations Prozess müßt Ihr eine Anmeldemaske sehen.
    Bitte hier als Admin anmelden.
    Logo.png

  2. Einrichtung neuer Benutzer
    Rechts oben die Schaltfläche ‚Admin‘ anklicken und Benutzer wählen.
    Hier die entsprechenden Benutzer eintragen die Ihr benötigt.
    Benutzer.png

Damit ist der Server eingentlich Fertig.

Wenn Ihr euch als Benutzer anmeldet, seht Ihr schon Kalender und Adressbuch.

Für den Zugriff von IPS auf owncloud wird der export von owncloud genutzt.
Der Aufbau der Export Datei ist wie CalDAV aufgebaut. Nur sind in dem Export alle Termine in einer Datei.
Intern erzeugt owncloud pro Termin eine CalDAV-Datei.

Dieses Script ließt mehere Kalender eines ownCloud Servers aus.
Als Unterscheidung dient der Kalendername.

owncloud:
Für den Export ist die Kalernder URL notwendig.
Um die Kalender URL zu bekommen müßt Ihr euch unter dem entsprechenden Benutzer bei owncloud anmelden.
Dann in den ‚Kalender‘ wechseln.
Dort gibt es für jeden Kalender links einige Symbole.
KalenderID.png
Unter anderem ein Pfeil nach unten. Beschriftet mit ‚Herunterladen‘.
Auf den Pfeil nacht Unten bewegt Ihr die Maus. mit RECHTER Maustaste ancklicken !!!
und den Punkt ‚Link Adresse kopieren‘ wählen.

Bei owncloud 9 sieht es etwas anders aus. Dort ist diese Datei runter zuladen und im Browser verlauf kann der Download-Link kopiert werden.

Diese Link Adresse muß in der Konfiguration bei KalenderURL eingetragen werden.

IPS:
Für IPS muß ein neues Script angelegt werden. Wo ist egal, da es später verschoben wird.
In dem neuem Script den kompletten Inhalt der angehängten Datei einfügen.

Anschliessen benötigt das Script noch einige Daten:
Für jeden Kalender dann

  • Benutzername und das Password.

  • Kalender Name

  • Kalender URL URL zu owncloud inkl. Http:// bzw. Https:// angeben.

  • Abfrage Intervall, Standard alle 5 Minuten

  • Darstellung der Visualisierung (Nur ein Ordner, DummyInstanz oder je Kalender eine Kategory)

  • Anzeige Anzahl Tage

Nach der Eingabe der Daten muß das Script einmal gestartet werden.
Es wird dann eine feste Ordner Struktur angelegt und das Script dahin verschoben. Somit ist das Aufgeräumt.
Direkt unter IP-Symcon gibt es einen Ordner ‚AC-Soft‘. Darunter der Ordner ‚Cloud‘.
Hier befindet sich das Script in Scripte, die Variablen in Daten und die Links für das Webfront in Visualisierung.
Mehr muß in IPS nicht getan werden.
Das Script aktualisiert die Variablen selbstständig nach der eingestellten Zeit.

Im Webfront jetzt einfach den Ordner Visualisierung einbinden, Fertig.

Ich habe mich bewußt für eine (aus meiner Sicht) logische feste Ordner Struktur entschieden.
Der Support und die Pflege ist aus meiner Sicht dadurch einfacher.
Die Struktur kann ohne Änderungen im Script nicht geändert werden.
Wer möchte kann aber die Namen alle ändern, da ich die Objekte über Idents finde.

Update:
Alles ab
//
/******* Für Update ab hier alles ersetzen und 1x ausführen /
/
/
/
************* Ab hier bitte nichts mehr ändern *************/
/*****************************************************************/
austauschen. Dann einmal Ausführen.

Historie:
Version 1.01:

  • wenn der Kalender keine Einträge enhielt, kam es zu Fehlermeldungen.

Version 1.03:

  • Einige Bugfixes ( Einträge im falschen Kalender, Fehlermeldung bei Leeren Kalendern )
  • 2 neue Variablen Übermorgen und Überübermorgen.
  • Läuft jetzt auch auf einem Raspberry/BananaPi !

Version 1.04:

  • BugFix Für Wiederholungen ohne Ende Eintrag. (Wurden nicht angezeigt)
  • : im Beschreibung jetzt zulässig (beliebig viele)

Version 1.05:

  • Neu: Bei Terminen mit Erinnerung können jetzt EMails verschickt werden ACHTUNG Konfig ‚EmailID‘ muß angepasst werden.

Version 1.06:

  • Bugfix: Alte Termine wurden nicht immer angezeigt.
  • Bugfix: Farben überarbeitet und funktionstüchtig gemacht
  • Bugfix: Erinnerung wurde bei mehrfachen Erinnerungen nicht sauber ausgewertet. Es wird NUR die erste Erinnerung genutzt. Erinnerung mit festen Termin wird ignoriert.
  • Neu: Feiertage werden ausgewertet und an Tagen MIT Terminen im Titel angezeigt

Version 1.07:

  • Bugfix: Termine mit Wiederholung wurden in ‚Heute‘ nicht angezeigt.
  • Bugfix: Umlaut bei Ganztägig war in IPS4 nicht korrekt
  • Neu: Schriftgröße für ‚Heutige‘ Termine wählbar <$StyleText[14]>
  • Neu: Abgelaufene Termine in der ‚Heute‘ Ansicht können ausgeblendet werden <$visualoldtimes>
  • Neu: Es können jetzt beliebig viele Erinnerungen angelegt werden.
  • Neu: Eine Erinnerung kann dynamisch (z.B.15min vorher oder nachher) oder statisch (absoluter Zeitpunkt) erfolgen
  • Neu: Dynamische Erinnerungen werden in Abhängigkeit der Terminwiederholung mitgeführt.
  • Neu: Alle Erinnerungen werden in Klammern ohne Datum angezeigt.
  • Neu: Bei jeder Erinnerung wird eine Mail verschickt, sofern Mailversand aktiviert wurde.

Version 1.08:

  • Bugfix: Termine ohne Wiederholung wurden die Erinnerungen nicht erzeugt.
  • Neu: Tabellen Kopf kann ergänzt werden $StyleText[20] Muß in Konfig ergänzt werden
  • Neu: Die TerminTitel können über ein Userscript modifiziert werden. Dazu wird ein Userscript erstellt. Da können die Titel manipuliert werden (Ralf sein Wunsch)
  • Neu: Die HTML Ausgabe kann in einer Datei gespeichert werden. $htmlfilewrite Ziel: \media\owncloud_xx.html. Schon seit einigen Versionen drin.

Version 1.09:

  • Neu: Termin Intervall wird jetzt ausgewertet. Alle xx Tage/Wochen/Monate/Jahre ist jetzt möglich

Version 1.10

  • Neu: Debugausgabe der Interpretieren Daten in eine Datei /media/owncloud_xx.dbg
  • Neu: UserEvent Durch einen Termin kann ein beliebieger Befehl in IPS ausgelöst werden.
    Ort muß dabei „UserEvent“ heissen und in Betreff muß der entsprechende Befehl sein.
    z.B. HM_WriteValueBoolean(26250, „STATE“, true);
    Es geht nur ein Befehl. Alle Befehle aus IPS sind möglich!

Version 1.11

  • Neu: Debugausgaben erweitert
  • Neu: Auswertung Feiertage kann mit – abgeschaltet werden

Version 1.12

  • Neu: Bei jährlichen Wiederholungen, wird die Anzahl der Wiederholungen hinter dem Termin angezeigt. (s. i. d. R. Geburtstage)
  • Neu: UserEvent in externes Script verlagert
  • Neu: Externes Script für UserEvent und ReminderEvent. FÜR UPDATE ALTES SCRIPT LÖSCHEN! UND EINMAL AUSFÜHREN.ES WIRD EIN NEUES ANGELEGT. ÄNDERUNGEN VORHER SICHERN!
  • Neu: Variable nächste Termine jetzt mit Anzeige Datum und Uhrzeit
  • Fix: Variablen für Termine (ausser Kalender) werden auf ~TextBox gesetzt. Damit funktioniert auch der Zeilenumbruch

Version 1.13

  • getestete und funktionstüchtige Versionen
    ownCloud 8.0, 8.1, 8.2, 9.1
    NextCloud 11

  • Neu: Auch für owncloud 9 nutzbar
    ACHTUNG owncloud 8 Nutzer müssen Ihre Config anpassen

  • Change: Es muß für jeden Benutzer eine vollständige KalenderURL angegeben werden

  • Change: KalenderID entfernt

  • Change: (debug/HTML) Filewrite geändert von KalenderID zu KalenderName

Version 1.14

Version 1.15

  • 1.14 Fehlerhaft

Version 1.16

  • Nach update Script einmal ausführen
  • Alle Termine werden in reiner Textform in die Variable KalenderTXT abgespeichert.
    Daten können so besser weiterverarbeitet werden. In KalenderTXT stehen alle Termine.
  • Feiertage überarbeitet. Buß und Bettag nur in SN, Reformationstag in BB, HB, HH, MV, NI, SN, ST, SH, TH

Version 1.17

  • Danke Ralf
  • iconv ergänzt. Damit sollten die iconv Fehler beseitigt sein.

Version 1.18

  • Synology sollte jetzt auch gehen. Wenn aber über Webseite des Synology Calendars ein Termin mit Erinnerung eingestellt wird, wird die Erinnerung in den Export nicht eingetragen. Somit keine Benachrichtigung etc. Betrifft NUR die Einträge über sie Webseite von Synology!

Cloud_V1.18.txt (57.4 KB)

Kalender
owncloud:
Von owncloud wird die CalDav Adressen benötigt.
Diese findet Ihr wieder aus der Webseite eures owncloud Server. Dazu wieder einloggen und in ‚Kalender‘ wechseln.
Diesmal müssen Sie auf das Ketten Symbol (CalDav Link) klicken.
Darunter wird eine Textfeld angezeigt. Den Inhalt des Feldes kopieren.
Das Textfeld enthält den kompletten CalDav Link.
KalenderID.png

Thunderbird:
Bei Thunderbird werden zusätzliche 2 Apps benötigt.

  • Ligthning. Der Kalender von Mozilla
  • Sogo Connector für Thunderbird für die synchronisation der Kontakte

Als erstes Ligthninginstallieren.
Dazu in Thunderbird ‚Add-ons‘ in ‚Extras‘ aufrufen.
Jetzt nach Lightning suchen und installieren. Neustart von Thunderbird ist notwendig.
In Thunderbird ‚Termine & Aufgaben‘ ‚Kalender‘ öffnen und einen neuen Kalender erstellen.

  • Kalendertyp ist „Im Netzwerk“.
  • Format ist CalDAV.
  • Adresse ist die CalDav Adresse von oben eintragen.
  • weiter.
  • Farbe und Namen eintragen.
  • Fertigstellen.

Damit sollte der Kalender schon funktionieren.

Kontakte:
owncloud:
Von owncloud wird die CardDav Adressen benötigt.
Diese findet Ihr wieder aus der Webseite eures owncloud Server. Dazu wieder einloggen und in ‚Kontakte‘ wechseln.
Unten links in der Ecke gibt es ein Zahnrad Symbol. Dieses anklicken. Es schiebt sich ein bekanntes Fenster hoch.
Hier wieder auf das Ketten Symbol (CardDav Link) klicken.
Darunter wird eine Textfeld angezeigt. Den Inhalt des Feldes kopieren.
Das Textfeld enthält den kompletten CardDav Link.

Thunderbird:
Für die Kontakte wird Soro Connector benötigt. Den Connector downloaden.
Dann wieder in Thunderbird in ‚Extras‘ ‚Add-ons‘ öffnen.
Dann auf das Zahnrad oben ‚Tools für Add-ons‘ den Punkt ‚Add-on aus Datei installieren‘ wählen.
Dann die gerade downgeloadete Datei eintragen und installieren.
Thunderbird neustarten.

Adressbuch öffnen und ‚Datei‘-‚Neu‘-‚Remote Adressbuch‘ öffnen.
Namen eintragen und wieder die komplette CardDav URL.
Die haken nach seinem Gesmach setzen.
Fertig.

Jetzt müssen nur noch die Kontakte von dem lokalen in das Serverseitige Adressbuch kopiert werden.

Für die synchronisation mit dem Server werden einige Programme benötigt.
owncloud - für die synchronisation von Bildern und Videos Wenn benötigt.
owncloud JB - Wer Jelly Beam auf seinem Android Gerät hat benötig noch dieses
CalDav free - für die synchronisation der Kalender Einträge
CardDav free - für die synchronisation der Kontakte

Einrichten:
Optional ist owncloud zu installieren. Bei der Eingabe der URL gibt es eine Besonderheit. In keinem Fall http:// oder https:// einegeben. Das trägt das Programm selbst ein. Das gemeine ist, selbst wenn man es einträgt funktioniert es augenscheinlich, aber man bekommt dann keine Dateien angezeigt oder hochgeladen.

Kalender:
owncloud:
Von owncloud wird die CalDav Adressen benötigt.
Diese findet Ihr wieder aus der Webseite eures owncloud Server. Dazu wieder einloggen und in ‚Kalender‘ wechseln.
Diesmal müssen Sie auf das Ketten Symbol (CalDav Link) klicken.
Darunter wird eine Textfeld angezeigt. Den Inhalt des Feldes kopieren.
Das Textfeld enthält den kompletten CalDav Link.
KalenderID.png

Android:
CalDav free installieren.
Zum Einrichten muß man die Einstellungen von Android öffnen.
Unter Konten kann man jetzt ein neues Konto vom Typ CalDav Sync Apater anlegen.
Hier ist die URL, der Benutzername und Kalendername anzugeben.
Nachdem das Konto angelegt ist, dieses öffnen und die synchronisation einschalten.
Fertig.
Wenn Sie im Kalender einen neuen Termin eingeben, darauf achten das Sie den owncloud Kalender wählen.
Die Synchronisation mit Google können Sie ggf. abschalten.
Im Kalender kann auch ausgewählt werden, welche Konten alle angezeigt werden sollen.

Kontakte:
owncloud:
Von owncloud wird die CardDav Adressen benötigt.
Diese findet Ihr wieder aus der Webseite eures owncloud Server. Dazu wieder einloggen und in ‚Kontakte‘ wechseln.
Unten links in der Ecke gibt es ein Zahnrad Symbol. Dieses anklicken. Es schiebt sich ein bekanntes Fenster hoch.
Hier wieder auf das Ketten Symbol (CardDav Link) klicken.
Darunter wird eine Textfeld angezeigt. Den Inhalt des Feldes kopieren.
Das Textfeld enthält den kompletten CardDav Link.

Android:
Dazu CardDav free installieren.
Zum Einrichten muß man die Einstellungen von Android öffnen.
Unter Konten kann man jetzt ein neues Konto vom Typ CardDav anlegen.
Hier ist die URL, der Benutzername und Kalendername anzugeben.
Nachdem das Konto angelegt ist, dieses öffnen und die synchronisation einschalten.
Fertig.

Bei einem neuen Kontakt darauf Achten, das es in das richtig Konto kommt.
Mehr muß nicht gemacht werden.

Hi,

danke für die Coole Anleitung, wenn ich wieder mal Zeit habe (muss erst die Cloud umziehen auf eine Raspi) setze ich Dein Script mal um.

MfG
Kris

Hallo,

vielen Dank für das Script. Ich konnte es einwandfrei in IPS integrieren.

Es scheint ein Problem mit den Zeitzonen bzw. Sommerzeit und Winterzeit zu geben. Wenn ich einen Termin für 15 Uhr eintrage, wird 14 Uhr angezeigt. In der mySQL Datenbank von Owncloud stehe ebenfalls 14 Uhr, aber dort scheint irgendwo noch eine Berücksichtigung der Zeitzone stattzufinden.

Kann das jemand nachvollziehen und mir evtl. helfen?

Danke und Gruß,
Christoph

Guten morgen,
ich glaube ich weiß wo dein Fehler liegt, in der falsch eingestellten Zeitzone von Owncloud, glaub das war ein bisschen Tricky bzw. eine komische Einstellung.

Ich hatte das Problem auch schon, zwar nicht in Zusammenhang mit IP-Symcon aber bei der Synchronisation mit meinem Handy-Terminkalender.

Ich bin aber erst wieder heute Abend zu Hause und kann dir dann bescheid geben, was man umstellen kann.

Hallo,

bei mir steht „Berlin“ unter Zeitzone. Oder gibt es noch irgendwo etwas verstecktes?

Grüße,
Christoph

Bei mir steht unter Zeitzone „Vaduz“.

Zwar haben Berlin und Vaduz genau dieselben Zeitzonen, aber als ich bei mir Berlin eingestellt hatte, hatte ich das gleiche Problem wie du.

Seit ich Vaduz habe passt alles und die Termine werden richtig eingetragen von der Zeit her.

Hat hierfür vielleicht jemand eine Erklärung?

Also auf dem Handy und allen anderen Geräten sowie dem Webinterface von owncloud passt hier alles. Nur dieses Script liest nicht richtig aus oder berücksichtigt irgendwas nicht. Immer pauschal eine Stunde addieren wird wahrscheinlich auch nicht gehen, oder?

Ah okay, ich dachte auch in deinem Kalender etc. wird es falsch angezeigt.

Das mit dem addieren, kann ich dir leider nicht beantworten.

Aber wenn du noch ein wenig Geduld hast, ich werde das Script am Wochende auch beim mir Installieren / Einbauen, und kann dir dann vieleicht näheres sagen bzw. habe eine Idee.

Habe mir mal die Datei angesehen, welche das Script aus OwnCloud ausliest. Dort steht z.B. auch 18 Uhr, obwohl der Termin um 19 Uhr anfängt. Kann auch nirgends einen Hinweis entdecken, dass man da noch mal eine Stunde drauflegen muss.

Bin gespannt auf Deine Ergebnisse am Wochenende. Danke schon mal.

Gruß,
Christoph

Abend!

Da ich bei mir auf einem der Server auch ein ownCloud laufen habe, hab ich das Skript mal kurz getestet. Die ersten Tests haben ohne Probleme funktioniert.

Musste nur meine URL wie folgt eingeben: https://xxx.xxxxxxx.xx:1234/ (der „/“ am Ende war wichtig, wegen dem Port)

Die Test-Termine wurden korrekt ausgelesen, Uhrzeit wurde korrekt angezeigt, auch ganztägige und mehrtägige Termine werden korrekt angezeigt.

Bzgl. Zeitzone konnte ich in meiner ownCloud-Installation (v7.0.4) nichts finden. Die Server-Zeitzone ist Berlin.

Grüße,
Chris

Ich habe noch die Version 6.0.2. Vielleicht liegt es daran?

Problem bei mir ist nur, dass ich irgendwie kein Update machen kann. Da passt irgendwas mit den Berechtigungen auf die Verzeichnisse nicht. Müsste ich mir bei Gelegenheit mal anschauen, wie man ein Update macht.

Gruß,
Christoph

Moin!

Wenn du SSH Zugriff auf deinen ownCloud Server hast, dann werden die Berechtigungen ja schnell zu „fixen“ sein.

Ab 7.0.x waren die Updates dann deutlich entspannter, sieht mittlerweile fast schön aus der Update-Prozess :smiley: Wenn ich da an die ersten Versionen denke…uiuiui… :smiley: Ich glaube aber, dass auch bei deiner Version das Update schon unter „Administration“ und mit einem Klick auf „Update Center“ zu finden war.

Wenn ich noch was prüfen/helfen kann, einfach melden!

Grüße,
Chris

Hallo zusammen,

Problem hat sich erledigt. Die OwnCloud Installation ist nun auf der aktuellen Version 7.0.4 und nun liest IPS die Termine mit der korrekten Uhrzeit aus.

Dank an Bayaro für die Unterstützung per TeamViewer!

Gruß,
Christoph

Im Script wird die Zeitzone nicht berücksichtigt. Sowohl der Rechner auf dem IPS läuft als auch die Zeitzone in owncloud stehen auf Berlin.
Alle Termine in owncloud, Thunderbird und Android werden korrekt angezeigt. Sonst hätte ich das im Script berücksichtigt.

Wie siehen die Zeiten denn im owncloud Export aus. Sind die dort richtig oder falsch?

Zuspät gesehen hat sich ja erledigt.

Sind denn alle zufrieden?

Gruß Andre

Ich habe das so nach Anleitung installiert, funktioniert auch. Allerdings werden bei zwei Kalendern die Termine für etwa ein halbes Jahr angezeigt und auch bei diesen beiden vermischt.
Woran könnte das liegen?

Gruß qinshi

Ja, läuft ohne Probleme. Vielen Dank!