Ankündigung

Einklappen
Keine Ankündigung bisher.

calDAV Integration ?

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

    Hallo Robert

    Ich möchte auch das CalDAV Binding installieren.
    Beim herunterladen resp. bei der Installation habe ich gesehen, dass auch ein calDAVPersistence Binding im ZIP ist. Gibt es dazu auch ein Wiki ?

    Vielen Dank

    Gruss
    Richard

    Kommentar


      Hallo Robert, das Binding habe ich installiert und die Event timer erscheinen auch. Im Log stehen jedenfalls die Einträge:
      cat o* | grep 'timer'
      22:13:37.582 [DEBUG] [.i.c.internal.CalDavLoaderImpl:377 ] - begin timer scheduled for event '4b472103b5(Test5@12.08.2015/22:10-12.08.2015/22:30)' @ Wed Aug 12 22:10:00 CEST 2015
      22:13:37.600 [DEBUG] [.i.c.internal.CalDavLoaderImpl:397 ] - end timer scheduled for event '4b472103b5(Test5@12.08.2015/22:10-12.08.2015/22:30)' @ Wed Aug 12 22:30:00 CEST 2015
      22:13:58.726 [DEBUG] [.i.c.internal.CalDavLoaderImpl:250 ] - event is already in event map and newer -> delete the old one, reschedule timer
      22:16:50.653 [DEBUG] [.i.c.internal.CalDavLoaderImpl:250 ] - event is already in event map and newer -> delete the old one, reschedule timer
      Den Kalendereintrag hatte ich zunächst für 22:10 -22:30 eingetragen und dann auf 22:16 bis 22:30 geändert.

      Im OwnCloud-Kalender Eintrag mit Titel "Test5" steht im Text:
      BEGINSwimmingpool:Anfang
      END:Swimmingpool:Ende

      Im default.items file steht:
      String Swimmingpool "Owncloud [(%s)]" (FB_Peter) <calendar> {caldavCommand="itemName:Swimmingpool type:VALUE"}

      Ich würde erwarten dass das Item Swimmingpool erst "Anfang" anzeigt, und am Ende des Termins "Ende". Es wird aber überhaupt nicht geändert.
      Ich habe schon mehrere Testtermine eingetragen (mit und ohne Änderungen) aber es scheint nicht zu klappen.

      Bindings habe ich aus Deinem letzten File (caldav-2015-07-03.zip) und ansonsten:
      -rwxr-xr-x 1 root root 15479 Jul 1 21:08 org.openhab.binding.caldav-command-1.8.0-SNAPSHOT.jar
      -rwxr-xr-x 1 root root 95481 Aug 5 12:21 org.openhab.binding.dscalarm-1.7.1.jar
      -rwxr-xr-x 1 root root 47790 Aug 5 12:21 org.openhab.binding.fritzaha-1.7.1.jar
      -rwxr-xr-x 1 root root 21947 Aug 5 12:21 org.openhab.binding.fritzbox-1.7.1.jar
      -rwxr-xr-x 1 root root 2257506 Aug 10 18:51 org.openhab.io.caldav-1.8.0-SNAPSHOT.jar

      Kannst Du Dir das vielleicht mal ansehen und mir sagen wo der Fehler liegt ?

      Danke !!

      Peter

      Kommentar


        Hallo Robert, noch eine Frage, bitte: das Binding unterstützt täglich wiederkehrende Serientermine ? Danke Peter

        Kommentar


          Ich war im Urlaub deshalb die späten Rückmeldungen:

          @bastlwastl: Stimmt, nein gibt es aktuell noch nicht, ist noch in der Testphase. Prinzipiell funktioniert es wie jede Persistenz. Ich schreibe es noch ins Wiki. Vorerst so viel:
          caldav-persistence:calendarId=history
          // Duration in Minuten (an Event must have an Duration)
          caldav-persistence:duration=10
          // if set to false it will Try to create Events form On to Off events
          caldav-persistence:singleEvents=false
          @fhempeter: Ja es unterstützt wiederholende Termine.
          Den Teil
          {caldavCommand="itemName:Swimmingpool type:VALUE"}
          brauchst du nicht für deinen Test.
          Bei
          BEGINSwimmingpool:Anfang
          END:Swimmingpool:Ende
          fehlt ein Doppelpunkt nach BEGIN

          Kommentar


            Hallo Robert, erstmal vielen Dank.

            das mit dem Doppelpunkt hatte ich später auch gesehen, es löst das Problem aber nicht.
            Es ist offensichtlich dass openhab Zugriff auf den Kalender hat, es werden jede Menge Termine ausgelesen.
            Nur ein Update auf das item erfolgt nach wie vor nicht.

            Im Logfile sehe ich 2 Meldungen die relevant sein könnten:
            "23:22:37.032 [DEBUG] [.i.c.internal.CalDavLoaderImpl:748 ] - calendar id defaultcalendar not found
            23:22:37.037 [DEBUG] [.i.c.internal.CalDavLoaderImpl:786 ] - return event list for CalDavQuery [calendarIds=[defaultcalendar], from=2015-08-20T23:22:37.021+02:00, to=null, sort=null] with 0 entries

            Spielt die calendar ID eine Rolle wenn die Termine gelesen werden ?
            Die Meldung darunter mit "0 entries" - ist das ein Hinweis auf ein Problem ?

            Danke !

            Peterd

            Kommentar


              So sieht die Konfiguration bei mir aus:

              Code:
              caldavio:openhab_tasks:url=http://***/owncloud/remote.php/caldav/calendars/openHAB/tasks
              caldavio:openhab_tasks:username=openHAB
              caldavio:openhab_tasks:password=openHAB
              caldavio:openhab_tasks:reloadInterval=30
              caldavio:openhab_tasks:preloadTime=10080
              caldavCommand:readCalendars=openhab_tasks
              Die KalenderId des referenzierten Kalenders ist openhab_tasks und wird in der Eigenschaft "readCalendars" referenziert.
              Zuletzt geändert von querdenker2k; 21.08.2015, 07:06.

              Kommentar


                Hi,

                erstmal vielen Dank, dass du das Plugin hier bereitstellst. Hoffe es wird demnächst Bestandteil von OpenHab so dass man es einfach per apt installieren kann.

                Leider komme ich aber mit der Installation nicht weiter. Es weigert sich behäbig, auf den Kalender zuzugreifen, gibt aber auch keinen Fehler aus. Habe parallel den Webserver mit dem Kalender geprüft - dort werden überhaupt keine Requests von OpenHab gelistet.

                Im Log sehe ich folgendes:

                Code:
                2015-09-04 15:25:57.543 [DEBUG] [o.i.c.internal.CalDavActivator] - CalDav Calendar IO has been started.
                2015-09-04 15:25:57.764 [DEBUG] [.i.c.internal.CalDavLoaderImpl] - overriding default timezone Europe/Berlin with Europe/Berlin
                2015-09-04 15:25:57.766 [DEBUG] [.i.c.internal.CalDavLoaderImpl] - found timeZone: Europe/Berlin
                2015-09-04 15:25:57.775 [INFO ] [.service.AbstractActiveService] - CalDav Loader has been started
                2015-09-04 15:25:57.775 [DEBUG] [.i.c.internal.CalDavLoaderImpl] - reload cached events for config: command
                2015-09-04 15:25:58.101 [DEBUG] [.i.c.internal.CalDavLoaderImpl] - return event list for CalDavQuery [calendarIds=[command], from=2015-09-04T15:25:57.901+02:00, to=2015-09-04T15:25:58.041+02:00, sort=null] with 0 entries
                Das ist schon recht merkwürdig, weil er offenbar nur einen Bereich von einer Sekunde absucht...

                Hier meine Config:

                Code:
                caldavio:command:url=https://mybaikalserver/cal.php/principals/pascal.turbo/91E73F7C-7FF2-4DF4-A323-9BDEE56026F1/
                caldavio:command:username=openhab
                caldavio:command:password=openhab
                caldavio:command:reloadInterval=10
                caldavio:command:preloadTime=10080
                caldavio:timeZone=Europe/Berlin
                
                caldavCommand:readCalendars=command
                Bei der URL bin ich mir nicht 100% sicher. Aber mindestens ein fehlgeschlagener Request würde ich erwarten.

                Habt ihr ne Idee?

                VG
                Pascal

                Kommentar


                  Nimm mal aus der URL den letzten Pfad raus und stell das logging auf trace für das io binding und das Command binding. Ach so und wenn das Zertifikat selbst signiert ist musst du noch die Zertifikats Validierung ausschalten (siehe wiki) Gruß Robert

                  Kommentar


                    Danke für die Rückmeldung.

                    Der letzte Pfad ist die ID des Kalenders - ohne geht es nicht. Ich hab ihm mal ne sprechendere ID gegeben. Zertifikat ist nicht selbst signiert - hab aber dennoch mal den Check ausgeschaltet um zu schauen, ob es damit Probleme gibt.

                    Leider greift er immer noch nicht auf den Kalender zu (logs des CalDav Servers geben hierzu auskunft).
                    Hier das trace:

                    Code:
                    2015-09-05 09:58:40.403 [DEBUG] [o.i.c.internal.CalDavActivator:34  ]- CalDav Calendar IO has been started.
                    2015-09-05 09:58:40.605 [TRACE] [.i.c.internal.CalDavLoaderImpl:134 ]- configuration parameter: command:disableCertificateVerification
                    2015-09-05 09:58:40.626 [TRACE] [.i.c.internal.CalDavLoaderImpl:134 ]- configuration parameter: command:password
                    2015-09-05 09:58:40.629 [TRACE] [.i.c.internal.CalDavLoaderImpl:134 ]- configuration parameter: command:preloadTime
                    2015-09-05 09:58:40.632 [TRACE] [.i.c.internal.CalDavLoaderImpl:134 ]- configuration parameter: command:reloadInterval
                    2015-09-05 09:58:40.634 [TRACE] [.i.c.internal.CalDavLoaderImpl:134 ]- configuration parameter: command:url
                    2015-09-05 09:58:40.636 [TRACE] [.i.c.internal.CalDavLoaderImpl:134 ]- configuration parameter: command:username
                    2015-09-05 09:58:40.638 [TRACE] [.i.c.internal.CalDavLoaderImpl:134 ]- configuration parameter: service.pid
                    2015-09-05 09:58:40.640 [TRACE] [.i.c.internal.CalDavLoaderImpl:134 ]- configuration parameter: timeZone
                    2015-09-05 09:58:40.643 [DEBUG] [.i.c.internal.CalDavLoaderImpl:138 ]- overriding default timezone Europe/Berlin with Europe/Berlin
                    2015-09-05 09:58:40.646 [DEBUG] [.i.c.internal.CalDavLoaderImpl:143 ]- found timeZone: Europe/Berlin
                    2015-09-05 09:58:40.649 [TRACE] [.i.c.internal.CalDavLoaderImpl:188 ]- config for id 'command': CalDavConfig [key=command, username=pascal.turbo, password=hp#Tem3GgPdiM2,r, url=https://dav.cloud.turbopascal.com/cal.php/principals/pascal.turbo/command, reloadMinutes=10, preloadMinutes=10080, disableCertificateVerification=true]
                    2015-09-05 09:58:40.656 [TRACE] [.i.c.internal.CalDavLoaderImpl:611 ]- starting execution...
                    2015-09-05 09:58:40.659 [DEBUG] [.i.c.internal.CalDavLoaderImpl:616 ]- reload cached events for config: command
                    2015-09-05 09:58:41.195 [TRACE] [.i.c.internal.CalDavLoaderImpl:741 ]- quering events for filter: CalDavQuery [calendarIds=[command], from=2015-09-05T09:58:40.960+02:00, to=2015-09-05T09:58:41.134+02:00, sort=null]
                    2015-09-05 09:58:41.199 [DEBUG] [.i.c.internal.CalDavLoaderImpl:786 ]- return event list for CalDavQuery [calendarIds=[command], from=2015-09-05T09:58:40.960+02:00, to=2015-09-05T09:58:41.134+02:00, sort=null] with 0 entries
                    2015-09-05 09:58:42.608 [DEBUG] [o.p.c.internal.CaldavActivator:24  ]- calDAV persistence bundle has been started.

                    Kommentar


                      Ich habe meinen Google Kalender integriert. Leider werden keine Serien ins Item geladen, ich habe die Vorlage aus dem Wiki. Muss für Serien etwas spezielles konfiguriert werden? Ich benutzen den letzten snapshot der heute zur Verfügung stand. Ich habe auch bemerkt das der gelöschte Testeintrag bei openhab drin bleibt und dort nicht gelöscht wurde. Ist diese Funktion noch nicht implementiert?

                      Kommentar


                        PascalTurbo Kannst du mal gucken ob im etc Ordner ein "command" Ordner liegt. Es sieht so aus als wenn er abstürzt bei dir aber keine Exception geworfen wird. Kannst du mir einen Account machen dann teste ich das mal. Bzw. war hier schon mal jemand mit einem Baikal CalDAV Server der auch Probleme hatte, vielleicht kann der sonst was dazu sagen.

                        napoleonmm83 Ich benutze ownCloud bei mir werden die geladen. Ich teste es nachher oder morgen nochmal mit einem Google Kalender. Auch gelöschte Einträge werden aus openHAB gelöscht wenn der reloadInterval zuschlägt.

                        Gruß
                        robert

                        Kommentar


                          Zitat von querdenker2k Beitrag anzeigen
                          PascalTurbo Kannst du mal gucken ob im etc Ordner ein "command" Ordner liegt. Es sieht so aus als wenn er abstürzt bei dir aber keine Exception geworfen wird. Kannst du mir einen Account machen dann teste ich das mal. Bzw. war hier schon mal jemand mit einem Baikal CalDAV Server der auch Probleme hatte, vielleicht kann der sonst was dazu sagen.
                          Ich nehme mal an, du meinst den etc Ordner von Openhab. Nein, da steht nichts drin.
                          Du hast eine PN von mir mit Account-Infos.

                          Viele Grüße
                          Pascal

                          Kommentar


                            @napoleonmm83: Ich habe es jetzt getestet mit GCal. Wiederholende funktionieren und auch gelöschte werden aus openHAB gelöscht. Ein Problem bei GCal ist mir aufgefallen das der Zeitstempel der ICS Dateien vom Server immer dem aktuellen Datum entspricht und nicht dem letzten Änderungsdatum, dadurch wird mehr Load erzeugt da ich die Datei dann erst lesen muss...

                            Kommentar


                              Super danke für dein Feedback querdenker2k.

                              Bei mir klappt es jetzt mit dem Google Kalender, komischer weise seit ich die Zeile caldavio:main:disableCertificateVerification=true weg lasse.
                              Anhand der Wiki hatte ich verstanden das bei SSL der wert true sein muss.
                              Liege ich da falsch?

                              Kommentar


                                Nachtrag es hat leider nicht lange gedauert und ich erhalte folgenden Log Eintrag.

                                Code:
                                 2015-09-09 22:43:21.390 [ERROR] [.i.c.internal.CalDavLoaderImpl] - error while loading calendar entries: Unexpected response com.github.sardine.impl.SardineException: Unexpected response at com.github.sardine.impl.handler.ValidatingResponseHandler.validateResponse(ValidatingResponseHandler.java:48) ~[na:na] at com.github.sardine.impl.handler.VoidResponseHandler.handleResponse(VoidResponseHandler.java:34) ~[na:na] at com.github.sardine.impl.SardineImpl.get(SardineImpl.java:649) ~[na:na] at com.github.sardine.impl.SardineImpl.get(SardineImpl.java:632) ~[na:na] at com.github.sardine.impl.SardineImpl.get(SardineImpl.java:133) ~[na:na] at org.openhab.io.caldav.internal.CalDavLoaderImpl.loadEvents(CalDavLoaderImpl.java:484) ~[na:na] at org.openhab.io.caldav.internal.CalDavLoaderImpl.access$3(CalDavLoaderImpl.java:431) ~[na:na] at org.openhab.io.caldav.internal.CalDavLoaderImpl$4.run(CalDavLoaderImpl.java:648) ~[na:na] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [na:1.7.0_80] at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304) [na:1.7.0_80] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178) [na:1.7.0_80] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [na:1.7.0_80] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_80] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_80] at java.lang.Thread.run(Thread.java:745) [na:1.7.0_80]
                                Danach funktioniert nichts mehr wenn ich ein neuen Termin erstelle wird er nicht geladen und wenn ich ein lösche wird im Binding nichts gelöscht.

                                Ich habe gelesen das bei gcal die Meldung normal sei. Aber irgendetwas stimmt da noch nicht.

                                Meine config sieht so aus.

                                Code:
                                caldavio:main:url=https://www.google.com/calendar/dav/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxgroup.calendar.google.com/events
                                caldavio:main:disableCertificateVerification=true
                                caldavio:main:username=xxxxxxxxxxxxxxxxxxx@gmail.com
                                caldavio:main:password=xxxxxxxxxxxxxxxxxx
                                caldavio:main:reloadInterval=1
                                caldavio:main:preloadTime=2880
                                
                                caldavio:timeZone=Europe/Berlin
                                caldavPersonal:usedCalendars=main

                                caldavio:main:disableCertificateVerification=true ist jetzt wieder drin
                                Zuletzt geändert von napoleonmm83; 09.09.2015, 23:43.

                                Kommentar

                                Lädt...
                                X