[gelöst] in SayIt Wetter und Geburtstagsscript -> Müllkalender mit einbinden

Fragen zum Skripten mit ioBroker.javascript
tempestas
guru
Beiträge: 1042
Registriert: 17.03.2017, 19:34
Wohnort: ~100km vom Holy Ground

Re: [gelöst] in SayIt Wetter und Geburtstagsscript -> Müllkalender mit einbinden

Beitrag von tempestas » 11.06.2018, 20:45

schalte mal bitte im Skript debug auf true und dann poste die logs
ioBroker | 19 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Sonos | Instar Cam | Fire HDX 7 | 3x Echo dot | Neato Botvac D5

GeorgS
starter
Beiträge: 77
Registriert: 10.05.2018, 19:16

Re: [gelöst] in SayIt Wetter und Geburtstagsscript -> Müllkalender mit einbinden

Beitrag von GeorgS » 12.06.2018, 12:43

tempestas hat geschrieben:
11.06.2018, 20:45
schalte mal bitte im Skript debug auf true und dann poste die logs
Spoiler: Show hidden text
13:42:21.562 [info] javascript.0 Start javascript script.js.common.Allgemein.Muellabfuhr
13:42:21.562 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: Übermorgen 04:00-05:00 Leerung Hausmuelltonne In einer Woche 04:00-05:00 Leerung Papiertonne 28.06.2018 04:00-05:00 Leerung Hausmuelltonne 29.06.2018 04:00-05:00 Leerung Gelbe Tonne
13:42:21.562 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: Suchergebnis ist: -1
13:42:21.562 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: Müll heute?: undefined
13:42:21.562 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: pos ist: 31
13:42:21.562 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: Datum ist: 5:00 Leerung
13:42:21.562 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: pos1: 0
13:42:21.562 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: pos2: 0
13:42:21.562 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: Mülldate ist: undefined, Invalid Date
13:42:21.562 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: Mülltag ist: 5:00 Leerun , 5:00 Leerun , 5:00 Leerung
13:42:21.562 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: Tue Jun 12 2018 11:42:21 GMT+0000 (UTC)
13:42:21.562 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: Datum heute ist: Dienstag, 1262018
13:42:21.562 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: Tage aktueller Monat: 30
13:42:21.562 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: Tage bis zum nächsten Müll: -7
13:42:21.562 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: Suchergebnis ist: -1
13:42:21.562 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: Müll heute?: undefined
13:42:21.562 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: pos ist: 81
13:42:21.562 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: Datum ist: 5:00 Leerung
13:42:21.562 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: pos1: 0
13:42:21.562 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: pos2: 0
13:42:21.562 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: Mülldate ist: undefined, Invalid Date
13:42:21.562 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: Mülltag ist: 5:00 Leerun , 5:00 Leerun , 5:00 Leerung
13:42:21.562 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: Tue Jun 12 2018 11:42:21 GMT+0000 (UTC)
13:42:21.562 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: Datum heute ist: Dienstag, 1262018
13:42:21.562 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: Tage aktueller Monat: 30
13:42:21.562 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: Tage bis zum nächsten Müll: -7
13:42:21.562 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: Suchergebnis ist: -1
13:42:21.562 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: Müll heute?: undefined
13:42:21.562 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: pos ist: 170
13:42:21.562 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: Datum ist: 5:00 Leerung
13:42:21.562 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: pos1: 0
13:42:21.563 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: pos2: 0
13:42:21.563 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: Mülldate ist: undefined, Invalid Date
13:42:21.563 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: Mülltag ist: 5:00 Leerun , 5:00 Leerun , 5:00 Leerung
13:42:21.563 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: Tue Jun 12 2018 11:42:21 GMT+0000 (UTC)
13:42:21.563 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: Datum heute ist: Dienstag, 1262018
13:42:21.563 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: Tage aktueller Monat: 30
13:42:21.563 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: Tage bis zum nächsten Müll: -7
13:42:21.563 [warn] javascript.0 script.js.common.Allgemein.Muellabfuhr: setForeignState(id=javascript.0.muell.json, state="[{\"Tag\":\"undefined\",\"Datum\":\"5:00 Leerun.5:00 Leerun.5:00 Leerung\",\"Ereignis\":\" Hausmuelltonne\",\"Tage\":\"-7\"},{\"Tag\":\"undefined\",\"Datum\":\"5:00 Leerun.5:00 Leerun.5:00 Leerung\",\"Ereignis\":\" Papiertonne\",\"Tage\":\"-7\"},{\"Tag\":\"undefined\",\"Datum\":\"5:00 Leerun.5:00 Leerun.5:00 Leerung\",\"Ereignis\":\" Gelbe Tonne\",\"Tage\":\"-7\"}]") - was not executed, while debug mode is active
13:42:21.563 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: Müllkalender aktualisiert!
13:42:21.563 [info] javascript.0 script.js.common.Allgemein.Muellabfuhr: registered 0 subscriptions and 1 schedule
hoffe das ist das richtige :D

tempestas
guru
Beiträge: 1042
Registriert: 17.03.2017, 19:34
Wohnort: ~100km vom Holy Ground

Re: [gelöst] in SayIt Wetter und Geburtstagsscript -> Müllkalender mit einbinden

Beitrag von tempestas » 12.06.2018, 21:06

Das Problem ist, dass das Skript hiernach sucht:

http://www.codetable.net/decimal/8594

Das ist der Pfeil für ein ganztäggies Event. Du hast aber keine ganztägigen Events in deinem Kalender. Also findet er nichts.

Du kannst es mal mit meiner Version des Skript versuchen. Bitte bei var obj deine Bezecihnungen einsetzen im Ganzen ("Leerung Hausmuelltonne")
Spoiler: Show hidden text

Code: Alles auswählen

// 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.
// Ursprung: tempestas
// Erweiterung: PicNic


// http://forum.iobroker.net/viewtopic.php?f=21&t=3351&p=92282#p92282

//debug in Log ausgeben
debug = true;

// Anlegen JS State für VIS 

createState('javascript.0.muell.json', 0);

// Array für Suchvariablen und Farbe des Müll-Icons

var obj = { "Restabfall": "black", "Papiertonne": "darkblue", "Bioabfall": "brown", "Gelber Sack": "yellow"};

function muell(){  

// Kalender auslesen (HTML Format)

    // **************************************************************************************            
    // Termine auswerten aus html. Bereinigung der HTML Tags und Konvertierung in Plain Text
    // **************************************************************************************
    
        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(/<br>/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(/&nbsp;/gi," ");
        inhaltStringReplace=inhaltStringReplace.replace(/&amp;/gi,"&");
        inhaltStringReplace=inhaltStringReplace.replace(/&quot;/gi,'"');
        inhaltStringReplace=inhaltStringReplace.replace(/&lt;/gi,'<');
        inhaltStringReplace=inhaltStringReplace.replace(/&gt;/gi,'>');    
        
        if(debug) log(inhaltStringReplace);


// 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();
}

// Wochentage auf deutsch
var wochentag = ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag' ];        
        
// json starten

var muellJason = "[";

// Schleife zur abarbeitung des Arrays

Object.keys(obj).forEach (function (val, key) {
   
// "," zur Trennung der Daten im json. Sollte nur eine Müllart angegeben sein, dann die nächsten drei Zewilen auskommentieren

if (key > 0) {
   muellJason += ",";  
}

// Zuweisung der Farbe für das MüllIcon

var iconColor = obj[val];

var muellIcon = "<svg class='icon dustbin "+iconColor+"' data-txt='dustbin@"+iconColor+"' xmlns:dc='http://purl.org/dc/elements/1.1/' xmlns:cc='http://creativecommons.org/ns#' xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:svg='http://www.w3.org/2000/svg' xmlns='http://www.w3.org/2000/svg' version='1.0' width='35' height='35' viewBox='0 0 468 468' id='svg2996'>   <defs id='defs3012'></defs>   <metadata id='metadata2998'> Created by potrace 1.8, written by Peter Selinger 2001-2007 <rdf:rdf>   <cc:work rdf:about=''>     <dc:format>image/svg+xml</dc:format>     <dc:type rdf:resource='http://purl.org/dc/dcmitype/StillImage'></dc:type>     <dc:title></dc:title>   </cc:work> </rdf:rdf> </metadata>   <g id='g4034'>     <path d='m 164.4375,33.5 -0.65625,0.5 c -11.90412,10.555196 -23.8852,21.057535 -35.5625,31.84375 l -42.96875,0 0,45.03125 32.53125,0 c 13.22891,144.12046 25.89883,288.31731 39.46875,432.40625 9.69723,-1.98889 14.32028,1.0964 11.875,11.25 -0.0426,5.85383 15.04324,3.26475 18.03125,1.90625 -1.00901,-8.73036 -0.93648,-16.37136 10,-13.15625 l 160.59375,0 c 11.75,21.80169 42.56231,29.31009 62.96875,15.375 21.08406,-12.69988 27.25053,-43.85545 12.3125,-63.5625 -4.86724,-6.92593 -11.82906,-12.31065 -19.625,-15.53125 C 424.62583,361.71176 435.86015,243.85237 447.0625,126 c 17.64215,-13.78222 35.02804,-27.886275 52.53125,-41.84375 2.89271,-4.893749 0.4348,-15.122493 1.25,-22.09375 C 499.08199,57.205782 490.09686,53.870651 485.5,49.25 477.99288,43.982667 470.74179,37.617596 462.6875,33.5 l -298.25,0 z m 4.875,9.84375 291.71875,0 29.25,21.71875 c 0.0119,0.927631 0.0533,1.871122 0.0937,2.8125 0.97639,2.449641 0.85027,5.167262 -0.0625,7.65625 -0.008,0.02111 -0.0234,0.04143 -0.0312,0.0625 -0.51888,3.777511 -2.14687,7.029761 -6.8125,8.8125 l -35.125,28.03125 c 1.46565,-4.97558 -1.85222,-15.895744 6.6875,-12.4375 5.5213,1.58262 12.19009,-2.324505 10.0625,-8.84375 l 0,-25.3125 -322.0625,0 c 8.86915,-7.223116 16.87852,-16.668979 26.28125,-22.5 z m -74.21875,32.34375 360.125,0 c 0.0306,7.712935 2.54733,17.927536 -8.75,14.3125 -94.29274,0.208114 -188.73115,-0.555861 -282.9375,0.40625 -10.1217,4.75269 -19.48313,13.27115 -31.6875,10.625 l -36.75,0 0,-25.34375 z m 76.21875,23.90625 c 89.41386,0.54853 178.87681,0.09252 268.3125,0.25 l -35.90625,377.0625 c -25.33113,-4.95041 -51.26051,16.10244 -51.8125,41.84375 -0.25348,4.95829 0.29336,9.94215 1.65625,14.6875 l -187.4375,0 C 153.39299,392.565 140.43379,251.46157 127.84375,110.71875 c 9.78849,0.51047 20.51309,1.63486 28.59375,-5.03125 4.67542,-2.69526 9.40925,-5.82151 14.875,-6.09375 z m 225.46875,394.1875 c 18.62221,-0.69263 32.74554,20.5547 24.875,37.5625 -6.27158,16.68124 -30.29909,21.99414 -43.03125,9.46875 -14.14991,-11.79435 -10.47964,-37.066 6.34375,-44.3125 3.56947,-1.79753 7.71804,-2.66409 11.8125,-2.71875 z m 0.90625,4.09375 c -0.57219,-0.006 -1.13342,-0.007 -1.71875,0.0312 -16.41246,0.0663 -27.63561,20.14594 -19.1875,34.15625 7.29551,15.03871 30.88174,16.07631 39.53125,1.78125 10.30823,-14.81695 -0.88704,-35.79663 -18.625,-35.96875 z' transform='scale(0.8,0.8)' id='rect3852' style='font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:"+iconColor+";fill-opacity:1;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans'></path>     <path d='m 187.04414,86.30422 c 0,9.25 0,18.5 0,27.75 8.8657,2.63653 8.20074,-4.2576 7.6875,-11 -0.88762,-6.981373 -0.63624,-12.823742 8,-10.28125 20.07292,0 40.14583,0 60.21875,0 0,7.09375 0,14.1875 0,21.28125 8.85532,2.63657 8.1552,-4.2823 7.65625,-11 0,-6.25 0,-12.5 0,-18.75 -27.85417,0 -55.70833,0 -83.5625,0 l 0,1 0,1 z' id='rect3774' style='fill:"+iconColor+";stroke:none'></path>     <path d='m 246.10957,299.44346 c -1.20162,-1.79184 -13.13138,-21.89781 -13.13138,-22.13113 0,-0.35582 13.19507,-22.47629 13.40732,-22.47629 0.0834,0 0.15176,1.8904 0.15176,4.20087 0,3.3822 0.0542,4.24584 0.27806,4.43164 0.20925,0.17367 3.98995,0.2127 15.27853,0.15776 16.67177,-0.0812 16.14352,-0.0414 19.20743,-1.44518 0.8007,-0.36686 1.48668,-0.63616 1.52438,-0.59845 0.0377,0.0376 -3.37966,6.0737 -7.59414,13.41331 -8.38933,14.61019 -8.4627,14.71679 -10.76008,15.63297 -1.10265,0.43974 -1.35427,0.45449 -9.48432,0.55557 l -8.35161,0.10384 -0.0983,4.32318 c -0.0938,4.12593 -0.11328,4.30077 -0.4277,3.83191 z M 199.67,291.00079 c -4.86935,-0.56611 -9.27834,-4.18932 -10.83763,-8.90616 -0.44559,-1.34793 -0.53544,-1.97083 -0.54455,-3.77582 -0.0116,-2.29823 0.2835,-3.7894 1.19284,-6.02732 0.46366,-1.14109 3.87189,-7.36721 4.63457,-8.46641 l 0.37581,-0.54163 14.87125,0.0503 14.87127,0.0505 0,13.85387 0,13.85384 -11.69225,0.023 c -6.43074,0.0126 -12.22283,-0.0387 -12.87131,-0.11407 z m -23.07415,-26.65794 c -4.26057,-7.32993 -7.85812,-13.68348 -7.99458,-14.11897 -0.13644,-0.43549 -0.26416,-0.65918 -0.28383,-0.49707 -0.0196,0.16213 -0.10891,-0.059 -0.19835,-0.49126 -0.15929,-0.76999 -0.0105,-3.00897 0.16506,-2.48491 0.049,0.14642 0.2357,-0.16309 0.41472,-0.68778 0.17905,-0.52469 2.07284,-4.01176 4.20845,-7.74905 2.16788,-3.79378 3.8342,-6.91841 3.77264,-7.07431 -0.0607,-0.15358 -1.69732,-1.16352 -3.63704,-2.24431 -1.93972,-1.08081 -3.52906,-2.01786 -3.53187,-2.08233 -0.006,-0.14378 6.57047,-0.32902 17.79578,-0.50119 l 8.46674,-0.12987 6.34867,11.43236 c 3.49178,6.28779 6.29992,11.48113 6.24029,11.54073 -0.0595,0.0596 -1.75689,-0.84191 -3.77175,-2.0034 -3.60051,-2.07556 -3.66963,-2.10532 -4.02824,-1.73419 -0.55658,0.576 -13.94131,23.77568 -14.57267,25.25872 -0.72354,1.69955 -1.30968,3.87178 -1.49707,5.54808 l -0.15045,1.34592 -7.7465,-13.32717 z m 89.07588,-4.62263 c -0.0943,-0.14587 -3.45377,-5.92489 -7.46554,-12.84227 -5.41735,-9.34093 -7.23758,-12.63501 -7.07431,-12.80239 0.32833,-0.33656 23.31915,-13.43198 23.58171,-13.43198 0.12427,0 2.80048,4.44354 5.94713,9.87454 6.55474,11.31331 6.28956,10.82629 6.84861,12.57752 0.23306,0.73009 0.47242,1.27876 0.53191,1.21928 0.0595,-0.0595 0.17091,0.47802 0.24763,1.19443 0.15098,1.40997 -0.0334,3.68719 -0.28604,3.53111 -0.0857,-0.0529 -0.21682,0.23461 -0.29152,0.63896 -0.20892,1.13073 -1.51188,3.74177 -2.5523,5.11465 -1.72548,2.27683 -4.04472,3.812 -6.95568,4.60419 -1.30162,0.35423 -2.22633,0.42067 -6.9311,0.49796 -4.41554,0.0725 -5.4611,0.0397 -5.6005,-0.176 z m -65.31395,-41.16649 c -6.43074,-3.73488 -11.79495,-6.89275 -11.92048,-7.01749 -0.17303,-0.17195 1.23227,-2.74644 5.80886,-10.64177 5.70419,-9.84062 6.1237,-10.50386 7.60749,-12.02734 1.69965,-1.74509 3.33189,-2.69357 5.66885,-3.29412 1.5163,-0.38964 4.92245,-0.38707 6.59088,0.005 2.75547,0.6475 5.41411,2.44797 7.33993,4.97072 1.44033,1.88674 5.4911,8.82551 5.38626,9.22639 -0.0949,0.3629 -14.05668,24.59974 -14.5365,25.23452 -0.22908,0.30307 -1.35989,-0.30809 -11.94529,-6.45591 z m 42.05556,0.69155 c -5.0242,-0.0857 -9.39897,-0.18194 -9.7217,-0.2139 -0.50316,-0.0498 -0.0694,-0.35226 3.04313,-2.12147 3.19994,-1.81891 3.62944,-2.12152 3.62568,-2.55461 -0.004,-0.48586 -12.4336,-22.33433 -14.25345,-25.05483 -1.51468,-2.26428 -4.79833,-5.20178 -5.82449,-5.21048 -0.19508,-0.002 -0.48732,-0.0888 -0.64944,-0.1935 -0.35402,-0.22879 30.37826,-0.23669 32.03088,-0.008 0.59443,0.0822 0.94816,0.16475 0.78603,0.18349 -0.16212,0.0187 0.16507,0.19299 0.72711,0.38718 1.41989,0.49063 2.52157,1.30409 3.21461,2.37365 0.32406,0.5001 2.2456,3.7269 4.27007,7.17065 2.02447,3.44374 3.81896,6.34847 3.98778,6.45495 0.23503,0.14827 1.10892,-0.2796 3.73171,-1.82705 1.88363,-1.11135 3.50616,-2.06607 3.60559,-2.1216 0.34795,-0.19432 -0.14612,0.72795 -6.3232,11.80315 l -6.21981,11.15185 -3.4478,-0.0317 c -1.8963,-0.0174 -7.55851,-0.10189 -12.5827,-0.18752 z' id='path3042-4-0' style='fill:"+iconColor+"'></path>     <path d='m 379.767,65.367302 c -2.27366,-0.78034 -4.41606,-2.93783 -4.76517,-4.79874 -0.71345,-3.803 0.7568,-7.29316 3.71819,-8.82643 3.16358,-1.63796 7.60799,-0.409 9.60852,2.65692 1.81887,2.78753 1.47864,5.94628 -0.93596,8.68941 -2.3772,2.70063 -4.52579,3.34272 -7.62558,2.27884 z' id='path4011' style='fill:"+iconColor+";fill-opacity:1;stroke:none'></path>   </g> </svg>";

// Position bestimmen

var pos = inhaltStringReplace.indexOf( val, 1);                    
if(debug) log("pos ist: "+pos);

var inhaltStringText = inhaltStringReplace.substring((pos-13),pos-3); 
if(debug) log("Datum ist: "+inhaltStringText);


nthIndex(inhaltStringText, ".", 1);
var t_m = inhaltStringText.slice(0, i_search);
var pos1 = i_search+1;
if(debug) log("pos1: " +pos1 );

nthIndex(inhaltStringText, ".", 2);
var m_m = inhaltStringText.slice(pos1, i_search);
var pos2 = i_search+1;
if(debug) log("pos2: " +pos2 );


var j_m = inhaltStringText.slice(pos2, inhaltStringText.len );

// Datum des Abholtages setzen um den Wochentag zu ermitteln
var muelldate = new Date(j_m,m_m-1,t_m);

// Hier kommt der Wochentag :-)

var d = muelldate.getDay();

if(debug) log("Mülldate ist: "+wochentag[d]+", "+muelldate );
if(debug) log("Mülltag ist: "+t_m +" , " +m_m +" , " +j_m);




// Datum heute ermitteln

var today = new Date();
if(debug) log(today);

    //Tag ermitteln
        var t = today.getDate();
        
    // Wochentag ermitteln zum testen
        var dd = today.getDay();

    //Monat ermitteln

        var m = today.getMonth()+1;

    //Jahr ermitteln
        var j = today.getFullYear();
        
        if(debug) log("Datum heute ist: "+wochentag[dd]+", "+t+m+j);
        
        
        
// Berechnung Tagesdifferenzen

var diff = 0;
var tage = "";
var dim = DaysInMonth(m, j);  // Tage des aktuellen Monats
if(debug) 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);
          
        if(!isNaN(diff)){ 
                tage = diff }
            else {
                tage = "Heute";
            }
          
muellJason += "{\"Müllart\":\" "+val+"\",\"Tage\":\""+tage+"\"}";                 //  PASS DIR AN WIE DU WILLST:   \"Ereignis\":\""+muellIcon+"\", \"Tag\":\""+wochentag[d]+"\",\"Datum\":\""+inhaltStringText+"\",
 
 });                // Ende forEach

// json schließen

muellJason += "]";

// und hier nun die Werte eintragen

setState('javascript.0.muell.json', muellJason);    

log("Müllkalender aktualisiert!");

}

schedule('30 5 * * *', function(){              // morgens um 5.30h wird aktualisiert
       
        muell();
    
});           

// bei Start

muell();

In Zeile 102 bei diesem Abschnitt:

var inhaltStringText = inhaltStringReplace.substring((pos-13),pos-3);

wirst du ggf anpassen müssen, ich habs kurz überflogen, mach mal aus pos-13 bitte pos-22 zum testen und poste dnan hier die Logs
ioBroker | 19 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Sonos | Instar Cam | Fire HDX 7 | 3x Echo dot | Neato Botvac D5

GeorgS
starter
Beiträge: 77
Registriert: 10.05.2018, 19:16

Re: [gelöst] in SayIt Wetter und Geburtstagsscript -> Müllkalender mit einbinden

Beitrag von GeorgS » 13.06.2018, 16:03

Hallo ich hoffe es ist der richtige Log =)
Spoiler: Show hidden text
17:06:52.172 [info] javascript.0 Stop script script.js.common.Allgemein.Muell
17:06:52.211 [info] javascript.0 Start javascript script.js.common.Allgemein.Muell
17:06:52.211 [info] javascript.0 script.js.common.Allgemein.Muell: Morgen 04:00-05:00 Leerung Hausmuelltonne In 6 Tagen 04:00-05:00 Leerung Papiertonne 28.06.2018 04:00-05:00 Leerung Hausmuelltonne 29.06.2018 04:00-05:00 Leerung Gelbe Tonne
17:06:52.211 [info] javascript.0 script.js.common.Allgemein.Muell: pos ist: 27
17:06:52.211 [info] javascript.0 script.js.common.Allgemein.Muell: Datum ist: n 04:00-05:00 Leeru
17:06:52.211 [info] javascript.0 script.js.common.Allgemein.Muell: pos1: 0
17:06:52.211 [info] javascript.0 script.js.common.Allgemein.Muell: pos2: 0
17:06:52.211 [info] javascript.0 script.js.common.Allgemein.Muell: Mülldate ist: undefined, Invalid Date
17:06:52.211 [info] javascript.0 script.js.common.Allgemein.Muell: Mülltag ist: n 04:00-05:00 Leer , n 04:00-05:00 Leer , n 04:00-05:00 Leeru
17:06:52.211 [info] javascript.0 script.js.common.Allgemein.Muell: Wed Jun 13 2018 15:06:52 GMT+0000 (UTC)
17:06:52.211 [info] javascript.0 script.js.common.Allgemein.Muell: Datum heute ist: Mittwoch, 1362018
17:06:52.211 [info] javascript.0 script.js.common.Allgemein.Muell: Tage aktueller Monat: 30
17:06:52.211 [info] javascript.0 script.js.common.Allgemein.Muell: Tage bis zum nächsten Müll: NaN
17:06:52.211 [info] javascript.0 script.js.common.Allgemein.Muell: pos ist: 73
17:06:52.211 [info] javascript.0 script.js.common.Allgemein.Muell: Datum ist: n 04:00-05:00 Leeru
17:06:52.211 [info] javascript.0 script.js.common.Allgemein.Muell: pos1: 0
17:06:52.211 [info] javascript.0 script.js.common.Allgemein.Muell: pos2: 0
17:06:52.211 [info] javascript.0 script.js.common.Allgemein.Muell: Mülldate ist: undefined, Invalid Date
17:06:52.211 [info] javascript.0 script.js.common.Allgemein.Muell: Mülltag ist: n 04:00-05:00 Leer , n 04:00-05:00 Leer , n 04:00-05:00 Leeru
17:06:52.211 [info] javascript.0 script.js.common.Allgemein.Muell: Wed Jun 13 2018 15:06:52 GMT+0000 (UTC)
17:06:52.211 [info] javascript.0 script.js.common.Allgemein.Muell: Datum heute ist: Mittwoch, 1362018
17:06:52.211 [info] javascript.0 script.js.common.Allgemein.Muell: Tage aktueller Monat: 30
17:06:52.211 [info] javascript.0 script.js.common.Allgemein.Muell: Tage bis zum nächsten Müll: NaN
17:06:52.211 [info] javascript.0 script.js.common.Allgemein.Muell: pos ist: 162
17:06:52.211 [info] javascript.0 script.js.common.Allgemein.Muell: Datum ist: 8 04:00-05:00 Leeru
17:06:52.211 [info] javascript.0 script.js.common.Allgemein.Muell: pos1: 0
17:06:52.211 [info] javascript.0 script.js.common.Allgemein.Muell: pos2: 0
17:06:52.211 [info] javascript.0 script.js.common.Allgemein.Muell: Mülldate ist: undefined, Invalid Date
17:06:52.211 [info] javascript.0 script.js.common.Allgemein.Muell: Mülltag ist: 8 04:00-05:00 Leer , 8 04:00-05:00 Leer , 8 04:00-05:00 Leeru
17:06:52.211 [info] javascript.0 script.js.common.Allgemein.Muell: Wed Jun 13 2018 15:06:52 GMT+0000 (UTC)
17:06:52.211 [info] javascript.0 script.js.common.Allgemein.Muell: Datum heute ist: Mittwoch, 1362018
17:06:52.212 [info] javascript.0 script.js.common.Allgemein.Muell: Tage aktueller Monat: 30
17:06:52.212 [info] javascript.0 script.js.common.Allgemein.Muell: Tage bis zum nächsten Müll: -5
17:06:52.212 [warn] javascript.0 script.js.common.Allgemein.Muell: setForeignState(id=javascript.0.muell.json, state="[{\"Müllart\":\" Hausmuelltonne\",\"Tage\":\"Heute\"},{\"Müllart\":\" Papiertonne\",\"Tage\":\"Heute\"},{\"Müllart\":\" Gelbe Tonne\",\"Tage\":\"-5\"}]") - was not executed, while debug mode is active
17:06:52.212 [info] javascript.0 script.js.common.Allgemein.Muell: Müllkalender aktualisiert!
17:06:52.212 [info] javascript.0 script.js.common.Allgemein.Muell: registered 0 subscriptions and 1 schedule
17:06:53.297 [info] javascript.0 Stop script script.js.common.Allgemein.Muell
17:06:54.388 [info] javascript.0 Start javascript script.js.common.Allgemein.Muell
17:06:54.388 [info] javascript.0 script.js.common.Allgemein.Muell: Morgen 04:00-05:00 Leerung Hausmuelltonne In 6 Tagen 04:00-05:00 Leerung Papiertonne 28.06.2018 04:00-05:00 Leerung Hausmuelltonne 29.06.2018 04:00-05:00 Leerung Gelbe Tonne
17:06:54.388 [info] javascript.0 script.js.common.Allgemein.Muell: pos ist: 27
17:06:54.388 [info] javascript.0 script.js.common.Allgemein.Muell: Datum ist: n 04:00-05:00 Leeru
17:06:54.388 [info] javascript.0 script.js.common.Allgemein.Muell: pos1: 0
17:06:54.388 [info] javascript.0 script.js.common.Allgemein.Muell: pos2: 0
17:06:54.388 [info] javascript.0 script.js.common.Allgemein.Muell: Mülldate ist: undefined, Invalid Date
17:06:54.388 [info] javascript.0 script.js.common.Allgemein.Muell: Mülltag ist: n 04:00-05:00 Leer , n 04:00-05:00 Leer , n 04:00-05:00 Leeru
17:06:54.388 [info] javascript.0 script.js.common.Allgemein.Muell: Wed Jun 13 2018 15:06:54 GMT+0000 (UTC)
17:06:54.388 [info] javascript.0 script.js.common.Allgemein.Muell: Datum heute ist: Mittwoch, 1362018
17:06:54.388 [info] javascript.0 script.js.common.Allgemein.Muell: Tage aktueller Monat: 30
17:06:54.388 [info] javascript.0 script.js.common.Allgemein.Muell: Tage bis zum nächsten Müll: NaN
17:06:54.388 [info] javascript.0 script.js.common.Allgemein.Muell: pos ist: 73
17:06:54.388 [info] javascript.0 script.js.common.Allgemein.Muell: Datum ist: n 04:00-05:00 Leeru
17:06:54.388 [info] javascript.0 script.js.common.Allgemein.Muell: pos1: 0
17:06:54.388 [info] javascript.0 script.js.common.Allgemein.Muell: pos2: 0
17:06:54.388 [info] javascript.0 script.js.common.Allgemein.Muell: Mülldate ist: undefined, Invalid Date
17:06:54.388 [info] javascript.0 script.js.common.Allgemein.Muell: Mülltag ist: n 04:00-05:00 Leer , n 04:00-05:00 Leer , n 04:00-05:00 Leeru
17:06:54.388 [info] javascript.0 script.js.common.Allgemein.Muell: Wed Jun 13 2018 15:06:54 GMT+0000 (UTC)
17:06:54.388 [info] javascript.0 script.js.common.Allgemein.Muell: Datum heute ist: Mittwoch, 1362018
17:06:54.388 [info] javascript.0 script.js.common.Allgemein.Muell: Tage aktueller Monat: 30
17:06:54.388 [info] javascript.0 script.js.common.Allgemein.Muell: Tage bis zum nächsten Müll: NaN
17:06:54.388 [info] javascript.0 script.js.common.Allgemein.Muell: pos ist: 162
17:06:54.388 [info] javascript.0 script.js.common.Allgemein.Muell: Datum ist: 8 04:00-05:00 Leeru
17:06:54.388 [info] javascript.0 script.js.common.Allgemein.Muell: pos1: 0
17:06:54.388 [info] javascript.0 script.js.common.Allgemein.Muell: pos2: 0
17:06:54.388 [info] javascript.0 script.js.common.Allgemein.Muell: Mülldate ist: undefined, Invalid Date
17:06:54.388 [info] javascript.0 script.js.common.Allgemein.Muell: Mülltag ist: 8 04:00-05:00 Leer , 8 04:00-05:00 Leer , 8 04:00-05:00 Leeru
17:06:54.388 [info] javascript.0 script.js.common.Allgemein.Muell: Wed Jun 13 2018 15:06:54 GMT+0000 (UTC)
17:06:54.388 [info] javascript.0 script.js.common.Allgemein.Muell: Datum heute ist: Mittwoch, 1362018
17:06:54.388 [info] javascript.0 script.js.common.Allgemein.Muell: Tage aktueller Monat: 30
17:06:54.388 [info] javascript.0 script.js.common.Allgemein.Muell: Tage bis zum nächsten Müll: -5
17:06:54.389 [warn] javascript.0 script.js.common.Allgemein.Muell: setForeignState(id=javascript.0.muell.json, state="[{\"Müllart\":\" Hausmuelltonne\",\"Tage\":\"Heute\"},{\"Müllart\":\" Papiertonne\",\"Tage\":\"Heute\"},{\"Müllart\":\" Gelbe Tonne\",\"Tage\":\"-5\"}]") - was not executed, while debug mode is active
17:06:54.389 [info] javascript.0 script.js.common.Allgemein.Muell: Müllkalender aktualisiert!
17:06:54.389 [info] javascript.0 script.js.common.Allgemein.Muell: registered 0 subscriptions and 1 schedule

tempestas
guru
Beiträge: 1042
Registriert: 17.03.2017, 19:34
Wohnort: ~100km vom Holy Ground

Re: [gelöst] in SayIt Wetter und Geburtstagsscript -> Müllkalender mit einbinden

Beitrag von tempestas » 13.06.2018, 19:30

Ist mir erst jetzt aufgefallen : du hast ja "Ersetze Datum mit Worten " im ical angeschaltet. Dann kann das sowieso nicht funktionieren.

Das Skript ermittelt die Tage zwischen zwei Daten. Ein Wort wie Übermorgen ist aber kein Datum.
Also bitte im ical diese Option mal abschalten.
ioBroker | 19 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Sonos | Instar Cam | Fire HDX 7 | 3x Echo dot | Neato Botvac D5

GeorgS
starter
Beiträge: 77
Registriert: 10.05.2018, 19:16

Re: [gelöst] in SayIt Wetter und Geburtstagsscript -> Müllkalender mit einbinden

Beitrag von GeorgS » 14.06.2018, 18:23

tempestas hat geschrieben:
13.06.2018, 19:30
Ist mir erst jetzt aufgefallen : du hast ja "Ersetze Datum mit Worten " im ical angeschaltet. Dann kann das sowieso nicht funktionieren.

Das Skript ermittelt die Tage zwischen zwei Daten. Ein Wort wie Übermorgen ist aber kein Datum.
Also bitte im ical diese Option mal abschalten.
Hat leider nix verändert :/

Hier mal der Log
Spoiler: Show hidden text
19:33:24.563 [info] javascript.0 Stop script script.js.common.Allgemein.Muell
19:33:24.583 [info] javascript.0 Start javascript script.js.common.Allgemein.Muell
19:33:24.583 [info] javascript.0 script.js.common.Allgemein.Muell: 19.06.2018 06:00-07:00 Leerung Papiertonne 28.06.2018 06:00-07:00 Leerung Hausmuelltonne 29.06.2018 06:00-07:00 Leerung Gelbe Tonne
19:33:24.583 [info] javascript.0 script.js.common.Allgemein.Muell: pos ist: 74
19:33:24.583 [info] javascript.0 script.js.common.Allgemein.Muell: Datum ist: 8 06:00-07:00 Leeru
19:33:24.583 [info] javascript.0 script.js.common.Allgemein.Muell: pos1: 0
19:33:24.583 [info] javascript.0 script.js.common.Allgemein.Muell: pos2: 0
19:33:24.583 [info] javascript.0 script.js.common.Allgemein.Muell: Mülldate ist: undefined, Invalid Date
19:33:24.583 [info] javascript.0 script.js.common.Allgemein.Muell: Mülltag ist: 8 06:00-07:00 Leer , 8 06:00-07:00 Leer , 8 06:00-07:00 Leeru
19:33:24.583 [info] javascript.0 script.js.common.Allgemein.Muell: Thu Jun 14 2018 19:33:24 GMT+0200 (CEST)
19:33:24.583 [info] javascript.0 script.js.common.Allgemein.Muell: Datum heute ist: Donnerstag, 1462018
19:33:24.583 [info] javascript.0 script.js.common.Allgemein.Muell: Tage aktueller Monat: 30
19:33:24.583 [info] javascript.0 script.js.common.Allgemein.Muell: Tage bis zum nächsten Müll: -6
19:33:24.583 [info] javascript.0 script.js.common.Allgemein.Muell: pos ist: 31
19:33:24.583 [info] javascript.0 script.js.common.Allgemein.Muell: Datum ist: 8 06:00-07:00 Leeru
19:33:24.583 [info] javascript.0 script.js.common.Allgemein.Muell: pos1: 0
19:33:24.583 [info] javascript.0 script.js.common.Allgemein.Muell: pos2: 0
19:33:24.583 [info] javascript.0 script.js.common.Allgemein.Muell: Mülldate ist: undefined, Invalid Date
19:33:24.584 [info] javascript.0 script.js.common.Allgemein.Muell: Mülltag ist: 8 06:00-07:00 Leer , 8 06:00-07:00 Leer , 8 06:00-07:00 Leeru
19:33:24.584 [info] javascript.0 script.js.common.Allgemein.Muell: Thu Jun 14 2018 19:33:24 GMT+0200 (CEST)
19:33:24.584 [info] javascript.0 script.js.common.Allgemein.Muell: Datum heute ist: Donnerstag, 1462018
19:33:24.584 [info] javascript.0 script.js.common.Allgemein.Muell: Tage aktueller Monat: 30
19:33:24.584 [info] javascript.0 script.js.common.Allgemein.Muell: Tage bis zum nächsten Müll: -6
19:33:24.584 [info] javascript.0 script.js.common.Allgemein.Muell: pos ist: 120
19:33:24.584 [info] javascript.0 script.js.common.Allgemein.Muell: Datum ist: 8 06:00-07:00 Leeru
19:33:24.584 [info] javascript.0 script.js.common.Allgemein.Muell: pos1: 0
19:33:24.584 [info] javascript.0 script.js.common.Allgemein.Muell: pos2: 0
19:33:24.584 [info] javascript.0 script.js.common.Allgemein.Muell: Mülldate ist: undefined, Invalid Date
19:33:24.584 [info] javascript.0 script.js.common.Allgemein.Muell: Mülltag ist: 8 06:00-07:00 Leer , 8 06:00-07:00 Leer , 8 06:00-07:00 Leeru
19:33:24.584 [info] javascript.0 script.js.common.Allgemein.Muell: Thu Jun 14 2018 19:33:24 GMT+0200 (CEST)
19:33:24.584 [info] javascript.0 script.js.common.Allgemein.Muell: Datum heute ist: Donnerstag, 1462018
19:33:24.584 [info] javascript.0 script.js.common.Allgemein.Muell: Tage aktueller Monat: 30
19:33:24.584 [info] javascript.0 script.js.common.Allgemein.Muell: Tage bis zum nächsten Müll: -6
19:33:24.584 [warn] javascript.0 script.js.common.Allgemein.Muell: setForeignState(id=javascript.0.muell.json, state="[{\"Müllart\":\" Hausmuelltonne\",\"Tage\":\"-6\"},{\"Müllart\":\" Papiertonne\",\"Tage\":\"-6\"},{\"Müllart\":\" Gelbe\",\"Tage\":\"-6\"}]") - was not executed, while debug mode is active
19:33:24.584 [info] javascript.0 script.js.common.Allgemein.Muell: Müllkalender aktualisiert!
19:33:24.584 [info] javascript.0 script.js.common.Allgemein.Muell: registered 0 subscriptions and 1 schedule

tempestas
guru
Beiträge: 1042
Registriert: 17.03.2017, 19:34
Wohnort: ~100km vom Holy Ground

Re: [gelöst] in SayIt Wetter und Geburtstagsscript -> Müllkalender mit einbinden

Beitrag von tempestas » 16.06.2018, 08:39

Hallo,

das Problem sind die Uhrzeiten. Gibt es einen Grund, dass die so drin sind?
Liefert dir dein Abfallbetrieb den Kalender so, oder stellst du das ein ?
ioBroker | 19 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Sonos | Instar Cam | Fire HDX 7 | 3x Echo dot | Neato Botvac D5

GeorgS
starter
Beiträge: 77
Registriert: 10.05.2018, 19:16

Re: [gelöst] in SayIt Wetter und Geburtstagsscript -> Müllkalender mit einbinden

Beitrag von GeorgS » 17.06.2018, 12:24

tempestas hat geschrieben:
16.06.2018, 08:39
Hallo,

das Problem sind die Uhrzeiten. Gibt es einen Grund, dass die so drin sind?
Liefert dir dein Abfallbetrieb den Kalender so, oder stellst du das ein ?
Leider liefert mir die Abfallbetrie das so...

Antworten