Ankündigung

Einklappen
Keine Ankündigung bisher.

iCloud support für Kalender Widget

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

    iCloud support für Kalender Widget

    Hallo,

    Ich bin dabei iCloud Support für das Kalender Widget zu entwickeln. Läuft auch schon soweit ausser ein paar Problemen mit "recurring events".

    Ist jemand daran interessiert beim Testen und Debuggen zu helfen ?

    Falls ja werd ich mir die Arbeit machen alles hier zu posten. Ansonsten teste ich im stillen Kämmerlein ganz alleine :-)

    Serge

    #2
    Was ist das Problem mit den Events? Es geht nur um Anzeigen, richtig? Das sollte doch von Format her kompatibel sein. Wie greifst du auf den Kalender zu? In dem du ihn freigegeben hast oder über den undokumentierten Weg mit dem man den icloud Kalender in Lithning anzeigt?
    Mit freundlichen Grüßen
    Niko Will

    Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
    - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

    Kommentar


      #3
      Nicht freigegeben. Es gibt zwei Möglichkeiten. Die "illegale" in dem du die undokumentierte iCloud API benutzt, oder per Caldav. Ich hatte mich für Caldav entschieden, wusste da aber noch nicht auf was ich mich eingelassen hatte :-) Vorteil ist aber dass man mit ein paar Handgriffen daraus auch ein Standard Caldav Treiber machen kann.

      Das Problem ist dass die sich wiederholenden Events (Montags Muell rausbringen) zwar angezeigt werden, aber mit dem 1. Datum an dem das Event je stattgefunden hat anstelle des richtigen Datums. Es ist ein Problem beim Parsen des Vcalendar Formats. das kriege ich aber noch irgendwie hin denke ich ..


      Gesendet von meinem iPad mit Tapatalk

      Kommentar


        #4
        Um die Caldav URL zu bekommen muss man den Kalender doch freigeben, oder wie kommst du da ran?

        Aber es steht doch bestimmt auch drin, wann sich der Termin wiederholt, oder? Damit lässt sich doch der korrekte Tag leicht rausfinden. Poste doch mal, wie so ein Event aufgebaut ist.
        Mit freundlichen Grüßen
        Niko Will

        Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
        - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

        Kommentar


          #5
          Zitat von 2ndsky Beitrag anzeigen
          Um die Caldav URL zu bekommen muss man den Kalender doch freigeben, oder wie kommst du da ran?
          "Nenenenene" würde der Maulwurf sagen ;-)

          Du kannst einen XML PROPFIND Request an iCloud schicken um die UserID zu bekommen. Mit dieser UserID kannst du einen weiteren XML PROPFIND Request schicken um die Liste der Kalender zu bekommen. In dieser Liste kannst du dann die URL für den gewünschten Kalender finden. Ist wirklich ziemlich kompliziert das ganze. Aber das Problem habe ich gelöst inzwischen mit jeder Menge googlen.

          Zitat von 2ndsky Beitrag anzeigen
          Aber es steht doch bestimmt auch drin, wann sich der Termin wiederholt, oder? Damit lässt sich doch der korrekte Tag leicht rausfinden. Poste doch mal, wie so ein Event aufgebaut ist.
          Hier ein VEVENT dass ich dran denke Vorschuss an die Steuerverwaltung zu zahlen :-( Das Event wird jede 3 Monate angezeigt. Nächster Termin ist 10 März 2014. Et zeigt mit aber 10. März 2012 an. Das war das erste Datum wo das Event je ausgeführt wurde. Das Datum nimmt er aus der Zeile "DTSTART;VALUE=DATE:20120310"

          Code:
          BEGIN:VCALENDAR
          VERSION:2.0
          PRODID:-//Apple Inc.//Mac OS X 10.9//EN
          CALSCALE:GREGORIAN
          BEGIN:VEVENT
          CREATED:20111208T160812Z
          UID:A59B13D4-3D1D-494D-9673-047054AA3C99
          RRULE:FREQ=MONTHLY;INTERVAL=3
          DTEND;VALUE=DATE:20120311
          EXDATE;VALUE=DATE:20120310
          SUMMARY:Payement avances (450)
          LAST-MODIFIED:20130910T170004Z
          DTSTAMP:20131211T073829Z
          DTSTART;VALUE=DATE:20120310
          SEQUENCE:6
          TRANSP:TRANSPARENT
          BEGIN:VALARM
          X-WR-ALARMUID:65A88734-2EBC-4DB8-8A5F-2C4A576D635D
          UID:65A88734-2EBC-4DB8-8A5F-2C4A576D635D
          TRIGGER;VALUE=DURATION:-PT15H
          ATTACH;VALUE=URI:Basso
          ACTION:AUDIO
          X-APPLE-DEFAULT-ALARM:TRUE
          ACKNOWLEDGED:20131211T073829Z
          END:VALARM
          BEGIN:VALARM
          X-WR-ALARMUID:DF8429A9-49D4-44D3-9DA2-5C7545688966
          UID:DF8429A9-49D4-44D3-9DA2-5C7545688966
          ATTACH;VALUE=URI:Basso
          TRIGGER;VALUE=DURATION:PT19H
          ACTION:AUDIO
          ACKNOWLEDGED:20131211T073829Z
          DESCRIPTION:Event reminder
          END:VALARM
          END:VEVENT
          END:VCALENDAR

          Kommentar


            #6
            Und in "RRULE:FREQ=MONTHLY;INTERVAL=3" steht dein Intervall... Jetzt musst nur noch rechnen
            Mit freundlichen Grüßen
            Niko Will

            Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
            - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

            Kommentar


              #7
              Zitat von 2ndsky Beitrag anzeigen
              Und in "RRULE:FREQ=MONTHLY;INTERVAL=3" steht dein Intervall... Jetzt musst nur noch rechnen
              *lol* Schlaumeier, so weit war ich auch schon :-))

              Ein Termin kann aber auch so aussehen. Das ist nicht mal ein "recurring event" sondern ein ganz normaler einmaliger Termin. Aber das geht schon. Ich google jetzt mal nach "PHP VCALENDAR PARSER" oder so ...

              Wollt ja auch nur wissen ob jemand parallel testen / dran arbeiten will.

              Code:
              BEGIN:VCALENDAR
              CALSCALE:GREGORIAN
              PRODID:-//Apple Inc.//iOS 7.0.4//EN
              VERSION:2.0
              BEGIN:VTIMEZONE
              TZID:Europe/Luxembourg
              X-LIC-LOCATION:Europe/Luxembourg
              BEGIN:STANDARD
              DTSTART:19040601T000000
              RDATE;VALUE=DATE-TIME:19040601T000000
              TZNAME:CEST
              TZOFFSETFROM:+2436
              TZOFFSETTO:+0100
              END:STANDARD
              BEGIN:DAYLIGHT
              DTSTART:19160514T230000
              RDATE;VALUE=DATE-TIME:19160514T230000
              RDATE;VALUE=DATE-TIME:19170428T230000
              RDATE;VALUE=DATE-TIME:19180415T020000
              RDATE;VALUE=DATE-TIME:19450402T020000
              RDATE;VALUE=DATE-TIME:19460519T020000
              TZNAME:CEST
              TZOFFSETFROM:+0100
              TZOFFSETTO:+0200
              END:DAYLIGHT
              BEGIN:STANDARD
              DTSTART:19161001T010000
              RDATE;VALUE=DATE-TIME:19161001T010000
              RDATE;VALUE=DATE-TIME:19170917T010000
              RDATE;VALUE=DATE-TIME:19180916T030000
              RDATE;VALUE=DATE-TIME:19450916T030000
              RDATE;VALUE=DATE-TIME:19461007T030000
              RDATE;VALUE=DATE-TIME:19770925T030000
              RDATE;VALUE=DATE-TIME:19781001T030000
              TZNAME:CET
              TZOFFSETFROM:+0200
              TZOFFSETTO:+0100
              END:STANDARD
              BEGIN:STANDARD
              DTSTART:19181125T000000
              RDATE;VALUE=DATE-TIME:19181125T000000
              TZNAME:WEST
              TZOFFSETFROM:+0100
              TZOFFSETTO:+0000
              END:STANDARD
              BEGIN:DAYLIGHT
              DTSTART:19190301T230000
              RDATE;VALUE=DATE-TIME:19190301T230000
              RDATE;VALUE=DATE-TIME:19200214T230000
              RDATE;VALUE=DATE-TIME:19210314T230000
              RDATE;VALUE=DATE-TIME:19220325T230000
              RDATE;VALUE=DATE-TIME:19230421T230000
              RDATE;VALUE=DATE-TIME:19240329T230000
              RDATE;VALUE=DATE-TIME:19250405T230000
              RDATE;VALUE=DATE-TIME:19260417T230000
              RDATE;VALUE=DATE-TIME:19270409T230000
              RDATE;VALUE=DATE-TIME:19280414T230000
              RDATE;VALUE=DATE-TIME:19290420T230000
              RDATE;VALUE=DATE-TIME:19300413T020000
              RDATE;VALUE=DATE-TIME:19310419T020000
              RDATE;VALUE=DATE-TIME:19320403T020000
              RDATE;VALUE=DATE-TIME:19330326T020000
              RDATE;VALUE=DATE-TIME:19340408T020000
              RDATE;VALUE=DATE-TIME:19350331T020000
              RDATE;VALUE=DATE-TIME:19360419T020000
              RDATE;VALUE=DATE-TIME:19370404T020000
              RDATE;VALUE=DATE-TIME:19380327T020000
              RDATE;VALUE=DATE-TIME:19390416T020000
              RDATE;VALUE=DATE-TIME:19400225T020000
              TZNAME:WEST
              TZOFFSETFROM:+0000
              TZOFFSETTO:+0100
              END:DAYLIGHT
              BEGIN:STANDARD
              DTSTART:19191005T030000
              RDATE;VALUE=DATE-TIME:19191005T030000
              RDATE;VALUE=DATE-TIME:19201024T020000
              RDATE;VALUE=DATE-TIME:19211026T020000
              RDATE;VALUE=DATE-TIME:19221008T010000
              RDATE;VALUE=DATE-TIME:19231007T020000
              RDATE;VALUE=DATE-TIME:19391119T030000
              TZNAME:WET
              TZOFFSETFROM:+0100
              TZOFFSETTO:+0000
              END:STANDARD
              BEGIN:STANDARD
              DTSTART:19241005T010000
              RRULE:FREQ=YEARLY;UNTIL=19281007T000000Z;BYDAY=SU;
               BYMONTHDAY=2,3,4,5,6,7,8;BYMONTH=10
              TZNAME:WET
              TZOFFSETFROM:+0100
              TZOFFSETTO:+0000
              END:STANDARD
              BEGIN:STANDARD
              DTSTART:19291006T030000
              RRULE:FREQ=YEARLY;UNTIL=19381002T020000Z;BYDAY=SU;
               BYMONTHDAY=2,3,4,5,6,7,8;BYMONTH=10
              TZNAME:WET
              TZOFFSETFROM:+0100
              TZOFFSETTO:+0000
              END:STANDARD
              BEGIN:STANDARD
              DTSTART:19400514T030000
              RDATE;VALUE=DATE-TIME:19400514T030000
              TZNAME:WEST
              TZOFFSETFROM:+0100
              TZOFFSETTO:+0200
              END:STANDARD
              BEGIN:STANDARD
              DTSTART:19421102T030000
              RDATE;VALUE=DATE-TIME:19421102T030000
              RDATE;VALUE=DATE-TIME:19431004T030000
              TZNAME:WET
              TZOFFSETFROM:+0200
              TZOFFSETTO:+0100
              END:STANDARD
              BEGIN:DAYLIGHT
              DTSTART:19430329T020000
              RDATE;VALUE=DATE-TIME:19430329T020000
              RDATE;VALUE=DATE-TIME:19440403T020000
              TZNAME:WEST
              TZOFFSETFROM:+0100
              TZOFFSETTO:+0200
              END:DAYLIGHT
              BEGIN:STANDARD
              DTSTART:19440918T030000
              RDATE;VALUE=DATE-TIME:19440918T030000
              TZNAME:CEST
              TZOFFSETFROM:+0200
              TZOFFSETTO:+0100
              END:STANDARD
              BEGIN:STANDARD
              DTSTART:19770101T000000
              RDATE;VALUE=DATE-TIME:19770101T000000
              TZNAME:CEST
              TZOFFSETFROM:+0100
              TZOFFSETTO:+0100
              END:STANDARD
              BEGIN:DAYLIGHT
              DTSTART:19770403T020000
              RRULE:FREQ=YEARLY;UNTIL=19800406T010000Z;BYDAY=1SU;BYMONTH=4
              TZNAME:CEST
              TZOFFSETFROM:+0100
              TZOFFSETTO:+0200
              END:DAYLIGHT
              BEGIN:STANDARD
              DTSTART:19790930T030000
              RRULE:FREQ=YEARLY;UNTIL=19950924T010000Z;BYDAY=-1SU;BYMONTH=9
              TZNAME:CET
              TZOFFSETFROM:+0200
              TZOFFSETTO:+0100
              END:STANDARD
              BEGIN:DAYLIGHT
              DTSTART:19810329T020000
              RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
              TZNAME:CEST
              TZOFFSETFROM:+0100
              TZOFFSETTO:+0200
              END:DAYLIGHT
              BEGIN:STANDARD
              DTSTART:19961027T030000
              RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
              TZNAME:CET
              TZOFFSETFROM:+0200
              TZOFFSETTO:+0100
              END:STANDARD
              END:VTIMEZONE
              BEGIN:VEVENT
              CREATED:20140129T192953Z
              DTEND;TZID=Europe/Luxembourg:20140204T163000
              DTSTAMP:20140129T192955Z
              DTSTART;TZID=Europe/Luxembourg:20140204T153000
              LAST-MODIFIED:20140129T192953Z
              LOCATION:Museksall
              SEQUENCE:0
              SUMMARY:Auditioun Nicolas
              UID:19A1E9CA-8A1D-4879-85A4-5D8451D23240
              TRANSP:OPAQUE
              BEGIN:VALARM
              ACTION:DISPLAY
              DESCRIPTION:Erinnerung
              TRIGGER;VALUE=DURATION:-PT15M
              UID:AAA3FC7E-F39F-4CA6-971B-D0F06585E41A
              X-WR-ALARMUID:AAA3FC7E-F39F-4CA6-971B-D0F06585E41A
              END:VALARM
              END:VEVENT
              END:VCALENDAR

              Kommentar


                #8
                Hi,

                schau Die doch das mal das ical-Plugin an...

                Bis bald

                Marcus

                Kommentar


                  #9
                  Gute Neuigkeiten, das Problem ist hiermit gelöst worden: https://github.com/johngrogg/ics-parser

                  Kommentar


                    #10
                    iCloud support für Kalender Widget

                    Kannst du erklären wie du das gemacht hast? Ich habe einen eigenen iCal Kalender Server mit Anmeldung


                    Mobil gesendet

                    Kommentar


                      #11
                      Ich kann dir das ganze mal mailen wenn du mir per PN eine Email Adresse gibst. Es müsste relativ einfach anpassbar sein...


                      Gesendet von meinem iPad mit Tapatalk

                      Kommentar


                        #12
                        Ich hab's hinbekommen . Da das google Kalender Plugin aus SV meine ics Datei vom lokalen Server nicht lädt, hab ich eine Alternative gebaut. Trotzdem danke


                        Mobil gesendet

                        Kommentar


                          #13
                          Gibt es Neuigkeiten?

                          Hey Serge,

                          ich grab mal den Thread aus um zu erfahren, ob es Neuigkeiten bezüglich ICloud Kalender für die Smartvisu gibt? Bist du da weitergekommen? Wie ist der aktuelle Stand?

                          LG,
                          Heiko

                          Kommentar


                            #14
                            Zitat von Heiko73 Beitrag anzeigen
                            Hey Serge,

                            ich grab mal den Thread aus um zu erfahren, ob es Neuigkeiten bezüglich ICloud Kalender für die Smartvisu gibt? Bist du da weitergekommen? Wie ist der aktuelle Stand?

                            LG,
                            Heiko
                            Hatte einwandfrei funktioniert, wurde aber nie ins Release aufgenommen.

                            Seit 2 Wochen funktioniert es nun auch nicht mehr obwohl es vorher nie Probleme gab. Ich nehme an das hat mit dem Upgrade auf iCloud Drive zu tun. Ich bin gerade dabei zu versuchen es wieder ans Laufen zu kriegen.

                            Sollte das klappen werd ich die notwendigen Schritte hier Posten ...

                            Serge

                            Kommentar


                              #15
                              Also Info: iCloud Calendar funktioniert wieder. Es hatte nichts mit dem Upgrade auf iCloud Drive zu tun. Ich habe meinen iCloud Account für 2-Faktor Authentifizierung aktiviert. Ich hatte überhaupt nicht gezündet das somit natürlich mein CalDav Zugriff auch nicht mehr funktioniert. Die Lösung war in meinem iCloud Account ein Application specific Password zu erstellen und dieses in der SmartVISU zu nutzen.

                              Ich werde demnächst eine Anleitung mit einem Download Link posten für diejenigen die damit rumexperimentieren möchten. Das ganze wird aber nicht offiziell von SmartVISU supported und ist ein Hack der jeder auf eigene Verantwortung durchführen kann ...

                              Kommentar

                              Lädt...
                              X