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.
    • 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
      • 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
        • 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
              • crunchip
                crunchip Forum Testing Most Active last edited by

                passt, wackelt und hat Luft,👍 danke @bahnuhr

                1 Reply Last reply Reply Quote 0
                • O
                  Oli last edited by

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

                  [{"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"}]

                  Hallo zusammen,
                  das Script funktioniert super, danke dafür. Aber was muss ich bitte am Widget anpassen?
                  Meins sieht nach dem importieren so aus:

                  899d30c0-e9a1-4262-a245-2e800f593b07-image.png

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

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

                    /vis.0/main/img/tagesschau.png

                    sieht so aus als fehlt dir das Bild !

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

                      @bahnuhr
                      und wo muss ich das einbinden oder hinterlegen?

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

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

                        @bahnuhr
                        und wo muss ich das einbinden oder hinterlegen?

                        dd69deb6-b7da-4862-89df-be3349688728-image.png

                        O 1 Reply Last reply Reply Quote 1
                        • O
                          Oli @bahnuhr last edited by

                          @bahnuhr

                          Danke, hab es gefunden

                          1 Reply Last reply Reply Quote 0
                          • S
                            schittl last edited by

                            Hallo,

                            hat jemand ne Idee was ich einstellen muss, damit das Video der Tagesschau automatisch abgespielt werden kann beim Start der View. Folgendes habe ich probiert im Widget basic-html:

                            <video id="video" autoplay autobuffer controls width="630" height="340"> <source id="video-src" src="{javascript.0.VIS.Tagesschau.URL}" type="video/mp4"></video>
                            

                            Video startet nur bei Betätigung

                            <video id="video" muted autoplay autobuffer controls width="630" height="340"> <source id="video-src" src="{javascript.0.VIS.Tagesschau.URL}" type="video/mp4"></video>
                            

                            Video startet automatisch aber ohne Ton.

                            Danke & vg
                            Falk

                            D 1 Reply Last reply Reply Quote 0
                            • D
                              Djerry @schittl last edited by

                              @schittl

                              Hello, hast du mal versucht die source nicht als separates Element im Video-Element anzugeben, sondern als "src"-Attribut im Video-Element selbst? Weil, wenn ich das Template weiter oben so anschaue, wird dies dort gemacht.

                              Also auf dein Beispiel angewendet:

                              <video id="video" src="{javascript.0.VIS.Tagesschau.URL}" autoplay autobuffer controls width="630" height="340"></video>
                              

                              Wobei das "id"-Attribut vermutlich auch weggelassen werden kann.
                              Vielleicht hilft dir das? Kann es selbst nicht testen, da ich mit lovelace arbeite und nicht mit der normalen VIS von IoBroker.

                              Vielen Dank hier auch nochmal an @pix und @bahnuhr für die schönen Scripte zum ermitteln des aktuellen Tagesschau-Links 🙂

                              S 1 Reply Last reply Reply Quote 1
                              • S
                                schittl @Djerry last edited by

                                @Djerry

                                Funktioniert leider auch nicht. Trotzdem danke...

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

                                  Hallo Zusammen,

                                  beim einfügen des Widget kommt immer ein Syntax-Fehler, kann mir jemand das korrekte Widget hier rein kopieren. Am beaten auch nochmal das Skript dafür das sich der Link täglich ändert. Danke euch für eure Mühen

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

                                    @bahnuhr leider kann ich das Widget nach dem Importieren nur in der Widgetliste oben finden, sehe es aber in der Visualisierung nicht. Ingendeine Idee? Muss ich evtl vorher ein zusätzliches Widgetpaket installieren welches dann als Grundlage für dieses hier dient?

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

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

                                      leider kann ich das Widget nach dem Importieren nur in der Widgetliste oben finden,

                                      versteh ich nicht!
                                      zusätzliche widget sind meines Wissens nicht zu installieren.

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

                                        @bahnuhr habe es herausgefunden. Ich hatte das metro style Widgets Paket nicht installiert. Ohne das geht es nicht.
                                        5e5acc12-f0eb-4a0d-a1c0-0acce77e7164-grafik.png

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

                                          @Udo_E

                                          Gut wenn es läuft.

                                          1 Reply Last reply Reply Quote 0
                                          • U
                                            Udo_E last edited by Udo_E

                                            Habe jetzt auch noch ein wenig an den Scripten rumgestrickt. Für diejenigen unter euch, die lieber das Video direkt auf die Vis-Seite mit einem iFrame einbinden möchten habe ich hier das veränderte Script und die Vorgehensweise:

                                            1. Objekt für den Link erzeugen
                                            //Erstellen des Objekts. Nur einmalig ausführen!!!
                                            createState('javascript.0.Status.Tagesschau.Link_Tagesschau', '', {type: 'string',name: 'Link zu Tagesschau in 100s',desc: 'geparster Link aus tagesschau.de'});
                                            
                                            1. Script erstellen
                                            /* VIS Tagesschau_Link
                                            parsed die Seite https://www.tagesschau.de/100sekunden/ und sucht nach der URL zum aktuellsten Video
                                            {1}
                                            erstellt: 02.03.2016 von pix
                                            15.03.2016 zu Javascript Instanz 1 gewechselt (es ist immer noch oder wieder Instanz 0)
                                            19.12.2019 Änderung für Einbettung mit iFrame von Udo_E
                                            */
                                            
                                            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 text1 und text2 suchen und zwischenspeichern
                                                            var text1 = 'Sie werden Bestandteil der Nutzungsbefugnis, wenn der Nutzer den geänderten AGB zustimmt.',
                                                                text2 = 'Zum einbetten einfach den HTML-Code kopieren und auf ihrer Seite einfügen.'; 
                                                            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);
                                                            // Zwischenspeicher: Inhalt ab Beginn von text3 bis Ende von text4 suchen und erneut zwischenspeichern
                                                            var text3 = 'https',     
                                                                text4 = '.html'; 
                                                            var start2 = zwischenspeicher.search(text3);
                                                            var ende2 = zwischenspeicher.search(text4) + text4.length;
                                                            if (logging) log('Startposition: ' + start2);
                                                            if (logging) log('Endposition: ' + ende2);
                                                            var zwischenspeicher2 = ((start2 != -1) && (ende2 != -1) ) ? zwischenspeicher.slice(start2,ende2) : 'Fehler beim Ausschneiden';
                                                            if (logging) log(zwischenspeicher2);
                                                            film_url = zwischenspeicher2 ;
                                                            //Wert in Objekt schreiben
                                                            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();
                                            
                                            1. Binding von Quelle des iFrame mit Objekt
                                              613ef099-e69c-4cf0-9c86-63fc2650e330-grafik.png

                                            2. Von der Fehlermeldung im Edit vis nicht irritieren lassen!
                                              c2271883-8fd6-4b3b-8eb1-85b4dfb98d5e-grafik.png
                                              Es funktioniert trotzdem.
                                              cc19fa59-df40-4fbb-84cb-ef73a3655b95-grafik.png

                                            T 1 Reply Last reply Reply Quote 4
                                            • S
                                              schittl last edited by

                                              @Udo_E
                                              Startet das Video in deiner Variante auch automatisch oder muss man ebenfalls den Play-Button interaktiv betätigen?

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

                                              Support us

                                              ioBroker
                                              Community Adapters
                                              Donate

                                              504
                                              Online

                                              31.6k
                                              Users

                                              79.5k
                                              Topics

                                              1.3m
                                              Posts

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