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. Blockly
  5. Ical Termine als Telegramnachricht

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.1k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    723

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

Ical Termine als Telegramnachricht

Geplant Angeheftet Gesperrt Verschoben Blockly
53 Beiträge 6 Kommentatoren 3.7k Aufrufe 8 Watching
  • Ä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.
  • Nico AdlerN Nico Adler

    Also wenn ich es richtig verstehe dann habe ich einmal den ical Adapter und einmal den calendar Adapter bei dem ich über Google API alles eingerichtet habe. Beim zweiten habe ich aber keine Datenpunkte bei Objekte. Also nicht Mal der Adapter wird da angezeigt.

    J.A.R.V.I.S.J Offline
    J.A.R.V.I.S.J Offline
    J.A.R.V.I.S.
    Developer
    schrieb am zuletzt editiert von
    #12

    @Nico-Adler dann versuch es testweise mal mit der iCal Adresse im Calendar Adapter.

    1 Antwort Letzte Antwort
    0
    • Nico AdlerN Offline
      Nico AdlerN Offline
      Nico Adler
      schrieb am zuletzt editiert von
      #13

      Ich bekomme es irgendwie nicht hin.. anscheinend bin ich zu blöd. Im Log steht no permission granted.

      Also kann man nicht einfach den ical Datenpunkt umschreiben lassen. Der funktioniert zumindest, bloß das dort "<span style...." steht

      1 Antwort Letzte Antwort
      0
      • Stephan SchleichS Stephan Schleich

        Welchen DP frägst du denn ab oder post mal das Script.
        Musst vermutlich eine eigene Instanz machen mir 7 Tage (oder filtern?).

        bahnuhrB Offline
        bahnuhrB Offline
        bahnuhr
        Forum Testing Most Active
        schrieb am zuletzt editiert von
        #14

        @Stephan-Schleich sagte in Ical Termine als Telegramnachricht:

        oder post mal das Script.

        Warum stellt du dein Script nicht hier ein?


        Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
        Danke.
        gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
        ScreenToGif :https://www.screentogif.com/downloads.html

        1 Antwort Letzte Antwort
        0
        • bahnuhrB Offline
          bahnuhrB Offline
          bahnuhr
          Forum Testing Most Active
          schrieb am zuletzt editiert von bahnuhr
          #15

          So,
          hab mal ein bisschen rum gespielt.

          var arr = getState('ical.0.data.table').val;
          
          for (x=1;x<=5;x++) {
              log (arr[x].date + " / " + arr[x].event);
          }
          

          du musst die table Var. nehmen.
          Dann arr erzeugen.

          Im log kommt dann:
          dbe73e21-69cd-4147-8ce7-f343c02fcf67-image.png

          Was du noch brauchst:

          • Prüfen von Datum
          • telegram senden.

          mfg
          Dieter


          Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
          Danke.
          gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
          ScreenToGif :https://www.screentogif.com/downloads.html

          Nico AdlerN 1 Antwort Letzte Antwort
          0
          • Nico AdlerN Offline
            Nico AdlerN Offline
            Nico Adler
            schrieb am zuletzt editiert von
            #16
            <xml xmlns="http://www.w3.org/1999/xhtml">
              <block type="telegram" id="~U[Ttfz9[[RJFe$HzE@Y" x="-587" y="2062">
                <field name="INSTANCE"></field>
                <field name="LOG"></field>
                <field name="SILENT">FALSE</field>
                <field name="PARSEMODE">HTML</field>
                <value name="MESSAGE">
                  <shadow type="text" id="Gzz$1-!y]:uJcJ4tA)4O">
                    <field name="TEXT">text</field>
                  </shadow>
                  <block type="text_join" id="feiXZ+N4Ic*_*T6/]gr|">
                    <mutation items="2"></mutation>
                    <value name="ADD0">
                      <block type="get_value" id="{;wI`jk@W1*YZI%lE(+`">
                        <field name="ATTR">val</field>
                        <field name="OID">ical.0.data.html</field>
                      </block>
                    </value>
                  </block>
                </value>
                <value name="USERNAME">
                  <block type="text" id="93]*F0;~EH8%Yow+8a%`">
                    <field name="TEXT">Nico</field>
                  </block>
                </value>
              </block>
            </xml>
            

            Hier ist das Blockly Script.

            1 Antwort Letzte Antwort
            0
            • bahnuhrB bahnuhr

              So,
              hab mal ein bisschen rum gespielt.

              var arr = getState('ical.0.data.table').val;
              
              for (x=1;x<=5;x++) {
                  log (arr[x].date + " / " + arr[x].event);
              }
              

              du musst die table Var. nehmen.
              Dann arr erzeugen.

              Im log kommt dann:
              dbe73e21-69cd-4147-8ce7-f343c02fcf67-image.png

              Was du noch brauchst:

              • Prüfen von Datum
              • telegram senden.

              mfg
              Dieter

              Nico AdlerN Offline
              Nico AdlerN Offline
              Nico Adler
              schrieb am zuletzt editiert von
              #17

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

              bahnuhrB 1 Antwort Letzte Antwort
              0
              • Nico AdlerN Nico Adler

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

                bahnuhrB Offline
                bahnuhrB Offline
                bahnuhr
                Forum Testing Most Active
                schrieb am zuletzt editiert von
                #18

                @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.


                Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                Danke.
                gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                ScreenToGif :https://www.screentogif.com/downloads.html

                1 Antwort Letzte Antwort
                0
                • Nico AdlerN Offline
                  Nico AdlerN Offline
                  Nico Adler
                  schrieb am zuletzt editiert von
                  #19

                  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.

                  bahnuhrB 1 Antwort Letzte Antwort
                  0
                  • Nico AdlerN Nico Adler

                    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.

                    bahnuhrB Offline
                    bahnuhrB Offline
                    bahnuhr
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von
                    #20

                    @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.


                    Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                    Danke.
                    gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                    ScreenToGif :https://www.screentogif.com/downloads.html

                    Nico AdlerN 1 Antwort Letzte Antwort
                    0
                    • Nico AdlerN Offline
                      Nico AdlerN Offline
                      Nico Adler
                      schrieb am zuletzt editiert von
                      #21

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

                      1 Antwort Letzte Antwort
                      0
                      • bahnuhrB bahnuhr

                        @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 AdlerN Offline
                        Nico AdlerN Offline
                        Nico Adler
                        schrieb am zuletzt editiert von
                        #22

                        @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 Antwort Letzte Antwort
                        0
                        • Nico AdlerN Offline
                          Nico AdlerN Offline
                          Nico Adler
                          schrieb am zuletzt editiert von
                          #23

                          Keiner eine Idee?

                          bahnuhrB 1 Antwort Letzte Antwort
                          0
                          • Nico AdlerN Nico Adler

                            Keiner eine Idee?

                            bahnuhrB Offline
                            bahnuhrB Offline
                            bahnuhr
                            Forum Testing Most Active
                            schrieb am zuletzt editiert von
                            #24

                            @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.


                            Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                            Danke.
                            gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                            ScreenToGif :https://www.screentogif.com/downloads.html

                            1 Antwort Letzte Antwort
                            0
                            • Nico AdlerN Offline
                              Nico AdlerN Offline
                              Nico Adler
                              schrieb am zuletzt editiert von
                              #25

                              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?

                              bahnuhrB 1 Antwort Letzte Antwort
                              0
                              • Nico AdlerN Nico Adler

                                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?

                                bahnuhrB Offline
                                bahnuhrB Offline
                                bahnuhr
                                Forum Testing Most Active
                                schrieb am zuletzt editiert von
                                #26

                                @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 ?


                                Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                                Danke.
                                gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                                ScreenToGif :https://www.screentogif.com/downloads.html

                                1 Antwort Letzte Antwort
                                1
                                • Nico AdlerN Offline
                                  Nico AdlerN Offline
                                  Nico Adler
                                  schrieb am zuletzt editiert von
                                  #27

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

                                  1 Antwort Letzte Antwort
                                  0
                                  • bahnuhrB Offline
                                    bahnuhrB Offline
                                    bahnuhr
                                    Forum Testing Most Active
                                    schrieb am zuletzt editiert von
                                    #28

                                    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


                                    Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                                    Danke.
                                    gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                                    ScreenToGif :https://www.screentogif.com/downloads.html

                                    L 1 Antwort Letzte Antwort
                                    0
                                    • bahnuhrB bahnuhr

                                      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 Offline
                                      L Offline
                                      locito09
                                      schrieb am zuletzt editiert von
                                      #29

                                      @bahnuhr
                                      mit diesen Script werden die Termine nicht gesendet

                                      bahnuhrB 1 Antwort Letzte Antwort
                                      0
                                      • L locito09

                                        @bahnuhr
                                        mit diesen Script werden die Termine nicht gesendet

                                        bahnuhrB Offline
                                        bahnuhrB Offline
                                        bahnuhr
                                        Forum Testing Most Active
                                        schrieb am zuletzt editiert von
                                        #30

                                        @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.


                                        Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                                        Danke.
                                        gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                                        ScreenToGif :https://www.screentogif.com/downloads.html

                                        L 1 Antwort Letzte Antwort
                                        0
                                        • bahnuhrB bahnuhr

                                          @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 Offline
                                          L Offline
                                          locito09
                                          schrieb am zuletzt editiert von locito09
                                          #31

                                          @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?

                                          bahnuhrB 2 Antworten Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          • 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