Ankündigung

Einklappen
Keine Ankündigung bisher.

Support-Thread zum iCal Plugin

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

    #16
    Ich nutze das Plugin jetzt zum ersten Mal. ist es normal, dass es aus meiner URL sowas hier als Datei macht: "KKBL5L~N"

    Die URL endet nicht auf .ics. Der Inhalt der Datei passt aber.

    Wenn ich die Datei via Logik auslesen will, gebe ich dann die URL oder den kryptischen Dateinamen ein?
    Zuletzt geändert von psilo; 16.05.2019, 18:14.

    Kommentar


      #17
      Oha, so kryptisch sollte das nicht sein. Wie sieht denn deine plugin.yaml aus?
      Wenn du dort einen Kalender definierst, zB mit calendars: ALIAS:https://abc.com/bla.ics, dann sollte der Dateiname ALIAS sein. Du kannst dann in der Logik jedenfalls auch den Alias verwenden.

      Kommentar


        #18
        mag die kalender url nicht posten, weil die auf meine location rückschlüsse zulässt ich denke es ist die url, da im plugin wohl irgendwie die url zerlegt wird zum dateinamen.. meine hat recht viele parameter..

        den alias teste ich gleich mal.. ist mir irgendwie durchs raster gefallen

        hmm irgendwie mag das nicht.. string sieht jetzt so aus

        Code:
        ical:
            calendars:
            -   'TRASH: https://awido.cubefour.de/Customer/...'
            plugin_name: ical
        Zuletzt geändert von psilo; 17.05.2019, 17:53.

        Kommentar


          #19
          Zum einen könnten die Hochkommas stören, zum anderen darf wohl kein Abstand nach dem ersten Doppelpunkt sein. Das könnte man wohl noch verbessern. Aber teste dann bitte mal so. Kannst du die URL trotzdem mal posten mit anderen Parametern halt, also statt deiner PLZ eine andere o.ä.? Kann schon sein, dass beim Zerlegen was nicht passt.

          Kommentar


            #20
            die hochkommas wurden automatisch gesetzt, habs via admin if konfiguriert. ist ja ein yaml string.. das leerzeichen rauszunehmen hats jetzt gefixt.. muss mal die tage schauen, ob man das an der stelle nicht robuster machen kann

            Kommentar


              #21
              Ja, das sollte man robuster machen, kann ich auch mal gucken. Was führte jetzt genau zu dem komischen Namen oben "KKBL5L~N"? Gab's da keinen Alias?

              Kommentar


                #22
                ne da war der noch nicht konfiguriert bzw hatte das blank... hab nicht im detail geschaut warum er die url so zerhaekselt

                Kommentar


                  #23
                  eigentlich langt hier doch ein strip um leerzeichen am anfang und ende wegzuparsen? https://github.com/smarthomeNG/plugi...init__.py#CL81

                  hier ist noch ein URL beispiel, für einen anderen ort als den, wo ich wohne https://awido.cubefour.de/Customer/f...minder=1.17:00
                  Zuletzt geändert von psilo; 18.05.2019, 09:36.

                  Kommentar


                    #24
                    Ja, mit einem Strip sollte das meiste erledigt sein. Ich bau grad rum. Fange auch noch ab, falls man keinen String, sondern ein dict erstellt, also via
                    Code:
                    - alias: httpx:blabla
                    psilo Die Downloaddatei orientiert sich nun an der Domäne statt am Namen der "ics" Datei. Jetzt sollte das auch bei dir funzen, wenn du keine Alias nutzt. Siehe https://github.com/smarthomeNG/plugins/pull/239
                    Zuletzt geändert von Onkelandy; 04.06.2019, 10:03.

                    Kommentar


                      #25
                      Hast du das eigentlich noch probiert, psilo ? Klappt nun alles?

                      Ich habe bei mir ein ganz sonderbares Phänomen. Und zwar kann alle 2 Stunden die ics Datei nicht heruntergeladen werden. Ich habe nicht die geringste Ahnung, woran das liegt. Ich habe va. letzte Nach mal parallel die Datei mit wget alle 10 Sekunden herunter geladen. Da gab es nicht einen Ausfall. Gerade auch zum "kritischen" Zeitpunkt, wo das Plugin versagt hat, konnte die Datei normal herunter geladen werden. Äußerst sonderbar... Irgendwer ne Idee?

                      Code:
                      2019-09-19  01:25:23 WARNING  lib.network       Error sending GET request to https://.. HTTPSConnectionPool(host='outlook.office365.com', port=443): Read timed out. (read timeout=60)
                      2019-09-19  01:25:23 WARNING  lib.network       Download error: https://..
                      2019-09-19  01:25:23 ERROR    plugins.ical      Could not download online ics file https://..
                      2019-09-19  03:25:23 WARNING  lib.network       Error sending GET request to https://.. HTTPSConnectionPool(host='outlook.office365.com', port=443): Read timed out. (read timeout=60)
                      2019-09-19  03:25:23 WARNING  lib.network       Download error: https://..
                      2019-09-19  03:25:23 ERROR    plugins.ical      Could not download online ics file https://..
                      Selbes Spiel nun um 5:25, 7:25, 9:25, 11:25.

                      Kommentar


                        #26
                        Onkelandy: ja klappt!

                        Kommentar


                          #27
                          Hab bei meinem ICS File das Phänomen, dass eine zu lange Zeile umgebrochen wird. z.B.:
                          Code:
                          DESCRIPTION:Feiertag im Sinne des Bundesgesetzes und somit ein arbeitsfreier Tag für gesamt Österreich.\nThe
                           following information couldn’t be added
                          UID:54c0af291e76
                          Es fällt auf, dass die Fortsetzung der Zeile mit einem Leerzeichen beginnt.
                          Ich denke, mit ical = ical.replace("\r ", "").replace("\n ", "") kann ich das Problem beheben. Frage ist, ob es irgendwas anderes zerschießen kann. Any ideas? Hat sonst jemand das Phänomen? Am besten zu testen, indem das ICS File direkt heruntergeladen und im Texteditor betrachtet wird.

                          Kommentar


                            #28
                            Moin,

                            ich habe ein Problem festgestellt, dass vom iCal-Plugin nicht robust behandelt, bzw. von Google falsch exportiert wird.
                            Ggf. ist es "nur" eine Google Calendar Einstellung, die ich bislang nicht gefunden habe.
                            Auffälligkeit: Einzeltermin werden bzgl. ihrer Zeitzone nicht richtig in SmarthomeNG übernommen.

                            Mein Ziel:
                            - Einzeltermine und
                            - Serientermine
                            in SmarthoneNG mit iCal einlesen, um eine Wecker Logik durchzuführen.

                            Was habe ich gemacht
                            a) Einzeltermin angelegt 10:01 Uhr
                            b) Einzeltermin angelegt und anschließend die Zeitzone ausgewählt 10:02 Uhr
                            c) Serientermin angelegt : 10:00 Uhr

                            Was ist im Kalender .ics export enthalten, folgendes:
                            Code:
                            BEGIN:VCALENDAR
                            PRODID:-//Google Inc//Google Calendar 70.9054//EN
                            VERSION:2.0
                            CALSCALE:GREGORIAN
                            METHOD:PUBLISH
                            X-WR-CALNAME:Wecker
                            X-WR-TIMEZONE:Europe/Berlin
                            X-WR-CALDESC:Wecker
                            BEGIN:VTIMEZONE
                            TZID:Europe/Berlin
                            X-LIC-LOCATION:Europe/Berlin
                            BEGIN:DAYLIGHT
                            TZOFFSETFROM:+0100
                            TZOFFSETTO:+0200
                            TZNAME:CEST
                            DTSTART:19700329T020000
                            RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
                            END:DAYLIGHT
                            BEGIN:STANDARD
                            TZOFFSETFROM:+0200
                            TZOFFSETTO:+0100
                            TZNAME:CET
                            DTSTART:19701025T030000
                            RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
                            END:STANDARD
                            END:VTIMEZONE
                            BEGIN:VEVENT
                            [COLOR=#FFD700]DTSTART;TZID=Europe/Berlin:20191109T100000[/COLOR]
                            DTEND;TZID=Europe/Berlin:20191109T101500
                            RRULE:FREQ=WEEKLY;BYDAY=SA
                            DTSTAMP:20191104T065045Z
                            UID:xxx@google.com
                            CREATED:20191104T063805Z
                            DESCRIPTION:
                            LAST-MODIFIED:20191104T064600Z
                            LOCATION:
                            SEQUENCE:1
                            STATUS:CONFIRMED
                            SUMMARY:wecker
                            TRANSP:OPAQUE
                            END:VEVENT
                            BEGIN:VEVENT
                            [COLOR=#0000FF]DTSTART:20191109T090100Z[/COLOR]
                            DTEND:20191109T091600Z
                            DTSTAMP:20191104T065045Z
                            UID:xxx@google.com
                            CREATED:20191104T063933Z
                            DESCRIPTION:
                            LAST-MODIFIED:20191104T064550Z
                            LOCATION:
                            SEQUENCE:0
                            STATUS:CONFIRMED
                            SUMMARY:wecker
                            TRANSP:OPAQUE
                            END:VEVENT
                            BEGIN:VEVENT
                            [COLOR=#EE82EE]DTSTART:20191109T090200Z[/COLOR]
                            DTEND:20191109T091700Z
                            DTSTAMP:20191104T065045Z
                            UID:xxx@google.com
                            CREATED:20191104T064648Z
                            DESCRIPTION:
                            LAST-MODIFIED:20191104T064648Z
                            LOCATION:
                            SEQUENCE:0
                            STATUS:CONFIRMED
                            SUMMARY:wecker
                            TRANSP:OPAQUE
                            END:VEVENT
                            In SmarthomeNG ermittelt das iCal Plugin Version 1.5.2 (master) die "Zahlen" mit nur einer Zeitzone.
                            Code:
                             ...
                            {datetime.date(2019, 11, 9): [
                            {'Description': '', 'Location': '', 'Start': datetime.datetime(2019, 11, 9, [COLOR=#EE82EE]9, 2,[/COLOR] tzinfo=tzfile('/usr/share/zoneinfo/Europe/Berlin')), 'End': datetime.datetime(2019, 11, 9, 9, 17, tzinfo=tzfile('/usr/share/zoneinfo/Europe/Berlin')), 'Summary': 'wecker'},
                            {'Description': '', 'Location': '', 'Start': datetime.datetime(2019, 11, 9,[COLOR=#0000FF] 9, 1[/COLOR], tzinfo=tzfile('/usr/share/zoneinfo/Europe/Berlin')), 'End': datetime.datetime(2019, 11, 9, 9, 16, tzinfo=tzfile('/usr/share/zoneinfo/Europe/Berlin')), 'Summary': 'wecker'},
                            {'Description': '', 'Location': '', 'Start': datetime.datetime(2019, 11, 9,[COLOR=#FFD700] 10, 0,[/COLOR] tzinfo=tzfile('/usr/share/zoneinfo/Europe/Berlin')), 'End': datetime.datetime(2019, 11, 9, 10, 15, tzinfo=tzfile('/usr/share/zoneinfo/Europe/Berlin')), 'Summary': 'wecker'}]}
                            Ich vermute eine Lösung in der Zeile 168, https://github.com/smarthomeNG/plugi...al/__init__.py

                            Frage:
                            Habt Ihr eine "Google"-Lösung parat?
                            Falls nicht, habt ihr eine Idee wie das Plug-In den Google-Export anders interpretieren kann?

                            Grüße,
                            KHome
                            Angehängte Dateien
                            Zuletzt geändert von KHome; 04.11.2019, 08:15. Grund: Screenshot der Google-Kalender Website eingefügt

                            Kommentar


                              #29
                              Habe einen Workaround für das iCal Plugin in die Funktion "_parse_date" geschrieben, der bei mir funktioniert.

                              Code:
                              [MARKIEREN]import pytc[/MARKIEREN]
                              
                                  def _parse_date(self, val, dtzinfo, par=''):
                                      if 'T' in val:  # ISO datetime
                                          val, sep, off = val.partition('Z')
                                          dt = datetime.datetime.strptime(val, "%Y%m%dT%H%M%S")
                                      else:  # date
                                          y = int(val[0:4])
                                          m = int(val[4:6])
                                          d = int(val[6:8])
                                          dt = datetime.datetime(y, m, d)
                              
                                      if par.startswith('TZID='):
                                          tmp, par, [MARKIEREN]mytimezone [/MARKIEREN]= par.partition('=')
                                       [MARKIEREN]   local_tz = pytz.timezone(mytimezone)
                                          dt = local_tz.localize(dt) [/MARKIEREN]
                                   [MARKIEREN]   else:
                                          utc_tz = pytz.timezone('UTC')
                                          dt = utc_tz.localize(dt)[/MARKIEREN]
                                      #dt = dt.replace(tzinfo=dtzinfo) # removed and exchanged with astimezone
                                      [MARKIEREN]dt = dt.astimezone(dtzinfo)[/MARKIEREN]
                                      return dt
                              Der Workaround darf gerne ins Plugin integriert werden, wenn ihr den Fehler bei euch auch feststellt...
                              Ggf. wäre eine Implementierung ohne zusätzliche Lib "pytc" möglich.
                              Zuletzt geändert von KHome; 05.11.2019, 00:01.

                              Kommentar


                                #30
                                Mal eine ggf. unbedarftere Frage: ich habe das Plugin konfiguriert, es liest lokale und Remote-Kalender von nextcloud.

                                Tatsächlich brauche ich vorrangig die Information, ob gerade Schulferien sind oder Feiertage oder ggf. im Kalender "Familie" ein Eintrag "Urlaub" aktiv.

                                Letzteres bekomme ich gem. Doku mit einer Logik hin, wenn ich den Kalender einbinde und abfrage, ob das Kalenderitem aktiv ist und falls ja, ob der aktive Termin "Urlaub" heißt bzw. mit "Urlaub" anfängt - richtig?

                                Habt ihr eine praktikable Lösung für die anderen Angaben?

                                Kommentar

                                Lädt...
                                X