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

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

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Ical Setzen eines Events

NEWS

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

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

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

Ical Setzen eines Events

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
159 Beiträge 32 Kommentatoren 29.8k Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • E Offline
    E Offline
    eve11
    schrieb am zuletzt editiert von
    #139

    Nu hast natürlich recht.

    Peinlich.

    Aber trotzdem Danke

    eve11

    1 Antwort Letzte Antwort
    0
    • C Offline
      C Offline
      csamaggi
      schrieb am zuletzt editiert von
      #140

      Hallo,

      ich habe schon seit einiger Zeit das Script von Pix im Einsatz.

      Doch nun ist mir aufgefallen dass ein paar meiner Müllscripte nicht geändert werden.

      Also im Klartext der Ical Kaleneder wird geladen auch das Script erkennt wohl dass es dort eine Änderung gibt aber der Wert wird unter den Datenpunkten nicht geändert, es bleibt also bei "false" und wird nicht auf "true" gesetzt.

      Die Scripte sind identisch eben nur die jeweilige Tonne wird geändert bei einigen gehts bei den anderen nicht.

      Nun dachte ich mir ok wenn das für Müll geht warum nicht auch für den Dienstplan meiner Frau.

      Also habe ich hier das gleiche Script genommen und dann eben nur mit den Diensten angepasst aber auch hier tut sich nichts kein Wert wird geändert.

      `/* Kalenderevent in der Zukunft suchen
      
      sucht im iCal Adapter nach events, die noch kommen
      http://forum.iobroker.net/viewtopic.php?f=21&t=3761&sid=4319378b32a0ce096bbbbfc0ebd859ce#p34975
      
      20.09.2016 erstellt von pix
      13.11.2016 angepasst für Sven
      */
      
      // User Anpassungen
      var suchstring =   'Früh';              // Suchbegriff
      var stichtag =      0;                   // 0 heute;  1 morgen; 2 übermorgen; 3 In 3 Tagen
      var idTabelle =    'ical.1.data.table'; // Instanz eintragen
      var logging =      true;                // debug Log ein/ausschalten
      // Ende User Anpassungen
      
      createState('Dienste_Nina.' + suchstring, false, {
           type: 'boolean',
           name: suchstring + ' Dienst',
           desc: suchstring + ' Dienst (Boolean)',
           def: false
      });
      var idEventState = 'Dienste_Nina.' + suchstring;
      setState(idEventState, false); 
      
      var tage = ['Heute','Morgen','Übermorgen','In 3 Tagen']; // dafür relative Datumsangabe in iCal-Adapter einschalten und ggf. übersetzen
      
      function datum(x) {
          var jetzt = new Date();
          if (logging) log('Jetztzeit: ' + jetzt);
          //var zeit = new Date(jetzt.getTime() + x * 24 * 60 * 60 * 1000); // es werden genau x Tage, als x * 24 Stunden zugezählt --> nicht gut
          var zeit = new Date (jetzt.getFullYear(), jetzt.getMonth(), jetzt.getDate() + x); // in drei Tagen um Mitternacht
          if (logging) log('Zielzeit: ' + zeit);
          var jahr       = zeit.getFullYear();
          var monat      = (zeit.getMonth()+1 < 10) ? '0' + (zeit.getMonth()+1) : zeit.getMonth()+1;
          var tag        = (zeit.getDate() < 10) ? '0' + zeit.getDate() : zeit.getDate();
          return (tag + '.' + monat + '.' + jahr);
      }
      
      function pruefeKalender() {
          var kalender = getState(idTabelle).val;
          var tag = datum(parseInt(stichtag,10));
          if (logging) log(tag);
          try{
              var ereignisse = JSON.stringify(kalender, null, 2); // Ausgabe als String
              if (logging) log(ereignisse);
              for(var i = 0; i <kalender.length; i++)/{/alle/events/durchgehen/if/(/(kalender[i].date.indexof(tag)/!="-1)" ||/(kalender[i].date.indexof(tage[stichtag])/)/string/datum/oder/relatives/(nicht/nicht)/gefunden,/also/gefunden/var/termin="kalender[i].event;" (termin.indexof(suchstring)/log('treffer:/'/+/tage[stichtag]/suchstring);/hier/wird/später/vielleicht/stichtag_array/verwendet/setstate(ideventstate,/true);/}/else/false);/catch/(fehler_try)/log('fehler/beim/kalenderevents/einlesen/fehler_try,/'error');/schedule("00/01/*/*",/function(){/bei/mehreren/müllskripts/den/ersten/wert/verändern/(minuten)/event="getState(idEventState).val;" (event)/ansage="suchstring" morgen/abgeholt./bitte/rausstellen!';/kann/sayit/push/gesetzt/werden/setstate("sayit.0.tts.text"/*text/to/speech*/,/ansage);/});/aktualisierung/on/({id:/idtabelle,/change:/'any'},/function(data)/pruefekalender();/1min/nach/mitternacht/schedule("1/pruefekalender);/skriptstart/pruefekalender();<e=""></kalender.length;>`
      
      Hier mal das für einen Dienst. Im Anschluß habe ich dann nur mittels VIS einen Button auf dem Früh steht und der dann einen Datenpunkt liest.
      
      MFG Maggi[/i][/i][/i]
      
      1 Antwort Letzte Antwort
      0
      • L Offline
        L Offline
        lutzer
        schrieb am zuletzt editiert von
        #141

        Ich habe mal eine ganz doofe Frage: was mache ich nach dem iCal und die Scripte angelegt sind?

        Was muss ich jetzt im Vis machen das ich dort eine Zahl stehen habe? Also 1 (…1 Tag bis zum Termin/Abholung)...

        "String (unescaped) " zeigt ja nur den ganzen Kalender an...

        Bitte nicht steinigen ;)

        1 Antwort Letzte Antwort
        0
        • M Offline
          M Offline
          mikiline
          schrieb am zuletzt editiert von
          #142

          wenn die Skripte angelegt sind gibt es auch sicher neue Objekte die Du abrufen kannst…..

          1 Antwort Letzte Antwort
          0
          • L Offline
            L Offline
            lutzer
            schrieb am zuletzt editiert von
            #143

            Ja unter Javascript, aber da steht dann auch nur true/false.

            Ich dachte da kommt eine Zahl raus. "4" (in Tagen …)

            So wie im vba oder sql wo man mit today/now - xxx eine Zahl raus hat.

            Aslo man hat ja "heute", kann das nächste Ereigniss finden was den kleinsten Abstand zu "heute" hat und gibt den Zähler aus.

            Der Rest ist ja dann nur Darsetllung im Vis. Also bei Zahl < 2 blinkt dann das Icon oder so.

            Mit der Sprachausgabe hab ich es nicht so, deswegen konnte ich den anderen nicht mehr folgen.

            1 Antwort Letzte Antwort
            0
            • M Offline
              M Offline
              mikiline
              schrieb am zuletzt editiert von
              #144

              welches Skript denn?

              Falls z.B Müll gewünscht ist kannst du dieses hier nehmen (natürlich anpassen)

              Im Skript hab ich dir markiert was du anpassen musst mit "//HIER ANPASSEN!!!!!!!!!!!!!!!!!!!!!"

              ! ````
              // Anlegen JS State für VIS
              //HIER ANPASSEN!!!!!!!!!!!!!!!!!!!!!
              createState('javascript.0.muell.restmuell', 0); //. gelb, blau usw entsprechend erstellen
              createState('javascript.0.muell.gelbersack', 0); //. gelb, blau usw entsprechend erstellen
              createState('javascript.0.muell.papiertonne', 0); //. gelb, blau usw entsprechend erstellen
              createState('javascript.0.muell.papierholsammlung', 0); //. gelb, blau usw entsprechend erstellen
              createState('javascript.0.muell.biotonne', 0); //. gelb, blau usw entsprechend erstellen
              ! schedule("05 00 * * *", 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 restmuell= "Restm"; // weitere Varialben für die anderen Müllsorten eintragen
              var gelbersack= "Gelber"; // weitere Varialben für die anderen Müllsorten eintragen
              var papiertonne= "Papier"; // weitere Varialben für die anderen Müllsorten eintragen
              var biotonne= "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.2.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.restmuell', getPos(restmuell));
                  setState('javascript.0.muell.gelbersack', getPos(gelbersack));
                  setState('javascript.0.muell.papiertonne', getPos(papiertonne));
                  setState('javascript.0.muell.biotonne', getPos(biotonne));
                  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.>

              1 Antwort Letzte Antwort
              0
              • L Offline
                L Offline
                lutzer
                schrieb am zuletzt editiert von
                #145

                Guten Morgen,

                ja es geht um Müll :D

                Danke für das Skript und die Kommentare die sind für Einsteiger sehr wichtig.

                Wie mache ich jetzt weiter?

                Ich habe das Skript angepasst (Kalender und Tonnennamen) und es unter Skripte erstellt.

                Jetzt steht unter Objekte bei dem Javaskript true. Und es wurde ein Ordner muell erstellt, wo alle Tonnen und ein json drin ist.

                Wo stehen jetzt die Werte die erzeugt wurden und mit was stelle ich diese in Vis dar?

                Ich hab da irgendwie ein Verständnis Problem… :?

                So sieht es im Vis bei mir aus. (Tonnen und Termine sind noch zum testen etwas durcheinander...)

                Links das ist das "json" und rechts die iCal Tabelle

                Sorry das "json" kam aus einem anderen Skript - das ist der Nachteil am Testen, es bleibt immer was zurück...
                8604_unbenannt-2.png

                1 Antwort Letzte Antwort
                0
                • M Offline
                  M Offline
                  mikiline
                  schrieb am zuletzt editiert von
                  #146

                  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 Antwort Letzte Antwort
                  0
                  • L Offline
                    L Offline
                    lutzer
                    schrieb am zuletzt editiert von
                    #147

                    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 Antwort Letzte Antwort
                    0
                    • M Offline
                      M Offline
                      mikiline
                      schrieb am zuletzt editiert von
                      #148

                      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 Antwort Letzte Antwort
                      0
                      • L Offline
                        L Offline
                        lutzer
                        schrieb am zuletzt editiert von
                        #149

                        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 Antwort Letzte Antwort
                        0
                        • M Offline
                          M Offline
                          mikiline
                          schrieb am zuletzt editiert von
                          #150

                          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 Antwort Letzte Antwort
                          0
                          • M Offline
                            M Offline
                            Marc1970
                            schrieb am zuletzt editiert von
                            #151

                            @ 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

                            Und denkt immer daran, blau ist rot und Plus ist Minus…

                            1 Antwort Letzte Antwort
                            0
                            • W Offline
                              W Offline
                              w00dy
                              schrieb am zuletzt editiert von w00dy
                              #152

                              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>

                              LG,
                              w00dy

                              1 Antwort Letzte Antwort
                              0
                              • M Offline
                                M Offline
                                mikiline
                                schrieb am zuletzt editiert von
                                #153

                                "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 Antwort Letzte Antwort
                                0
                                • W Offline
                                  W Offline
                                  w00dy
                                  schrieb am zuletzt editiert von w00dy
                                  #154

                                  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)

                                  LG,
                                  w00dy

                                  1 Antwort Letzte Antwort
                                  0
                                  • M Offline
                                    M Offline
                                    mikiline
                                    schrieb am zuletzt editiert von
                                    #155

                                    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 Antwort Letzte Antwort
                                    0
                                    • W Offline
                                      W Offline
                                      w00dy
                                      schrieb am zuletzt editiert von
                                      #156

                                      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 :cry:

                                      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!

                                      LG,
                                      w00dy

                                      1 Antwort Letzte Antwort
                                      0
                                      • opossumO Offline
                                        opossumO Offline
                                        opossum
                                        schrieb am zuletzt editiert von
                                        #157

                                        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

                                        https://schlepper-petersdorf.jimdofree.com/

                                        sigi234S 1 Antwort Letzte Antwort
                                        0
                                        • opossumO opossum

                                          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

                                          sigi234S Online
                                          sigi234S Online
                                          sigi234
                                          Forum Testing Most Active
                                          schrieb am zuletzt editiert von
                                          #158

                                          @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
                                          

                                          Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                          Immer Daten sichern!

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          461

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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