NEWS
Anfänger braucht hilfe bei einem Skript (tägliche Wiederholung)
-
Hallo,
habe mir aus einem anderen hier veröffentlichten Skript ein eigenes zusammengeschustert. Es funktioniert soweit wie ich es möchte, nur wird das Skript anscheinend nicht täglich durchlaufen, da der Wert in den Objekten nicht aktualisiert wird. Bitte hier um Hilfe.
`var kalenderinhalt = getState('ical.2.data.table').val; // Kalender.data.table Datenpunkt Value var logging = true; // Logging. (Auf false setzen um Logausgaben zu deaktivieren.) var morgenfs = null; createState('muell.Restmüll', 0, { }); function icalmuell(obj){ var datestring="_class"; var eventstring="event"; morgenfs = false; for(var i = 0; i < obj.length; i++) { if (obj[i][datestring].indexOf('ical_Müllplan ical_tomorrow') === 0 && obj[i][eventstring].indexOf('Restmüll') === 0) { if(logging) log('Für Morgen (' + obj[i][datestring] + ') steht ein passendes Event (' + obj[i][eventstring] + ') im Kalender!'); morgenfs = true; } else { if(logging) log('Event im Kalender (' + obj[i][datestring] + ' ' + obj[i][eventstring] + ') passt nicht - wird ignoriert!'); } } if (morgenfs) { if(logging) log('Morgen steht Restmüll im Kalender.. State wird gesetzt.'); setState("javascript.0.muell.Restmüll",true); } else { if(logging) log('Morgen keine Restmüll! State wird gelöscht.'); setState("javascript.0.muell.Restmüll",false); } } schedule("15 0 * * *", function () { icalmuell(kalenderinhalt); }); icalmuell(kalenderinhalt);` Soweit ich es verstanden habe wird ja mit schedule die Wiederholung gestartet und da wird wohl der Fehler sein. Die Abfrage soll täglich um 00:15 Uhr durchlaufen werden. `~~[code]~~schedule("15 0 * * *", function () { icalmuell(kalenderinhalt); }); icalmuell(kalenderinhalt);[/code]`[/i][/i][/i][/i][/i][/i] -
Die Variable kalenderinhalt wird nur einmal bei Skriptstart initialisiert und behält dann ihren Inhalt, wird also nie aktualisiert. ` Und wie muß ich das ändern? Kenne mich da noch nicht so gut aus
Gesendet von Unterwegs mit Tapatalk
-
Zusätzlich bei Änderung des Inhaltes triggern.
on('ical.2.data.table', function(dp) { kalenderinhalt = dp.state.val; }); ```` `Danke, muß ich das ganz oben eintragen?
-
muß ich das ganz oben eintragen? `
Ist unwesentlich, aber besser ganz unten. -
muß ich das ganz oben eintragen?
Ist unwesentlich, aber besser ganz unten.ok, danke
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden