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.8k

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

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

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.
  • D dirkhe

    @dirkhe Also es ist tatsächlich ein Bug in der ical library. Das muss ich mir genauer anschauen

    D Offline
    D Offline
    dirkhe
    Developer
    schrieb am zuletzt editiert von
    #224

    @chris299 So, Bug sollte gefixt sein in der Version 1.3.6

    C 2 Antworten Letzte Antwort
    0
    • D dirkhe

      @chris299 So, Bug sollte gefixt sein in der Version 1.3.6

      C Online
      C Online
      chris299
      schrieb am zuletzt editiert von
      #225

      @dirkhe sieht gut aus, d.h. das Problem scheint behoben zu sein, vielen Dank.

      1 Antwort Letzte Antwort
      0
      • D dirkhe

        @chris299 So, Bug sollte gefixt sein in der Version 1.3.6

        C Online
        C Online
        chris299
        schrieb am zuletzt editiert von
        #226

        @dirkhe ich wollte nun einen zweiten Kalender nch genau dem gleichen Muster einrichten, aber der zweite geht irgendwie garnicht.
        da verschwinden auch die credentials aus der Config....
        6877b5b4-0024-4f35-8fdb-c73d6b26f29e-grafik.png

        Wie kann ich denn Teste, ob der Zugang zu dem Kalender als solche funktioniert? im Log sehe ich auch keinen Fehler....

        1 Antwort Letzte Antwort
        0
        • D Offline
          D Offline
          dirkhe
          Developer
          schrieb am zuletzt editiert von
          #227

          @chris299 schaue ich mir morgen mal an. Das hat auf jeden fall mal funktioniert. Ich musste die config anpassen, weil da ständig Warnungen kamen. Vlt ist dabei was kaputt gegangen.
          Testen geht nicht, weil im admin adapter noch ein bug drin ist

          C 1 Antwort Letzte Antwort
          0
          • D dirkhe

            @chris299 schaue ich mir morgen mal an. Das hat auf jeden fall mal funktioniert. Ich musste die config anpassen, weil da ständig Warnungen kamen. Vlt ist dabei was kaputt gegangen.
            Testen geht nicht, weil im admin adapter noch ein bug drin ist

            C Online
            C Online
            chris299
            schrieb am zuletzt editiert von chris299
            #228

            @dirkhe vielen Dank. Evtl. würde es helfen, den Adapter im debug-loglevel etwas "gesprächiger" hinsichtlich der Connectivity zu machen, z.b. ausgeben, wenn er sich verbindet und ob das erfolgreich war....

            EDIT: im Debug log sehe ich überhaupt nichts zu dem zweiten Kalender. sieht ganz so aus als würde der garnicht abgearbeitet....

            D 1 Antwort Letzte Antwort
            0
            • C chris299

              @dirkhe vielen Dank. Evtl. würde es helfen, den Adapter im debug-loglevel etwas "gesprächiger" hinsichtlich der Connectivity zu machen, z.b. ausgeben, wenn er sich verbindet und ob das erfolgreich war....

              EDIT: im Debug log sehe ich überhaupt nichts zu dem zweiten Kalender. sieht ganz so aus als würde der garnicht abgearbeitet....

              D Offline
              D Offline
              dirkhe
              Developer
              schrieb am zuletzt editiert von
              #229

              @chris299 Das Problem war tatsächlich die Anpassung an der config. Die haben das Schema für password angepasst, Da habe ich das auch so angepasst, dass es keine Warnung mehr gab. Allerdings wurde das passwort dadurch nicht mehr gespeichert.
              Die Diskussion habe ich mit den Admin Entwickler schon mal geführt. Die Idee ist, dass Passwörter encrypted gespeichert werden sollen. So gut so richtig, nur gibt es keine Lösung, wenn die Anzahl Passwörter dynamisch ist. Wenn es genau ein Passort gibt geht deren Lösung, aber nicht für eine dynamische Liste. Ich hatte da auch schon 2 Lösungsvorschläge gemacht, die wurden aber ignoriert.
              Sollte in der 1.3.7 gefixt sein. Das Logging habe ich auch ein bisschen angepasst

              C 2 Antworten Letzte Antwort
              0
              • D dirkhe

                @chris299 Das Problem war tatsächlich die Anpassung an der config. Die haben das Schema für password angepasst, Da habe ich das auch so angepasst, dass es keine Warnung mehr gab. Allerdings wurde das passwort dadurch nicht mehr gespeichert.
                Die Diskussion habe ich mit den Admin Entwickler schon mal geführt. Die Idee ist, dass Passwörter encrypted gespeichert werden sollen. So gut so richtig, nur gibt es keine Lösung, wenn die Anzahl Passwörter dynamisch ist. Wenn es genau ein Passort gibt geht deren Lösung, aber nicht für eine dynamische Liste. Ich hatte da auch schon 2 Lösungsvorschläge gemacht, die wurden aber ignoriert.
                Sollte in der 1.3.7 gefixt sein. Das Logging habe ich auch ein bisschen angepasst

                C Online
                C Online
                chris299
                schrieb am zuletzt editiert von
                #230

                @dirkhe sieht sehr gut aus, vielen Dank

                1 Antwort Letzte Antwort
                0
                • D dirkhe

                  @chris299 Das Problem war tatsächlich die Anpassung an der config. Die haben das Schema für password angepasst, Da habe ich das auch so angepasst, dass es keine Warnung mehr gab. Allerdings wurde das passwort dadurch nicht mehr gespeichert.
                  Die Diskussion habe ich mit den Admin Entwickler schon mal geführt. Die Idee ist, dass Passwörter encrypted gespeichert werden sollen. So gut so richtig, nur gibt es keine Lösung, wenn die Anzahl Passwörter dynamisch ist. Wenn es genau ein Passort gibt geht deren Lösung, aber nicht für eine dynamische Liste. Ich hatte da auch schon 2 Lösungsvorschläge gemacht, die wurden aber ignoriert.
                  Sollte in der 1.3.7 gefixt sein. Das Logging habe ich auch ein bisschen angepasst

                  C Online
                  C Online
                  chris299
                  schrieb am zuletzt editiert von
                  #231

                  @dirkhe nachem ich nun die Termine im IOBroker sehe (nochmals vielen Dank für den Adapter und Deine Hilfe) kommt nun die Kür-Frage: wie baue ich eine Termin-erinnerung für einen Termin der sich zwar wiederholt, aber nicht immer zur gleichen Zeit?
                  Den Termin selber sehe ich unter "heute" und unter "next", aber wie bekomme ich ein Blockly/JS zu diesem Zeitpunkt, bzw. besser etwas davor getriggert?
                  aktulle habe ich nur eine täglichen trigger, aber schon beim Zeitversatz wird es knifflig, weil die Termine in UTC sind.... kann man irgendwie direkt einen Trigger auf einen Termin legen (z.B. bei Änderung von "next"?

                  1 Antwort Letzte Antwort
                  0
                  • D Offline
                    D Offline
                    dirkhe
                    Developer
                    schrieb am zuletzt editiert von
                    #232

                    @chris299 genau, du kannst direkt auf next change triggern und dann den wert als datum, müsste eigentlich mit new Date() funktionieren. Dann deine zeit vorher abziehen und dann per schedule deine errinnerung auslösen. Aber ggf. Darüber nachdenken, ein ggf. Gesetztes schedule zu löschen, falls du die zeit mal änderst. Zusätzlich beim start des scriptes die funktion auch aufrufen, falls der iobroker oder der jsadapter neu startet

                    D C 2 Antworten Letzte Antwort
                    0
                    • D dirkhe

                      @chris299 genau, du kannst direkt auf next change triggern und dann den wert als datum, müsste eigentlich mit new Date() funktionieren. Dann deine zeit vorher abziehen und dann per schedule deine errinnerung auslösen. Aber ggf. Darüber nachdenken, ein ggf. Gesetztes schedule zu löschen, falls du die zeit mal änderst. Zusätzlich beim start des scriptes die funktion auch aufrufen, falls der iobroker oder der jsadapter neu startet

                      D Offline
                      D Offline
                      dirkhe
                      Developer
                      schrieb am zuletzt editiert von
                      #233

                      ich könnte bei gelegenheit mal schauen, ob man einen eingestellten alarm auslesen kann und dann zu diesem zeitpunkt einen datenpunkt updaten

                      1 Antwort Letzte Antwort
                      0
                      • D dirkhe

                        @chris299 genau, du kannst direkt auf next change triggern und dann den wert als datum, müsste eigentlich mit new Date() funktionieren. Dann deine zeit vorher abziehen und dann per schedule deine errinnerung auslösen. Aber ggf. Darüber nachdenken, ein ggf. Gesetztes schedule zu löschen, falls du die zeit mal änderst. Zusätzlich beim start des scriptes die funktion auch aufrufen, falls der iobroker oder der jsadapter neu startet

                        C Online
                        C Online
                        chris299
                        schrieb am zuletzt editiert von
                        #234

                        @dirkhe nochmal danke für den Hinweis, aber mittels Blockly bekomme ich das wohl nicht hin.... (JS kann ich noch nicht.... :-) )
                        sowas wie

                        scheduleById('webcal.0.events.SchuleMarlon.next', async () => {
                          console.info('naechste Veranstaltung gestartet ');
                        });
                        

                        funktiniert anscheinend nur mit Uhrzeit am gleichen Tag....
                        Könntest Du mir noch einen etwas konkreteren Tipp geben, wie ich ein Blockly so schedulen kann?

                        D 1 Antwort Letzte Antwort
                        0
                        • C chris299

                          @dirkhe nochmal danke für den Hinweis, aber mittels Blockly bekomme ich das wohl nicht hin.... (JS kann ich noch nicht.... :-) )
                          sowas wie

                          scheduleById('webcal.0.events.SchuleMarlon.next', async () => {
                            console.info('naechste Veranstaltung gestartet ');
                          });
                          

                          funktiniert anscheinend nur mit Uhrzeit am gleichen Tag....
                          Könntest Du mir noch einen etwas konkreteren Tipp geben, wie ich ein Blockly so schedulen kann?

                          D Offline
                          D Offline
                          dirkhe
                          Developer
                          schrieb am zuletzt editiert von
                          #235

                          @chris299 bin jetzt gerade im Urlaub, muss danach mal schauen. Blocky ist mir zu kompliziert, wenn kann ich dir javascript liefern

                          C 1 Antwort Letzte Antwort
                          0
                          • D dirkhe

                            @chris299 bin jetzt gerade im Urlaub, muss danach mal schauen. Blocky ist mir zu kompliziert, wenn kann ich dir javascript liefern

                            C Online
                            C Online
                            chris299
                            schrieb am zuletzt editiert von
                            #236

                            @dirkhe ein Ansatz in JS würde mir auch schon sehr helfen. Ein bisschen lesen kann ich das und ich wollte mich eh mal intensiver damit beschäftigen 😀

                            D 1 Antwort Letzte Antwort
                            0
                            • C chris299

                              @dirkhe ein Ansatz in JS würde mir auch schon sehr helfen. Ein bisschen lesen kann ich das und ich wollte mich eh mal intensiver damit beschäftigen 😀

                              D Offline
                              D Offline
                              dirkhe
                              Developer
                              schrieb am zuletzt editiert von
                              #237

                              @chris299 so hier mal ein JS Beispiel:

                                  function webCalAlert(dpID, minutesBefore) {
                                      let s = null;
                              
                                      function initALert(timeStr) {
                                          if (s != null)
                                              clearSchedule(s);
                                          if (timeStr) {
                                              s = schedule(new Date(new Date(timeStr).getTime() - 1000 * 60 * minutesBefore), function () {
                                                  s = null;
                                                  log("Alert form " + dpID, "error")
                                              })
                                          }
                                      }
                              
                                      on({ id: dpID, change: "ne" }, function (obj) {
                                          initALert(obj.state.val);
                                      })
                                      initALert(getState(dpID).val);
                                  }
                              
                                  webCalAlert("webcal.0.events.Restabfall.next", 5)
                                  webCalAlert("0_userdata.0.example_state", 1);
                              
                              
                              M 1 Antwort Letzte Antwort
                              0
                              • D dirkhe

                                @chris299 so hier mal ein JS Beispiel:

                                    function webCalAlert(dpID, minutesBefore) {
                                        let s = null;
                                
                                        function initALert(timeStr) {
                                            if (s != null)
                                                clearSchedule(s);
                                            if (timeStr) {
                                                s = schedule(new Date(new Date(timeStr).getTime() - 1000 * 60 * minutesBefore), function () {
                                                    s = null;
                                                    log("Alert form " + dpID, "error")
                                                })
                                            }
                                        }
                                
                                        on({ id: dpID, change: "ne" }, function (obj) {
                                            initALert(obj.state.val);
                                        })
                                        initALert(getState(dpID).val);
                                    }
                                
                                    webCalAlert("webcal.0.events.Restabfall.next", 5)
                                    webCalAlert("0_userdata.0.example_state", 1);
                                
                                
                                M Offline
                                M Offline
                                mika84
                                schrieb am zuletzt editiert von
                                #238

                                @dirkhe Hi, schon mal vorab: tolle Arbeit!
                                Bei mir sehe ich keine Serientermine.
                                Ich nutze die Download-Funktion. Die Termine werden auch heruntergeladen. Aber im der json ist zu sehen, dass kein Serientermin dabei ist.
                                Kannst du die Funktion hinzufügen oder fehlt mir nur etwas.

                                P.S.: ich habe aktuell keine Ereignisse konfiguriert. Also ist alles ungefiltert.

                                D 1 Antwort Letzte Antwort
                                0
                                • M mika84

                                  @dirkhe Hi, schon mal vorab: tolle Arbeit!
                                  Bei mir sehe ich keine Serientermine.
                                  Ich nutze die Download-Funktion. Die Termine werden auch heruntergeladen. Aber im der json ist zu sehen, dass kein Serientermin dabei ist.
                                  Kannst du die Funktion hinzufügen oder fehlt mir nur etwas.

                                  P.S.: ich habe aktuell keine Ereignisse konfiguriert. Also ist alles ungefiltert.

                                  D Offline
                                  D Offline
                                  dirkhe
                                  Developer
                                  schrieb am zuletzt editiert von
                                  #239

                                  @mika84 serientermine werden einzeln aufgelöst, du siehst also nicht mehr, dass es ein serientermin ist. Oder werden die einzelnen termine auch nicht angezeigt? Dann müsstest du mir mal deine downloaddatei schicken. Kannst ja durch suchen und ersetzen alles private unkenntlich machen

                                  1 Antwort Letzte Antwort
                                  0
                                  • M Offline
                                    M Offline
                                    mika84
                                    schrieb am zuletzt editiert von mika84
                                    #240

                                    @dirkhe Hi, ich habe ein paar Testtermine erstellt. NormalEvent(x) sind normale Events. www und Orchester sind Serientermine (1x wöchentlich). In der ics sind sie vorhanden. Im "data" Objekt also der json fehlen diese.

                                    Hab ich ebenfalls mit angehangen. Damit alles gedownloaded wird, habe ich ein Event gesetzt. Filter nach "." für einfach alles. Wenn ich nur den Serientermin im Kalender habe, geht der Filter da auch. Vielleicht liegt der Fehler wirklich im Filter. Wie kann ich einfach alles erstmal im "data" Objekt haben?

                                    a6996890-ae8b-44c5-9cc0-5e4734d69960-image.png

                                    basic (1).ics
                                    möp.json

                                    D 1 Antwort Letzte Antwort
                                    0
                                    • M mika84

                                      @dirkhe Hi, ich habe ein paar Testtermine erstellt. NormalEvent(x) sind normale Events. www und Orchester sind Serientermine (1x wöchentlich). In der ics sind sie vorhanden. Im "data" Objekt also der json fehlen diese.

                                      Hab ich ebenfalls mit angehangen. Damit alles gedownloaded wird, habe ich ein Event gesetzt. Filter nach "." für einfach alles. Wenn ich nur den Serientermin im Kalender habe, geht der Filter da auch. Vielleicht liegt der Fehler wirklich im Filter. Wie kann ich einfach alles erstmal im "data" Objekt haben?

                                      a6996890-ae8b-44c5-9cc0-5e4734d69960-image.png

                                      basic (1).ics
                                      möp.json

                                      D Offline
                                      D Offline
                                      dirkhe
                                      Developer
                                      schrieb am zuletzt editiert von
                                      #241

                                      @mika84 muß ich dann mal analysieren

                                      M 1 Antwort Letzte Antwort
                                      0
                                      • D dirkhe

                                        @mika84 muß ich dann mal analysieren

                                        M Offline
                                        M Offline
                                        mika84
                                        schrieb am zuletzt editiert von
                                        #242

                                        @dirkhe Na, hast du schon eine Idee? Ich glaube, es passiert immer dann, wenn noch ein weiterer "einfacher/normaler" Termin am gleichen Tag wie ein Serientermin existiert.

                                        D 1 Antwort Letzte Antwort
                                        0
                                        • M mika84

                                          @dirkhe Na, hast du schon eine Idee? Ich glaube, es passiert immer dann, wenn noch ein weiterer "einfacher/normaler" Termin am gleichen Tag wie ein Serientermin existiert.

                                          D Offline
                                          D Offline
                                          dirkhe
                                          Developer
                                          schrieb am zuletzt editiert von
                                          #243

                                          @mika84 bin noch nicht dazu gekommen, aber wenn es 2 einträge für dieselbe uhrzeit gibt, macht es ja sinn, den nicht anzuzeigen. Wie gesagt, dasist alles eventbasiert. Wenn du ein catchAll event anlegst, wird er ja nur die uhrzeiten für einen tag suchen..
                                          Leg doch mal 3 events an und schau ob er die richtig anzeigt. Denn so ist es eigentluch gedacht, dass fu für so ein event die datenpunkte bekommst, wo du dann per script oder vis drauf reagieren kannst und auch per vis einen weiteren termin anlegen kannst

                                          M 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

                                          911

                                          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