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 goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • 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
      challe last edited by

      Die Tagesschau hat ihr HTML geändert. Damit das JavaScript von pix wieder funktioniert muss die Zeile:

      var text3 = 'http://download',

      geändert werden in:

      var text3 = '//download',

      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 last edited by

          Danke, challe.

          wollte es gerade posten und sehe, du warst schneller. Nochmal Danke fürs Mitmachen!

          Pix

          1 Reply Last reply Reply Quote 0
          • a200
            a200 last edited by

            moin,

            ich habe die Größe des Ausgabefensters um Faktor 1,5 vergrößert. Auf dem Notebook sieht es gut aus, aber auf dem Tablett ist das Fenster oben links. Wo kann ich die Koordinaten für das Ausgabefensters angeben?

            Danke, Ansonsten Vielen Dank für Eure Arbeit.

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

              Moin, tolle Sache mit der Tagesschau. Allen hier ein Danke erstmal 😄

              Nun zu meiner Frage:

              das Video startet direkt mit einer Lautstärke von 100%,

              wie kann man dies ändern damit es z.B. nur mit 40% startet.

              1 Reply Last reply Reply Quote -1
              • C
                charakterkopf last edited by charakterkopf

                Hi, hat zufällig jemand nochmal da Skript und das Widget für mich. Das Widget oben wird von Iobroker mit einem Fehler beim Importieren angezeigt. Danke!

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

                  gibt es dazu eine genau Anleitung?? möchte die tageschau einbinden in mein vis??

                  1 Reply Last reply Reply Quote 0
                  • G
                    Goldenbaum last edited by

                    Hat hier jemand noch eine Lösung parat?

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

                      Script:

                      /* 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 = true;
                      var idURL = 'javascript.0.Status.Tagesschau.Link_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 <table> und </table> speichern
                                      var text1 = '<p>Wir bieten dieses Video in folgenden Formaten zum Download an:</p>',
                                          text2 = '<p><strong>Hinweis:</strong> Falls die Videodatei beim Klicken nicht automatisch gespeichert wird, können Sie mit der rechten Maustaste klicken und "Ziel speichern unter ..." auswählen.</p>'; 
                                      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 = '//download',     //hier stand alt: '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();
                      
                      

                      Widget:

                      [{"tpl":"tplMetroTileDialogStatic","data":{"visibility-cond":"==","visibility-val":1,"hover":false,"transform":false,"bg_class":"bg-grayDarker","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":"","html":"<!-- Ration 1.77 d.h. bei eine Breite von 960px eine Höhe von etwa 543px -->\n<video src=\"{javascript.0.Status.Tagesschau.Link_Tagesschau}\" 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":"633","dialog_title":"Tagesschau in 100s","dialog_flat":true,"dialog_shadow":true,"dialog_modal":true,"icon_src":"/vis.0/main/img/tagesschau.png","icon_height":"86","icon_width":"88","icon_top":"78","icon_left":"17","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","views":["Yamaha2"],"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":"1010px","top":"193px","z-index":"20","width":"240px","height":"40px","line-height":"255px","font-family":"Arial, Helvetica, sans-serif","position":"","overflow-x":"","overflow-y":"","cursor":""},"widgetSet":"metro"}]
                      

                      bitte schön.

                      U lws.naja 2 Replies Last reply Reply Quote 0
                      • G
                        Goldenbaum last edited by

                        Hey, vielen dank für die schnelle antowrt.

                        Widget eingefügt=klappt.
                        Skript= eingefügt und in der object-id das gestartete script ausgewählt.

                        nun erscheint der fehler "kein video mit unterstützem format gefunden????

                        Besten Dank schonmal

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

                          Habe das Script mal neu gestartet.
                          Klappt einwandfrei.

                          5bd2eeaf-5ad6-47df-8036-656f4c8d1c49-image.png

                          1 Reply Last reply Reply Quote 0
                          • G
                            Goldenbaum last edited by

                            Sieht bei mir leider anders aus, weißt du warum ?

                            2.PNG 1.PNG

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

                              @Goldenbaum wollt ich auch grad schreiben, selbe Fehler
                              log dazu

                              javascript.0	2019-06-17 21:51:25.679	warn	at process._tickCallback (internal/process/next_tick.js:63:19)
                              javascript.0	2019-06-17 21:51:25.679	warn	at endReadableNT (_stream_readable.js:1129:12)
                              javascript.0	2019-06-17 21:51:25.679	warn	at IncomingMessage.emit (events.js:203:15)
                              javascript.0	2019-06-17 21:51:25.679	warn	at Object.onceWrapper (events.js:286:20)
                              javascript.0	2019-06-17 21:51:25.679	warn	at IncomingMessage.<anonymous> (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:1083:12)
                              javascript.0	2019-06-17 21:51:25.679	warn	at Request.emit (events.js:198:13)
                              javascript.0	2019-06-17 21:51:25.679	warn	at Request.<anonymous> (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:1161:10)
                              javascript.0	2019-06-17 21:51:25.678	warn	at Request.emit (events.js:198:13)
                              javascript.0	2019-06-17 21:51:25.678	warn	at Request.self.callback (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:185:22)
                              javascript.0	2019-06-17 21:51:25.678	warn	at Request._callback (script.js.Visualisierung.VisTagesschau:42:18)
                              javascript.0	2019-06-17 21:51:25.678	warn	at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1275:20)
                              javascript.0	2019-06-17 21:51:25.677	warn	State "javascript.0.Status.Tagesschau.Link_Tagesschau" not found
                              
                              CKMartens 1 Reply Last reply Reply Quote 0
                              • bahnuhr
                                bahnuhr Forum Testing Most Active last edited by bahnuhr

                                Objekt erzeugen:

                                c7a90133-10ce-4bda-825b-c65af3e01102-image.png

                                Extra Script einstellen und einmalig ausführen:

                                // Tagesschau -------------------------------------------------------------------------------------------------------------
                                createState('javascript.0.Status.Tagesschau.Link_Tagesschau', '', {type: 'string',name: 'Link zu Tagesschau in 100s',desc: 'geparster Link aus tagesschau.de'});
                                
                                
                                1 Reply Last reply Reply Quote 0
                                • CKMartens
                                  CKMartens @crunchip last edited by

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

                                  @Goldenbaum wollt ich auch grad schreiben, selbe Fehler

                                  Hast du im Javascript Adapter das zusätzlich npm Modul request eingebunden?

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

                                    @CKMartens nö,
                                    aber jetzt 😀

                                    1 Reply Last reply Reply Quote 0
                                    • G
                                      Goldenbaum last edited by

                                      Jetzt hat es geklappt. Vielen Vielen dank.

                                      Weißt du wie man das Bild größer bekommt zufällig?

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

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

                                        zusätzlich npm Modul request

                                        dürfte nicht notwendig sein.

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

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

                                          Weißt du wie man das Bild größer bekommt zufällig?

                                          ja hier:
                                          1d711c6e-d544-4977-90c1-e60e10c93e27-image.png

                                          1 Reply Last reply Reply Quote 0
                                          • G
                                            Goldenbaum last edited by

                                            Dann ändere ich einfach den Wert 1,77 ne?

                                            werde ich gleich mal testen vielen dank dir

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

                                              Nein, du musst dies aufklicken:
                                              8dfce970-9dd0-4037-beb5-d8274d84d16f-image.png

                                              Und darunter ist :
                                              1de8ca8d-fb71-4dc9-ba2b-d1ce127c206f-image.png

                                              Mit diesen Werten mssst du rumspielen; bis es so ist wie du es willst.

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

                                              Support us

                                              ioBroker
                                              Community Adapters
                                              Donate

                                              930
                                              Online

                                              31.6k
                                              Users

                                              79.5k
                                              Topics

                                              1.3m
                                              Posts

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