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

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Telegram Nachricht vor iCal Event versenden

NEWS

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

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

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

Telegram Nachricht vor iCal Event versenden

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
12 Beiträge 7 Kommentatoren 3.2k Aufrufe
  • Ä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.
  • OstfrieseUnterwegsO Offline
    OstfrieseUnterwegsO Offline
    OstfrieseUnterwegs
    schrieb am zuletzt editiert von
    #2

    Schau Dir mal diesen Thread an

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

    EDIT: URL ersetzt

    1 Antwort Letzte Antwort
    0
    • 0 Offline
      0 Offline
      0018
      schrieb am zuletzt editiert von
      #3

      Danke, ist mir aber etwas zu komplex um mir meinen Teil zurecht zu kopieren.

      Mfg
      0018

      1 Antwort Letzte Antwort
      0
      • OstfrieseUnterwegsO Offline
        OstfrieseUnterwegsO Offline
        OstfrieseUnterwegs
        schrieb am zuletzt editiert von
        #4

        So sieht das bei mir aus:

        ! /* 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
        ! 13.11.2016 angepasst für Sven
        ! */
        ! // User Anpassungen
        ! var aSuchstringLiteral = ['Gelber Sack', 'Blaue Tonne', 'Restmüll']; // Suchbegriff
        ! var aSuchstring = ['GelberSack', 'BlaueTonne', 'Restmüll'];
        ! var stichtag = 1; // 0 heute; 1 morgen; 2 übermorgen; 3 In 3 Tagen
        ! var idTabelle = 'ical.0.data.table'; // Instanz eintragen
        ! var logging = false; // debug Log ein/ausschalten
        ! // Ende User Anpassungen
        ! for (var j = 0; j < aSuchstring.length; j++) {
        ! createState('Muellwarnung.' + aSuchstring[j], false, {
        ! type: 'boolean',
        ! name: aSuchstringLiteral[j] + ' wird morgen abgeholt',
        ! desc: aSuchstringLiteral[j] + ' wird morgen abgeholt (Boolean)',
        ! def: false
        ! });
        ! var idEventState = 'Muellwarnung.' + aSuchstring[j];
        ! log (idEventState);
        ! 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 j = 0; j < aSuchstring.length; j++) {
        ! var idEventState = 'Muellwarnung.' + aSuchstring[j];
        ! for(var i = 0; i <kalender.length; i++)/{/alle/events/durchgehen<br="">if ( (kalender__.date.indexOf(tag) != -1) || (kalender__.date.indexOf(tage[stichtag]) != -1) ) { // String Datum oder relatives Datum (nicht nicht) gefunden, also gefunden
        ! var termin = kalender__.event;
        ! if (termin.indexOf(aSuchstringLiteral[j]) != -1) {
        ! log('Treffer: ' + tage[stichtag] + ' ' + aSuchstringLiteral[j]); // hier wird später vielleicht stichtag_array verwendet
        ! setState(idEventState, true);
        ! break;
        ! } else setState(idEventState, false);
        ! } else setState(idEventState, false);
        ! }
        ! }
        ! } catch (fehler_try) {
        ! log('Fehler beim Kalenderevents einlesen ' + fehler_try, 'error');
        ! }
        ! }
        ! schedule("30 20 * * *", function(){ // bei mehreren Müllskripts den ersten Wert verändern (Minuten)
        ! for (var j = 0; j < aSuchstring.length; j++) {
        ! var idEventState = 'Muellwarnung.' + aSuchstring[j];
        ! var event = getState(idEventState).val;
        ! if (event) {
        ! var ansage = aSuchstringLiteral[j] + ' Mülltonne wird morgen abgeholt. Bitte stell die Tonne an die Straße!';
        ! // hier kann sayit oder push gesetzt werden
        ! setState("sayit.0.tts.text"/Text to speech/, ansage);
        ! }
        ! }
        ! });
        ! // bei Aktualisierung
        ! on ({id: idTabelle, change: 'any'}, function(data) {
        ! pruefeKalender();
        ! });
        ! // 1Min nach Mitternacht
        ! schedule("1 * * * *", pruefeKalender);
        ! //bei Skriptstart
        ! pruefeKalender();______</kalender.length;> ______Damit werden bei mir drei neue Objekte angelegt (Muellwarnung.BlaueTonne usw). Die werden jeweils am Vortag auf True und am Tag selber auf false gesetzt.

        Du könntest nun ein solches Script erzeugen. Das läuft jeden Tag um 19:03, prüft ob der Müllwarner auf True steht und sendet dann eine Telegram.___

        schedule("3 19 * * *", function () {
          if (getState("javascript.0.Muellwarnung.BlaueTonne").val) {
            sendTo("telegram", "send", {
                text: 'Blaue Tonne raus stellen'
            });
          }
        });
        ````___
        1 Antwort Letzte Antwort
        0
        • 0 Offline
          0 Offline
          0018
          schrieb am zuletzt editiert von
          #5

          Vielen Dank @OstfrieseUnterwegs. Dein Script funktioniert wunderbar :D

          Habe folgende Anpassungen in den Variablen druchgeführt:

          // User Anpassungen
          var aSuchstringLiteral = ['Gelber Sack', 'Restabfall Graue Tonne', 'Bioabfall Braune Tonne', 'Altpapier Grüne Tonne']; // Suchbegriff
          var aSuchstring = ['Gelb', 'Grau', 'Braun', 'Grün'];
          var stichtag = 1; // 0 heute; 1 morgen; 2 übermorgen; 3 In 3 Tagen
          var idTabelle = 'ical.0.data.table'; // Instanz eintragen
          var logging = false; // debug Log ein/ausschalten
          // Ende User Anpassungen
          
          

          Zudem habe ich mir noch ein kleines Script zur Telegrambenachrichtigung gebastelt:

          ! ````
          // Script zur Benachrichtung über Telegramm wenn "Morgen" der Müll abgeholt wird
          // Vorraussetzung: Script "Muellwarnung" muss aktiv sein
          // 10.03.2017 - http://forum.iobroker.net/viewtopic.php?f=21&t=5586#p57379
          /////////////////////////////////////////////////////////////////////////////////////////////////////////////
          // Variablendefinition
          ! var chatid = '123456789' ; // Telegram Chat ID
          ! var unit1= "javascript.0.Muellwarnung.Braun"/Bioabfall Braune Tonne wird morgen abgeholt/;
          var msg1= "Biomüll wird morgen abgeholt";
          ! var unit2= "javascript.0.Muellwarnung.Gelb"/Gelber Sack wird morgen abgeholt/;
          var msg2= "Gelber Sack wird morgen abgeholt";
          ! var unit3= "javascript.0.Muellwarnung.Grau"/Restabfall Graue Tonne wird morgen abgeholt/;
          var msg3= "Schwarze Tonne wird morgen abgeholt";
          ! var unit4= "javascript.0.Muellwarnung.Grün"/Altpapier Grüne Tonne wird morgen abgeholt/;
          var msg4= "Papiermüll wird morgen abgeholt";
          ! /////////////////////////////////////////////////////////////////////////////////////////////////////////////
          // Abfrage Status Muellwarnung, bei Status "true" wird eine Telegramnachricht versendet
          ! function braun() {
          if (getState(unit1).val) {
          sendTo('telegram.0', {
          text: msg1,
          chatId: chatid,
          });
          log ("GESENDET: "+ msg1);
          }}
          ! function gelb() {
          if (getState(unit2).val) {
          sendTo('telegram.0', {
          text: msg2,
          chatId: chatid,
          });
          log ("GESENDET: "+ msg2);
          }}
          ! function grau() {
          if (getState(unit3).val) {
          sendTo('telegram.0', {
          text: msg3,
          chatId: chatid,
          });
          log ("GESENDET: "+ msg3);
          }}
          ! function gruen() {
          if (getState(unit4).val) {
          sendTo('telegram.0', {
          text: msg4,
          chatId: chatid,
          });
          log ("GESENDET: "+ msg4);
          }}
          ! /////////////////////////////////////////////////////////////////////////////////////////////////////////////
          // Zeitliche Prüfung des Status
          schedule("00 18 * * ", function () {
          braun();
          gelb();
          grau();
          gruen();
          });
          ! /

          // bei Skriptstart
          braun();
          gelb();
          grau();
          gruen();
          */

          
          Vielen Dank!

          Mfg
          0018

          1 Antwort Letzte Antwort
          0
          • N Offline
            N Offline
            noxx
            schrieb am zuletzt editiert von
            #6

            Hallo

            bekommt man irgendwie auch auch nette "Müllanzeige" mit dem

            Skript in vis hin?

            In FHEM hatte ich mir sowas kopiert:

            http://steinis.com/homematic/tablet_ui/ … lender.png

            1 Antwort Letzte Antwort
            0
            • A Offline
              A Offline
              andyb
              schrieb am zuletzt editiert von
              #7

              Ich habs aktuell so. Wird nur angezeigt am Tag wo der jeweilige ist.

              1586_muell.gif

              1 Antwort Letzte Antwort
              0
              • N Offline
                N Offline
                noxx
                schrieb am zuletzt editiert von
                #8

                Hast auch ne kleine Anleitung :-)

                Kann man auch die Tage bis zur nächsten Abholung ins Bild einfügen?

                Gruß

                Gesendet von meinem GT-I9195 mit Tapatalk

                1 Antwort Letzte Antwort
                0
                • A Offline
                  A Offline
                  andyb
                  schrieb am zuletzt editiert von
                  #9

                  Du könntest deine "ical.0.data.html" entsprechend in einen Script nach der jeweiligen Müllsorte filtern, eine andere Lösung wüste ich nicht.

                  Anregung wie, könntest z.B. da finden, und das entsprechend anpassen:

                  http://forum.iobroker.net/viewtopic.php … hilit=ical

                  1 Antwort Letzte Antwort
                  0
                  • lobomauL Offline
                    lobomauL Offline
                    lobomau
                    schrieb am zuletzt editiert von
                    #10

                    @andyb:

                    Ich habs aktuell so. Wird nur angezeigt am Tag wo der jeweilige ist.

                    muell.gif `
                    Die gifs gefallen mir. Hätte ich auch gerne so, dass die so blinken. Kann man die irgendwo donwloaden?

                    Script "Morgen Muell true/false" hab ich schon mal am Laufen. Guter Tipp ;-)

                    Host: NUC8i3 mit Proxmox:

                    • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
                    • Slave: Pi4
                    1 Antwort Letzte Antwort
                    0
                    • S Offline
                      S Offline
                      shrike
                      schrieb am zuletzt editiert von
                      #11

                      Hallo zusammen,

                      ich hole diesen Fred mal wieder aus dem Dunkeln heraus..könnte sich bitte mal jemand anschauen, was ich bei der Anpassung an Ostfrieses Code kaputt gemacht habe?

                      Vom Grundsatz funktioniert das Skript ja, aber leider nur, wenn ich das Skript manuell starte..aus irgendeinem Grund läuft der Schedule nicht…

                      ...
                      // 1Min nach Mitternacht
                      //schedule("1 * * * *", pruefeKalender);
                      
                      //bei Skriptstart
                      pruefeKalender();
                      

                      Vielen Dank schon mal im Voraus :)

                      EDIT: Okay, sorry, Fehler gefunden! Ich hatte mich von der Funktion für SayIt ablenken lassen und den entscheidenden Schedule um Mitternacht auskommentiert :oops:

                      1 Antwort Letzte Antwort
                      0
                      • K Offline
                        K Offline
                        Kueppert
                        schrieb am zuletzt editiert von
                        #12

                        Hallo Kollegen,

                        das Skript finde ich erst mal klasse…läuft bei mir aber leider nicht. Habe folgende Anpassung vorgenommen:

                        ! ````
                        // User Anpassungen
                        var aSuchstringLiteral = ['Gelbe Tonne', 'Blaue Tonne', 'Graue Tonne', 'Braune Tonne']; // Suchbegriff
                        var aSuchstring = ['Gelbe Tonne', 'Blaue Tonne', 'Graue Tonne', 'Braune Tonne'];
                        var stichtag = 1; // 0 heute; 1 morgen; 2 übermorgen; 3 In 3 Tagen
                        var idTabelle = 'ical.0.data.table'; // Instanz eintragen
                        var logging = false; // debug Log ein/ausschalten
                        // Ende User Anpassungen

                        
                        Als Log-Ausgabe bei Skiptstart erhalte ich folgende positive Meldung:
                        
                        >! ````
                        0:36:06.005	[info]	javascript.0 Stop script script.js.common.Telegram.Mülltonnen
                        20:36:06.264	[info]	javascript.0 Start javascript script.js.common.Telegram.Mülltonnen
                        20:36:06.264	[info]	javascript.0 script.js.common.Telegram.Mülltonnen: Muellwarnung.Gelbe Tonne
                        20:36:06.264	[info]	javascript.0 script.js.common.Telegram.Mülltonnen: Muellwarnung.Blaue Tonne
                        20:36:06.264	[info]	javascript.0 script.js.common.Telegram.Mülltonnen: Muellwarnung.Graue Tonne
                        20:36:06.264	[info]	javascript.0 script.js.common.Telegram.Mülltonnen: Muellwarnung.Braune Tonne
                        20:36:06.265	[info]	javascript.0 script.js.common.Telegram.Mülltonnen: Treffer: Morgen Braune Tonne
                        20:36:06.265	[info]	javascript.0 script.js.common.Telegram.Mülltonnen: registered 1 subscription and 2 schedules
                        

                        ABER, die Javaskript-Objekte bleien alle 4(1) auf false stehen :( Dabei müsste bei Braune Tonne jetzt true stehen. Liegt das evtl. daran, dass ich einen 4. Mülleimer manuell bei Userangaben hinzugefügt habe??

                        Danke euch und Grüße, Thorsten

                        UDM Pro, Intel NUC - ioBroker in Proxmox-VM, PiHole+Grafana&Influx+TasmoAdmin in LXCs, Raspberry Pi3 (als CCU), Zigbee-Stick Sonoff, Synology DS918+

                        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

                        591

                        Online

                        32.4k

                        Benutzer

                        81.5k

                        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