Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. neuer Adapter webCal

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.7k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.1k

neuer Adapter webCal

Geplant Angeheftet Gesperrt Verschoben Tester
306 Beiträge 27 Kommentatoren 60.0k Aufrufe 24 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • icebearI 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 Offline
    D Offline
    dirkhe
    Developer
    schrieb am zuletzt editiert von dirkhe
    #301

    @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

    icebearI 1 Antwort Letzte Antwort
    0
    • D 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

      icebearI Offline
      icebearI Offline
      icebear
      schrieb am zuletzt editiert von icebear
      #302

      @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 Antwort Letzte Antwort
      0
      • icebearI 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 Offline
        D Offline
        dirkhe
        Developer
        schrieb am zuletzt editiert von
        #303

        @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

        icebearI GrizzelbeeG 2 Antworten Letzte Antwort
        0
        • D dirkhe

          @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

          icebearI Offline
          icebearI Offline
          icebear
          schrieb am zuletzt editiert von icebear
          #304

          @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 Antwort Letzte Antwort
          0
          • D dirkhe

            @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 Offline
            H Offline
            HomeUser
            schrieb am zuletzt editiert von
            #305

            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 Antwort Letzte Antwort
            0
            • D dirkhe

              @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

              GrizzelbeeG Offline
              GrizzelbeeG Offline
              Grizzelbee
              Developer
              schrieb am zuletzt editiert von Grizzelbee
              #306

              @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 Antwort Letzte Antwort
              0
              Antworten
              • In einem neuen Thema antworten
              Anmelden zum Antworten
              • Älteste zuerst
              • Neuste zuerst
              • Meiste Stimmen


              Support us

              ioBroker
              Community Adapters
              Donate

              405

              Online

              32.4k

              Benutzer

              81.5k

              Themen

              1.3m

              Beiträge
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
              ioBroker Community 2014-2025
              logo
              • Anmelden

              • Du hast noch kein Konto? Registrieren

              • Anmelden oder registrieren, um zu suchen
              • Erster Beitrag
                Letzter Beitrag
              0
              • Home
              • Aktuell
              • Tags
              • Ungelesen 0
              • Kategorien
              • Unreplied
              • Beliebt
              • GitHub
              • Docu
              • Hilfe