Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. [gelöst]Frage: Wer hat die "Tagesschau in 100s" eingebunden?

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    SOLVED [gelöst]Frage: Wer hat die "Tagesschau in 100s" eingebunden?

    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      Conchulio 1 @XBiT last edited by

      @xbit Da kommt leider der fehler: Kein Video mit unterstützem format oder Mime Typ gefunden.

      XBiT 1 Reply Last reply Reply Quote 0
      • P
        pix last edited by Jey Cee

        Hallo,

        ich habe im letzten Post ja nur das Ergebnis gezeigt, nicht den Weg dahin. Wird hier nachgeholt:

        Wie oben erwähnt, ändert sich der Link zur aktuellsten Version der Sendung ständig. Deshalb nutze ich dieses Skript, um den Link zeitgesteuert zu aktualisieren. Das Skript legt einen Datenpunkt "VIS.URL.Tagesschau" an. Den brauche ich später in VIS.

        Neue Version vom 11.11.2018

        /* VIS Tagesschau_Link
        parsed die Seite https://www.tagesschau.de/100sekunden/ und sucht nach der URL zum aktuellsten Video
         02.03.2016 erstellt von pix
        15.03.2016 zu Javascript Instanz 1 gewechselt
        24.09.2016 umbenannt in VIS_Link_Tagesschau
        11.11.2018 Skript angepasst und optimiert
        */
        const fC = false; // forceCreation für createState()
        const logging = false;
        const instanz = 'javascript.1.';
        const idURL = instanz + 'VIS.URL.Tagesschau';
        // ab hier nix mehr ändern
        const link = "http://www.tagesschau.de/100sekunden/";
         createState(idURL,"", fC, {
            name: "Link zu Tagesschau in 100s",
            desc: "geparster Link aus tagesschau.de",
            type: "string",
            role: "text.url"
        });
         function findeURL () {   
            let request = require('request');
            let film_url;
            try {
                request(link, function (error, response, body) {
                    if (!error && response.statusCode == 200) {
                        // kein Fehler, Inhalt in body
                        //log(body);
                        // HTML Code der Webseite: Inhalt zwischen  und 
          speichern
                        let text1 = "
         Wir bieten dieses Video in folgenden Formaten zum Download an:
         ",
                            text2 = "
         **Hinweis:** Falls die Videodatei beim Klicken nicht automatisch gespeichert wird, können Sie mit der rechten Maustaste klicken und 'Ziel speichern unter ...' auswählen.
         "; 
                        let start = body.search(text1) + text1.length;
                        let ende = body.search(text2);
                        if (logging) log("Startposition: " + start);
                        if (logging) log("Endposition: " + ende);
                        let zwischenspeicher = ((start != -1) && (ende != -1) ) ? body.slice(start,ende) : "Fehler beim Ausschneiden";
                        if (logging) log("Zwischenspeicher: " + zwischenspeicher);
        
                        let text3 = "//download", 
                            text4 = ".websm.h264.mp4"; 
                        let start2 = body.search(text3);
                        let ende2 = body.search(text4);
                        if (logging) log("Startposition2: " + start2);
                        if (logging) log("Endposition2: " + ende2);
                        let zwischenspeicher2 = ((start2 != -1) && (ende2 != -1) ) ? body.slice(start2,ende2) : "Fehler beim Ausschneiden 2";
                        if (logging) log(zwischenspeicher2);
                        film_url = "http:" + zwischenspeicher2 + ".webl.h264.mp4";
                        setState(idURL, film_url);
                        if (logging) log ("URL: " + film_url);
                    } else  { // Error beim Einlesen
                        log(error, 'error'); 
                    }
                });   // Ende request 
            } catch (fehler) {
                log("Fehler (try): " + fehler, "error");
            }
        } // Ende findeURL
         schedule("8 */1 * * *", findeURL); // jedeStunde um 8 nach voll
        setTimeout(findeURL, 2000);
        
        

        ALTE VERSION VON 2016

        /* VIS Tagesschau_Link
        parsed die Seite https://www.tagesschau.de/100sekunden/ und sucht nach der URL zum aktuellsten Video
         erstellt: 02.03.2016 von pix
        15.03.2016 zu Javascript Instanz 1 gewechselt
        */
         var logging = false;
        var instanz = 'javascript.1.';
         // ab hier nix mehr ändern
         createState('VIS.URL.Tagesschau','', {
            name: 'Link zu Tagesschau in 100s',
            desc: 'geparster Link aus tagesschau.de',
            type: 'string'
        });
         var idURL = instanz + 'VIS.URL.Tagesschau';
         var link = 'http://www.tagesschau.de/100sekunden/';
        var film_url;
         function findeURL () {   
            var optin = true;
            var request = require('request');
             if (optin) try {
                request(link, function (error, response, body) {
                    if (!error && response.statusCode == 200) {
                        // kein Fehler, Inhalt in body
                        //log(body);
                        // HTML Code der Webseite: Inhalt zwischen  und 
          speichern
                        var text1 = '
         Wir bieten dieses Video in folgenden Formaten zum Download an:
         ',
                            text2 = '
         **Hinweis:** Falls die Videodatei beim Klicken nicht automatisch gespeichert wird, können Sie mit der rechten Maustaste klicken und "Ziel speichern unter ..." auswählen.
         '; 
                        var start = body.search(text1) + text1.length;
                        var ende = body.search(text2);
                        if (logging) log('Startposition: ' + start);
                        if (logging) log('Endposition: ' + ende);
                        var zwischenspeicher = ((start != -1) && (ende != -1) ) ? body.slice(start,ende) : 'Fehler beim Ausschneiden';
                        if (logging) log(zwischenspeicher);
        
                        var text3 = 'http://download',
                            text4 = '.websm.h264.mp4'; 
                        var start2 = body.search(text3);
                        var ende2 = body.search(text4);
                        if (logging) log('Startposition: ' + start2);
                        if (logging) log('Endposition: ' + ende2);
                        var zwischenspeicher2 = ((start2 != -1) && (ende2 != -1) ) ? body.slice(start2,ende2) : 'Fehler beim Ausschneiden';
                        if (logging) log(zwischenspeicher2);
                        film_url = zwischenspeicher2 + '.webl.h264.mp4';
                        setState(idURL, film_url);
                    } else  { // Error beim Einlesen
                        log(error, 'error'); 
                    }
                });   // Ende request 
            } catch (fehler) {
                log('Fehler (try): ' + fehler, 'error');
            }
        } // Ende findeURL
         schedule("8 */1 * * *", findeURL); // jedeStunde um 8 nach voll
        findeURL();
        

        Jetzt muss in VIS noch ein Widget mit Dialog gebaut werden, das bei Tastendruck den Dialog öffnet, in welchem dann das Video läuft:

        [{"tpl":"tplMetroTileDialogStatic","data":{"visibility-cond":"==","visibility-val":1,"hover":false,"transform":"true","bg_class":"bg-darkCyan","icon_class":"","icon_badge":"","badge_bg_class":"","brand_bg_class":"","dialog_draggable":"true","dialog_icon_class":"icon-film","gestures-offsetX":0,"gestures-offsetY":0,"name":"Tagesschau","label":"tagesschau in 100s","html":"\n<video src="\&quot;{javascript.1.VIS.URL.Tagesschau}\&quot;" width="\&quot;950\&quot;" height="\&quot;543\&quot;" \nposter="\&quot;video-standbild.jpg\&quot;" autobuffer/autoplay/\ncontrols="">\n\nSchade – hier käme ein Video, wenn Ihr \nBrowser HTML5 Unterstützung hätte, wie z.B. der \naktuelle Firefox\n\n</video>","dialog_width":"960","dialog_height":"623","dialog_title":"Tagesschau in 100s","dialog_flat":true,"dialog_shadow":true,"dialog_modal":true,"icon_src":"/vis.0/iPad/img/tagesschau100_logo_base.png","icon_height":"22","icon_width":"96","icon_top":"50","icon_left":"24","dialog_icon_src":"","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false},"style":{"left":"428px","top":"8px","z-index":"20"},"widgetSet":"metro"}]
        

        Der Link zum Video ist im Widget als {Binding} hinterlegt. Die Größen sind für ein iPad Air Landscape ausgelegt.

        Wenn ich Zeit habe, teste ich noch andere Sendungen von anderen Sendern. 😉

        Gruß

        Pix

        EDIT: Neues Skript vom 11.11.2018 im Spoiler

        1 Reply Last reply Reply Quote 1
        • XBiT
          XBiT @Conchulio 1 last edited by

          @conchulio-1

          Kopier das widget jetzt noch mal habe es editiert...

          C 1 Reply Last reply Reply Quote 0
          • C
            Conchulio 1 @XBiT last edited by Conchulio 1

            @xbit Schaffe es nicht. habe jetzt das javascript nochmal gelöscht und jetzt ist auch der Ordner 1 in Javascripte nicht mehr da wo noch vis drin stand.

            1 Reply Last reply Reply Quote 0
            • B
              bug77 last edited by

              @bug77 said in [gelöst]Frage: Wer hat die "Tagesschau in 100s" eingebunden?:

              const instanz = '0_userdata.0.';

              das einzige was du anpassen musst ist eventuell:

              const instanz = '0_userdata.0.';
              

              je nach dem wo die datenpunkte sein sollen

              C 1 Reply Last reply Reply Quote 0
              • C
                Conchulio @bug77 last edited by

                @bug77 Mit nem Kumpel zusammen, haben wir es leicht hin bekommen. Ich kann aber nicht sagen was ich falsch gemacht habe, das ich es allein nicht geschafft habe.

                Dennoch vielen lieben dank für deine Geduld und Hilfe. 😊

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

                  @bahnuhr sagte in [gelöst]Frage: Wer hat die "Tagesschau in 100s" eingebunden?:

                  @allvaron

                  Tatsächlich, den Fehler hab ich auch:
                  cc7b1dde-f9d9-461c-904a-5fd6869fb9f1-image.png

                  Muss mal schauen ob ich da was finde!?

                  So, geändert muss es wie folgt:

                  Zeile:
                  let regexp = /https://media.tagesschau.de/video/\d*/\d*/TV-\d*-\d*-\d*.webxl.h264.mp4/gm;
                  ändern in:
                  let regexp = /media.tagesschau.de/video/\d*/\d*/TV-\d*-\d*-\d*.webxl.h264.mp4/gm;

                  und

                  Zeile:
                  setState(idURL100s, film_url);
                  ändern in:
                  setState(idURL100s, "https://" + film_url);

                  Danach läuft es wieder und der entsprechende DP wird aktualisiert !

                  A 1 Reply Last reply Reply Quote 4
                  • A
                    allvaron @bahnuhr last edited by

                    @bahnuhr said in [gelöst]Frage: Wer hat die "Tagesschau in 100s" eingebunden?:

                    let regexp = /media.tagesschau.de/video/\d*/\d*/TV-\d*-\d*-\d*.webxl.h264.mp4/gm;

                    Top, Danke @bahnuhr

                    opossum bahnuhr 2 Replies Last reply Reply Quote 0
                    • opossum
                      opossum @allvaron last edited by opossum

                      Hallo, @bahnuhr

                      vielen Dank, nun ist es wieder ok und läuft wieder. Auch der genannte Fehler ist bei mir weg.

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

                        @allvaron
                        @opossum

                        11139f1b-e35c-4323-84f6-4b630b5b454c-image.png

                        K 1 Reply Last reply Reply Quote 0
                        • K
                          Kanumouse @bahnuhr last edited by

                          @bahnuhr
                          Bei mir läuft alles soweit aber ich bekomme immer noch diesen Fehler im Log-File "Error in request callback: TypeError: Cannot read properties of null (reading '0')".
                          Wo liegt das Problem?

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

                            @kanumouse
                            Keine Ahnung was du gemacht hast.
                            Der Fehler ist bei mir nicht vorhanden.

                            K 1 Reply Last reply Reply Quote 0
                            • K
                              Kanumouse @bahnuhr last edited by

                              @bahnuhr

                              Ich habe dieses Script am Laufen, dass die Fehlermeldung produziert. Ansonsten läuft es aber.
                              Wo ist der Fehler?

                              /* VIS Tagesschau_Link
                              parsed die Seite https://www.tagesschau.de/100sekunden/ und sucht nach der URL zum aktuellsten Video
                              02.03.2016 erstellt von pix
                              15.03.2016 zu Javascript Instanz 0 gewechselt
                              24.09.2016 umbenannt in VIS_Link_Tagesschau
                              11.11.2018 Skript angepasst und optimiert
                              03.05.2021 Skript angepasst
                              
                                     tagesschau 100s mp4
                              
                              
                                     tagesschau Stream HTML-Link
                              
                              
                              todo: axios statt request() und etwas schöner machen
                              */
                              
                              const fC = false; // forceCreation für createState()
                              
                              const logging = true;
                              
                              const instanz = 'javascript.0.Tagesschau.';
                              
                              const idURL = instanz + 'Tagesschau';
                              
                              const idURL100s = instanz + 'Tagesschau100s';
                              
                              // ab hier nix mehr ändern
                              
                              createState(idURL,"", fC, {
                              
                                 name: "HTML-Seite mit Tagesschau-Stream",
                              
                                 desc: "geparster Link aus tagesschau.de",
                              
                                 type: "string",
                              
                                 role: "text.url"
                              
                              });
                              
                               
                              createState(idURL100s,"", fC, {
                              
                                 name: "Link zu Tagesschau in 100s",
                              
                                 desc: "geparster Link aus tagesschau.de",
                              
                                 type: "string",
                              
                                 role: "text.url"
                              
                              });
                              
                              function findeURL () {   
                              
                                 let request = require('request');
                              
                                 let film_url;
                              
                                 try {
                              
                                     // Tagesschau in 100s
                              
                                     const link = "http://www.tagesschau.de/100sekunden/";
                              
                                  let regexp =  /media.tagesschau.de\/video\/\d*\/\d*\/TV-\d*-\d*-\d*\.webxxl\.h264\.mp4/gm;
                                 
                                     request(link, function (error, response, body) {
                              
                                         if (!error && response.statusCode == 200) {
                              
                                             let result_arr = regexp.exec(body);
                              
                                             film_url = result_arr[0];
                              
                                             setState(idURL100s, "https://" + film_url);
                              
                                             if (logging) log ("URL: " + film_url);
                              
                                         } else  { // Error beim Einlesen
                              
                                             log(error, 'error'); 
                              
                                         }
                              
                                     });   // Ende request 
                              
                                 } catch (fehler) {
                              
                                     log("Fehler (try): " + fehler, "error");
                              
                                 }
                              
                                 // nicht schön, aber nochmal für Stream
                              
                                 let stream_url;
                              
                                 try {
                              
                                     //Tagesschau Stream als HTML
                              
                                     const link = "https://www.tagesschau.de/multimedia/livestreams/";
                              
                                     let regexp = /www.tagesschau.de\/multimedia\/livestreams\/livestream-\d*-\d*~player\.html/gm;
                               
                                     request(link, function (error, response, body) {
                              
                                         if (!error && response.statusCode == 200) {
                              
                                             let result_arr = regexp.exec(body);
                              
                                             stream_url = result_arr[0];
                              
                                             setState(idURL, "https://" + stream_url);
                              
                                             if (logging) log ("HTML: " + stream_url);
                              
                                         } else  { // Error beim Einlesen
                              
                                             log(error, 'error'); 
                              
                                         }
                              
                                     });   // Ende request 
                              
                                 } catch (fehler) {
                              
                                     log("Fehler (try): " + fehler, "error");
                              
                                 }
                              
                              } // Ende findeURL
                              
                              schedule("8 */1 * * *", findeURL); // jedeStunde um 8 nach voll
                              
                              
                              setTimeout(findeURL, 2000);
                              
                              bahnuhr 1 Reply Last reply Reply Quote 0
                              • bahnuhr
                                bahnuhr Forum Testing Most Active @Kanumouse last edited by

                                @kanumouse

                                Bei mir läuft dies.

                                /* VIS Tagesschau_Link
                                parsed die Seite https://www.tagesschau.de/100sekunden/ und sucht nach der URL zum aktuellsten Video
                                {1}
                                02.03.2016 erstellt von pix
                                15.03.2016 zu Javascript Instanz 1 gewechselt
                                24.09.2016 umbenannt in VIS_Link_Tagesschau
                                11.11.2018 Skript angepasst und optimiert
                                03.05.2021 Skript an neue Tagesschau-Seite angepasst und optimiert
                                */
                                
                                
                                const logging = true;
                                const idURL = 'javascript.0.System.Sonstige.Tagesschau_100';
                                const idURL2 = 'javascript.0.System.Sonstige.Tagesschau_Stream';
                                const link = 'http://www.tagesschau.de/multimedia/sendung/tagesschau_in_100_sekunden/';
                                let film_url; let stream_url;
                                
                                
                                function findeURL () {   
                                   let request = require('request');
                                   try {
                                       request(link, function (error, response, body) {
                                           if (!error && response.statusCode == 200) {
                                               let regexp = /media\.tagesschau\.de\/video\/\d*\/\d*\/TV-\d*-\d*-\d*\.webxl\.h264\.mp4/gm;
                                               let result_arr = regexp.exec(body);
                                               film_url = result_arr[0];
                                               setState(idURL, "https://" + film_url);
                                               if (logging) log ("URL: " + "https://" + film_url);
                                           } else  { // Error beim Einlesen
                                               log(error, 'error'); 
                                           }
                                       });   // Ende request 
                                   } catch (fehler) {
                                       log("Fehler (try): " + fehler, "error");
                                   }
                                      // nicht schön, aber nochmal für Stream
                                   try {
                                       //Tagesschau Stream als HTML
                                       const link = "https://www.tagesschau.de/multimedia/livestreams/";
                                       //let regexp = /https:\/\/www\.tagesschau\.de\/multimedia\/livestreams\/livestream\d*\/index~player\.html/gm;
                                       //let regexp = /https:\/\/www\.tagesschau\.de\/multimedia\/livestreams\/livestream1\d*-\d*~player\.html/gm;
                                       request(link, function (error, response, body) {
                                           if (!error && response.statusCode == 200) {
                                               //let result_arr = regexp.exec(body);
                                               //stream_url = result_arr[0];
                                               //log ("hier1 " + stream_url);
                                               stream_url = "https://www.tagesschau.de/multimedia/livestreams/index~player.html";
                                               setState(idURL2, stream_url);
                                               if (logging) log ("HTML: " + stream_url);
                                           } else  { // Error beim Einlesen
                                               log(error, 'error'); 
                                           }
                                       });   // Ende request 
                                   } catch (fehler) {
                                       log("Fehler (try): " + fehler, "error");
                                   }
                                
                                } 
                                 
                                schedule("8 */1 * * *", findeURL); // jedeStunde um 8 nach voll
                                findeURL();
                                
                                
                                K D 2 Replies Last reply Reply Quote 0
                                • K
                                  Kanumouse @bahnuhr last edited by

                                  @bahnuhr
                                  Danke, werde ich mal versuchen!

                                  K 1 Reply Last reply Reply Quote 0
                                  • K
                                    Kanumouse @Kanumouse last edited by

                                    @kanumouse

                                    K 1 Reply Last reply Reply Quote 0
                                    • K
                                      Kanumouse @Kanumouse last edited by

                                      @bahnuhr

                                      Ok, dein Script läuft fehlerfrei. Ich habe am Anfang noch ein paar Zeilen zum Erstellen der States eingefügt.
                                      Im Moment kann ich noch nicht erkennen, wo der Fehler bei meinem Script gelegen hat. Bei deinem Script sind sind ein paar Zeilen beim Einlesen des Streams auskommentiert - vielleicht liegt es daran - muss ich aber noch einmal analysieren.
                                      Danke!

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

                                        @kanumouse sagte in [gelöst]Frage: Wer hat die "Tagesschau in 100s" eingebunden?:

                                        Ok, dein Script läuft fehlerfrei.

                                        Na klar, was sonst.

                                        @kanumouse sagte in [gelöst]Frage: Wer hat die "Tagesschau in 100s" eingebunden?:

                                        Ich habe am Anfang noch ein paar Zeilen zum Erstellen der States eingefügt.

                                        brauchst du nicht, hast sie doch schon erstellt.

                                        @kanumouse sagte in [gelöst]Frage: Wer hat die "Tagesschau in 100s" eingebunden?:

                                        muss ich aber noch einmal analysieren.

                                        genau

                                        D 1 Reply Last reply Reply Quote 0
                                        • D
                                          denjo @bahnuhr last edited by

                                          @bahnuhr hallo, bei mir wird das video nicht aktualisiert. und kann man irgendwie einstellen das das video erst startet wenn ich auf play drücke und nicht wenn die seite neu gestartet wird?

                                          bahnuhr 1 Reply Last reply Reply Quote 0
                                          • D
                                            denjo @bahnuhr last edited by

                                            @bahnuhr es liegt wohl am widget, welches muss ich da jetzt nehmen???

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

                                              @denjo sagte in [gelöst]Frage: Wer hat die "Tagesschau in 100s" eingebunden?:

                                              video nicht aktualisiert.

                                              bei mir schon.

                                              @denjo sagte in [gelöst]Frage: Wer hat die "Tagesschau in 100s" eingebunden?:

                                              irgendwie einstellen das das video erst startet

                                              Na, dann nehm doch mal autoplay raus. Oder wie hast du es eingebunden.

                                              @denjo sagte in [gelöst]Frage: Wer hat die "Tagesschau in 100s" eingebunden?:

                                              welches muss ich da jetzt nehmen???

                                              welches hast du genommen?

                                              ich habe:
                                              9f2c03e6-8e06-4fb2-b955-8936dfae5a59-image.png

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

                                              Support us

                                              ioBroker
                                              Community Adapters
                                              Donate

                                              773
                                              Online

                                              31.7k
                                              Users

                                              79.7k
                                              Topics

                                              1.3m
                                              Posts

                                              42
                                              218
                                              32995
                                              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