Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Ical Setzen eines Events

    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 Setzen eines Events

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

      In dem neuen ordner "muell" sind doch jetzt die Objekte mit zahlen, was die Tage bis zur Abholung anzeigt.

      Das kannst Du mit jedem Widget darstellen.

      z.B. mit diesem hier, das kannst Dir mal importieren

      ! ````
      [{"tpl":"tplIconState","data":{"oid":"javascript.0.muell.biotonne","g_fixed":false,"g_visibility":true,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":true,"g_gestures":false,"g_signals":true,"visibility-cond":">","visibility-val":"0","visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":"0","signals-icon-0":"/vis.0/iPad/icons/Exclamation-mark-icon.png","signals-icon-size-0":"36","signals-blink-0":true,"signals-horz-0":"","signals-vert-0":"","signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"src":"/vis.0/iPad/icons/tonne_bio.png","imageHeight":"100","value":"14","text":"{javascript.0.muell.biotonne}","visibility-oid":"","lc-type":"timestamp","lc-is-interval":true,"lc-format":"hh:mm:ss","lc-position-vert":"top","lc-position-horz":"left","lc-offset-vert":"3","lc-offset-horz":"89","lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-is-moment":true,"lc-zindex":0,"lc-oid":"","signals-oid-0":"javascript.0.muell.biotonne","signals-text-0":"Heute"},"style":{"left":"232px","top":"431px","width":"70px","height":"70px","z-index":"3","text-align":"center","font-size":"small","border-color":"","border-width":""},"widgetSet":"jqui"}]

      1 Reply Last reply Reply Quote 0
      • L
        lutzer last edited by

        Da sind bei mir alles Nullen…

        Irgendetwas scheint es nicht zu finden...

        Der Kalender wird richtig abgeholt, dass sieht man ja an der normalen Übersicht.

        Wie oft wird das aktualisiert?

        schedule("05 00 * * *", function ()
        

        Beim iCal muss da der Haken bei "Ersetze Datum mit Worten" drin sein?

        1 Reply Last reply Reply Quote 0
        • M
          mikiline last edited by

          wird heute Nacht um 0:05 aktualisiert….. oder du kommentierst den "schedule" mal aus mit "//" (wie bei den Kommentaren)

          Dann läuft das Skript einmal durch und es zeigt dir Werte an. Dann die Auskommentierung wieder rausnehmen

          Haken brauch man nicht.

          1 Reply Last reply Reply Quote 0
          • L
            lutzer last edited by

            auskommentieren ist so ne Sache weil da eine { bis zum ende das Codes geht.

            Ich habe es mit ***** aushebeln können. Das sollte ja immer aktualisieren oder?

            Ich kann mit den Zahlen schon mal einen Erfolg melden. Jetzt werden die Tage ordentlich gezählt.

            Vielen Dank für die Hilfe und Geduld.

            Eine Frage zu dem Widget: Was macht der Wert 14? Ist das so eine Art Rückmeldung und zurrück setzen?

            Dann muss die Aktualisierung ja tatsächlich 5 nach 12 gemacht werden, sonst wird die 14 ja immer wieder überschrieben.

            1 Reply Last reply Reply Quote 0
            • M
              mikiline last edited by

              Ja die setzt einfach den Wert auf 14 Tage und wird in der Nacht wieder auf den nächsten richtigen Müllabholtag überschrieben. Das ist, da ich die Signalbilder verwende am Tag "0" (an dem der Müll abgeholt wird)…...Dann blinkt dies nicht den ganzen Tag 😉

              1 Reply Last reply Reply Quote 0
              • M
                Marc1970 last edited by

                @ pix

                Hallo, ich habe erfolgreich dein Müllscript im Einsatz:

                /* Kalenderevent in der Zukunft suchen

                sucht im iCal Adapter nach events, die noch kommen

                http://forum.iobroker.net/viewtopic.php … 9ce#p34975

                20.09.2016 erstellt von pix

                */

                tolle Arbeit.

                Ich habe es auch schon mehrmals für andere Abfragen (heute, morgen) genutzt,

                nun meine Frage:

                Ist es möglich auch Termine von gestern abzufragen und was müßte dafür im Script geändert werden?

                MfG Marc

                <u>Hat sich erledigt, hab es anders gelöst….</u>

                Gruß Marc

                1 Reply Last reply Reply Quote 0
                • W
                  w00dy last edited by w00dy

                  Hallo,

                  ich versuche schon seit Tagen den Fehler zu finden, ich hoffe ihr könnt mir helfen.

                  Ich habe das Script oben von @mikiline angepasst und den Shedule vorerst zum Testen mit "* * * * *" gespeichert.

                  Im neuen Ordner "muell" werden mir die Tonnen auch angezeigt, aber die Werte bleiben immer auf "0", bzw. es wird nichts angezeigt.

                  In ical ist "Ersetze Datum mit Worten" angehakt und Ereignisse sind auch genug vorhanden.

                  Das Log vom Script:

                  17:15:00.556	[info]	javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: pos ist: -1
                  17:15:00.556	[info]	javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Datum ist:
                  17:15:00.556	[info]	javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: pos1: 0
                  17:15:00.556	[info]	javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: pos2: 0
                  17:15:00.556	[info]	javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: , ,
                  17:15:00.556	[info]	javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Mon Oct 22 2018 17:15:00 GMT+0200 (CEST)
                  17:15:00.557	[info]	javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Datum heute ist: 22102018
                  17:15:00.557	[info]	javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Tage aktueller Monat: 31
                  17:15:00.557	[info]	javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Tage bis zum nächsten Müll: NaN
                  17:15:00.557	[info]	javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: pos ist: 33
                  17:15:00.557	[info]	javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Datum ist: Übermorgen
                  17:15:00.557	[info]	javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: pos1: 0
                  17:15:00.557	[info]	javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: pos2: 0
                  17:15:00.557	[info]	javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Übermorgen , Übermorgen , Übermorgen
                  17:15:00.557	[info]	javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Mon Oct 22 2018 17:15:00 GMT+0200 (CEST)
                  17:15:00.557	[info]	javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Datum heute ist: 22102018
                  17:15:00.557	[info]	javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Tage aktueller Monat: 31
                  17:15:00.557	[info]	javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Tage bis zum nächsten Müll: NaN
                  17:15:00.557	[info]	javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: pos ist: -1
                  17:15:00.557	[info]	javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Datum ist:
                  17:15:00.557	[info]	javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: pos1: 0
                  17:15:00.557	[info]	javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: pos2: 0
                  17:15:00.558	[info]	javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: , ,
                  17:15:00.558	[info]	javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Mon Oct 22 2018 17:15:00 GMT+0200 (CEST)
                  17:15:00.558	[info]	javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Datum heute ist: 22102018
                  17:15:00.558	[info]	javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Tage aktueller Monat: 31
                  17:15:00.558	[info]	javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Tage bis zum nächsten Müll: NaN
                  

                  Mein angepasstes Script:

                  // Anlegen JS State für VIS
                  //HIER ANPASSEN!!!!!!!!!!!!!!!!!!!!!
                  createState('javascript.0.muell.restabfall', 0);   //. gelb, blau usw entsprechend erstellen
                  createState('javascript.0.muell.gelbersack', 0);   //. gelb, blau usw entsprechend erstellen
                  createState('javascript.0.muell.altpapier', 0);   //. gelb, blau usw entsprechend erstellen
                  createState('javascript.0.muell.papierholsammlung', 0);   //. gelb, blau usw entsprechend erstellen
                  createState('javascript.0.muell.bioabfall', 0);   //. gelb, blau usw entsprechend erstellen
                  
                  schedule("* * * * *", function () {
                  // TESTSKRIPT FÜR NOXX
                  
                  // Annahme ist, dass jede Müllart mindestens einmal im Monat abgeholt wird. Nicht getestet und eventuell problematisch ist es, wenn Müll seltener abgeholt wird.
                  
                  debug = true;
                  
                  // Suchvariablen
                  //HIER ANPASSEN!!!!!!!!!!!!!!!!!!!!!
                  var restabfall= "Restm";     // weitere Varialben für die anderen Müllsorten eintragen
                  var gelbersack= "Gelber";     // weitere Varialben für die anderen Müllsorten eintragen
                  var altpapier= "Papier";     // weitere Varialben für die anderen Müllsorten eintragen
                  var bioabfall= "Bio";     // weitere Varialben für die anderen Müllsorten eintragen
                  var papierholsammlung= "Papier Hol";     // weitere Varialben für die anderen Müllsorten eintragen
                  
                  // Kalender auslesen (HTML Format)
                  
                      // **************************************************************************************            
                      // Termine auswerten aus html. Bereinigung der HTML Tags und Konvertierung in Plain Text
                      // **************************************************************************************
                      //HIER den ical ANPASSEN!!!!!!!!!!!!!!!!!!!!!
                          var inhalt = getState("ical.0.data.html"/*HTML iCal table*/);           // an deinen eigenen Kalender anpassen
                          var inhaltString = inhalt.val.toString();
                          var inhaltStringReplace = inhaltString;
                          var inhaltStringText;
                          var i_search;
                  
                          // remove all inside SCRIPT and STYLE tags
                          inhaltStringReplace=inhaltStringReplace.replace(/<script.*>[\w\W]{1,}(.*?)[\w\W]{1,}<\/script>/gi, "");
                          inhaltStringReplace=inhaltStringReplace.replace(/<style.*>[\w\W]{1,}(.*?)[\w\W]{1,}<\/style>/gi, "");
                  
                          // remove BR tags
                          inhaltStringReplace=inhaltStringReplace.replace(/
                  /gi, "");
                          inhaltStringReplace=inhaltStringReplace.replace(/<br\s\>/gi, "");
                          inhaltStringReplace=inhaltStringReplace.replace(/<br\>/gi, "");
                  
                          // remove all else
                          inhaltStringReplace=inhaltStringReplace.replace(/<(?:.|\s)*?>/g, "");
                  
                          // get rid of html-encoded characters:
                          inhaltStringReplace=inhaltStringReplace.replace(/ /gi," ");
                          inhaltStringReplace=inhaltStringReplace.replace(/&/gi,"&");
                          inhaltStringReplace=inhaltStringReplace.replace(/"/gi,'"');
                          inhaltStringReplace=inhaltStringReplace.replace(/</gi,'<');
                          inhaltStringReplace=inhaltStringReplace.replace(/>/gi,'>');    
                  
                          if(debug) log(inhaltStringReplace);
                  
                          //HIER welche States gewünscht sind ANPASSEN!!!!!!!!!!!!!!!!!!!!!
                          setState('javascript.0.muell.restabfall', getPos(restabfall));
                          setState('javascript.0.muell.gelbersack', getPos(gelbersack));
                          setState('javascript.0.muell.altpapier', getPos(altpapier));
                          setState('javascript.0.muell.bioabfall', getPos(bioabfall));
                          setState('javascript.0.muell.papierholsammlung', getPos(papierholsammlung));
                  
                  // n-ten Treffer finden
                  
                          function nthIndex(str, pat, n){
                          var L= str.length, i= -1;
                          while(n-- && i++ <l){ i="str.indexOf(pat," i);/if/(i/</0)/break;/}/i_search="i;" funktion/zum/tage/im/monat/zählen/function/daysinmonth(month,/year)/{/return/new/date(year,/month,/0).getdate();/position/bestimmen/getpos(pos_welche_tonne)/var/pos="inhaltStringReplace.indexOf(pos_welche_tonne," 1);/if(debug)/log("pos/ist:/"+pos);/inhaltstringtext="inhaltStringReplace.substring((pos-13),pos-1);" log("datum/"+inhaltstringtext);/nthindex(inhaltstringtext,/".",/t_m="inhaltStringText.slice(0," i_search);/pos1="i_search+1;" log("pos1:/"/+pos1/);/2);/m_m="inhaltStringText.slice(pos1," pos2="i_search+1;" log("pos2:/+pos2/j_m="inhaltStringText.slice(pos2," inhaltstringtext.len/log(t_m/+"/,/+m_m/+j_m);/datum/heute/ermitteln/today="new" date();/log(today);/tag/t="today.getDate();" m="today.getMonth()+1;" jahr/j="today.getFullYear();" "+t+m+j);/berechnung/tagesdifferenzen/diff="0;" dim="DaysInMonth(m," j);/des/aktuellen/monats/log("tage/aktueller/monat:/"+dim);/if(j_m="">j || m_m > m) { // Prüfung: Jahr_Müll größer als aktuelles Jahr? Relevant bei Jahreswechsel ODEr Monat Müll größer aktueller Monat?
                  
                              diff = parseInt(dim) - parseInt(t) + parseInt(t_m);          
                          }
                          else diff = parseInt(t_m) - parseInt(t);
                  
                            if(debug) log("Tage bis zum nächsten Müll: "+diff);
                  
                            return diff;
                      }
                  });</l){></br\></br\s\></style.*></script.*>
                  

                  Habe ich doch irgendwo was übersehen?

                  <size size="150">EDIT:

                  Sorry, habe ein paar Eingabefehler gemacht. Werde alt, muss mir unbedingt ne Brille zulegen. Altpapier und Restabfall wird jetzt angezeigt, Gelber Sack und Bio noch nicht. Den Fehler finde ich hoffentlich auch noch…</size>

                  1 Reply Last reply Reply Quote 0
                  • M
                    mikiline last edited by

                    "Ersetze Datum mit Worten" muss nicht angehakt sein und es brauch für das Skript auch keine Ereignisse

                    Die Suchworte müssen natürlich auch genau so im Kalender vorhanden sein!

                    Such mal nur nach "bio" dann sollte dort auch was angezeigt werden, denn das Wort "abfall" kommt bei dir auch in restabfall vor 😉

                    Dann evtl auch nur nach "gelb" oder "gelber" suchen…..

                    Solltest Du in der ical Instanz auch nur z.B 5 Tage bei "Tagesvorschau" eingestellt haben, kann er auch keinen Termin finden der erst in 7 Tagen stattfindet. Dort kannst z.B 31 Tage einstellen
                    2678_ical.png

                    1 Reply Last reply Reply Quote 0
                    • W
                      w00dy last edited by w00dy

                      Hallo @mikiline, danke für deine Hilfe!

                      Habe die Suchvorgaben mal geändert, aber Bioabfall und Gelber Sack werden einfach nicht angezeigt, obwohl diese im Kalender vorhanden sind.

                      Die Vorschau in ical ist auf 31 Tage eingestellt.

                      Hier mal die VIS-Ausgabe zu den nächsten Müll-Terminen:

                      ! ```
                      <code>[code]Heute Gelber Sack
                      Übermorgen Bioabfall Braune Tonne
                      31.10.2018 Restabfall Graue Tonne
                      05.11.2018 Gelber Sack
                      07.11.2018 Bioabfall Braune Tonne
                      09.11.2018 Altpapier Grüne Tonne
                      14.11.2018 Restabfall Graue Tonne
                      19.11.2018 Gelber Sack
                      21.11.2018 Bioabfall Braune Tonne[/code]</code>

                      
                      Mein aktuelles Script:
                      
                      >! ````
                      // Anlegen JS State für VIS
                      //HIER ANPASSEN!!!!!!!!!!!!!!!!!!!!!
                      createState('javascript.0.muell.restabfall', 0);   //. gelb, blau usw entsprechend erstellen
                      createState('javascript.0.muell.gelbersack', 0);   //. gelb, blau usw entsprechend erstellen
                      createState('javascript.0.muell.altpapier', 0);   //. gelb, blau usw entsprechend erstellen
                      createState('javascript.0.muell.bioabfall', 0);   //. gelb, blau usw entsprechend erstellen
                      >! schedule("* * * * *", function () {
                      // TESTSKRIPT FÜR NOXX
                      >! // Annahme ist, dass jede Müllart mindestens einmal im Monat abgeholt wird. Nicht getestet und eventuell problematisch ist es, wenn Müll seltener abgeholt wird.
                      >! debug = true;
                      >! // Suchvariablen
                      //HIER ANPASSEN!!!!!!!!!!!!!!!!!!!!!
                      var restabfall= "Rest";     // weitere Varialben für die anderen Müllsorten eintragen
                      var gelbersack= "Gelb";     // weitere Varialben für die anderen Müllsorten eintragen
                      var altpapier= "Alt";     // weitere Varialben für die anderen Müllsorten eintragen
                      var bioabfall= "Bio";     // weitere Varialben für die anderen Müllsorten eintragen
                      >! // Kalender auslesen (HTML Format)
                      >!     // **************************************************************************************            
                          // Termine auswerten aus html. Bereinigung der HTML Tags und Konvertierung in Plain Text
                          // **************************************************************************************
                          //HIER den ical ANPASSEN!!!!!!!!!!!!!!!!!!!!!
                              var inhalt = getState("ical.0.data.html"/*HTML iCal table*/);           // an deinen eigenen Kalender anpassen
                              var inhaltString = inhalt.val.toString();
                              var inhaltStringReplace = inhaltString;
                              var inhaltStringText;
                              var i_search;
                      
                              // remove all inside SCRIPT and STYLE tags
                              inhaltStringReplace=inhaltStringReplace.replace(/<script.*>[\w\W]{1,}(.*?)[\w\W]{1,}<\/script>/gi, "");
                              inhaltStringReplace=inhaltStringReplace.replace(/<style.*>[\w\W]{1,}(.*?)[\w\W]{1,}<\/style>/gi, "");
                      
                              // remove BR tags
                              inhaltStringReplace=inhaltStringReplace.replace(/
                      /gi, "");
                              inhaltStringReplace=inhaltStringReplace.replace(/<br\s\>/gi, "");
                              inhaltStringReplace=inhaltStringReplace.replace(/<br\>/gi, "");
                      
                              // remove all else
                              inhaltStringReplace=inhaltStringReplace.replace(/<(?:.|\s)*?>/g, "");
                      
                              // get rid of html-encoded characters:
                              inhaltStringReplace=inhaltStringReplace.replace(/ /gi," ");
                              inhaltStringReplace=inhaltStringReplace.replace(/&/gi,"&");
                              inhaltStringReplace=inhaltStringReplace.replace(/"/gi,'"');
                              inhaltStringReplace=inhaltStringReplace.replace(/</gi,'<');
                              inhaltStringReplace=inhaltStringReplace.replace(/>/gi,'>');    
                      
                              if(debug) log(inhaltStringReplace);
                      
                              //HIER welche States gewünscht sind ANPASSEN!!!!!!!!!!!!!!!!!!!!!
                              setState('javascript.0.muell.restabfall', getPos(restabfall));
                              setState('javascript.0.muell.gelbersack', getPos(gelbersack));
                              setState('javascript.0.muell.altpapier', getPos(altpapier));
                              setState('javascript.0.muell.bioabfall', getPos(bioabfall));
                      >! // n-ten Treffer finden
                      >!         function nthIndex(str, pat, n){
                              var L= str.length, i= -1;
                              while(n-- && i++ <l){ i="str.indexOf(pat," i);/if/(i/</0)/break;/}/i_search="i;" funktion/zum/tage/im/monat/zählen/function/daysinmonth(month,/year)/{/return/new/date(year,/month,/0).getdate();/position/bestimmen/getpos(pos_welche_tonne)/var/pos="inhaltStringReplace.indexOf(pos_welche_tonne," 1);/if(debug)/log("pos/ist:/"+pos);/inhaltstringtext="inhaltStringReplace.substring((pos-13),pos-1);" log("datum/"+inhaltstringtext);/nthindex(inhaltstringtext,/".",/t_m="inhaltStringText.slice(0," i_search);/pos1="i_search+1;" log("pos1:/"/+pos1/);/2);/m_m="inhaltStringText.slice(pos1," pos2="i_search+1;" log("pos2:/+pos2/j_m="inhaltStringText.slice(pos2," inhaltstringtext.len/log(t_m/+"/,/+m_m/+j_m);/datum/heute/ermitteln/today="new" date();/log(today);/tag/t="today.getDate();" m="today.getMonth()+1;" jahr/j="today.getFullYear();" "+t+m+j);/berechnung/tagesdifferenzen/diff="0;" dim="DaysInMonth(m," j);/des/aktuellen/monats/log("tage/aktueller/monat:/"+dim);/if(j_m="">j || m_m > m) { // Prüfung: Jahr_Müll größer als aktuelles Jahr? Relevant bei Jahreswechsel ODEr Monat Müll größer aktueller Monat?
                      
                                  diff = parseInt(dim) - parseInt(t) + parseInt(t_m);          
                              }
                              else diff = parseInt(t_m) - parseInt(t);
                      
                                if(debug) log("Tage bis zum nächsten Müll: "+diff);
                      
                                return diff;
                          }
                      });</l){></br\></br\s\></style.*></script.*>
                      

                      Und hier ein aktueller Log vom Script:

                      ! ````
                      18:28:00.165 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Heute Gelber Sack Übermorgen Bioabfall Braune Tonne 31.10.2018 Restabfall Graue Tonne 05.11.2018 Gelber Sack 07.11.2018 Bioabfall Braune Tonne 09.11.2018 Altpapier Grüne Tonne 14.11.2018 Restabfall Graue Tonne 19.11.2018 Gelber Sack 21.11.2018 Bioabfall Braune Tonne
                      18:28:00.165 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: pos ist: 69
                      18:28:00.165 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Datum ist: 31.10.2018
                      18:28:00.165 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: pos1: 3
                      18:28:00.165 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: pos2: 6
                      18:28:00.165 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: 31 , 10 , 2018
                      18:28:00.165 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Mon Oct 22 2018 18:28:00 GMT+0200 (CEST)
                      18:28:00.165 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Datum heute ist: 22102018
                      18:28:00.165 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Tage aktueller Monat: 31
                      18:28:00.166 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Tage bis zum nächsten Müll: 9
                      18:28:00.166 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: pos ist: 8
                      18:28:00.166 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Datum ist: Heute
                      18:28:00.166 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: pos1: 0
                      18:28:00.166 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: pos2: 0
                      18:28:00.166 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Heute , Heute , Heute
                      18:28:00.166 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Mon Oct 22 2018 18:28:00 GMT+0200 (CEST)
                      18:28:00.166 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Datum heute ist: 22102018
                      18:28:00.166 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Tage aktueller Monat: 31
                      18:28:00.166 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Tage bis zum nächsten Müll: NaN
                      18:28:00.167 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: pos ist: 166
                      18:28:00.167 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Datum ist: 09.11.2018
                      18:28:00.167 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: pos1: 3
                      18:28:00.167 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: pos2: 6
                      18:28:00.167 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: 09 , 11 , 2018
                      18:28:00.167 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Mon Oct 22 2018 18:28:00 GMT+0200 (CEST)
                      18:28:00.167 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Datum heute ist: 22102018
                      18:28:00.167 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Tage aktueller Monat: 31
                      18:28:00.167 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Tage bis zum nächsten Müll: 18
                      18:28:00.167 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: pos ist: 33
                      18:28:00.168 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Datum ist: Übermorgen
                      18:28:00.168 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: pos1: 0
                      18:28:00.168 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: pos2: 0
                      18:28:00.168 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Übermorgen , Übermorgen , Übermorgen
                      18:28:00.168 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Mon Oct 22 2018 18:28:00 GMT+0200 (CEST)
                      18:28:00.168 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Datum heute ist: 22102018
                      18:28:00.168 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Tage aktueller Monat: 31
                      18:28:00.168 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Tage bis zum nächsten Müll: NaN
                      18:28:00.987 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Heute Gelber Sack Übermorgen Bioabfall Braune Tonne 31.10.2018 Restabfall Graue Tonne 05.11.2018 Gelber Sack 07.11.2018 Bioabfall Braune Tonne 09.11.2018 Altpapier Grüne Tonne 14.11.2018 Restabfall Graue Tonne 19.11.2018 Gelber Sack 21.11.2018 Bioabfall Braune Tonne
                      18:28:00.988 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: pos ist: 69
                      18:28:00.988 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Datum ist: 31.10.2018
                      18:28:00.988 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: pos1: 3
                      18:28:00.988 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: pos2: 6
                      18:28:00.988 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: 31 , 10 , 2018
                      18:28:00.989 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Mon Oct 22 2018 18:28:00 GMT+0200 (CEST)
                      18:28:00.990 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Datum heute ist: 22102018
                      18:28:00.990 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Tage aktueller Monat: 31
                      18:28:00.990 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Tage bis zum nächsten Müll: 9
                      18:28:00.990 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: pos ist: 8
                      18:28:00.990 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Datum ist: Heute
                      18:28:00.990 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: pos1: 0
                      18:28:00.990 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: pos2: 0
                      18:28:00.990 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Heute , Heute , Heute
                      18:28:00.990 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Mon Oct 22 2018 18:28:00 GMT+0200 (CEST)
                      18:28:00.990 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Datum heute ist: 22102018
                      18:28:00.991 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Tage aktueller Monat: 31
                      18:28:00.991 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Tage bis zum nächsten Müll: NaN
                      18:28:00.991 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: pos ist: 166
                      18:28:00.991 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Datum ist: 09.11.2018
                      18:28:00.991 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: pos1: 3
                      18:28:00.991 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: pos2: 6
                      18:28:00.991 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: 09 , 11 , 2018
                      18:28:00.991 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Mon Oct 22 2018 18:28:00 GMT+0200 (CEST)
                      18:28:00.991 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Datum heute ist: 22102018
                      18:28:00.992 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Tage aktueller Monat: 31
                      18:28:00.998 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Tage bis zum nächsten Müll: 18
                      18:28:00.998 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: pos ist: 33
                      18:28:00.998 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Datum ist: Übermorgen
                      18:28:00.998 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: pos1: 0
                      18:28:00.998 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: pos2: 0
                      18:28:00.999 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Übermorgen , Übermorgen , Übermorgen
                      18:28:00.999 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Mon Oct 22 2018 18:28:00 GMT+0200 (CEST)
                      18:28:00.999 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Datum heute ist: 22102018
                      18:28:00.999 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Tage aktueller Monat: 31
                      18:28:00.999 [info] javascript.0 script.js.Müll-Kalendertermine_vorzeitig_anzeigen: Tage bis zum nächsten Müll: NaN

                      
                      Hast du evtl. noch ne Idee was ich falsch gemacht haben könnte?
                      
                      
                      [6677_objekte.jpeg](/assets/uploads/files/6677_objekte.jpeg)
                      1 Reply Last reply Reply Quote 0
                      • M
                        mikiline last edited by

                        Adapterversion 1.6.5 installiert? Sonst fällt mir auf die Schnelle nichts ein

                        Mal iobroker Objekt Seite aktualisieren…..hatte auch schon mal das keine Werte angezeigt werden in der Übersicht.

                        1 Reply Last reply Reply Quote 0
                        • W
                          w00dy last edited by

                          Hallo mikiline,

                          ich habe jetzt ical von 1.6.1 auf 1.6.5 aktualisiert.

                          Jetzt wird auch Bio gefunden 🙂 , aber der gelbe Sack noch nicht 😢

                          Eine neue ical-Instanz ändert das Prob. auch nicht.

                          Werde mit den Suchparametern noch etwas testen, vlt. liegt`s daran.

                          Vielen Dank für deine Hilfe!

                          1 Reply Last reply Reply Quote 0
                          • opossum
                            opossum last edited by

                            Hallo,

                            wäre vielleicht jemand so nett und exportiert sein "Müllscript" bitte in eine Textdatei und hängt die hier an. Mit dem Codekopieren geht das hier einfach nicht mehr. Habe versucht, das hier mehrmals zu kopieren. Anscheinend ist das Script durch die Migration komplett unbrauchbar geworden. Ich würde das gern bei mir einsetzen, aber der Scripteditor meckert immer die Zeile 58 des Scripts bei mir an. Er kann also das Script nicht sauber durchkompilieren. Ich würde mir dann die Textdatei mit Ultraedit öffnen und dann von da erneut in den Scripteditor kopieren.
                            Danke für die Bemühungen.
                            viele Grüße
                            Egbert

                            sigi234 1 Reply Last reply Reply Quote 0
                            • sigi234
                              sigi234 Forum Testing Most Active @opossum last edited by

                              @opossum

                              // Skript basiered auf JoJ123's Müllskript und Pix' Regenskript
                              // v 0.1, 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.2.events.";
                              const EINTRAEGE = {                       
                                  "Restmüll": 'muell.restmuell',
                                  "Altpapier": 'muell.altpapier',
                                  "Biotonne": 'muell.biotonne',
                                  "GelberSack": '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
                              
                              // Zeitplan
                              schedule('15 4 * * *', () => check() );   // Täglich 4.15h
                              
                              1 Reply Last reply Reply Quote 0
                              • opossum
                                opossum last edited by

                                Hallo,

                                vielen Dank, bin jetzt einen Schritt weiter. Das Script lässt sich kompilieren und läuft durch.

                                Vielen Dank @sigi234 sigi

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                722
                                Online

                                31.8k
                                Users

                                80.0k
                                Topics

                                1.3m
                                Posts

                                32
                                159
                                25951
                                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