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.
    • P
      pix last edited by

      Hier das neueste Skript zum Einbinden des Videos von tagesschau.de

      vom 3.5.2021

      /* 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
      03.05.2021 Skript an neue Tagesschau-Seite 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) {
                     let regexp = /https:\/\/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, 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);
      

      Gruß
      Pix

      P 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
        • P
          pix @pix last edited by pix

          Und wer auch noch den TagesschauStream sehen will, kann dieses (auf die Schnelle) erweiterte Skript nutzen.

          Es legt 2 Datenpunkte an:
          mp4 Datei für tagesschau in 100s
          html-Link für Stream

          /* 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
          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.1.';
          const idURL = instanz + 'VIS.URL.Tagesschau';
          const idURL100s = instanz + 'VIS.URL.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 = /https:\/\/media\.tagesschau\.de\/video\/\d*\/\d*\/TV-\d*-\d*-\d*\.webxl\.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, 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 = /https:\/\/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, 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);
          

          Dazu zwei Widgets für die Anzeige in VIS

          [{"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":"<!-- Ration 1.77 d.h. bei eine Breite von 960px eine Höhe von etwa 543px -->\n<video src=\"{javascript.1.VIS.URL.Tagesschau100s}\" width=\"950\" height=\"543\" \nposter=\"video-standbild.jpg\" autobuffer autoplay \ncontrols>\n\n<div>Schade – hier käme ein Video, wenn Ihr \nBrowser HTML5 Unterstützung hätte, wie z.B. der \naktuelle Firefox</div>\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,"visibility-groups-action":"hide","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"459px","top":"11px","z-index":"20","cursor":"pointer","height":"132px"},"widgetSet":"metro"},{"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 Stream","label":"tagesschau Stream","html":"<iframe src={javascript.1.VIS.URL.Tagesschau} scrolling=\"no\" id=\"tagesschau-iframe\"></iframe>\n<style>\n#tagesschau-iframe\n{\n    width    : 960px;\n    height   : 823px;\n}\n</style>","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,"visibility-groups-action":"hide","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"608px","top":"11px","z-index":"20","cursor":"pointer","width":"142px","height":"132px"},"widgetSet":"metro"}]
          

          Bildschirmfoto 2021-05-03 um 18.52.42.jpg Bildschirmfoto 2021-05-03 um 18.52.54.jpg Bildschirmfoto 2021-05-03 um 18.50.19.jpg
          Bildschirmfoto 2021-05-03 um 18.53.48.jpg

          Gruß
          Pix

          EDIT: Ja, in der Modal-Box vom Stream steht noch 100s, kann man ja selbst ändern

          N A 2 Replies Last reply Reply Quote 3
          • Nashra
            Nashra Most Active Forum Testing last edited by

            Klasse @pix 👍 👍 👍
            Einen hab ich aber, wie kann ich eine angepasste Lautstärke mit übergeben.
            Habe aus dem alten VIS dies übernommen bei HTML

            <script>
            var vid = document.getElementById("Video");
            vid.volume = 0.1;
            </script>
            

            aber darauf reagiert es nicht.

            P liv-in-sky 2 Replies Last reply Reply Quote 0
            • P
              pix @Nashra last edited by

              @nashra Hallo Ralf,
              dazu kann ich leider nichts sagen.
              Die 100s-Lösung ist ja eine Videodatei, deren Adresse über Regexp aus dem Quellcode der Seite extrahiert wird. Die Lautstärke-Regelung sollte da der Browser übernehmen.
              Der Stream ist eine HTML-Seite, die auf tagesschau.de liegt. Auch der wird per Regexp gefunden, aber er ist mit iframe einzubinden. Vielleicht kann man die Lautstärke im Code irgendwo hinterlegen. Dieser Stream fiel mir auf, als ich die 100s-Sache mal wieder updaten musste. Habe ihn noch nicht so ganz sauber eingebaut, aber es funktioniert.

              Pix

              1 Reply Last reply Reply Quote 0
              • liv-in-sky
                liv-in-sky @Nashra last edited by

                @nashra

                ich nutze das hier - da ist volume control mit dem neuen script von pix

                <div>
                
                <video id="Movie" src='{javascript.0.tagesschau.tagesschau100SekundenVideo}' width='600' height='338' poster='{javascript.0.tagesschau.tagesschau100SekundenImg}' onmouseover="dataset.over=true; controls=true" onmouseout="delete dataset.over;if(paused)controls=false;" onplay="controls=true" onpause="if(!dataset.over&&!dataset.focus)controls=false" onfocusin="dataset.focus=true; controls=true" onfocusout="delete dataset.focus;if(paused)controls=false;"><div>Schade geht nicht</div></video> 
                
                </div>
                
                <script>
                
                var vid = document.getElementById("Movie");
                
                vid.volume = 0.8;
                
                </script>
                
                1 Reply Last reply Reply Quote 1
                • N
                  novregen @pix last edited by

                  @pix ich habe mir deine widgets zur Tagesschau importiert. Wo muss ich dort denn die Url Hinterlegen das es funktioniert ? In Objekt ID oder Inhalte ID nimmt er die Url nicht.

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

                    @novregen die steht doch schon drin, ausser du hast den Pfad geändert, dann musst du es bei html anpassen
                    e8af5546-7e4c-4271-a3fa-1b8ffe295489-grafik.png

                    N 1 Reply Last reply Reply Quote 0
                    • N
                      novregen @crunchip last edited by

                      @crunchip ok danke das habe ich gefunden stand auf javascript1 deshalb hat es nicht funktioniert.

                      Wie bekomme ich es denn hin, das hier als Bild das Video angezeigt wird ? Jetzt wird nur ein bild gezeigt.

                      8f186244-aa4b-482d-abef-1ab770022b14-grafik.png

                      So würde ich es gerne haben

                      ab8fed84-5fc5-4d2e-9f40-22bdf8fdf0a5-grafik.png

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

                        @novregen Die möchtest das aktuelle Livebild sehn? Das wird nicht gehen und falls doch wüsste ich nicht wie.

                        1 Reply Last reply Reply Quote 0
                        • A
                          allvaron @pix last edited by

                          @pix
                          Hallo Pix, vorab erst Mal Danke für dieses Script und die Zeit, die du in die Entwicklung gesteckt hast.

                          Das Script hat bislang unauffällig seinen Dienst verrichtet. Seit zwei Tagen erhalte ich nun aber folgende Fehlermeldung im Log:

                          2022-01-19 08:42:34.342 - info: javascript.0 (4199) Stop script script.js.common.VIS.Tagesschau_100s_aktueller_Link
                          2022-01-19 08:42:38.801 - info: javascript.0 (4199) Start javascript script.js.common.VIS.Tagesschau_100s_aktueller_Link
                          2022-01-19 08:42:38.807 - info: javascript.0 (4199) script.js.common.VIS.Tagesschau_100s_aktueller_Link: registered 0 subscriptions and 1 schedule
                          2022-01-19 08:42:40.963 - info: javascript.0 (4199) script.js.common.VIS.Tagesschau_100s_aktueller_Link: HTML: https://www.tagesschau.de/multimedia/livestreams/livestream-3-105~player.html
                          2022-01-19 08:42:41.005 - error: javascript.0 (4199) Error in request callback: TypeError: Cannot read property '0' of null
                          

                          Der Fehler steht in Verbindung mit dem Linkabruf.

                          Hast du eine Idee, wie man den Fehler beheben kann?

                          Danke und Gruß

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

                            @allvaron

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

                            Muss mal schauen ob ich da was finde!?

                            B XBiT bahnuhr 3 Replies Last reply Reply Quote 0
                            • B
                              bug77 @bahnuhr last edited by

                              @bahnuhr hier selber fehler...

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

                                @bahnuhr @allvaron

                                Habe auch diesen Fehler im Log.

                                Auch der Link zur Tagesschau ist auf dem stand vom 18.01.2022 geblieben, also kein neues Video am 19.01 und 20.01

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

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

                                  @bahnuhr @allvaron

                                  Habe auch diesen Fehler im Log.

                                  Auch der Link zur Tagesschau ist auf dem stand vom 18.01.2022 geblieben, also kein neues Video am 19.01 und 20.01

                                  Aktualisiert wird es bei mir einwandfrei.
                                  Video kommt auch.

                                  Nur halt der error im log.

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

                                    @bahnuhr

                                    bei mir nur der normale Tagesschau Link, der Tagesschau100sec Link nicht 😞

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

                                      @xbit Läuft es bei dir wieder mit dem aktualisieren vom video?

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

                                        ich habe den fehler gefunden:

                                        Javascript:

                                        /* 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 angepasst
                                        
                                               tagesschau 100s mp4
                                        
                                               tagesschau Stream HTML-Link
                                        
                                        {1}
                                        
                                        todo: axios statt request() und etwas schöner machen
                                        
                                        {1}
                                        
                                        {1}
                                        
                                        */
                                        
                                        const fC = false; // forceCreation für createState()
                                        
                                        const logging = true;
                                        
                                        const instanz = '0_userdata.0.';
                                        
                                        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 = /https:\/\/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, 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 = /https:\/\/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, 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);
                                        
                                        C XBiT 2 Replies Last reply Reply Quote 1
                                        • C
                                          Conchulio 1 @bug77 last edited by

                                          @bug77 Prima nur bekomme ich immer einen fehler wen ich den script rein kopiere und starten möchte. von wo bis wo muss ich den script kopieren?
                                          Bin noch blutiger anfänger. Sorry

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

                                            @bug77

                                            Saubere Arbeit es geht wieder Besten Dank

                                            @Conchulio-1 alles im schwarzen Fenster von Zeile 1 bis 165

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

                                              @xbit Okay und welches widget muss ich jetzt nehmen? Sorry nochmal.

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

                                              Support us

                                              ioBroker
                                              Community Adapters
                                              Donate

                                              582
                                              Online

                                              31.7k
                                              Users

                                              79.7k
                                              Topics

                                              1.3m
                                              Posts

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