Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Ical Termine als Telegramnachricht

    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

    Ical Termine als Telegramnachricht

    This topic has been deleted. Only users with topic management privileges can see it.
    • bahnuhr
      bahnuhr Forum Testing Most Active last edited by

      So, habe jetzt auch die Tage eingebaut.
      Probleme gibt es beim Jahreswechsel. Damit konnte ich aber nun erst einmal leben.

      // Variablen
          var arr = getState('ical.0.data.table').val;
          var vUser = "Dieter";
          var AnzTage = 7;    // wie viele Tage sollen ausgelesen werden
          var vText = "";
      
      //aktuelles Datum
          aktJahr = new Date().getFullYear(); aktMon = new Date().getMonth()+1; aktTag = new Date().getDate();
          d3 = getDateObject(aktJahr+"-"+aktMon+"-"+aktTag+" 02:00:00");
      
      // Datum aus ical
          var arr = getState('ical.0.data.table').val;
          arr.forEach(myFunction);
          function myFunction(item, i) { 
              // date aus Array ermitteln
                  aMon = (arr[i].date).substring(3, 5); aTag = (arr[i].date).substring(0, 2);
                  d2 = getDateObject(aktJahr+"-"+aMon+"-"+aTag);
              // Tage ermitteln
                  var t = Date.parse(d2) - Date.parse(d3);
                  var days = Math.floor( t/(1000*60*60*24) );
              // wenn kleiner x Tage dann dazu fügen
                  if (days <= AnzTage) {
                      log (aTag + "." + aMon + "." + " " + arr[i].event +"\n");
                      vText += (aTag + "." + aMon + "." + " " + arr[i].event +"\n");
                  }
          }
      // telegram senden
          vText = "Die nächsten Termine:\n" + vText;
          log (vText);
          sendTo('telegram', { user: vUser, text: vText, parse_mode: 'HTML' });
      

      mfg
      Dieter

      L 1 Reply Last reply Reply Quote 0
      • L
        locito09 @bahnuhr last edited by

        @bahnuhr
        mit diesen Script werden die Termine nicht gesendet

        bahnuhr 1 Reply Last reply Reply Quote 0
        • bahnuhr
          bahnuhr Forum Testing Most Active @locito09 last edited by

          @locito09 sagte in Ical Termine als Telegramnachricht:

          @bahnuhr
          mit diesen Script werden die Termine nicht gesendet

          Dann hast du etwas falsch gemacht.

          Das Script klappt einwandfrei.

          L 1 Reply Last reply Reply Quote 0
          • L
            locito09 @bahnuhr last edited by locito09

            @bahnuhr
            was soll ich den falsch machen, Script habe ich hinzugefügt und nichts geändert da meine Instanz auch 0 ist.
            Der erste Script läuft super, nur beim 2. geht's es nicht.

            Muss vielleicht beim Ical Adapter was eingestellt werden?

            bahnuhr 2 Replies Last reply Reply Quote 0
            • bahnuhr
              bahnuhr Forum Testing Most Active @locito09 last edited by

              @locito09 sagte in Ical Termine als Telegramnachricht:

              @bahnuhr
              was soll ich den falsch machen, Script habe ich hinzugefügt und nichts geändert da meine Instanz auch 0 ist.
              Der erste Script läuft super, nur beim 2. geht's es nicht.

              Muss vielleicht beim Ical Adapter was eingestellt werden?

              heißt du auch:

              var vUser = "Dieter";
              

              Ansonsten muss natürlich der Name rein, an wen es gesendet werden soll.
              Und dieser Name muss natürlich auch in telegram eingetragen sein.

              L 1 Reply Last reply Reply Quote 0
              • L
                locito09 @bahnuhr last edited by

                @bahnuhr
                Den Namen habe ich komplett weggelassen,(beim ersten Script habe ich es auch so gemacht) ich bekomme auch eine Telegram Nachricht , aber nur mit dem Inhalt "Die nächsten Termine" danach ist leer

                bahnuhr 1 Reply Last reply Reply Quote 0
                • bahnuhr
                  bahnuhr Forum Testing Most Active @locito09 last edited by bahnuhr

                  @locito09 sagte in Ical Termine als Telegramnachricht:

                  @bahnuhr
                  Den Namen habe ich komplett weggelassen,(beim ersten Script habe ich es auch so gemacht) ich bekomme auch eine Telegram Nachricht , aber nur mit dem Inhalt "Die nächsten Termine" danach ist leer

                  Wenn du den Namen komplett weg lässt an wen soll er hier:
                  sendTo('telegram', { user: vUser, text: vText, parse_mode: 'HTML' });

                  etwas versenden ???

                  1 Reply Last reply Reply Quote 0
                  • bahnuhr
                    bahnuhr Forum Testing Most Active @locito09 last edited by

                    @locito09 sagte in Ical Termine als Telegramnachricht:

                    Script habe ich hinzugefügt und nichts geändert

                    Du hast doch nichts geändert ?!

                    L 1 Reply Last reply Reply Quote 0
                    • L
                      locito09 last edited by

                      Beim ersten Script sendet das Script an alle unser, beim 2. Script sendet das Script auch an alle unser, nur die Nachricht ist wie oben beschrieben unvollständig

                      bahnuhr 1 Reply Last reply Reply Quote 0
                      • bahnuhr
                        bahnuhr Forum Testing Most Active @locito09 last edited by

                        @locito09 sagte in Ical Termine als Telegramnachricht:

                        Beim ersten Script sendet das Script an alle unser, beim 2. Script sendet das Script auch an alle unser, nur die Nachricht ist wie oben beschrieben unvollständig

                        So ein Quatsch.

                        Beim 2. sendet er an einen User.
                        Es sein denn, das hast du auch geändert.
                        Was du aber ja angeblich nicht gemacht hast !

                        Tut mir leid aber da musst du jetzt alleine durch.
                        Erst behaupten nichts geändert zu haben.
                        Dann doch was geändert.

                        Fazit:
                        Das Script läuft einwandfrei.
                        Versuche mal deine Änderungen zu verstehen, dann kommst du auch dahinter.

                        L 1 Reply Last reply Reply Quote 1
                        • L
                          locito09 @bahnuhr last edited by

                          @bahnuhr
                          Nein ich füge das Scrip nur ein und lösche Dieter.
                          Wie ich es beim 1. Script gemacht habe

                          1 Reply Last reply Reply Quote 0
                          • L
                            locito09 @bahnuhr last edited by

                            @bahnuhr
                            OK Danke für die Hilfe

                            bahnuhr 1 Reply Last reply Reply Quote 0
                            • bahnuhr
                              bahnuhr Forum Testing Most Active @locito09 last edited by

                              @locito09 sagte in Ical Termine als Telegramnachricht:

                              @bahnuhr
                              OK Danke für die Hilfe

                              Setz doch mal dein Script hier ein.

                              L 1 Reply Last reply Reply Quote 1
                              • L
                                locito09 @bahnuhr last edited by

                                @bahnuhr

                                code_text
                                ```// Variablen
                                
                                    var arr = getState('ical.0.data.table').val;
                                
                                    var vUser = "";
                                
                                    var AnzTage = 7;    // wie viele Tage sollen ausgelesen werden
                                
                                    var vText = "";
                                
                                 
                                
                                //aktuelles Datum
                                
                                    aktJahr = new Date().getFullYear(); aktMon = new Date().getMonth()+1; aktTag = new Date().getDate();
                                
                                    d3 = getDateObject(aktJahr+"-"+aktMon+"-"+aktTag+" 02:00:00");
                                
                                 
                                
                                // Datum aus ical
                                
                                    var arr = getState('ical.0.data.table').val;
                                
                                    arr.forEach(myFunction);
                                
                                    function myFunction(item, i) { 
                                
                                        // date aus Array ermitteln
                                
                                            aMon = (arr[i].date).substring(3, 5); aTag = (arr[i].date).substring(0, 2);
                                
                                            d2 = getDateObject(aktJahr+"-"+aMon+"-"+aTag);
                                
                                        // Tage ermitteln
                                
                                            var t = Date.parse(d2) - Date.parse(d3);
                                
                                            var days = Math.floor( t/(1000*60*60*24) );
                                
                                        // wenn kleiner x Tage dann dazu fügen
                                
                                            if (days <= AnzTage) {
                                
                                                log (aTag + "." + aMon + "." + " " + arr[i].event +"\n");
                                
                                                vText += (aTag + "." + aMon + "." + " " + arr[i].event +"\n");
                                
                                            }
                                
                                    }
                                
                                // telegram senden
                                
                                    vText = "Die nächsten Termine:\n" + vText;
                                
                                    log (vText);
                                
                                    sendTo('telegram', { user: vUser, text: vText, parse_mode: 'HTML' });
                                1 Reply Last reply Reply Quote 0
                                • bahnuhr
                                  bahnuhr Forum Testing Most Active last edited by

                                  Habe dein Script gerade probiert.
                                  Läuft bei mir einwandfrei.

                                  Wie lässt du die Datum in ical übertragen.

                                  Als richtiges Datum oder als "morgen" "übermorgen" etc.

                                  Vielleicht liegt es dadran.

                                  L 1 Reply Last reply Reply Quote 1
                                  • L
                                    locito09 @bahnuhr last edited by locito09

                                    @bahnuhr
                                    bei mir kommt:
                                    in 3 Tagen
                                    in 4 Tagen
                                    22.04

                                    mit dem ersten Script

                                    bahnuhr 1 Reply Last reply Reply Quote 0
                                    • bahnuhr
                                      bahnuhr Forum Testing Most Active @locito09 last edited by

                                      @locito09 sagte in Ical Termine als Telegramnachricht:

                                      @bahnuhr
                                      bei mir kommt:
                                      in 3 Tagen
                                      in 4 Tagen
                                      22.04

                                      mit dem ersten Script

                                      Oh mann, einfach bist du aber nicht.

                                      1. Wir sind bei dem 2.Script.
                                      2. Frage Datum beantworten bzgl. "morgen"
                                      L 1 Reply Last reply Reply Quote 1
                                      • bahnuhr
                                        bahnuhr Forum Testing Most Active last edited by

                                        geh mal in die Objekte und sende mal den Inhalt von:

                                        ical.0.data.table

                                        1 Reply Last reply Reply Quote 1
                                        • L
                                          locito09 @bahnuhr last edited by

                                          @bahnuhr
                                          Unbenannt.PNG

                                          muss der Hacken raus??

                                          bahnuhr 1 Reply Last reply Reply Quote 0
                                          • bahnuhr
                                            bahnuhr Forum Testing Most Active @locito09 last edited by

                                            @locito09 sagte in Ical Termine als Telegramnachricht:

                                            @bahnuhr
                                            Unbenannt.PNG

                                            muss der Hacken raus??

                                            Ja, den mach raus und dann sende mal Inhalt von table.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            891
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            6
                                            53
                                            2444
                                            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