Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Ical - keine Erkennung vom Kalender [gelöst]

    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

    Ical - keine Erkennung vom Kalender [gelöst]

    This topic has been deleted. Only users with topic management privileges can see it.
    • I
      Idefix01 last edited by Idefix01

      Hallöchen,
      ich habe im Synology ein Kalender erstellt und diesen danach exportiert als ics-Datei für ICal.
      Nun habe ich folgendes Skript laufen:

      // Skript basiered auf JoJ123's Müllskript und Pix' Regenskript
      // v 0.2, tempestas 21.12.2018
      // Voraussetzung: ical 1.7
      
      
      // Anleitung: 
      /*
      
      1) im ical Adapter die Ereignisse definieren, die gesucht werden sollen (z.B. Restabfall)
      
      2) const PFAD auf euren ical Adapter anpassen (0, oder 1, zwei...)
      
      3) im Bereich EINTRAEGE vor den Doppelpunkten die Ereignisse analog des ical Ereginis eintragen. 
      ACHTUNG: ES DÜRFEN HIER KEINE FREIZEICHEN GENUTZT WERDEN; ICAL MACHT AUS "Gelber Sack" ALS EREIGNIS DATENPUNKT "GelberSack"
      daher muss hier dann "GelberSack" eingetragen werden
      
      hinter den Doppelpunkten wird der Pfad angegeben, in dem die Datenpunkte für die Tage bis zum jeweiligen Müll gespeichert werden.
      Davor wird dann noch die Javascript Instanz gesetzt, in der ihr das Skript startet.
      Gesamtpfad dann also z.B. "javascript.0.muell.restmuell" 
      
      
      Hinweis: das Skript kann für alle Arten von Events genutzt werden, daher hier auf dne Begriff "Muell" verzichtet.
      
      
      
      */
      
      debug = true;
      
      const PFAD = "ical.0.events.";
      const EINTRAEGE = {                       
          "Hausmüll": 'javascript.0.muell.restmuell',
          "Altpapier": 'javascript.0.muell.papier',
          //"Bioabfall": 'javascript.0.muell.bioabfall',
          "GelberSack": 'javascript.0.muell.gelbersack'
      };
      
      
      
      
      
      //States anlegen
      
      Object.keys(EINTRAEGE).forEach(key => {
          createState(EINTRAEGE[key], -1);
          if (debug) log("State "+EINTRAEGE[key] +" angelegt");
      });
      
      createState("muell.next");  // state, in den der kleinste Wert geschrieben wird, falls man z.B. auf einer Hauptübersicht immer nur den Wert bis zum nächsten Event (egal welches) sehen möchte)
      var idNext = "muell.next";
      
      function check() {
      
          var i;
          var min = 90;  // maximale Vorschau der Tage im ical ist 90, von dort aus suchen wir den kleinsten Wert
      
          Object.keys(EINTRAEGE).forEach(eintrag => {
              
              // erst prüfen, ob event heute vorliegt
              
              if ( getState(PFAD + 0 +".today." + eintrag).val === true) {   // Pfad weicht von den anderen Tagen ab!
              setState(EINTRAEGE[eintrag], 0);
              min = 0;
              if(debug) log(eintrag + " wird heute abgeholt");
              }
              
              // falls nicht, weiter schauen, wann es kommt
             
              else {
          
                  for (i=1 ; i<90;i++) {                       // heute (0) wird separat geprüft, da dort ein andere Pfad zum Tragen kommt; max 90 Tage Vorschau 
                      if ( getState(PFAD + i +"." + eintrag).val === true) {
                      setState(EINTRAEGE[eintrag], i);
                      if (i < min) min = i;
                      //if(debug) log(eintrag + " in "+i +" Tagen");
                      break;              // beim ersten gefundenen Eitnrag wird unterbrochen, da ja der nächste Termin gesucht wird
                      }
                      
                  }   
              }    
          });
      
          // kleinsten Wert in next - State schreiben
          
          if(debug) log("Der nächste Müll ist in "+min +" Tagen");
          setState(idNext, min);
      
      }
      
      // Bei Start
      
      setTimeout(check, 5000);   // 5 Sekunde warten, um beim erstmaligen Start Fehler zu vermeiden, die aus nicht existierenden States resultieren
          
      schedule('10 0 * * *', () => check() );
      

      Es werden auch 7 Tage unter iCal geprüft aber leider erkennt er keine Einträge im Kalender.
      Hat jemand bereits Erfahrung mit ICal und Synology?

      Glasfaser J.A.R.V.I.S. 2 Replies Last reply Reply Quote 0
      • Glasfaser
        Glasfaser @Idefix01 last edited by

        @Idefix01

        wird dir hier etwas angezeigt !?

        1.JPG

        Glasfaser 1 Reply Last reply Reply Quote 0
        • J.A.R.V.I.S.
          J.A.R.V.I.S. Developer @Idefix01 last edited by

          @Idefix01 steht den in dem Objekt das du abfragst 'true' drin und das Skript findet das nicht richtig oder zeigt der iCal kein 'true' im Objekt an? Wenn zweiteres der Fall ist, zeigt mal bitte deine iCal Einstellungen.

          1 Reply Last reply Reply Quote 0
          • I
            Idefix01 last edited by

            @Glasfaser

            Hier meine Ical.0 Obhjekte (sorry wollte nicht funktionieren mit Bild einfügen)
            https://www.dropbox.com/s/2twrr0r8b09kltn/ical.jpg?dl=0

            @J-A-R-V-I-S

            Nein er schreibt gar kein true, bleibt alles auf false

            J.A.R.V.I.S. 1 Reply Last reply Reply Quote 0
            • J.A.R.V.I.S.
              J.A.R.V.I.S. Developer @Idefix01 last edited by

              @Idefix01 steht etwas im Log?

              Zeig mal deine iCal Einstellungen.

              Tipp: Du kannst Bilder auch direkt in deinem Forenbeitrag einfügen.

              1 Reply Last reply Reply Quote 0
              • I
                Idefix01 last edited by Idefix01

                @J-A-R-V-I-S

                Log sagt nur das in 90 Tagen angeblich nächste Abholung ist, stimmt aber nicht habe Müll
                und Gelber Sack als Test für morgen drin

                ical-einst1.jpg
                ical-einst3.jpg

                J.A.R.V.I.S. 1 Reply Last reply Reply Quote 0
                • J.A.R.V.I.S.
                  J.A.R.V.I.S. Developer @Idefix01 last edited by J.A.R.V.I.S.

                  @Idefix01 ical sagt im Log auch, das der Kalender erfolgreich gelesen wurde?

                  Welche Version hast du installiert?

                  1 Reply Last reply Reply Quote 0
                  • I
                    Idefix01 last edited by

                    Version 1.7.2

                    J.A.R.V.I.S. 1 Reply Last reply Reply Quote 0
                    • J.A.R.V.I.S.
                      J.A.R.V.I.S. Developer @Idefix01 last edited by

                      @Idefix01 hast du die von Github installiert?

                      Versuch mal die 1.7.0 aus dem latest bzw. stable Repo, die funktioniert bei mir.

                      1 Reply Last reply Reply Quote 0
                      • I
                        Idefix01 last edited by

                        Ok, werde ich morgen mal versuchen

                        1 Reply Last reply Reply Quote 0
                        • I
                          Idefix01 last edited by Homoran

                          Hier mein Logfile, geht leider trotzdem noch nicht.

                          Wobei ich das Gefühl habe das er den Calender nicht richtig liest.

                          javascript.0	2020-04-06 14:40:58.744	info	(17110) script.js.Allgemein.abfall_tage: Der nächste Müll ist in 10 Tagen
                          javascript.0	2020-04-06 14:40:58.744	warn	(17110) at Timer.processTimers (timers.js:223:10)
                          javascript.0	2020-04-06 14:40:58.743	warn	(17110) at listOnTimeout (timers.js:263:5)
                          javascript.0	2020-04-06 14:40:58.743	warn	(17110) at tryOnTimeout (timers.js:300:5)
                          javascript.0	2020-04-06 14:40:58.743	warn	(17110) at ontimeout (timers.js:438:13)
                          javascript.0	2020-04-06 14:40:58.743	warn	(17110) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2016:34)
                          javascript.0	2020-04-06 14:40:58.743	warn	(17110) at Object.check (script.js.Allgemein.abfall_tage:57:28)
                          javascript.0	2020-04-06 14:40:58.743	warn	(17110) at Array.forEach (<anonymous>:null:null)
                          javascript.0	2020-04-06 14:40:58.743	warn	(17110) at Object.keys.forEach.eintrag (script.js.Allgemein.abfall_tage:72:22)
                          javascript.0	2020-04-06 14:40:58.742	warn	(17110) getState "ical.0.events.9.GelberSack" not found (3)
                          javascript.0	2020-04-06 14:40:58.742	warn	(17110) at Timer.processTimers (timers.js:223:10)
                          javascript.0	2020-04-06 14:40:58.742	warn	(17110) at listOnTimeout (timers.js:263:5)
                          javascript.0	2020-04-06 14:40:58.742	warn	(17110) at tryOnTimeout (timers.js:300:5)
                          javascript.0	2020-04-06 14:40:58.742	warn	(17110) at ontimeout (timers.js:438:13)
                          javascript.0	2020-04-06 14:40:58.742	warn	(17110) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2016:34)
                          javascript.0	2020-04-06 14:40:58.742	warn	(17110) at Object.check (script.js.Allgemein.abfall_tage:57:28)
                          javascript.0	2020-04-06 14:40:58.742	warn	(17110) at Array.forEach (<anonymous>:null:null)
                          javascript.0	2020-04-06 14:40:58.741	warn	(17110) at Object.keys.forEach.eintrag (script.js.Allgemein.abfall_tage:72:22)
                          javascript.0	2020-04-06 14:40:58.741	warn	(17110) getState "ical.0.events.8.GelberSack" not found (3)
                          javascript.0	2020-04-06 14:40:58.741	warn	(17110) at Timer.processTimers (timers.js:223:10)
                          javascript.0	2020-04-06 14:40:58.741	warn	(17110) at listOnTimeout (timers.js:263:5)
                          javascript.0	2020-04-06 14:40:58.741	warn	(17110) at tryOnTimeout (timers.js:300:5)
                          javascript.0	2020-04-06 14:40:58.741	warn	(17110) at ontimeout (timers.js:438:13)
                          javascript.0	2020-04-06 14:40:58.741	warn	(17110) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2016:34)
                          javascript.0	2020-04-06 14:40:58.740	warn	(17110) at Object.check (script.js.Allgemein.abfall_tage:57:28)
                          javascript.0	2020-04-06 14:40:58.740	warn	(17110) at Array.forEach (<anonymous>:null:null)
                          javascript.0	2020-04-06 14:40:58.740	warn	(17110) at Object.keys.forEach.eintrag (script.js.Allgemein.abfall_tage:72:22)
                          javascript.0	2020-04-06 14:40:58.740	warn	(17110) getState "ical.0.events.9.Altpapier" not found (3)
                          javascript.0	2020-04-06 14:40:58.740	warn	(17110) at Timer.processTimers (timers.js:223:10)
                          javascript.0	2020-04-06 14:40:58.740	warn	(17110) at listOnTimeout (timers.js:263:5)
                          javascript.0	2020-04-06 14:40:58.740	warn	(17110) at tryOnTimeout (timers.js:300:5)
                          javascript.0	2020-04-06 14:40:58.739	warn	(17110) at ontimeout (timers.js:438:13)
                          javascript.0	2020-04-06 14:40:58.739	warn	(17110) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2016:34)
                          javascript.0	2020-04-06 14:40:58.739	warn	(17110) at Object.check (script.js.Allgemein.abfall_tage:57:28)
                          javascript.0	2020-04-06 14:40:58.739	warn	(17110) at Array.forEach (<anonymous>:null:null)
                          javascript.0	2020-04-06 14:40:58.739	warn	(17110) at Object.keys.forEach.eintrag (script.js.Allgemein.abfall_tage:72:22)
                          javascript.0	2020-04-06 14:40:58.739	warn	(17110) getState "ical.0.events.8.Altpapier" not found (3)
                          javascript.0	2020-04-06 14:40:58.738	warn	(17110) at Timer.processTimers (timers.js:223:10)
                          javascript.0	2020-04-06 14:40:58.738	warn	(17110) at listOnTimeout (timers.js:263:5)
                          javascript.0	2020-04-06 14:40:58.738	warn	(17110) at tryOnTimeout (timers.js:300:5)
                          javascript.0	2020-04-06 14:40:58.738	warn	(17110) at ontimeout (timers.js:438:13)
                          javascript.0	2020-04-06 14:40:58.738	warn	(17110) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2016:34)
                          javascript.0	2020-04-06 14:40:58.738	warn	(17110) at Object.check (script.js.Allgemein.abfall_tage:57:28)
                          javascript.0	2020-04-06 14:40:58.738	warn	(17110) at Array.forEach (<anonymous>:null:null)
                          javascript.0	2020-04-06 14:40:58.738	warn	(17110) at Object.keys.forEach.eintrag (script.js.Allgemein.abfall_tage:72:22)
                          javascript.0	2020-04-06 14:40:58.737	warn	(17110) getState "ical.0.events.9.Hausmüll" not found (3)
                          javascript.0	2020-04-06 14:40:58.737	warn	(17110) at Timer.processTimers (timers.js:223:10)
                          javascript.0	2020-04-06 14:40:58.737	warn	(17110) at listOnTimeout (timers.js:263:5)
                          javascript.0	2020-04-06 14:40:58.737	warn	(17110) at tryOnTimeout (timers.js:300:5)
                          javascript.0	2020-04-06 14:40:58.737	warn	(17110) at ontimeout (timers.js:438:13)
                          javascript.0	2020-04-06 14:40:58.737	warn	(17110) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2016:34)
                          javascript.0	2020-04-06 14:40:58.736	warn	(17110) at Object.check (script.js.Allgemein.abfall_tage:57:28)
                          javascript.0	2020-04-06 14:40:58.736	warn	(17110) at Array.forEach (<anonymous>:null:null)
                          javascript.0	2020-04-06 14:40:58.736	warn	(17110) at Object.keys.forEach.eintrag (script.js.Allgemein.abfall_tage:72:22)
                          javascript.0	2020-04-06 14:40:58.735	warn	(17110) getState "ical.0.events.8.Hausmüll" not found (3)
                          evohome.0	2020-04-06 14:40:58.501	info	(28070) ...reading Mein Zuhause.Wohnzimmer.zone
                          evohome.0	2020-04-06 14:40:58.501	info	(28070) Checking state evohome.0.Mein Zuhause.Wohnzimmer.zone
                          evohome.0	2020-04-06 14:40:58.501	info	(28070) Checking state evohome.0.Mein Zuhause.Wohnzimmer.schedule
                          evohome.0	2020-04-06 14:40:58.500	info	(28070) Checking state evohome.0.Mein Zuhause.Wohnzimmer.faults
                          evohome.0	2020-04-06 14:40:58.500	info	(28070) Checking state evohome.0.Mein Zuhause.Wohnzimmer.setpointMode
                          evohome.0	2020-04-06 14:40:58.500	info	(28070) Checking state evohome.0.Mein Zuhause.Wohnzimmer.setpoint
                          evohome.0	2020-04-06 14:40:58.500	info	(28070) Checking state evohome.0.Mein Zuhause.Wohnzimmer.force_setpoint
                          evohome.0	2020-04-06 14:40:58.500	info	(28070) Checking state evohome.0.Mein Zuhause.Wohnzimmer.isAvailable
                          evohome.0	2020-04-06 14:40:58.500	info	(28070) Checking state evohome.0.Mein Zuhause.Wohnzimmer.temperature
                          evohome.0	2020-04-06 14:40:58.499	info	(28070) Checking state evohome.0.Mein Zuhause.status
                          evohome.0	2020-04-06 14:40:58.499	info	(28070) Checking state evohome.0.Mein Zuhause.cmd
                          evohome.0	2020-04-06 14:40:58.499	info	(28070) Checking state evohome.0.error
                          evohome.0	2020-04-06 14:40:58.499	info	(28070) Checking state evohome.0.errmsg
                          evohome.0	2020-04-06 14:40:58.350	error	(28070) StatusCodeError: 429 - {"error":"attempt_limit_exceeded"} at new StatusCodeError (/opt/iobroker/node_modules/request-promise-core/lib/errors.js:32:15) at Request.plumbing.callback (/op
                          evohome.0	2020-04-06 14:40:58.349	info	(28070) Checking states for statuses
                          evohome.0	2020-04-06 14:40:57.715	info	(28070) (Re)Connect due to Worker Error:TypeError: Converting circular structure to JSON
                          javascript.0	2020-04-06 14:40:53.737	info	(17110) script.js.Allgemein.abfall_tage: registered 0 subscriptions and 1 schedule
                          javascript.0	2020-04-06 14:40:53.735	info	(17110) script.js.Allgemein.abfall_tage: State javascript.0.muell.gelbersack angelegt
                          javascript.0	2020-04-06 14:40:53.734	info	(17110) script.js.Allgemein.abfall_tage: State javascript.0.muell.papier angelegt
                          javascript.0	2020-04-06 14:40:53.734	info	(17110) script.js.Allgemein.abfall_tage: State javascript.0.muell.restmuell angelegt
                          javascript.0	2020-04-06 14:40:53.730	info	(17110) Start javascript script.js.Allgemein.abfall_tage
                          

                          Mod-Edit: Code in code-tags gepackt!

                          Homoran 1 Reply Last reply Reply Quote 0
                          • Homoran
                            Homoran Global Moderator Administrators @Idefix01 last edited by

                            @Idefix01 Bist du sicher, dass der Titel deines Threads korrekt ist?
                            Ich denke der iCal Adapter läuft wunderbar, lediglich das Skript scheint ein Problem zu haben

                            1 Reply Last reply Reply Quote 0
                            • I
                              Idefix01 last edited by

                              @Homoran
                              Das kann ich sogenau nicht sagen, vermute eher er erkennt die Eintragungen im Kalender nicht oder liesst den Kalender nicht richtig

                              Glasfaser 1 Reply Last reply Reply Quote 0
                              • Glasfaser
                                Glasfaser @Idefix01 last edited by

                                @Idefix01

                                Bitte deine URL im Kalender ( Screenshot ) unkenntlich machen !!!!

                                1 Reply Last reply Reply Quote 0
                                • Glasfaser
                                  Glasfaser @Glasfaser last edited by

                                  @Glasfaser sagte in Ical funktioniert nicht - keine Erkennung vom Kalender:

                                  @Idefix01

                                  wird dir hier etwas angezeigt !?

                                  1.JPG

                                  Hast du jetzt dort etwas drin ?

                                  1 Reply Last reply Reply Quote 0
                                  • I
                                    Idefix01 last edited by

                                    @Glasfaser URL hat sich eh schon wieder geändert

                                    Nein unter html steht leider nichts drin, vermute mal er kommt mit der ics Datei vom Synology Server Kalender nicht klar

                                    Homoran Glasfaser 2 Replies Last reply Reply Quote 0
                                    • Homoran
                                      Homoran Global Moderator Administrators @Idefix01 last edited by

                                      @Idefix01 Dein Host heisst irgendwas mit Buanet - nutzst du Docker?

                                      1 Reply Last reply Reply Quote 0
                                      • Glasfaser
                                        Glasfaser @Idefix01 last edited by Glasfaser

                                        @Idefix01 sagte in Ical funktioniert nicht - keine Erkennung vom Kalender:

                                        @Glasfaser URL hat sich eh schon wieder geändert

                                        Du hast eine Feste IP durch Synology Connect .... aber das mußt du ja wissen !!!

                                        Ist ja nur nett gemeint 😉

                                        1.JPG

                                        1 Reply Last reply Reply Quote 0
                                        • I
                                          Idefix01 last edited by

                                          @Glasfaser
                                          Ja ich nutze Docker, und ja die Synology hat eine feste IP

                                          1 Reply Last reply Reply Quote 0
                                          • I
                                            Idefix01 last edited by

                                            @Glasfaser
                                            Wie machst du das mit dem ical?
                                            Muss ich dann den ical auch über den Docker nutzen?

                                            Glasfaser 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            970
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            98
                                            5593
                                            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