Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [ VORLAGE ] Müll Warnung / Erinnerung via Telegram am Vorabend

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [ VORLAGE ] Müll Warnung / Erinnerung via Telegram am Vorabend

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

      Da dieses Thema immer wieder aufkommt (so auch jetzt, daraus ist das Skript entstanden), hier als Vorlage ein kleines Javascript, das täglich um 18h via Telegram erinnert, sofern am Fogletag Müllabholung ansteht.

      Voraussetzungen:

      1. "Ersetze Datum mit Worten" muss aktiv sein im Kalender

      2. Der Müllkalender sollte eine eigene Instanz haben, da es sonst zu Überschneidungen der Warnung mit anderen Terminen kommen kann (z.B. morgen Friseur)

      3. Telegram Adapter (oder was anderes, müsstet ihr dann anpassen

      ! ````
      ! // Skript schaut täglich um 18h, ob im Müllkalender das Wort "Morgen" vorkommt. Wenn ja, wird ein Telegram geschickt mit der betreffenden Müllsorte
      ! // Skripteinstellungen
      ! var debug = false;
      ! // Suchfunktion für Termin-Cutoff

      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;" müll-funktion/function/muellwarnung()/{/var/inhalt="getState("ical.0.data.html").val.toString();" hier/deine/müll-kalender/instanz/eingeben/count="inhalt.split("Morgen").length" -1;/wie/häufig/wird/"morgen"/gefunden?/posstart="inhalt.indexOf(" 'morgen',/0);/sucht/das/erste/mal/if(debug)/log("posstart/"+posstart);/if(posstart/!="-1){" falls/gefunden/wurde/gehts/weiter/stringshort="inhalt.substring(posStart," inhalt.length);/abschneiden/von/allem,/was/links/vom/ersten/treffer/steht/log("gekürzt/:"/+stringshort);/nthindex(stringshort,/'</span="">', count); // hier wird nun geschaut, wo es rechts abgeschnitten werden muss
      stringCut = stringShort.slice(0,i_search); // hier wird alles rechts abgeschnitten und so der finale String extrahiert

      if(debug) log("Fast Final: "+stringCut);
      

      ! // aufbereiten für telegram, entfernen von HTML Tags
      ! stringCut = stringCut.replace('
      ',"\n"); // Zeilenumbruch html durch telegram umbruch ersetzen
      ! // remove all inside SCRIPT and STYLE tags
      stringCut=stringCut.replace(/<script.>[\w\W]{1,}(.?)[\w\W]{1,}</script>/gi, "");
      stringCut=stringCut.replace(/<style.>[\w\W]{1,}(.?)[\w\W]{1,}</style>/gi, "");

          // remove BR tags. 
          stringCut=stringCut.replace(/
      

      /gi, "");
      stringCut=stringCut.replace(/<br\s>/gi, "");
      stringCut=stringCut.replace(/<br>/gi, "");

          // remove all else
          stringCut=stringCut.replace(/<(?:.|\s)*?>/g, "");
      
          // get rid of html-encoded characters:
          stringCut=stringCut.replace(/ /gi," ");
          stringCut=stringCut.replace(/&/gi,"&");
          stringCut=stringCut.replace(/"/gi,'"');
          stringCut=stringCut.replace(//gi,'>');
      

      !
      sendTo('telegram', stringCut);

      }
      }

      ! // Trigger Schedule
      ! schedule('0 18 * * ', function(){ // Täglich um 18h
      ! muellWarnung();
      });
      ! // Bei Start
      ! muellWarnung();</br></br\s></style.
      ></script.*></l){>

      1 Reply Last reply Reply Quote 0
      • K
        Kueppert last edited by

        Cool, danke. Werde ich ausprobieren, wenn ich neue Hardware habe. Mein rpi3 ist schon jetzt voll ausgelastet, kein Platz mehr für neue Instanzen 😞

        VG Thorsten

        Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk

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

          @Kueppert:

          Cool, danke. Werde ich ausprobieren, wenn ich neue Hardware habe. Mein rpi3 ist schon jetzt voll ausgelastet, kein Platz mehr für neue Instanzen 😞

          VG Thorsten

          Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk `

          hi,

          eine weitere Instanz sollte nichts belasten außer in der halben Sekunde, in der er sich aktualisiert. Beim Müll reicht es ja einmal pro Tag (oder sogar noch seltener). Danach "schläft" der Adapter ja wieder

          1 Reply Last reply Reply Quote 0
          • K
            kogomonier last edited by

            Erstmal danke für das Skript!

            Hab es bei mir integriert und funktioniert auch soweit, jedoch bekomme ich von meinem Telegram Bot die Nachricht wie folgt: "Morgen Gelbe Tonne

            Scheinbar funktioniert das "wegschneiden" nicht richtig. Hast du eine neuere Version deines Skriptes oder muss ich bei mir was ändern?

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

              Hallo,

              das Skript ist leider nicht mehr wirklich zu nutzen. Zu der Zeit als ich es geschrieben habe, war der Adapter noch auf Version 1.4.2 und hatte eien HTML Formatierung, die nun nicht mehr uneingeshränkt so gilt. D.h. die Suchfunktion funktioniert nicht mehr zuverlässig.

              Der neue Ical Adapter im Stand Version 1.7 ht aber neue Events an Bord, die solch ein Skript ohnehin unnötig machen bzw vereinfachen.

              Du kannst dort als Event deinen Müll eingeben und dann täglich um 18h (oder wann auch immer) schauen, ob eins der Events auf 1 steht. Dan wäre dieses Event morgen dran und du kannst dir ein Telegram mit der jeweiligen Info schicken lassen

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

              Support us

              ioBroker
              Community Adapters
              Donate

              480
              Online

              31.7k
              Users

              79.7k
              Topics

              1.3m
              Posts

              3
              5
              1959
              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