Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. neuer Adapter webCal

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    neuer Adapter webCal

    This topic has been deleted. Only users with topic management privileges can see it.
    • Markus Kufner
      Markus Kufner @dirkhe last edited by

      @dirkhe Ich würde gerne in den Termin einen Ort ins entsprechende Feld übertragen.
      Mein used case ist ein digitales Fahrtenbuch. Handy meldet an ioBroker wenn ich mich mit dem Fahrzeug verbinde oder trenne. Der ioBroker liest aus der Instanz für das Auto den Kilometerstand und die Lokation aus und schreibt dies wiederum in einen Kalender.

      1 Reply Last reply Reply Quote 0
      • D
        dirkhe Developer @michije last edited by dirkhe

        @michije schau mal hier,da ist ei online validator
        https://kewisch.github.io/ical.js/validator.html
        Sieht so aus, als wenn apple da gegen die norm arbeitet...
        Probiere da mal mit deinen echten daten rum, wenn du rausbekommst, was genau das problem ist, zb irgendein zeilenumbruch oder so, kann man ja vlt was fixen, im prinzip müsste das aber hier https://github.com/kewisch/ical.js gemeldet und gefixt werden

        Update
        In der tat manipuliere ich die daten vor der ausgabe ins log, indem ich whitespace entferne. Du müsstest also beim testen die original daten testen

        M 1 Reply Last reply Reply Quote 0
        • D
          dirkhe Developer @michije last edited by dirkhe

          das mit dem Ort muss ich mir anschauen. Im prinzip geht das ja am adapter vorbei, da müsste ich mir was überlegen, wie ich generisch beim addEvent weitere felder mit übertragen kann

          update:
          Ich denke,dass bekomme ich hin, mal schauen, ob ich am we zeit finde

          Markus Kufner 1 Reply Last reply Reply Quote 0
          • Markus Kufner
            Markus Kufner @dirkhe last edited by

            @dirkhe herzlichen Dank schon einmal dafür, dass du deine Zeit für mich investierst!

            D 1 Reply Last reply Reply Quote 0
            • M
              michije @dirkhe last edited by michije

              @dirkhe Da kommt genau der gleiche Fehler wie im ioBroker log 😕
              Wenn das Problem scheint der Linebreak in X-TITLE zwischen Straße und PLZ zu sein:

               X-APPLE-RADIUS=0;X-APPLE-REFERENCEFRAME=1;X-TITLE=[Strasse]
              [PLZ] [ORT]
              

              Wenn ich den Line Break entferne, validiert er korrekt. Scheint also wirklich ein Apple Problem zu sein. Da die Events von 2016 und 2017 sind, werde ich die einfach raus löschen, dann müsste es auch im Adapter klappen.
              Danke dir für die Hilfe 🙂

              EDIT: Oh no, es tritt noch wesentlich öfter auf.. Dann weiß ich auch nicht wie ich das zum laufen bekommen soll 😕

              D 2 Replies Last reply Reply Quote 0
              • D
                dirkhe Developer @michije last edited by

                @michije ich kann mal versuchen, ob ich da was machen kann.

                1 Reply Last reply Reply Quote 0
                • D
                  dirkhe Developer @michije last edited by

                  @michije Versuche mal die 1.4.0, da habe mal ein fix eingebaut, wo er die Apple tags vor dem parsen löscht, sollte man auch im debug sehen

                  M 1 Reply Last reply Reply Quote 0
                  • D
                    dirkhe Developer @Markus Kufner last edited by

                    @markus-kufner Sollte mit der 1.4.0 jetzt gehen

                    Markus Kufner 1 Reply Last reply Reply Quote 0
                    • Markus Kufner
                      Markus Kufner @dirkhe last edited by

                      @dirkhe klappt. Herzlichen Dank!

                      1 Reply Last reply Reply Quote 0
                      • M
                        michije @dirkhe last edited by

                        Hi @dirkhe, ich konnte die neue Version erst jetzt testen, es kommt immer noch der gleiche Error in der Konsole wie zuvor leider, und ich sehe auch kein entsprechenden Debug Eintrag
                        bc382f06-f309-4b2f-a87c-4b7aced0dd16-image.png

                        D 1 Reply Last reply Reply Quote 0
                        • D
                          dirkhe Developer @michije last edited by

                          @michije wo ist denn die ausgabe parse calendar event. Die wird eigentlich im debug ausgegeben, dann wird sie optimiert und das auch nochmal ausgegeben.
                          Das log schicke mir doch mal. Wenn du daten änderst, ersetzte die mal nur durch xxxx oder so

                          1 Reply Last reply Reply Quote 0
                          • N
                            nobbiman @dirkhe last edited by nobbiman

                            @dirkhe Wenn ich hier die komplette Diskussion lese bin ich begeistert, da der Adapter genau das kann, was ich dringend suche. Leider scheitere ich noch an den Basics: Ich versuche seit Stunden, einen Google-Kalender mit dem Adapter zu verbinden. Kann ja eigentlich bei den wenigen (5) Eingaben in der Konfiguration der Instanz nicht so schwierig sein – dachte ich. Vielleicht habe ich ja auch nur ein Verständnisproblem!?
                            WebCal-Instanzeinstellungen.jpg
                            Der Reihe nach
                            • Name – sollte doch sicher der Name des Google-Kalenders sein!?
                            • authorization method – sollte „google“ sein, so vermute ich jedenfalls
                            • Die Kalender URL wird offensichtlich nicht gebraucht
                            • Der Nutzername auch nicht
                            • Password/Secret: Das Passwort zu meinem Google-Account?
                            • RefreshToken with calDAV Permission: woher bekomme ich den? Gibt auch der nachfolgende Screenshot nicht her oder ist es der Client-Schlüssel?
                            • Die Client-ID kommt aus Google Auth Platform?
                            OAuth.jpg
                            So eingestellt, bekomme ich beim Test der Verbindung die Meldung „invalid_client“

                            Wähle ich bei der „authorization method“ die Option „Herunterladen“ oder „Basic“, speichere die geladenen Einstellungen und teste die Konfiguration, erscheint der Fehler Error reading from URL "https://calendar.google.com/calendar/embed?src=54267ef3724XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXf10482ca89%40group.calendar.google.com&ctz=Europe%2FBerlin“: 401 obwohl ich den Kalender über diese Adresse im Browser aufrufen kann.
                            Müsste ich denn im Google-Kalender den Nutzer WebCal nicht auch freischalten, wenn JA; mit welcher Adresse?
                            Stelle ich in der Konfiguration "oauth" ein und teste, bekomme ich auch die Meldung "cannot find homeUrl"!
                            Wo liegt denn nur mein Fehler?

                            D 1 Reply Last reply Reply Quote 0
                            • D
                              dirkhe Developer @nobbiman last edited by dirkhe

                              @nobbiman Leider ist es nicht so einfach, google anzubinden, ich habe da damals lange gebraucht, bis ich das hinbekommen habe. MIttlerweile nutzte ich selber keinen google kalender mehr, sondern nextcloud.
                              Aber im Prinzip habe ich es hier dokumentiert, was man machen muss:
                              https://github.com/dirkhe/ioBroker.webcal/blob/master/doc/google.md

                              N 1 Reply Last reply Reply Quote 0
                              • N
                                nobbiman @dirkhe last edited by

                                @dirkhe Ich hatte die verlinkte Erläuterung schon gesehen und nun nochmals Schritt für Schritt erneut nachvollzogen. Mit viel Sorgfalt hat es dann geklappt und ich habe eine Testverbindung aus dem Adapter heraus mit "access" quittiert bekommen.
                                Ich ziehe meinen Hut für das Ermitteln der beschriebenen Vorgehensweise!
                                Danke, da wäre ich nicht dahinter gekommen!

                                1 Reply Last reply Reply Quote 0
                                • N
                                  nic f. last edited by

                                  Hallo Zusammen, hab den Adapter heute in Betrieb genommen und ich verwende ihn, um in einem Google Kalender Termine per Script einzutragen.
                                  Klappt prima! Super Sache!

                                  nur eine Frage zu dem "add.Events"-Block - wie ist "color" zu verwenden? Ich habe schon einiges getestet, aber er ignoriert es. Im Google Kalender werden die Termine nur in Standardfarbe erstellt.

                                  Ist das überhaupt dafür gedacht? oder klappt es evtl im Google Kalender nicht?

                                  Vielen Dank!

                                  sendTo("webcal.0", "addEvents", {
                                  calendar: "smarthome",
                                  events: [
                                  {
                                  summary: "test2",
                                  description: "test add Event",
                                  location: "ort",
                                  color: "red",
                                  organizer: "ich",
                                  start: "12.1.25 23:00"
                                  }

                                  1 Reply Last reply Reply Quote 0
                                  • D
                                    dirkhe Developer last edited by

                                    @nic-f ich gebe das einfach an google weiter. Ich glaube du musst da eine id für die Farbe angeben, habe mir das nicht genauer angesehen. Am besten machst du im google kalender mal einträge in verschiedenen Farben und stellst den adapter mal auf debug, da solltest du den farbcode erkennen, vermute ich mal

                                    H 1 Reply Last reply Reply Quote 0
                                    • H
                                      HomeUser @dirkhe last edited by

                                      Hallo,
                                      erstmal vielen Dank für den Adapter, mit dem ich vermutlich den iCal ablösen werde, um auch Daten hinzufügen zu können!

                                      Allerdings bin ich bei meinen Versuchen heute beim Delete gescheitert.

                                      Ich verwende dieses Skript (die ID ist die _IDID aus dem JSON, welches ich empfangen habe):

                                      sendTo("webcal.0", "deleteEvents", {
                                          calendar: "SmartHome",
                                          events: [
                                            {
                                              id: 'd08b79c9-7c46-402f-86d1-cd96ddbca800'
                                              //id: eventId
                                            },	  
                                            {
                                              id: "failed test"
                                            }
                                          ]
                                        },function(events){
                                          /* callback function 
                                      	   object events will be repeat from input, 
                                      	   with additional status or error field,   
                                      	*/
                                      	log(events);	
                                        })
                                      
                                      

                                      Aber leider bekomme ich immer folgendes Output:
                                      [
                                      { id: 'd08b79c9-7c46-402f-86d1-cd96ddbca800', error: 'Not Found' },
                                      { id: 'failed test', error: 'Not Found' }
                                      ]

                                      Was kann ich falsch machen?
                                      Welche ID muss ich nehmen?
                                      Welche ID muss ich eigentlich bei wiederkehrenden Terminen nehmen, um nicht die Serie sondern einen Einzeltermin zu löschen? Die ID scheint dort die gleiche zu sein an allen Tagen.

                                      D 1 Reply Last reply Reply Quote 0
                                      • D
                                        dirkhe Developer @HomeUser last edited by

                                        @homeuser was für einen kalender hast du denn, google oder webcal?
                                        Im prinzip wrappe ich das nur auf die vorhandenen funktion. stell doch mal auf debug, vlt steht da dann auch mehr.

                                        H 1 Reply Last reply Reply Quote 0
                                        • H
                                          HomeUser @dirkhe last edited by

                                          @dirkhe Ich nutze den Kalender von Nextcloud.

                                          Mit debug habe ich probiert die relevanten Abschnitte aus dem Log zu extrahieren:

                                          2025-02-10 19:21:51.857 - silly: webcal.0 (275635) States system redis pmessage io.messagebox.system.adapter.webcal.0/io.messagebox.system.adapter.webcal.0:{"command":"deleteEvents","message":{"calendar":"SmartHome","events":[{"id":"d08b79c9-7c46-402f-86d1-cd96ddbca800"},{"id":"failed test"}]},"from":"system.adapter.javascript.0","callback":{"message":{"calendar":"SmartHome","events":[{"id":"d08b79c9-7c46-402f-86d1-cd96ddbca800"},{"id":"failed test"}]},"id":2077,"ack":false,"time":1739211711853},"_id":8937513}
                                          2025-02-10 19:21:51.858 - debug: webcal.0 (275635) {"command":"deleteEvents","message":{"calendar":"SmartHome","events":[{"id":"d08b79c9-7c46-402f-86d1-cd96ddbca800"},{"id":"failed test"}]},"from":"system.adapter.javascript.0","callback":{"message":{"calendar":"SmartHome","events":[{"id":"d08b79c9-7c46-402f-86d1-cd96ddbca800"},{"id":"failed test"}]},"id":2077,"ack":false,"time":1739211711853},"_id":8937513}
                                          2025-02-10 19:21:51.858 - debug: webcal.0 (275635) delete Events from SmartHome
                                          2025-02-10 19:21:54.309 - debug: webcal.0 (275635) fetching Calendar SmartHome
                                          2025-02-10 19:21:54.309 - silly: webcal.0 (275635) sendTo "deleteEvents" to system.adapter.javascript.0 from system.adapter.webcal.0
                                          2025-02-10 19:21:54.315 - info: javascript.0 (3266) script.js.common.Wallbox_Planner_V4: [
                                          { id: 'd08b79c9-7c46-402f-86d1-cd96ddbca800', error: 'Not Found' },
                                          { id: 'failed test', error: 'Not Found' }
                                          ]
                                          2025-02-10 19:21:56.779 - info: webcal.0 (275635) found 8 calendar objects
                                          2025-02-10 19:21:56.781 - debug: webcal.0 (275635) parse calendar data:
                                          ....
                                          2025-02-10 19:21:56.788 - debug: webcal.0 (275635) parse calendar data:
                                          BEGIN:VCALENDAR
                                          CALSCALE:GREGORIAN
                                          VERSION:2.0
                                          PRODID:-//IDN nextcloud.com//Calendar app 5.0.9//EN
                                          BEGIN:VEVENT
                                          CREATED:20250209T162558Z
                                          DTSTAMP:20250210T182012Z
                                          LAST-MODIFIED:20250210T182012Z
                                          SEQUENCE:7
                                          UID:d08b79c9-7c46-402f-86d1-cd96ddbca800
                                          DTSTART;TZID=Europe/Berlin:20250210T210000
                                          DTEND;TZID=Europe/Berlin:20250210T220000
                                          STATUS:CONFIRMED
                                          SUMMARY:Auto
                                          END:VEVENT
                                          BEGIN:VTIMEZONE
                                          TZID: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
                                          END:VCALENDAR
                                          
                                          
                                          D 1 Reply Last reply Reply Quote 0
                                          • D
                                            dirkhe Developer @HomeUser last edited by

                                            @homeuser ich hätte jetzt vermutet, dass die uuid korrekt ist, steht den im log keine antwort vom löschen? Ich müsste es jetzt auch mal testen, ich meine auch , dass mit nextcloud getestet zu haben, allerdings kein wiederkehrendes event

                                            H 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            799
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            26
                                            305
                                            35631
                                            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