Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS-19000158 ics/CalDAV Kalender Client

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • MoseP
    antwortet
    Zitat von ak68 Beitrag anzeigen
    PS: Installation von simpleCalDAV nicht vergessen:
    cd /usr/local/edomi/main/include/php/
    git clone --branch=master https://github.com/wvrzel/simpleCalDAV
    Könntest Du diesen Hinweis in der Hilfe zum LBS ergänzen?

    Leider erhalte ich beim Versuch, einen web.de-Kalender mittels CalDAV abzurufen, nur die Meldung im Individual-Log "No data received MeinKalender". Hat das schon jemand erfolgreich hinbekommen? Ich habe beide von web.de angegebenen Methoden versucht, den Klartext-Link "https://kalender.web.de/begenda/dav/ Ihre WEB.DE E-Mail-Adresse/calendar" wie auch den kryptischen Link aus der HomeCollection.

    Einen Kommentar schreiben:


  • ak68
    antwortet
    Zitat von stonie2oo4 Beitrag anzeigen
    Kann man iwie herausfinden wieso die Verbindung zur Cloud scheitert?
    Gibt es Einträge im Individual-Log ?

    Einen Kommentar schreiben:


  • stonie2oo4
    antwortet
    Ja hab ich installiert noch Anleitung:
    Unbenannt.JPG

    Nextcloud ist bei mir nicht direkt im Web-Root "www" sondern im Unterverzeichnis "nextcloud" installiert. Deswegen sollte der Link so passen.
    Muss den Link auch so angeben um auf die Weboberfläche der Cloud zu kommen.

    Kann man iwie herausfinden wieso die Verbindung zur Cloud scheitert?

    Einen Kommentar schreiben:


  • ak68
    antwortet
    Zitat von stonie2oo4 Beitrag anzeigen
    Ich benutze nextcloud und wollte die caldav Integration auch endlich mal testen. Hab jetzt den Code von ak68 benutzt.
    Leider bekomm ich folgende Fehlermeldung:
    Code:
    2018-10-07 09:43:30 833992 ? 28842 Datei: /usr/local/edomi/main/include/php/simpleCalDAV/CalDAVClient.php | Fehlercode: 8 | Zeile: 291 | Undefined property: CalDAVClient::$httpResponseHeaders ERROR
    2018-10-07 09:43:30 835597 ? 28842 Datei: /usr/local/edomi/main/include/php/simpleCalDAV/CalDAVClient.php | Fehlercode: 8 | Zeile: 299 | Undefined property: CalDAVClient::$httpResponseBody ERROR
    2018-10-07 09:43:30 836128 ? 28842 Exception: Can't reach server
    Ich hab in E5 und E8 den Kalender eingetragen den ich aus dem nextcloud webinterface bekomme. In folgendem Format:
    https://TLD/nextcloud/remote.php/dav...User/personal/
    also bei E5: https://TLD/nextcloud/remote.php/dav/calendars/User/
    Und E8: personal
    TLD und User logischerweiße die echten Werte.

    Bei E6 und E7 User und Pass.
    Und bei E4: caldav

    Muss ich den Kalender irgendwie speziell freigeben, oder hab ich sonst irgendwas vergessen?
    Auf meinem Iphone funktioniert der Kalender einwandfrei.
    Hallo Stonie,

    hast Du die simpleCALDAV-Bibliothek SICHER installiert ?

    Ich habe folgende Einstellungen im LBS (müsste bei nextcloud ähnlich sein):
    E4: caldav
    E5: https://cloud.xxxxxxxxx.de/remote.ph...s/user/
    muss /nextcloud/ bei DIR wirklich enthalten sein ? Ich habe nextcloud-Beispiele ohne gefunden !
    E8: hauptkalender

    Die Abfrage bei mir (owncloud) funktioniert mit mehreren Kalendern parallel (durch "|" getrennte Einstellungen bei E4-E8)

    Viele Erfolg
    Andreas

    PS: Leider haben weder wintermute, noch Winnie den LBS entsprechend ergänzt und zum Download bereit gestellt- vielleicht könnte Einer der Beiden dies noch nachholen ! DANKE !!!!!
    Zuletzt geändert von ak68; 07.10.2018, 18:49.

    Einen Kommentar schreiben:


  • stonie2oo4
    antwortet
    Kann ich den Fehler irgendwie besser eingrenzen?

    Einen Kommentar schreiben:


  • Glotzkowski
    antwortet
    Zitat von Glotzkowski Beitrag anzeigen
    Kannst Du vom EDOMI Server ausgehen den Kalender als CSV herunterladen?
    Wobei sich das beim zweiten Hinsehen eigentlich erledigt, da Du scheinbar eine Antwort bekommen hast, als an E4 ical drin stand...

    Einen Kommentar schreiben:


  • Glotzkowski
    antwortet
    Die Fehlermeldungen besagen alle drei, dass EDOMI den Server nicht erreichen konnte und es daher keine Antwort gab.
    Kannst Du vom EDOMI Server ausgehen den Kalender als CSV herunterladen?
    War auch in diesem Thread irdgendwo beschrieben.
    Zuletzt geändert von Glotzkowski; 07.10.2018, 13:45.

    Einen Kommentar schreiben:


  • stonie2oo4
    antwortet
    Ich benutze nextcloud und wollte die caldav Integration auch endlich mal testen. Hab jetzt den Code von ak68 benutzt.
    Leider bekomm ich folgende Fehlermeldung:
    Code:
    2018-10-07 09:43:30    833992    ?    28842    Datei: /usr/local/edomi/main/include/php/simpleCalDAV/CalDAVClient.php | Fehlercode: 8 | Zeile: 291 | Undefined property: CalDAVClient::$httpResponseHeaders    ERROR
    2018-10-07 09:43:30    835597    ?    28842    Datei: /usr/local/edomi/main/include/php/simpleCalDAV/CalDAVClient.php | Fehlercode: 8 | Zeile: 299 | Undefined property: CalDAVClient::$httpResponseBody    ERROR
    2018-10-07 09:43:30    836128    ?    28842    Exception: Can't reach server
    Ich hab in E5 und E8 den Kalender eingetragen den ich aus dem nextcloud webinterface bekomme. In folgendem Format:
    https://TLD/nextcloud/remote.php/dav...User/personal/
    also bei E5: https://TLD/nextcloud/remote.php/dav/calendars/User/
    Und E8: personal
    TLD und User logischerweiße die echten Werte.

    Bei E6 und E7 User und Pass.
    Und bei E4: caldav

    Ich hatte am Anfang mal ausversehen bei E4: ics drinstehen. Da hat er mir eine Temp datei angelegt mit folgendem Inhalt:
    Code:
    This is the WebDAV interface. It can only be accessed by WebDAV clients such as the Nextcloud desktop sync client.
    Muss ich den Kalender irgendwie speziell freigeben, oder hab ich sonst irgendwas vergessen?
    Auf meinem Iphone funktioniert der Kalender einwandfrei.
    Zuletzt geändert von stonie2oo4; 07.10.2018, 14:02.

    Einen Kommentar schreiben:


  • ak68
    antwortet
    Zitat von wintermute Beitrag anzeigen
    Ich verstehe ja nicht wirklich, warum und wie Ihr diesen Esel unaufhoerlich pruegelt
    Das "Prügeln" des Esels/ äh LBS war durchaus erfolgreich:

    Der Multisort-Array-Fehler ist behoben und die Sortierroutine angepasst:

    in der Zeile 273 ein „$calDavEvents=array();“ eingefügt
    in den Zeilen 277 und 283 dann nicht „$events“ sondern „$calDavEvents“ verwendet
    Doppeleinträge von $events Array ausgeschlossen
    $i in Zeile 365 korrigiert
    Vielen Dank hierfür dem "php-Profi" Peter aus Nürnberg

    Bei mir läuft der LBS jetzt mit 7 (!) CalDAV-Kalendern (ownCloud) parallel- fehlerfrei !!!
    Auch alle Zusatzparameter wie z.B. moredays, samedays etc. funktionieren jetzt endlich auch bei CalDAV-Kalendern.

    Bitte testet den korrigierten LBS (von mir nur mit mit ownCloud-Kalendern getestet/ bitte auch mit *.ics Kalendern testen, ob dies noch wie bisher funktioniert !)

    PS: Installation von simpleCalDAV nicht vergessen:
    cd /usr/local/edomi/main/include/php/
    git clone --branch=master https://github.com/wvrzel/simpleCalDAV

    Viel Erfolg und viel Spaß
    Andreas

    Zuletzt geändert von vento66; 01.01.2019, 23:02. Grund: Mod edit PHP Code entfernt, der LBS ist im DL Portal verfügbar

    Einen Kommentar schreiben:


  • ak68
    antwortet
    Zitat von wintermute Beitrag anzeigen
    Ich verstehe ja nicht wirklich, warum und wie Ihr diesen Esel unaufhoerlich pruegelt
    Hallo Michael,

    einfacher wäre natürlich, wenn Du helfen könntest, Deinen LBS auch für CalDAV-Kalender lauffähig zu machen.
    Dies war mit der urspünglichen CalDAV-Library zumindest bei einem ownCloud-Server offensichtlich NICHT möglich !
    PS: die ics-Kalender-Funktionen funktioniert nach dem "Tuning" von Winnie supergut !!!

    Mit den Veränderungen von Mike (neue CalDAV-Library) ist jetzt zwar eine Abfrage jetzt möglich, jedoch tritt o.g. Fehler beim Sortieren auf (array multisort), damit ist z.Zt der LBS für CAL-DAV-Anfragen nicht brauchbar- schade.
    Vielleicht erbarmst Du Dich ja noch und schaust´ Dir das noch einmal an

    Das Problem ist (wie von Mike beschrieben), dass anhand des alten LBS nicht nachvollziehbar ist, in welchem Format das array ($evente) am Ende des cal-DAV-Abschnitts ist und wohl deshalb unterschiedlich ist zu den Ergebnis der "neuen" Abfrage.

    Diese Frage könntest Du natürlich am Besten beantworten !

    Ganz großen Dank schon ´mal für Deine Hilfe
    Andreas
    Zuletzt geändert von ak68; 07.07.2018, 11:51.

    Einen Kommentar schreiben:


  • wintermute
    antwortet
    Ich verstehe ja nicht wirklich, warum und wie Ihr diesen Esel unaufhoerlich pruegelt

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Mach doch mal aus dem letzten Statement eine IF Anweisung:

    PHP-Code:
    if ($l $DEBUGwriteToCustomLog(...); 

    Einen Kommentar schreiben:


  • ak68
    antwortet
    Zitat von Glotzkowski Beitrag anzeigen
    Winni : hast Du den Baustein mit einem CALDAV-Server (nicht Nextcloud) im Einsatz?
    Mein Problem ist, dass ich keinen anderen als Nextcloud zur Verfügung habe, um das zu testen.
    Ich weiß daher leider nicht, wie dass Array ($events) aussieht, welches die "alte" CALDAV-Library in diesem Bereich zurückliefert und konnte aufgrund des Quelltextes bisher nur spekulieren:

    nach dem Einbau der neuen CALDAV-Library sieht das Script an der Stelle nun so aus:

    PHP-Code:
    if (strtolower($calType)=="caldav") {
    require_once(
    '/usr/local/edomi/main/include/php/simpleCalDAV/SimpleCalDAVClient.php');

    # fetch data from a CalDAV resource
    $client = new SimpleCalDAVClient();

    $client->connect($url,$user,$pass);
    $arrayOfCalendars $client->findCalendars();
    $client->setCalendar($arrayOfCalendars[$calName]);

    $events_caldavobjects=$client->getEvents();

    # Events werden als Objekt vom Typ CalDAVObject zurückgeliefert und die Attribute sind privat, daher müssen die Daten in ein assoziatives Array übertragen werden
    foreach ($events_caldavobjects as $event_caldavobject) {
    $events[] = array( 'href' => $event_caldavobject->getHref(),
    'etag' => $event_caldavobject->getEtag(),
    'data' => $event_caldavobject->getData()

    );
    }

    foreach (
    $events as $event) {
    $r.=$event['data']."\n";

    Nachdem leider Keiner hier helfen kann, den "Multisort-Fehler" zu finden habe ich mich daran versucht, als ersten Schritt zumindest ein Debugging einzubauen, leider ohne Erfolg:

    neu:

    2018_07_06_21_11_17_Z_Edomi_Logikbausteine_19000158_lbs.php_Notepad_.png
    neu:
    2018_07_06_21_10_13_Z_Edomi_Logikbausteine_19000158_lbs.php_Notepad_.png

    Aufruf:

    2018_07_06_21_13_23_Z_Edomi_Logikbausteine_19000158_lbs.php_Notepad_.png

    Sandbox ohne Fehler, jedoch bricht das Hochladen ab:

    2018_07_06_21_24_23_EDOMI_Administration_Opera.png

    was mache ich falsch ?

    Danke Andreas
    Angehängte Dateien

    Einen Kommentar schreiben:


  • Gast
    Ein Gast antwortete
    Das lief ganz gut am Anfang. Zuletzt hatte ich aber Fehler. Da das zur Zeit nicht unbedingt Priorität bei mir hat, habe ich den erstmal aus geschaltet. Wenn du das aber brauchst kann ich morgen nochmal versuchen und die Fehlermeldung Posten.

    Einen Kommentar schreiben:


  • Glotzkowski
    antwortet
    Also bei mir funktioniert die Version 0.66 seite Tagen fehlerfrei und testweise mit einem 2. Kalender auch, werde das aber nochmal mit einem 2. Testen.
    Gast hatte sich zuletzt auch positiv zu dem Ergebnis geäußter, wie sieht es da aktuell aus?

    Einen Kommentar schreiben:

Lädt...
X