Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Anfänger braucht hilfe bei einem Skript (tägliche Wiederholung)

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Anfänger braucht hilfe bei einem Skript (tägliche Wiederholung)

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

      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]
      
      1 Reply Last reply Reply Quote 0
      • paul53
        paul53 last edited by

        Die Variable kalenderinhalt wird nur einmal bei Skriptstart initialisiert und behält dann ihren Inhalt, wird also nie aktualisiert.

        1 Reply Last reply Reply Quote 0
        • T
          Torsten_MG last edited by

          @paul53:

          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

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

            Zusätzlich bei Änderung des Inhalts triggern.

            on('ical.2.data.table', function(dp) {
               kalenderinhalt = dp.state.val;
            });
            
            1 Reply Last reply Reply Quote 0
            • T
              Torsten_MG last edited by

              @paul53:

              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?

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

                @Torsten_MG:

                muß ich das ganz oben eintragen? `
                Ist unwesentlich, aber besser ganz unten.

                1 Reply Last reply Reply Quote 0
                • T
                  Torsten_MG last edited by

                  @paul53:

                  @Torsten_MG:

                  muß ich das ganz oben eintragen? Ist unwesentlich, aber besser ganz unten.

                  ok, danke

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

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  977
                  Online

                  31.7k
                  Users

                  79.9k
                  Topics

                  1.3m
                  Posts

                  2
                  7
                  424
                  Loading More Posts
                  • Oldest to Newest
                  • Newest to Oldest
                  • Most Votes
                  Reply
                  • Reply as topic
                  Log in to reply
                  Community
                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                  The ioBroker Community 2014-2023
                  logo