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.
    • D
      dirkhe Developer last edited by

      @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 Replies Last reply Reply Quote 0
      • D
        dirkhe Developer @dirkhe last edited by

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

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

          @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 Reply Last reply Reply Quote 0
          • D
            dirkhe Developer @chris299 last edited by

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

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

              @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 Reply Last reply Reply Quote 0
              • D
                dirkhe Developer @chris299 last edited by

                @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 Reply Last reply Reply Quote 0
                • M
                  mika84 @dirkhe last edited by

                  @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 Reply Last reply Reply Quote 0
                  • D
                    dirkhe Developer @mika84 last edited by

                    @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 Reply Last reply Reply Quote 0
                    • M
                      mika84 last edited by 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 1 Reply Last reply Reply Quote 0
                      • D
                        dirkhe Developer @mika84 last edited by

                        @mika84 muß ich dann mal analysieren

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

                          @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 Reply Last reply Reply Quote 0
                          • D
                            dirkhe Developer @mika84 last edited by

                            @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 Reply Last reply Reply Quote 0
                            • M
                              mika84 @dirkhe last edited by

                              @dirkhe Hi, die sind nicht zur gleichen Zeit. Nur am gleichen Tag. Dann warte ich auf deine Analyse.

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

                                @mika84 Also ich habe deine Datei gerade eingelesen und bekomme auch alle angezeigt.

                                [
                                  {
                                    "id": "2tummvmig9o65vf4u6qn7h7ffo@google.com",
                                    "calendarName": "test 1",
                                    "summary": "NormalEvent3",
                                    "date": "2024-07-02T11:00:00.000Z",
                                    "startTime": "13:00",
                                    "endTime": "14:00",
                                    "timeText": "from 13:00 until 14:00",
                                    "dateText": "today"
                                  },
                                  {
                                    "id": "1pus6bgnr67n61frdui1c0us08@google.com",
                                    "calendarName": "test 1",
                                    "summary": "NormalEvent4",
                                    "date": "2024-07-02T12:30:00.000Z",
                                    "startTime": "14:30",
                                    "endTime": "15:30",
                                    "timeText": "from 14:30 until 15:30",
                                    "dateText": "today"
                                  },
                                  {
                                    "id": "5vfaqnm9m61p6spmgsj0r7rsse@google.com",
                                    "calendarName": "test 1",
                                    "summary": "NormalEvent",
                                    "date": "2024-07-03T11:00:00.000Z",
                                    "startTime": "13:00",
                                    "endTime": "14:00",
                                    "timeText": "from 13:00 until 14:00",
                                    "dateText": "Tomorrow"
                                  },
                                  {
                                    "id": "43bu69jm5bck63u8d010r6u4fs@google.com",
                                    "calendarName": "test 1",
                                    "summary": "NormalEvent1",
                                    "date": "2024-07-04T11:00:00.000Z",
                                    "startTime": "13:00",
                                    "endTime": "14:00",
                                    "timeText": "from 13:00 until 14:00",
                                    "dateText": "in 2 days"
                                  },
                                  {
                                    "id": "7cgc8gas0mefjpaknj6np0j16j@google.com",
                                    "calendarName": "test 1",
                                    "summary": "Orchester",
                                    "date": "2024-07-10T14:30:00.000Z",
                                    "startTime": "16:30",
                                    "endTime": "17:30",
                                    "timeText": "from 16:30 until 17:30",
                                    "dateText": "in 8 days"
                                  },
                                  {
                                    "id": "0gdt7e58bukrv2amaur6q3r499@google.com",
                                    "calendarName": "test 1",
                                    "summary": "www",
                                    "date": "2024-07-11T16:00:00.000Z",
                                    "startTime": "18:00",
                                    "endTime": "19:00",
                                    "timeText": "from 18:00 until 19:00",
                                    "dateText": "in 9 days"
                                  },
                                  {
                                    "id": "2dtpkjl55nso27eometl3it1qe@google.com",
                                    "calendarName": "test 1",
                                    "summary": "test",
                                    "date": "2024-07-17T15:30:00.000Z",
                                    "startTime": "17:30",
                                    "timeText": "from 17:30",
                                    "dateText": "in 15 days"
                                  },
                                  {
                                    "id": "7cgc8gas0mefjpaknj6np0j16j@google.com",
                                    "calendarName": "test 1",
                                    "summary": "Orchester",
                                    "date": "2024-07-17T14:30:00.000Z",
                                    "startTime": "16:30",
                                    "endTime": "17:30",
                                    "timeText": "from 16:30 until 17:30",
                                    "dateText": "in 15 days"
                                  },
                                  {
                                    "id": "2dtpkjl55nso27eometl3it1qe@google.com",
                                    "calendarName": "test 1",
                                    "summary": "test",
                                    "date": "2024-07-18T15:30:00.000Z",
                                    "timeText": "all day",
                                    "dateText": "in 16 days"
                                  },
                                  {
                                    "id": "0gdt7e58bukrv2amaur6q3r499@google.com",
                                    "calendarName": "test 1",
                                    "summary": "www",
                                    "date": "2024-07-18T16:00:00.000Z",
                                    "startTime": "18:00",
                                    "endTime": "19:00",
                                    "timeText": "from 18:00 until 19:00",
                                    "dateText": "in 16 days"
                                  },
                                  {
                                    "id": "2dtpkjl55nso27eometl3it1qe@google.com",
                                    "calendarName": "test 1",
                                    "summary": "test",
                                    "date": "2024-07-19T15:30:00.000Z",
                                    "timeText": "all day",
                                    "dateText": "in 17 days"
                                  },
                                  {
                                    "id": "2dtpkjl55nso27eometl3it1qe@google.com",
                                    "calendarName": "test 1",
                                    "summary": "test",
                                    "date": "2024-07-20T15:30:00.000Z",
                                    "timeText": "all day",
                                    "dateText": "in 18 days"
                                  },
                                  {
                                    "id": "2dtpkjl55nso27eometl3it1qe@google.com",
                                    "calendarName": "test 1",
                                    "summary": "test",
                                    "date": "2024-07-21T15:30:00.000Z",
                                    "timeText": "all day",
                                    "dateText": "in 19 days"
                                  },
                                  {
                                    "id": "2dtpkjl55nso27eometl3it1qe@google.com",
                                    "calendarName": "test 1",
                                    "summary": "test",
                                    "date": "2024-07-22T15:30:00.000Z",
                                    "endTime": "18:30",
                                    "timeText": "until 18:30",
                                    "dateText": "in 20 days"
                                  },
                                  {
                                    "id": "2dtpkjl55nso27eometl3it1qe@google.com",
                                    "calendarName": "test 1",
                                    "summary": "test",
                                    "date": "2024-07-24T15:30:00.000Z",
                                    "startTime": "17:30",
                                    "timeText": "from 17:30",
                                    "dateText": "in 22 days"
                                  },
                                  {
                                    "id": "7cgc8gas0mefjpaknj6np0j16j@google.com",
                                    "calendarName": "test 1",
                                    "summary": "Orchester",
                                    "date": "2024-07-24T14:30:00.000Z",
                                    "startTime": "16:30",
                                    "endTime": "17:30",
                                    "timeText": "from 16:30 until 17:30",
                                    "dateText": "in 22 days"
                                  },
                                  {
                                    "id": "2dtpkjl55nso27eometl3it1qe@google.com",
                                    "calendarName": "test 1",
                                    "summary": "test",
                                    "date": "2024-07-25T15:30:00.000Z",
                                    "timeText": "all day",
                                    "dateText": "in 23 days"
                                  },
                                  {
                                    "id": "0gdt7e58bukrv2amaur6q3r499@google.com",
                                    "calendarName": "test 1",
                                    "summary": "www",
                                    "date": "2024-07-25T16:00:00.000Z",
                                    "startTime": "18:00",
                                    "endTime": "19:00",
                                    "timeText": "from 18:00 until 19:00",
                                    "dateText": "in 23 days"
                                  },
                                  {
                                    "id": "2dtpkjl55nso27eometl3it1qe@google.com",
                                    "calendarName": "test 1",
                                    "summary": "test",
                                    "date": "2024-07-26T15:30:00.000Z",
                                    "timeText": "all day",
                                    "dateText": "in 24 days"
                                  },
                                  {
                                    "id": "2dtpkjl55nso27eometl3it1qe@google.com",
                                    "calendarName": "test 1",
                                    "summary": "test",
                                    "date": "2024-07-27T15:30:00.000Z",
                                    "timeText": "all day",
                                    "dateText": "in 25 days"
                                  },
                                  {
                                    "id": "2dtpkjl55nso27eometl3it1qe@google.com",
                                    "calendarName": "test 1",
                                    "summary": "test",
                                    "date": "2024-07-28T15:30:00.000Z",
                                    "timeText": "all day",
                                    "dateText": "in 26 days"
                                  },
                                  {
                                    "id": "2dtpkjl55nso27eometl3it1qe@google.com",
                                    "calendarName": "test 1",
                                    "summary": "test",
                                    "date": "2024-07-29T15:30:00.000Z",
                                    "endTime": "18:30",
                                    "timeText": "until 18:30",
                                    "dateText": "in 27 days"
                                  },
                                  {
                                    "id": "2dtpkjl55nso27eometl3it1qe@google.com",
                                    "calendarName": "test 1",
                                    "summary": "test",
                                    "date": "2024-07-31T15:30:00.000Z",
                                    "startTime": "17:30",
                                    "timeText": "from 17:30",
                                    "dateText": "in 29 days"
                                  },
                                  {
                                    "id": "7cgc8gas0mefjpaknj6np0j16j@google.com",
                                    "calendarName": "test 1",
                                    "summary": "Orchester",
                                    "date": "2024-07-31T14:30:00.000Z",
                                    "startTime": "16:30",
                                    "endTime": "17:30",
                                    "timeText": "from 16:30 until 17:30",
                                    "dateText": "in 29 days"
                                  },
                                  {
                                    "id": "2dtpkjl55nso27eometl3it1qe@google.com",
                                    "calendarName": "test 1",
                                    "summary": "test",
                                    "date": "2024-08-01T15:30:00.000Z",
                                    "endTime": "18:30",
                                    "timeText": "until 18:30",
                                    "dateText": "in 30 days"
                                  },
                                  {
                                    "id": "0gdt7e58bukrv2amaur6q3r499@google.com",
                                    "calendarName": "test 1",
                                    "summary": "www",
                                    "date": "2024-08-01T16:00:00.000Z",
                                    "startTime": "18:00",
                                    "endTime": "19:00",
                                    "timeText": "from 18:00 until 19:00",
                                    "dateText": "in 30 days"
                                  }
                                ]
                                
                                
                                M 1 Reply Last reply Reply Quote 0
                                • M
                                  mika84 @dirkhe last edited by

                                  @dirkhe Ok, wie hast du den Filter eingestellt?

                                  surfer09 1 Reply Last reply Reply Quote 0
                                  • surfer09
                                    surfer09 @mika84 last edited by

                                    @dirkhe: Ich hätte einmal eine frage zu dem Adapter: Ich hoste meinen Kalender auf einem Synology NAS. Ich habe es aber noch nicht hinbekommen, dort einen Termin eintragen zu lassen. Mache ich etwas falsch? Die Instanz hat zwar eine Verbindung aber irgendwie kommt der Termin nicht im Kalender an.
                                    Den "Add-Event" Datenpunkt habe ich zum Testen mal manuell mit einem Datum befüllt.
                                    Vielleicht mache ich ja etwas falsch??

                                    firefox_AgqSyMsHgM.jpg

                                    firefox_7AdUcxLT3i.jpg

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

                                      @surfer09 wie hast du den wert eingetragen, mit ackk =false oder true?. Das muss auf false stehen. Steht denn was im log?

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

                                        @dirkhe Ach, ich habe das Problem gerade gefunden. Ich hatte 31.12.2024 eingetragen. Damit kommt er scheinbar nicht klar. Es muss 31.12.24 lauten, dann funktioniert es auch 😉

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

                                          @surfer09 sollte aber auch gehen, das kann ich mir aber gerne nochmal anschauen

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

                                            @dirkhe Du hast Recht, jetzt geht's auch mit 31.12.2024. Komisch, aber okay!
                                            Danke dir!

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.1k
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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