Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter tvprogram

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Test Adapter tvprogram

    This topic has been deleted. Only users with topic management privileges can see it.
    • OliverIO
      OliverIO @pix last edited by

      @pix sagte in Test Adapter tvprogram:

      Ich finde den Adapter auch sehr gelungen, habe ihn heute erst entdeckt und gleich installiert (V1).

      Diese Datenquelle zu nutzen ist auch sehr schlau.

      Danke, das freut mich

      Wünsche:
      Ich würde mich freuen, wenn die Suche nicht nur über die Sendungstitel geht, sondern auch deren Beschreibungen berücksichtigt. So kann man z.B. nach Schauspielern oder Regisseuren suchen.

      Ich prüfe das mal, wichtig für mich wäre das nicht zu viele Suchergebnisse kommen, das würde den Wert der Suche wieder zerstören. Die Suche trifft bspw bei Regisseuren und Schauspieler halt nur, wenn sie im Text erwähnt werden. Es gibt keine weiteren versteckten Daten, wo das strukturiert vorliegt.

      Ich habe mich mit der Verbindung vom Datenpunkt selectchannel mit dem Harmony-Adapter (und weiter zum MagentaTV-Reiceiver) beschäftigt. Hier mein Skript, das beim Klick/Druck aufs Senderlogo den passenden Programmplatz wählt:

      /* TV Programm Adapter
      
      Skripte zur Ausführung von Aktionen, die 
      mit dem tvprogramm-Adapter zusammenhängen
      (z.B. umschalten)
      
      Adapter von 1/2021 von oweitmann https://github.com/oweitman/ioBroker.tvprogram
      
      20210503 init
      */
      
      const logging = true;
      const idKanalWahl = "tvprogram.0.tv1.selectchannel"; // Dateingabe aus VIS
      
      const fbdelay = 1000; // delay zwischen Tastendrücken der IR_Fernbedienung in ms
      
      const channelList = {  // Ausgabe vom Adapter : Kanalnummer im Receiver
         "ard" : 1,
         "zdf" : 2,
         "rtl" : 3,
         "sat1": 4,
         "pro7": 5,
         "vox" : 6,
         "kaka":7,
         "rtl2":8,
         "superrtl":9,
         "kika":10,
         /* nickelodeon 11 */
         "3sat":12,
         "welt":13,
         "ntv":14,
         "phoenix":15,
         "tele5":16,
         "zdfneo":17,
         /* #dabeiTV 18 */
         /* disneyplus 19 */
         /* lokalTV 20 */
         "bayern3":21,
         "hessen3":25,
         "mdr":27,
         "nord3":29,
         /* "bremen":30, */
         /* "rbb berlin":31, */
         /* "sr":36, */
         "sw3":37, // bw
         /* "sw3":38, // rp */
         "west3":39,
         /* "eurosport1":50, */
         "sport1":51,
         /* sky sport news 52 */
         "arte":55,
         "one":56,
         /* anixe 60 */
         "dmax":64,
         "pro7maxx":69,
         "nitro":70,
         /* sat1 gold 73 */
         "sixx":75,
         /* ard alpha 80 */
         /* DW 85 */
         /* euronews */
         /* Kabel Eins Doku 89 */
         /* N24 Doku 90 */
         "tagesschau24":91,
         /* Welt der Wunder 92 */
         /* zdfinfo 93 */
         "mtv":99,
      };
      
      
      function selectChannel (chNo) { 
         // Zerlegen mehrstelliger Zahlen
         let ch_arr = new Array();
         ch_arr = [];
         if (logging) log("Kanalnummer gewählt: " + chNo);
         while (chNo > 0) { // rückwärts
             if (logging) log("erkannte Ziffer: " + chNo % 10 ); 
             ch_arr.push(chNo % 10); // letzte Ziffer hinten dran hängen
             chNo = chNo / 10;
             chNo = parseInt(chNo);
         }
         // array umdrehen und wieder auslesen und Taste(n) der HARMONY+Fernbedienung drücken
         ch_arr.reverse(); 
         if (logging) log ("Senderplatz hat " + ch_arr.length + " Ziffern" + ch_arr);
         for (let i = 0; i < ch_arr.length; i++) {
             // passende OID füllen
             setStateDelayed("harmony.0.Harmony_Hub.Telekom-DVR.Number" + ch_arr[i], 1, fbdelay, function() {
                 if (logging) log ((i+1) + ". Taste: " + ch_arr[i] + " gedrückt");
             });
         }
      }
      
      on(idKanalWahl, function (obj) {
         log("Neues TV Programm: " + obj.state.val + " auf Kanal " + channelList[obj.state.val] + " gewählt");    
         selectChannel(channelList[obj.state.val]);
      });
      

      Danke, ich werde das Skript mit in die Doku als Vorlage für die anderen mit aufnehmen.

      Mir ist dabei aufgefallen, dass die gewählten Kurzbezeichnungen für manche Sender nicht ganz optimal sind, z.B. kaka statt kabel1 (hat nix mit Kabelkanal zu tun 😆 ). Vor allem die Dritten sind etwas durcheinander: statt nord3 wär besser ndr3, sw3 statt swr3, aber es ist nur mdr statt mdr3. Aber das ist eine Kleinigkeit.

      Das sind die Kurzbezeichnungen, wie sie von der Seite vorgegeben sind. Klar könnte man ein Mapping machen, so das sie "schönere Bezeichnungen" erhalten. Allerdings sind das ja nur technische Kennzeichnungen, die man an der Oberfläche nicht sieht und die jeder selbst in seinen Skripten mappen muss.
      Zum Thema kaka, schau mal bei Wikipedia, wie kabel 1 ganz am Anfang hies
      https://de.wikipedia.org/wiki/Kabel_eins

      Die Button sollten vielleicht ein Tooltip bekommen, damit sie sich beim Hover (mit der Maus) erklären.

      ja Tooltips könnte ich noch einbauen. Ich verwende es allerdings auf einem Toucdisplay, da werden die Tooltips nicht angezeigt 🙂

      Probleme:
      Und schließlich hatte ich bei Installation einige Probleme zu erkennen, dass der Adapter seine Datenpunkte nur über die Widgets füllt und bedienen lässt. Ebenso fand ich nicht gleich den Hinweis, im Widget die OID nur mit tvprogram.0.TV1 zu füllen.

      Hm eigentlich steht in der Doku, das man den cmd-Datenpunkt wählen soll.

      In the configuration, the widget only needs to be filled with any data point of the adapter (e.g.cmd). The widget searches for all remaining data points automatically.

      Aber ich versuche die Dokumentation nochmal zu verbessern.

      Fazit:
      Ich als visueller Mensch finde die Gestaltung sehr gut. Die Anordnung im EPG-Design ist man gewöhnt und so findet man sich schnell zurecht. Allerdings mag ich eigentlich auch die Vorschaubilder der Sendungen. Vielleicht klappt es irgendwie, die Bilder aus der Sendungsinfo (wenn vorhanden) in die Zeitstrahlansicht einzubauen.

      Auch das prüfe ich, so das man das als Option mit einschalten kann. Meist sind die Zeilen relativ klein, so das man die Bilder nicht richtig erkennen kann.

      Ausserdem mag ich natürlich auch die kuratierten Auswahlen anderer Anbieter (tvspielfilm 🙂 ) mit Tagestipps oder Beste Filme etc.

      ich könnte noch ein widget mit den highlights machen, falls es hier noch ein paar Nachfrager dafür gibt. Allerdings ist mE die Auswahl recht simpel, da es immer nur die 2015 Sendungen der einzelnen Tage sind.

      Auf jeden Fall finde ich die Favoritenmarkierung praktisch und wenn nun noch die Suche über die Sendungsinfo kommt (zur Auswertung und Benachrichtigung), dann bin ich happy.

      Gruß und vielen Dank
      Pix

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

        @oliverio

        Wäre es vielleicht auch möglich in den Widgets eigene TV-Logos zu verwenden?

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

          @oli sagte in Test Adapter tvprogram:

          @oliverio

          Wäre es vielleicht auch möglich in den Widgets eigene TV-Logos zu verwenden?

          mit css-anweisungen geht das nach folgender anweisung
          https://css-tricks.com/replace-the-image-in-an-img-with-css/
          du müsstest für jede einzelnes logo eine eigene css-anweisung schreiben.

          der css-selector sieht so aus:

          #w00001 img.channel-logo[data-channelid="sat1"]
          

          habe es selbst noch nicht ausprobiert.

          OliverIO 1 Reply Last reply Reply Quote 0
          • OliverIO
            OliverIO @OliverIO last edited by

            Neue Version 1.1.0 auf beta/latest

            • Tooltips für die Schaltflächen im time-Widget
            • Das Such-widget durchsucht nun auch den Beschreibungstext, um auch Regisseure und Schauspieler zu finden.
            • showpictures-Option in Time, Control und Search-Widget
            • Dokumentation wurde verbessert und das Beispielskript von pix hinzugefügt.
            M 1 Reply Last reply Reply Quote 1
            • M
              MCU @OliverIO last edited by MCU

              @oliverio getFavoritesDatax findet kein 'heute-journal' , kann man da was einstellen?
              Andere werden gefunden: 'heute' oder 'heute Xpress'. Darf dort kein Bindestrich verwendet werden?

              let value = 'heute-journal'; // 'heute journal' wird auch nicht gefunden
              let nextArr = [];
                  sendTo("tvprogram.0","getFavoritesDatax",[value],(data)=>{
                              //console.log(data.length);
                              let anzNext=1;
                              for(let i=0;i<data.length;i++){
                                  //console.log(data[i].startTime+ ' ' + formatDate(data[i].startTime,'W') + ' '+ data[i].channelid);
                                  nextArr.push({'Nr':String(anzNext),'ZEIT':String(formatDate(data[i].startTime,'W hh:mm')),'KANAL':String(data[i].channelid),'TITEL':String(data[i].title)});
                                  if (i==9){
                                      setState('0_userdata.0.tvprogram.nextNewsJSON',JSON.stringify(nextArr));                    
                                      break;}
                                  anzNext++;
                              }
                  
                          }
                      );
              
              1 Reply Last reply Reply Quote 0
              • F
                Frank_y last edited by

                Habe den Adapter gerade zum ersten Mal installiert und in der Konfiguration einen TV hinzugefügt.
                In der vis werden mir allerdings keine neuen Widgets angeboten. Muss noch etwas installiert oder eingerichtet werden?

                OliverIO 1 Reply Last reply Reply Quote 0
                • OliverIO
                  OliverIO @Frank_y last edited by

                  @frank_y sagte in Test Adapter tvprogram:

                  Habe den Adapter gerade zum ersten Mal installiert und in der Konfiguration einen TV hinzugefügt.
                  In der vis werden mir allerdings keine neuen Widgets angeboten. Muss noch etwas installiert oder eingerichtet werden?

                  Hast du in das Suchfeld mal tvprogram eingegeben?

                  F 1 Reply Last reply Reply Quote 0
                  • F
                    Frank_y @OliverIO last edited by Frank_y

                    @oliverio
                    keine Widgets vorhanden (vis 1.4.3 mit iobroker/admin-Version 5.1.23 und tvprogam in 1.1.0)

                    0f24e38c-34ea-49a3-96f1-000025ae0da7-image.png

                    Instanz wird grün angezeigt
                    hier der Objektbaum (muss der so leer sein?)
                    85f04500-bc3b-4bed-88c1-971a6e82f505-image.png

                    OliverIO 1 Reply Last reply Reply Quote 0
                    • OliverIO
                      OliverIO @Frank_y last edited by

                      @frank_y sagte in Test Adapter tvprogram:

                      @oliverio
                      keine Widgets vorhanden (vis 1.4.3 mit iobroker/admin-Version 5.1.23 und tvprogam in 1.1.0)

                      0f24e38c-34ea-49a3-96f1-000025ae0da7-image.png

                      Instanz wird grün angezeigt
                      hier der Objektbaum (muss der so leer sein?)
                      85f04500-bc3b-4bed-88c1-971a6e82f505-image.png

                      Hast du den Adapter mal nochmal deinstalliert und neuinstalliert.
                      Werde zusätzlich auf einem Testsystem mal probieren.
                      Die datenpunkte sind ausreichend. Die Fernsehstars werden auf einem anderen Weg übertragen, da sich die datenpunkte für diese Datenmengen nicht eignen.
                      Ist in der Hilfe beschrieben.

                      F 1 Reply Last reply Reply Quote 0
                      • F
                        Frank_y @OliverIO last edited by

                        @oliverio
                        Neuinstallation hat keine Änderung bewirkt. Installation läuft auch ohne Fehler durch
                        Node.js in der v12.22.4 hatte ich vergessen (falls das relevant sein sollte)

                        OliverIO 1 Reply Last reply Reply Quote 0
                        • OliverIO
                          OliverIO @Frank_y last edited by

                          @frank_y sagte in Test Adapter tvprogram:

                          @oliverio
                          Neuinstallation hat keine Änderung bewirkt. Installation läuft auch ohne Fehler durch
                          Node.js in der v12.22.4 hatte ich vergessen (falls das relevant sein sollte)

                          Hallo,
                          auf dem Testsystem hat alles funktioniert.
                          widgets waren alle da.

                          Welchen Browser mit welcher Version nutzt du?
                          wie hast du installiert? von github oder aus dem Repository?

                          Evtl helfen folgende Punkte:

                          1. auf der Konsole im Verzeichnis von iobroker den folgenden Befehl ausführen
                          iobroker upload all
                          
                          1. Die Instanz von vis neu starten, bzw. stoppen und dann starten
                          2. Den Browser zwingen den Cache zu löschen

                          Windows:

                          Google Chrome: „STRG + F5“ oder „Umschalt + F5“
                          Mozilla Firefox: „STRG + F5“ oder „STRG + Umschalt + R“
                          Internet Explorer: „STRG + F5“
                          Safari: „STRG + R“
                          Mac:

                          Google Chrome: „Befehlstaste“ + R
                          Safari: „Befehlstaste“ + R
                          Mozilla Firefox: „Befehlstaste“ + R oder „Befehlstaste“ + Umschalt + R

                          F 1 Reply Last reply Reply Quote 0
                          • F
                            Frank_y @OliverIO last edited by

                            @oliverio
                            Ich habe leider unterschlagen, dass das System auf einer Proxmox VM läuft. Nach einem Neustart der VM sind die Widgets in vis verfügbar. Hätte ich auch eher drauf kommen können. Vielleicht sollte man das in der Installationsbeschreibung ergänzen (ich hoffe, das nicht überlesen zu habe). Vielen Dank für deine Mühe, ich probiere dann mal weiter aus.

                            bf88cb2a-1d29-4606-bd89-5668ed469104-image.png

                            OliverIO 1 Reply Last reply Reply Quote 0
                            • OliverIO
                              OliverIO @Frank_y last edited by OliverIO

                              @frank_y

                              im normalfall startet die installation mit einer abhängigkeit zu vis diesen automatisch neu. das passiert in seltenen fällen nicht. gilt aber für alle adapter mit widgets
                              ob der adapter nativ, im container oder in vm arbeitet ist eigentlich egal.

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

                                Neue Version 1.1.2
                                In dieser gab es Verbesserungen bzgl diverser Meldungen durch den js-controller. Diese dürfen nun alle verschwunden sein.

                                M 1 Reply Last reply Reply Quote 0
                                • M
                                  MCU @OliverIO last edited by MCU

                                  @oliverio Bekomme mit v1.1.2 folgende Fehlermeldung in Browserkonsole:

                                  8aafaae0-8063-4004-85fe-abaaf638a14b-image.png

                                  In Chrome (NUR) bekomme ich dann einen Fehler bzgl. jarvis, wenn ich ein iFrame mit der Link-Adresse auf das TV-Objekt habe, kann das was mit dem obigen Fehler zu tun haben?:
                                  5123a019-e01a-4d40-bbea-f8c823247889-image.png

                                  Wem kann ich das melden?

                                  824070c6-3661-4294-83a7-ff52085524d9-image.png

                                  OliverIO 1 Reply Last reply Reply Quote 0
                                  • OliverIO
                                    OliverIO @MCU last edited by

                                    @mcu sagte in Test Adapter tvprogram:

                                    Also für den ersten wäre ich zuständig. Da müsstest mir aber mal sagen unter welchen Umständen der Fehler genau kommt. tut etwas im tvprogram dann nicht?
                                    Ich kann mich erinnern, das wir mit der scrollposition mal probleme hatten, wenn es in einem iframe läuft, hatten das aber behoben.

                                    @oliverio Bekomme mit v1.1.2 folgende Fehlermeldung in Browserkonsole:

                                    8aafaae0-8063-4004-85fe-abaaf638a14b-image.png

                                    Was meinst du mit NUR?
                                    Der erste Fehler:
                                    Wenn man sich den Fehlerpfad anschaut, dann ist der Fehler in der connection Klasse von vis. Das ist aber eher ungewöhnlich, da dann noch viele andere ebenfalls ein problem hätten. Könnte aber auch daran liegen, das da was in einem iframe liegt. der Fehler sagt, das js nicht auf localStorage zugreifen darf.
                                    Das müsstest du mal als algemeinen vis/socketjs fehler im forum erneut posten
                                    Der 2.Fehler scheint auf
                                    den adapter materialdesign hinzudeuten. Da kenn ich mich nicht aus.

                                    In Chrome (NUR) bekomme ich dann einen Fehler bzgl. jarvis, wenn ich ein iFrame mit der Link-Adresse auf das TV-Objekt habe, kann das was mit dem obigen Fehler zu tun haben?:
                                    5123a019-e01a-4d40-bbea-f8c823247889-image.png

                                    Wem kann ich das melden?

                                    Das ist ebenfalls vis bzw. ein Fehler in irgendeinem Translation file. Da müsste man herausfinden, in welchem Adapter die fehlerhafte Translation sich befindet. Diese Fehlermeldung hat da aber zu wenige informationen dafür.

                                    824070c6-3661-4294-83a7-ff52085524d9-image.png

                                    M 1 Reply Last reply Reply Quote 0
                                    • M
                                      MCU @OliverIO last edited by MCU

                                      @oliverio

                                      tut etwas im tvprogram dann nicht?

                                      Also im Chrome wird dann das iFrame mit den drehenden Kreisen angezeigt. Ob diese NICHT-ANZEIGE aber mit diesem Fehler zu tun hat, kann ich nicht sagen.

                                      Bekomme diesen Fehler nur in Chrome, deswegen (NUR). Im edge und Firefox kann man das iFrame sehen und bearbeiten.

                                      Hatte gehofft, du könntest etwas Licht ins Dunkle bringen. Hast du ja auch schon mit der Info gemacht. Danke.
                                      Einfach das nächste UPdate abwarten.

                                      setScroll: function(widgetID) {
                                                  var el = $('#'+widgetID+' .scrollcontainer').get(0);
                                                  if (!el.scrollWidth) return; <- das merkert er an - Uncaught TypeError: Cannot read property 'scrollWidth' of undefined
                                                  el.scrollLeft = (this.scroll[widgetID].position*el.scrollWidth)-(el.clientWidth*this.measures[widgetID].markerpositionpercent);
                                              },
                                      

                                      Firefox:
                                      b617d6a1-7984-448e-b31a-6f4ec651147c-image.png

                                      OliverIO 2 Replies Last reply Reply Quote 0
                                      • OliverIO
                                        OliverIO @MCU last edited by

                                        @mcu
                                        kannst du mir genau dein Setting beschreiben, so das ich es mal hier nachvollziehen kann?

                                        M 1 Reply Last reply Reply Quote 0
                                        • M
                                          MCU @OliverIO last edited by

                                          @oliverio
                                          In VIS:
                                          d04bdd34-4289-4ef1-a8b7-20c24833ab50-image.png

                                          In Jarvis
                                          e3d2abde-b085-4bff-96ff-40ad6bf3033f-image.png
                                          11207845-5e9a-4e0a-96ed-0a0d8bd6e4c9-image.png

                                          Brauchst du noch mehr Infos?

                                          OliverIO 1 Reply Last reply Reply Quote 0
                                          • OliverIO
                                            OliverIO @MCU last edited by

                                            @mcu sagte in Test Adapter tvprogram:

                                            @oliverio

                                            tut etwas im tvprogram dann nicht?

                                            Also im Chrome wird dann das iFrame mit den drehenden Kreisen angezeigt. Ob diese NICHT-ANZEIGE aber mit diesem Fehler zu tun hat, kann ich nicht sagen.

                                            Bekomme diesen Fehler nur in Chrome, deswegen (NUR). Im edge und Firefox kann man das iFrame sehen und bearbeiten.

                                            Hatte gehofft, du könntest etwas Licht ins Dunkle bringen. Hast du ja auch schon mit der Info gemacht. Danke.
                                            Einfach das nächste UPdate abwarten.

                                            setScroll: function(widgetID) {
                                                        var el = $('#'+widgetID+' .scrollcontainer').get(0);
                                                        if (!el.scrollWidth) return; <- das merkert er an - Uncaught TypeError: Cannot read property 'scrollWidth' of undefined
                                                        el.scrollLeft = (this.scroll[widgetID].position*el.scrollWidth)-(el.clientWidth*this.measures[widgetID].markerpositionpercent);
                                                    },
                                            

                                            Firefox:
                                            b617d6a1-7984-448e-b31a-6f4ec651147c-image.png

                                            ja das hatte ich mir schon angeschaut.
                                            er meckert das an, weil el wahrscheinlich null ist.
                                            warum ist el null? weil in zeile 2 nach dem widget und der klasse scrollcontainer gesucht wird.
                                            da er das nicht findet, wurde das html layout überhaupt nicht gemacht oder der aktuelle js code kann da nicht darauf zugreifen.

                                            daher muss ich das nachstellen können um das Problem einzukreisen.

                                            M OliverIO 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            744
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter tvprogram vis widget
                                            51
                                            911
                                            189376
                                            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