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 @Nico Adler last edited by

      @Nico-Adler sagte in Ical Termine als Telegramnachricht:

      @bahnuhr wo muss ich das hin kopieren? Sorry aber ich bin noch beim urschleim

      Das ist ein Script und muss bei Scripte als Javascript (nicht blockly) eingefügt und dann gestartet werden.

      1 Reply Last reply Reply Quote 0
      • Nico Adler
        Nico Adler last edited by

        habe ich gemacht. im log stehen jetzt auch die Termine. wie füge ich das jetzt in das blockly.
        wenn ich das objekt vom javascript nehme, kommt nur der text true.

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

          @Nico-Adler sagte in Ical Termine als Telegramnachricht:

          habe ich gemacht. im log stehen jetzt auch die Termine. wie füge ich das jetzt in das blockly.
          wenn ich das objekt vom javascript nehme, kommt nur der text true.

          tut mir leid, blockly mach ich nicht.

          Muss jemand anders mal helfen.

          Nico Adler 1 Reply Last reply Reply Quote 0
          • Nico Adler
            Nico Adler last edited by

            OK. Ich danke dir trotzdem für deine Mühe

            1 Reply Last reply Reply Quote 0
            • Nico Adler
              Nico Adler @bahnuhr last edited by

              @bahnuhr ich habe mir jetzt ein datenpunkt angelegt.

              und dein script mit hilfe von google etwas geändert.
              im Datenpunkt steht jetzt schon mal Klartext, aber ich glaube er macht nur den letzen eintrag da rein. wie kann ich das lösen?

              hier das skript:

              var arr = getState('ical.0.data.table').val;
              
              for (x=1;x<=5;x++) {
                  setState("ical.0.Termin", arr[x].date + " / " + arr[x].event);
              }
              
              1 Reply Last reply Reply Quote 0
              • Nico Adler
                Nico Adler last edited by

                Keiner eine Idee?

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

                  @Nico-Adler sagte in Ical Termine als Telegramnachricht:

                  Keiner eine Idee?

                  Na, weil du den Wert 5 x zuweist.
                  Also erst 1 in die Var.
                  dann 2 in die Var.
                  ....

                  Und zum Schluss steht halt die 5 drin.

                  1 Reply Last reply Reply Quote 0
                  • Nico Adler
                    Nico Adler last edited by

                    Und wie kann ich das ändern? Also im Log bei deinem Skript kommen ja die nächsten 5 Termine einzeln aufgelistet. Kann ich die in einen Datenpunkt fortlaufend übertragen?

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

                      @Nico-Adler sagte in Ical Termine als Telegramnachricht:

                      Und wie kann ich das ändern? Also im Log bei deinem Skript kommen ja die nächsten 5 Termine einzeln aufgelistet. Kann ich die in einen Datenpunkt fortlaufend übertragen?

                      z.B. so:

                      // Variablen
                          var arr = getState('ical.0.data.table').val;
                          var vUser = "Dieter";
                          var vText = "";
                      
                      // Script
                          for (x=1;x<=5;x++) {
                              log (arr[x].date + " / " + arr[x].event);
                              vText += (arr[x].date + " / " + arr[x].event +"\n");
                          }
                      
                      // telegram senden
                              vText = "Die nächsten Termine:\n" + vText;
                              log (vText);
                              sendTo('telegram', { user: vUser, text: vText, parse_mode: 'HTML' });
                      

                      Hättest du aber auch selber drauf kommen können, oder ?

                      1 Reply Last reply Reply Quote 1
                      • Nico Adler
                        Nico Adler last edited by

                        Vielen Dank das funktioniert.
                        Ich wäre nicht selber drauf gekommen, weil ich leider davon keine Ahnung habe.

                        1 Reply Last reply Reply Quote 0
                        • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            539
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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