Ankündigung

Einklappen
Keine Ankündigung bisher.

CalDav-Binding, mehrere Kalender?

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

    CalDav-Binding, mehrere Kalender?

    Hallo zusammen,
    habe auf meinem OpenHab2 das CalDav-Personal Binding am laufen. Funktioniert soweit auch ganz gut.
    Ich lese den Kalender von meiner Synology ein. Habe dort einen User (SmartHome) angelegt und zwei Kalender (Muellkalender, LichtEingang) definiert.

    Jetzt würde ich gerne unter dem gleichen Account einen zweiten Kalender anlegen (thematisch getrennt: einer für Müllkalender, einen für Licht-Steuerungen, ...). Aber ich brings nicht hin, dass OpenHab diesen zweiten Kalender auch einliest. Was mach ich da falsch?

    caldavio.cfg
    Code:
    ## Müllkalender
    caldavio:Muellkalender:url=https://nas10:5001/caldav/SmartHome
    caldavio:Muellkalender:username=user
    caldavio:Muellkalender:password=pw
    caldavio:Muellkalender:reloadInterval=1
    caldavio:Muellkalender:preloadTime=20000
    caldavio:Muellkalender:disableCertificateVerification=true
    ## LichtEingang
    caldavio:LichtEingang:url=https://nas10:5001/caldav/SmartHome
    caldavio:LichtEingang:username=user
    caldavio:LichtEingang:password=pw
    caldavio:LichtEingang:reloadInterval=1
    caldavio:LichtEingang:preloadTime=1
    caldavio:LichtEingang:disableCertificateVerification=true
    caldavPersonal.cfg
    Code:
    caldavPersonal:usedCalendars=Muellkalender,LichtEingang
    caldav.items
    Code:
    /* Müllkalender */
    String CalDav_Muelltonne_1 "Tonne [%s]" <time_calendar> { caldavPersonal="calendar:Muellkalender type:EVENT eventNr:1 value:NAME" }
    DateTime CalDav_Date_1 "Datum der Abholung [%1$td.%1$tm.%1$tY]" <time_calendar> { caldavPersonal="calendar:Muellkalender type:EVENT eventNr:1 value:START" }
    String CalDav_Muelltonne_2 "Tonne [%s]" <time_calendar> { caldavPersonal="calendar:Muellkalender type:EVENT eventNr:2 value:NAME" }
    DateTime CalDav_Date_2 "Datum der Abholung [%1$td.%1$tm.%1$tY]" <time_calendar> { caldavPersonal="calendar:Muellkalender type:EVENT eventNr:2 value:START" }
    
    /* LichtEingang */
    String CalDav_LichtEingang_Name "Licht: [%s]" <time_calendar> { caldavPersonal="calendar:LichtEingang type:ACTIVE eventNr:1 value:NAME" }
    Oder geht das nicht, mit den zwei Kalender unter einem User? Habe zumindest nix gefunden
    Danke schon mal!
    ...good byte...

    #2
    Die Kalender müssten unterschiedliche URL haben, dass die Konfiguration mit einem Kalender funktioniert, hängt vermutlich daran, dass die gekürzte URL dann automatisch ergänzt wird. In der Doku ist übrigens eine Konfiguration mit mehreren Kalendern angegeben.

    Kommentar


      #3
      Also ich kann bestätigen dass das Binding mit mehreren Synology Kalernder funktioniert. Wie udo1toni schon geschrieben hat fehlt der letzte Teil der URL. Der 1. Kalender hat normalerweise beim Synology Kalender den Pfad "<url>/caldav/<username>/home". Alle weiteren Kalender haben am Ende eine Buchstabenkombi, die automatisch erzeugt wird. Diese lässt sich herausfinden wenn du in der Synology Kalender App auf den Kalender klickst (bzw. der kleine Pfeil daneben) und im erscheinenden Popup Menu den Punkt "CalDAV-Konto" auswählst. Hier einfach den Thunderbird Pfad kopieren. Damit sollte es klappen.

      Kommentar


        #4
        Hi und Danke euch 2,
        habs jetzt soweit hinbekommen, dass die Einträge geladen werden - die Variante mit dem Thunderbird-Pfad hatte ich auch schon probiert, aber OH danach nicht neu gestartet...
        Jetzt habe ich die Verzeichnisse und Config-Files hier aufgeräumt und nochmal neu gestartet, jetzt gehts.
        Code:
        /var/lib/openhab2/config/org/openhab
        /var/lib/openhab2/etc/caldav/
        Aber, nächstes Problem
        In dem Kalender LichtEingang sind Serientermine, die sich gegenseitig abwechseln. Diese Items sollten also den jeweiligen Status haben.
        Code:
        String CalDav_LichtEingang_Name1 "Licht: [%s] " <time_calendar> { caldavPersonal="calendar:LichtEingang type:ACTIVE eventNr:1 value:NAME" }
        String CalDav_LichtEingang_Name2 "Licht: [%s] " <time_calendar> { caldavPersonal="calendar:LichtEingang type:ACTIVE eventNr:2 value:NAME" }
        type:ACTIVE verstehe ich so, dass immer der aktuell aktive Termin ausgewählt wird?
        In Name1 steht aber der nächste Termin, nicht der aktuell aktive?

        Wie sind denn die types definiert?
        ACTIVE
        EVENT
        UPCOMING
        ...

        Und wie steht das mit der Konfig preloadTime in Zusammenhang?
        Danke schon mal!
        ...good byte...

        Kommentar

        Lädt...
        X