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

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Test Adapter tvprogram

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      MartyBr @Latzi last edited by

      @latzi Wie oben gesagt, der Adapter muss auf dem Host laufen, wo auch VIS läuft.

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

        ... und daran kann man nicht rütteln?

        M 1 Reply Last reply Reply Quote 0
        • M
          MartyBr @Latzi last edited by

          @latzi Ich habe es auch gerade probiert, leider mit negativem Ergebnis.
          Eine Erklärung ist, das TVProgramm Widgets für VIS mitbringt. Daher muss der Adapter auf dem Host mit VIS installiert werden. Ich habe dann heute Morgen probiert, die INSTANZ auf meinem Slave zu starten, leider negativ.
          Ich lasse ihn jetzt auf meinem Master laufen, das ist für mich Okay.

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

            @martybr
            Ich selbst habe keine multihost Installation.
            Die Abhängigkeit zu vis ist wegen den Widgets drin, so das nach Aktualisierung intern durch Iobroker der Upload zu vis mit anschließendem restart von vis durchgeführt wird.
            Die Kommunikation zwischen Widgets und Adapter wird hier aufgrund der Datenmenge nicht klassisch über datenpunkte, sondern über die sendto Funktionalität durchgeführt.

            Da müsste man mal die Spezialisten von Iobroker fragen, wie das Design technisch beim vorgestellten Szenario möglich wäre.
            Wahrscheinlich müsste man den Adapter aufteilen in Widgets und backend.

            @Latzi
            Was sind die konkreten Sicherheitsgründe, die dich zur Verlagerung auf den Slave bewogen haben?

            da_Woody M Latzi 3 Replies Last reply Reply Quote 0
            • da_Woody
              da_Woody @OliverIO last edited by

              @oliverio said in Test Adapter tvprogram:

              Was sind die konkreten Sicherheitsgründe

              ich denk mal, da gehts nicht um sicherheit, sondern um lastverteilung...
              finde ich trotzdem seltsam. normal installiert man den adapter auf dem host, lässt aber die instanz auf dem slave laufen.
              ich hatte mal multihost und einige instanzen sind dort problemlos gelaufen...
              sollte ich da für verwirrung gesorgt haben, sorry...

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

                @oliverio
                Alles gut, der Adapter läuft auf dem Master, wo auch VIS läuft. Das hat dein Adapter auch mit allen anderen, die auch Widgets mitbringen gemeinsam. Ich habe die Instanz testweise auf dem Slave verlagert, um die Aussage von @da_Woody testen zu können. Die Hoffnung hat sich leider nicht erfüllt.

                Ich kann mit der Situation gut leben. IoBroker läuft bei mir als VM, so kann ich der VM einfach mehr Speicher zuordnen und es funzt.
                Vielen Dank nochmal für die wahnsinnig schnelle Entwicklung. Am Anfang kam ich ja mit den Updates nicht nach 😇

                Gruß
                Martin

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

                  Danke.
                  ich stehe auch für weitere Features noch offen.
                  Weitere Sender sind leider etwas aufwändiger und ich bin mir noch nicht im klaren, welche Lösung ich da anstrebe.

                  Um hier mal alle zu informieren, evtl. ergibt sich ja aus einer Diskussion eine einfachere Lösung.

                  es gibt ein Projekt, welches relativ viele Quellanbieter aus verschiedenen Ländern mit ziemlich vielen Sendern abdeckt

                  https://github.com/sunsettrack4/easyepg und
                  https://telerising.de/index.php/sample-page/easyepg/

                  dies wurde in Perl programmiert. Über einen (nicht so schöne) Konfigurationsmechanismus, können Provider und Sender ausgewählt werden, welche dann als XML-Datei (da gibt es wohl einen Jahre alten Quasi-Standard für EPG-Informationen namens XMLTV) ausgegeben wird.

                  Um die Installation zu vereinfachen und von seinen normalen Systemen das abzukapseln, gibt es auch einen docker-container. der in verschiedenen modi gestartet und betrieben werden kann:
                  https://github.com/dlueth/easyepg.minimal

                  Einen JSON-Parser dafür gibt es ebenfalls
                  https://www.npmjs.com/package/epg-parser

                  Man müsste für die vorhanden Widgets die komplette Datenbasis anpassen, was an sich kein Problem ist, aber am besten nur im Rahmen eines neuen Adapters tvprogram2 zu entwickeln wäre.

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

                    @oliverio sagte in Test Adapter tvprogram:

                    Was sind die konkreten Sicherheitsgründe, die dich zur Verlagerung auf den Slave bewogen haben?

                    Keine Sicherheitsgründe sondern Leistungsgründe, mein Raspi schafft es einfach nicht mehr 😞
                    Darum einen zweiten baugleichen Raspi als slave dazu und einige "hungrige" Adapter dort hin verschoben. Leider reicht das noch nicht 😞 😞
                    Muss wohl noch ein wenig warten, bis Cern oder NASA seinen Großrechner ausmustert :-;
                    Schade, hätte ich gerne gehabt.

                    @da_woody sagte in Test Adapter tvprogram:

                    ich denk mal, da gehts nicht um sicherheit, sondern um lastverteilung...

                    so ist es!

                    @martybr sagte in Test Adapter tvprogram:

                    Das hat dein Adapter auch mit allen anderen, die auch Widgets mitbringen gemeinsam.

                    nicht ganz, z.B. corona-Adapter konnte ich problemlos verschieben (der auch ein widget mitbringt). @OliverIO hat´s aber beschrieben (sendto) warum´s nicht geht.

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

                      @oliverio said in Test Adapter tvprogram:

                      es gibt ein Projekt, welches relativ viele Quellanbieter aus verschiedenen Ländern mit ziemlich vielen Sendern abdeckt

                      Wäre natürlich cool, eine relativ große Senderauswahl zu haben. Die Frage ist wie groß oder kompliziert ist der zusätzliche Aufwand für einen Ottonormal-User wie mich, die zusätzlichen Tools oder Docker zu installieren und zu konfigurieren.

                      1 Reply Last reply Reply Quote 0
                      • M
                        McOnno last edited by

                        Hallo @OliverIO, ich war schon lange nicht mehr hier, gibt es was Neues? Momentan habe ich die V 0.32 am laufen, alles klappt, wie es soll. Aber man weiss ja, neue Version, neue Features...

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

                          @mconno said in Test Adapter tvprogram:

                          Hallo @OliverIO, ich war schon lange nicht mehr hier, gibt es was Neues? Momentan habe ich die V 0.32 am laufen, alles klappt, wie es soll. Aber man weiss ja, neue Version, neue Features...

                          ne bisher nicht. v0.32 ist die aktuellste Version.
                          Sonst keine weiteren Anforderungen mehr. bis
                          auf "Mehr Sender".

                          Dazu hab ich ja bereits geschrieben.
                          Allerdings steht die Menge Aufwand nicht im Verhältnis zu der Menge "ich will das haben". Muss das auch noch ein wenig wirken lassen. Wahrscheinlich ist das erst wieder ein Projekt für den nächsten Winter.

                          Sonstige Anforderungen immer gerne, wenn noch was fehlt.
                          Auf die Todo-Liste kann man immer noch was schreiben.

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

                            @oliverio Ich finde deinen TVProgramm Adapter super.
                            Er deckt alles ab, was ich brauche. Außerdem läuft alles ohne Probleme. Ich für meinen Teil benötige nicht noch mehr Kanäle.
                            Hab vielen Dank

                            1 Reply Last reply Reply Quote 1
                            • Bass-T
                              Bass-T last edited by

                              Hallo Zusammen,

                              ich teste den Adapter auch gerade - erfolgreich 🙂
                              Trotzdem hätte ich einen ersten Wunsch:

                              Da ich 2 "TV" nutze wäre es schön, wenn ich die mit einer "Globalen Timeline" bedienen könnte.
                              Wenn ich dann auf "Play" drücke, sollte er mich dann Fragen, auf welchem TV ich starten möchte.

                              Vielen Dank
                              Bass-T

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

                                @oliverio

                                habe folgenden Link im Kodiforum gefunden, anscheinend gibt es von hoerzu etwas, wo ein json ausgespuckt wird, kenne mich dazu aber zu wenig aus.

                                Vielleicht lässt sich sowas ja einfacher integrieren

                                http://mobile.hoerzu.de/programbystation?data={"channels":[71,37,38,39,40,41,42,44,277,58,56,43,46,47,51],"date":1573383600}

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

                                  @oli sagte in Test Adapter tvprogram:

                                  http://mobile.hoerzu.de/programbystation?data={"channels":[71,37,38,39,40,41,42,44,277,58,56,43,46,47,51],"date":1573383600}

                                  hörzu liefert zwar ein paar daten als json aus.
                                  die interessanten aber nur als html

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

                                    @oliverio

                                    also mir würden die Infos für die 5 oder 6 fehlenden Programme reichen, kann aber nicht abschätzen wie groß der Aufwand für dich wäre dies zu integrieren

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

                                      @bass-t sagte in Test Adapter tvprogram:

                                      Hallo Zusammen,

                                      ich teste den Adapter auch gerade - erfolgreich 🙂
                                      Trotzdem hätte ich einen ersten Wunsch:

                                      Da ich 2 "TV" nutze wäre es schön, wenn ich die mit einer "Globalen Timeline" bedienen könnte.
                                      Wenn ich dann auf "Play" drücke, sollte er mich dann Fragen, auf welchem TV ich starten möchte.

                                      Vielen Dank
                                      Bass-T

                                      Welches Play meinst du? So ein richtiges Play hab ich ja nirgends.
                                      Meinst du den Kanalumschalter wenn man auf das Senderlogo drückt?
                                      Diese Funktion schreibt in einen Datenpunkt den aktuell gewählten Kanal. Wie das TV dann konkret angesteuert werden soll, muss man ja herstellerspezifisch in einem Skript umsetzen. Wenn man mehrere Fernseher ansteuern will, dann würde ich in diesem Fall separate Knöpfe (Radio-Buttons) empfehlen, bei der man vorher wählt, ob TV1 oder TV2 gemeint ist.

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

                                        @oli sagte in Test Adapter tvprogram:

                                        @oliverio

                                        also mir würden die Infos für die 5 oder 6 fehlenden Programme reichen, kann aber nicht abschätzen wie groß der Aufwand für dich wäre dies zu integrieren

                                        Ob ein Kanal oder alle ist der gleiche Aufwand, wenn man eine neue Datenquelle einbindet. Bei HTML kommt noch dazu, das da die Datenlage oft nicht sehr stabil ist. Sobald die Datenquelle was am Layout dreht, funktioniert es uU schon nicht mehr.

                                        1 Reply Last reply Reply Quote 0
                                        • Bass-T
                                          Bass-T last edited by

                                          @oliverio sagte in Test Adapter tvprogram:

                                          Welches Play meinst du? So ein richtiges Play hab ich ja nirgends.
                                          Meinst du den Kanalumschalter wenn man auf das Senderlogo drückt?
                                          Diese Funktion schreibt in einen Datenpunkt den aktuell gewählten Kanal. Wie das TV dann konkret angesteuert werden soll, muss man ja herstellerspezifisch in einem Skript umsetzen. Wenn man mehrere Fernseher ansteuern will, dann würde ich in diesem Fall separate Knöpfe (Radio-Buttons) empfehlen, bei der man vorher wählt, ob TV1 oder TV2 gemeint ist.

                                          Screenshot_20210318-074215_Fully Kiosk Browser.jpg
                                          Richtig, ich meine den "Kanalumschalter".
                                          Dass ich dann mit eigenem script Umschalte ist mir bewusst. Wäre auch super umzusetzen.
                                          Wie kann ich denn aber durch den Aktualisierten Datenpunkt ein Popup öffnen? - oder wie meinst du das mit "separate" Knöpfe genau?

                                          Grüße

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

                                            @bass-t sagte in Test Adapter tvprogram:

                                            @oliverio sagte in Test Adapter tvprogram:

                                            Welches Play meinst du? So ein richtiges Play hab ich ja nirgends.
                                            Meinst du den Kanalumschalter wenn man auf das Senderlogo drückt?
                                            Diese Funktion schreibt in einen Datenpunkt den aktuell gewählten Kanal. Wie das TV dann konkret angesteuert werden soll, muss man ja herstellerspezifisch in einem Skript umsetzen. Wenn man mehrere Fernseher ansteuern will, dann würde ich in diesem Fall separate Knöpfe (Radio-Buttons) empfehlen, bei der man vorher wählt, ob TV1 oder TV2 gemeint ist.

                                            Screenshot_20210318-074215_Fully Kiosk Browser.jpg
                                            Richtig, ich meine den "Kanalumschalter".
                                            Dass ich dann mit eigenem script Umschalte ist mir bewusst. Wäre auch super umzusetzen.
                                            Wie kann ich denn aber durch den Aktualisierten Datenpunkt ein Popup öffnen? - oder wie meinst du das mit "separate" Knöpfe genau?

                                            Grüße

                                            Importiere mal den View und das folgende Skript.
                                            Stelle das Skript auf debug und verbose (oben rechts im Skript)
                                            Lege einen Datenpunkt "0_userdata.0.TV" mit Datentyp Text an

                                            wähle am Knopf über dem tvprogram widget einen fernseher
                                            drücke dann auf ein kanallogo
                                            dann wird in der Debugausgabe des Skripts so etwas wie folgt erscheinen

                                            Schalte meinen Fernseher TV1 auf Programm pro7

                                            an diesen stellen wo jetzt die console-ausgabe drin steht musst du dann die Anweisungen eintragen um deinen Fernseher anzusteuern.

                                            add5c6dc-4fb3-467d-8ff5-687b939ee251-image.png

                                            View

                                            {
                                             "settings": {
                                               "style": {
                                                 "background_class": ""
                                               },
                                               "theme": "redmond",
                                               "sizex": "",
                                               "sizey": "",
                                               "gridSize": "",
                                               "snapType": null
                                             },
                                             "widgets": {
                                               "e00001": {
                                                 "tpl": "tpltvprogramtime1",
                                                 "data": {
                                                   "g_fixed": false,
                                                   "g_visibility": false,
                                                   "g_css_font_text": false,
                                                   "g_css_background": false,
                                                   "g_css_shadow_padding": false,
                                                   "g_css_border": false,
                                                   "g_gestures": false,
                                                   "g_signals": false,
                                                   "g_last_change": false,
                                                   "visibility-cond": "==",
                                                   "visibility-val": 1,
                                                   "visibility-groups-action": "hide",
                                                   "headerfontpercent": "125",
                                                   "broadcastfontpercent": "75",
                                                   "highlightcolor": "yellow",
                                                   "markerpositionpercent": "25",
                                                   "dialogwidthpercent": "90",
                                                   "dialogheightpercent": "90",
                                                   "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,
                                                   "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,
                                                   "tvprogram_oid": "tvprogram.0.tv1.cmd"
                                                 },
                                                 "style": {
                                                   "left": "116px",
                                                   "top": "132px",
                                                   "width": "1031px",
                                                   "height": "307px"
                                                 },
                                                 "widgetSet": "tvprogram"
                                               },
                                               "e00002": {
                                                 "tpl": "tplJquiRadioList",
                                                 "data": {
                                                   "oid": "0_userdata.0.TV",
                                                   "g_fixed": false,
                                                   "g_visibility": false,
                                                   "g_css_font_text": false,
                                                   "g_css_background": false,
                                                   "g_css_shadow_padding": false,
                                                   "g_css_border": false,
                                                   "g_gestures": false,
                                                   "g_signals": false,
                                                   "g_last_change": false,
                                                   "visibility-cond": "==",
                                                   "visibility-val": 1,
                                                   "visibility-groups-action": "hide",
                                                   "values": "TV1;TV2",
                                                   "texts": "TV1;TV2",
                                                   "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,
                                                   "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": "117px",
                                                   "top": "87px"
                                                 },
                                                 "widgetSet": "jqui"
                                               }
                                             },
                                             "name": "TVZweiSelect",
                                             "filterList": []
                                            }
                                            

                                            Skript

                                            var selectChannelDP = "tvprogram.0.tv1.selectchannel";
                                            var selectTVDP = "0_userdata.0.TV";
                                            
                                            on(selectChannelDP, function (obj) {
                                                var tv = getState(selectTVDP).val;
                                                if (tv=="TV1") {
                                                    console.log("Schalte meinen Fernseher "+tv+" auf Programm "+obj.state.val);
                                                }
                                                if (tv=="TV2") {
                                                    console.log("Schalte meinen Fernseher "+tv+" auf Programm "+obj.state.val);
                                                }
                                            });
                                            
                                            
                                            OliverIO Bass-T 2 Replies Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            792
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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