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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    neuer Adapter webCal

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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
              • H
                HomeUser @dirkhe last edited by

                @dirkhe Wie müsste die Antwort vom Löschen im Log aussehen? Dann suche ich nochmal danach. Ich dachte, dass ich alle relevanten Meldungen im Ausschnitt drin gelassen habe. Vielleicht habe ich aber doch etwas übersehen.

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

                  @homeuser hmmm aus meiner Sicht müsste das eigentlich funktionieren, nimmdoch mal den dummy eintrag weg

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

                    @homeuser also ich habe es jetzt noch mal getestet, bei mir mit nextcloud klappt das Löschen.aber immer nur alles, einen einzelnen Termin einer serie habe ich nicht hinbekommen

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

                      @dirkhe
                      Endlich komme ich mal wieder dazu weiter zu testen.

                      Ich habe einen neuen Termin "test0815" angelegt und probiert die relevanten Ausschnitte aus dem Logfile zu selektieren:

                      2025-03-08 17:17:38.946 - debug: webcal.0 (353157) days for calendar-event({"start":"2025-03-08T19:00:00.000Z","end":"2025-03-08T20:00:00.000Z"}): {"0":{"id":"18f1009b-8657-4384-a10d-57c2bcec46da","date":"2025-03-08T19:00:00.000Z","startTime":"20:00","endTime":"21:00","calendarName":"SmartHome","summary":"test0815"}}
                      2025-03-08 17:17:38.947 - silly: webcal.0 (353157) days for event 'test': {"0":[{"id":"18f1009b-8657-4384-a10d-57c2bcec46da","date":"2025-03-08T19:00:00.000Z","startTime":"20:00","endTime":"21:00","calendarName":"SmartHome","summary":"test0815"}]}
                      2025-03-08 17:17:57.067 - silly: webcal.0 (353157) States system redis pmessage io.messagebox.system.adapter.webcal.0/io.messagebox.system.adapter.webcal.0:{"command":"deleteEvents","message":{"calendar":"SmartHome","events":[{"id":"18f1009b-8657-4384-a10d-57c2bcec46da"}]},"from":"system.adapter.javascript.0","callback":{"message":{"calendar":"SmartHome","events":[{"id":"18f1009b-8657-4384-a10d-57c2bcec46da"}]},"id":9782,"ack":false,"time":1741450677063},"_id":99600086}
                      2025-03-08 17:17:57.072 - debug: webcal.0 (353157) {"command":"deleteEvents","message":{"calendar":"SmartHome","events":[{"id":"18f1009b-8657-4384-a10d-57c2bcec46da"}]},"from":"system.adapter.javascript.0","callback":{"message":{"calendar":"SmartHome","events":[{"id":"18f1009b-8657-4384-a10d-57c2bcec46da"}]},"id":9782,"ack":false,"time":1741450677063},"_id":99600086}
                      2025-03-08 17:17:58.406 - info: javascript.0 (158033) script.js.common.Wallbox_Planner_V4: [ { id: '18f1009b-8657-4384-a10d-57c2bcec46da', error: 'Not Found' } ]
                      2025-03-08 17:18:01.155 - debug: webcal.0 (353157) days for calendar-event({"start":"2025-03-08T19:00:00.000Z","end":"2025-03-08T20:00:00.000Z"}): {"0":{"id":"18f1009b-8657-4384-a10d-57c2bcec46da","date":"2025-03-08T19:00:00.000Z","startTime":"20:00","endTime":"21:00","calendarName":"SmartHome","summary":"test0815"}}
                      2025-03-08 17:18:01.156 - silly: webcal.0 (353157) days for event 'test': {"0":[{"id":"18f1009b-8657-4384-a10d-57c2bcec46da","date":"2025-03-08T19:00:00.000Z","startTime":"20:00","endTime":"21:00","calendarName":"SmartHome","summary":"test0815"}]}
                      

                      Nehme ich irgendwie die falsche ID?
                      Gibt es bei dem Einstellungen des Adapters etwas zu beachten?
                      Oder bei den Einstellungen des Kalenders?

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

                        @homeuser das wird irgendwie an deiner calender software liegen, bei mir mit nextcloud klappt das einwandfrei. vlt musst du Mal in dein Kalender log schauen?
                        Ich nutze da ja standard komponenten, die den caldav standard bedienen

                        H 1 Reply Last reply Reply Quote 0
                        • icebear
                          icebear last edited by icebear

                          @dirkhe

                          Ich hab jetzt auch deinen Adapter erfolgreich zum laufen gebracht, auch das erstellen und senden eines Testtermins mit dem Script aus dem war erfolgreich.

                          Da ich aber in JS nich so bewandert bin, wie müsste den ein Script ausehen, welches mir täglich um 09:00 einen Eintrag in meinem Google Kalender generiert aus den folgenden Daten (liegen alle als DP vor)

                          Ich würde gern folgendes im Kalender eintragen:

                          0_userdata.0.Eigene_Variablen.WP.Set.WWStartTime
                          

                          DP(string)

                          0_userdata.0.Eigene_Variablen.WP.Set.Betriebsart
                          

                          DP(string)

                          0_userdata.0.Eigene_Variablen.WP.Set.WW_Soll_Temp
                          

                          DP(number)

                          Termindauer soll immer auf 1(eine) Stunde eingestellt werden.

                          Event im Adapter heißt DHW Time

                          Wie müsste jetzt so ein Script aussehen?

                          D 1 Reply Last reply Reply Quote 0
                          • icebear
                            icebear last edited by icebear

                            @nic-f said in neuer Adapter webCal:

                            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.

                            Hier sind übrigens die Color-ID's von Google:

                            colorID.png

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

                              @icebear was genau willst du denn eintragen?
                              Also um 9 uhr willst du den eintrag erstellen, mit der zeit aus start? Und wo kommt die temperatur rein?
                              Also im prinzip gibt es schedule, der dir das jeden tag um 9 uhr ausführt u d dann den code, der hier auf der Seite schon steht

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

                                @dirkhe

                                Genau ich möchte per Schedule (täglich um 09:00 Uhr) die Startzeit aus dem DP der festlegt wann WW gemacht werden soll mit der Dauer von 1h eintragen. Mit dem Titel DHW Time.

                                Also Startzeit z.B. aus dem DP 12:30, dann Endzeit vom Termin 13:30.

                                Und dann, ich weiß ja nicht ob das geht als Subjekt (also als Termin Beschreibung/Inhalt) vom Termin, die Betriebsart (ausDP) und die WW-Temp (aus DP).

                                Bei den Beispielen hab ich immer nur rausgelesen wie man die Startzeit vom Termin setzt, aber nicht wie ich die Dauer, oder die Endzeit mitgeben. Und wie geb ich die Color-ID mit ?

                                Hier mal zwei Screenshots wo ich den Termin händisch erstellt habe, wie ich mir vorstelle wie das aussehen soll:

                                calendar1.png

                                calendar2.png

                                Und noch eine Sache ist mir eingefallen, wie ändere ich einen Termin, z.B. die Startzeit?

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

                                  @icebear Die update funktion habe ich ganz neu eingebaut, allerdings noch nicht für google, müsste ich dann noch machen.

                                  Also ohne, dass ich das jetzt getestet habe

                                      schedule({hour: 9, minute: 0}, function(){
                                  let starttime =  new 
                                  Date( getState("0_userdata.0.Eigene_Variablen.WP.Set.WWStartTime").val);
                                  let endtime = new Date(starttime.getTime() + 60 * 60000)
                                  
                                  sendTo("webcal.0", "addEvents", {
                                      calendar: "deinkalender",
                                      events: [
                                        {
                                          summary: "DHW Time",
                                          description: getState("0_userdata.0.Eigene_Variablen.WP.Betriebsart").val,
                                          color: "2",
                                          start: starttime.toLocaleString(),
                                          end: endtime.toLocaleString()
                                        }
                                      ]
                                    },function(events){
                                      /* callback function 
                                  	   object events will be repeat from input, 
                                  	   with additional status or error field, 
                                  	   also startDate and endDate are provided as Object data   
                                  	*/
                                  	log(events);	
                                    })
                                  }
                                  

                                  Ich weißnicht, was in deinem dp startzeit steht, das musst du natürlich in ein datum wandeln

                                  icebear Grizzelbee 2 Replies Last reply Reply Quote 0
                                  • icebear
                                    icebear @dirkhe last edited by icebear

                                    @dirkhe said in neuer Adapter webCal:

                                    Ich weißnicht, was in deinem dp startzeit steht, das musst du natürlich in ein datum wandeln

                                    Also ich hab das bei mir jetzt mal versucht zu testen, allerdings hat er mir das Script angemeckert, das da eine ) fehlt. Ich hab in Zeile 25 ganz am Ende noch eine ) eingefügt. Soweit so gut.

                                    Allerdings weiß ich nicht was das Script bei der "starttime" für einen Wert erwartet, ich hab so ziemlich alle Datums und Zeitkonvertierungen durch die ich kenne, aber das Script sagt jedesmal "Ungültiges Datum/ Zeitformat"

                                    Edit:
                                    Hat sich glaub ich erledigt, ich habs rausgefunden, jetzt teste ich mal weiter, das wird schon.

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

                                      Hallo @dirkhe
                                      hier wieder eine zeitverzögerte Antwort zu https://forum.iobroker.net/post/1256375.
                                      Neue Erkenntnisse auf meiner Seite:

                                      • Wenn ich den Kalendereintrag über den webcal Adapter anlege, kann ich ihn auch über delete löschen.
                                      • Sobald ich ihn in Nextcloud editiert habe (oder dort angelegt), klappt das Löschen nicht mehr ("not found").
                                      • Über den ical-Adapter habe ich den Eintrag mit mehr Details herauskopiert und einen Diff gemacht zwischen dem Eintrag vor/nach dem Bearbeiten in Nextcloud (nur die Description verlängert).
                                      • Nach dem Editieren hat auch dieser einmalige Eintrag eine Sequence-ID bekommen:
                                        cb5047d4-e3b2-4a45-90fc-73025b5b9067-image.png
                                        *...so weit hatte ich eine Theorie, aber manchmal geht das Löschen auch nach dem Editieren.

                                      Ergebnis so weit:

                                      • Anlegen über den Adapter --> Löschen geht
                                      • Anlegen über Adapter und Editieren in Nextcloud --> Löschen geht manchmal (noch kein System erkannt; meistens nicht)
                                      • Anlegen in Nextcloud --> Löschen geht nicht.
                                      1 Reply Last reply Reply Quote 0
                                      • Grizzelbee
                                        Grizzelbee Developer @dirkhe last edited by Grizzelbee

                                        @dirkhe

                                        Moin Dirk,

                                        ich weiß nicht was, aber irgendetwas mache ich grundlegend falsch. ;o)

                                        Folgendes Problem:
                                        Ich versuche auf meinen Nextcloud-Kalender zuzugreifen und habe den Adapter dafür wie folgt (lt. ReadMe) konfiguriert:
                                        2b7922e9-d904-493f-891c-c24b4b4c6313-image.png

                                        Allerdings sagt mir der Adapter permanent das die credentials invalid seien.

                                        Welche genau müssen denn da rein? Ich habe die generellen vom Nextcloud-Login genommen und über die Debug-Logausgaben kontrolliert - die sind richtig. Die stehen dort im Klartext drin.

                                        Meine NC läuft über einen Reverse Proxy - die Direkte http-URL mit Port funktioniert aber ebenfalls nicht, die wirft den selben Fehler.

                                        Ich hoffe, das Du eine Idee für mich hast.

                                        viele Grüße und Danke im Voraus
                                        Grizzelbee

                                        EDIT:
                                        Hat sich erledigt. Mir war nicht klar, dass es spezielle Passwörter für solche Fälle gibt.

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

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        818
                                        Online

                                        31.9k
                                        Users

                                        80.1k
                                        Topics

                                        1.3m
                                        Posts

                                        27
                                        306
                                        36772
                                        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