Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Synology CalDav auf ICAL adapter - Lösungsvorschlag

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Synology CalDav auf ICAL adapter - Lösungsvorschlag

    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      dafiesch last edited by

      Hallo zusammen

      ich bin genau wie einer mit diesen Webcams im iobroker.proxy auch einer der versucht mit dem ical Adapter die Synology caldav-Kalender (alte Diskstation aus '11, der bekommt die "Calendar" Synology App nicht mehr) einzubinden.

      Hier ein kleiner Workaround über bash:

      2 Skripte - liessen sich auch wunderbar noch zu einem zusammenfassen und optimieren, da war ich aber zu faul dazu…

      war heute erst mal froh das es läuft

      Benötigt wird das Tool "cadaver"

      grab_icals.sh - Abgewandelt von https://uriesk.wordpress.com/2015/02/13 … h-cadaver/

      #!/bin/bash
      set -e
      URL="https://[synology-url]/[Base-Pfad-Kalender]/$1"
      
      echo $URL
      
      rm -rf /tmp/calendar/$1
      mkdir /tmp/calendar/$1
      cd /tmp/calendar/$1
      
      #download files:
      cadaver $URL << EOA
      mget *
      exit
      EOA
      
      cd ..
      #rm -r /tmp/calendar/$1
      
      

      combine_icals.sh - original from http://snipplr.com/view/43521/ical-server-mergeics/

      #!/bin/sh
      
      ### VARIABLES ###
      
      # Path to user's ical server directory this is where a folder exists for each calendar.
      calpath="/tmp/calendar/$1"
      
      # Where to store combined ics files
      # typically this is a a folder in your web server path.
      calout="/tmp/calendar/"
      
      TEMP="/tmp/calendar/temp.ics"
      
      echo "BEGIN:VCALENDAR
      PRODID:-//merge//example.com//
      VERSION:2.0
      X-WR-CALNAME:example.com" > $TEMP
      
      awk '/BEGIN:VEVENT/,/END:VEVENT/' $calpath/*.ics >> $TEMP
      
      echo "END:VCALENDAR" >> $TEMP
      rm -f $calout/$1.ics
      tr -d '\r' < $TEMP > $calout/$1.ics
      
      exit 0
      
      

      habt ihr jetzt nen shared calendar, zb "freunde" ruft ihr per cron folgendes nacheinander auf

      ./grab_icals.sh freunde
      ./combine_icals.sh freunde
      
      

      das liefert ein file

      /tmp/calendar/freunde.ics
      
      

      das ihr so mit vollem Pfad im ical Adapter eintragen könnt 🙂

      Nachtrag- das hatte ich vergessen - damit das unattended funktioniert muss man (leider) in .netrc des users, der das script ausführt, die unverschlüsselten Anmeldedaten hinterlegen:

      machine [synology host]
              login [caldav-enabled-synology-user]
              password [pwd-zum-user]
      
      
      1 Reply Last reply Reply Quote 0
      • First post
        Last post

      Support us

      ioBroker
      Community Adapters
      Donate
      FAQ Cloud / IOT
      HowTo: Node.js-Update
      HowTo: Backup/Restore
      Downloads
      BLOG

      446
      Online

      31.9k
      Users

      80.1k
      Topics

      1.3m
      Posts

      1
      1
      725
      Loading More Posts
      • Oldest to Newest
      • Newest to Oldest
      • Most Votes
      Reply
      • Reply as topic
      Log in to reply
      Community
      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
      The ioBroker Community 2014-2023
      logo