Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. lgtv Adapter zur Steuerung von LG WebOS SmartTVs

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    lgtv Adapter zur Steuerung von LG WebOS SmartTVs

    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      hobbyquaker last edited by

      Hab grade gesehn dass du das per polling abfragst. Würde ich von abraten, ist dank der subscribe Methode der lgtv2 lib nicht notwendig.

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

        @SchuetzeSchulz: sieht aus als wenn du wieder Zeit hättest 😉 😄

        http://forum.iobroker.net/viewtopic.php … =20#p68415

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

          Ja hab ich, aber dauert noch etwas. Ist nicht "mal eben" gemacht 🙂

          Muss mich erstmal in die Libs für die alten TVs einlesen.

          Aber keine Sorge, vergessen habe ich das nicht 🙂 Ist sogar schon im Trello drin.

          1 Reply Last reply Reply Quote 0
          • L
            LaGra last edited by

            Servus

            Ich wollte mal kurz anfragen, ob man das ganze auch via Alexa steuern kann?

            Bin hier irgendwie schon seid geraumer Zeit erfolglos am basteln.

            Wollte etwas wie "Alexa, schalte auf HDMI1"

            MfG Lagra

            1 Reply Last reply Reply Quote 0
            • P
              pix last edited by

              Hallo,

              du kannst das Kommando umformulieren in

              "Alexa, schalte HDMI1 ein" oder "Alexa, schalte Eingang1 ein"

              und dann in den Cloud-Adapter Einstellungen ein Smartgerät zufügen, das den Datenpunkt````
              lgtv.0.input

              
              Vielleicht verwendest du auch gleich eine Szene, um auch noch andere Kommandos zuzufügen.
              
              Gruß
              
              Pix
              1 Reply Last reply Reply Quote 0
              • L
                LaGra last edited by

                Hallo pi.

                Genau so habe ich es ja versucht. Aber es geht nicht.

                Alexa schaltet nicht um.

                Ich kann aber momentan auch nicht schreibe wie ich will, da ich hier in der Tapatalk App rumtümpel.

                Ich habe mein Passwort neu angefordert aber es kommt nix.

                Keine Ahnung, warum Tapatalk läuft?

                Sollte dies ein Admin lesen….. seid so nett und schaut mal wieso ich keine Mail für ein neues Passwort bekomme.

                Gesendet von meinem SM-G935F mit Tapatalk

                1 Reply Last reply Reply Quote 0
                • V
                  VANTOM last edited by

                  Wie kann ich in blocky die eingänge schalten?

                  1 Reply Last reply Reply Quote 0
                  • V
                    VANTOM last edited by

                    oder könnte mir bitte einer ein script zeigen in dem der LG TV eingeschaltet wird und dann auf den jeweilig gewählten Eingang springt… hab schon probiert aber es geht nichts... werde mich wohl in java weiter rein arbeiten müssen... ein Beispiel wär echt super...

                    1 Reply Last reply Reply Quote 0
                    • L
                      LaGra last edited by

                      An die Frage hänge ich mich mal ran. Würde mich auch interessieren.

                      LG scheint nicht verbreitet zu sein in der iobroker Gemeinde :lol:

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

                        Einschalten geht leider nicht. Das gibt die API nicht her.

                        Zumindest habe ich diesbezüglich in der LG WebOS API nichts gefunden 😞

                        1 Reply Last reply Reply Quote 0
                        • H
                          hobbyquaker last edited by

                          Über das API geht das nicht, wenn der Fernseher aus ist ist der Smart Dienst inaktiv und es steht kein API zur Verfügung. Bei den meisten WebOS TVs geht es aber über WOL, falls das vom Fernseher nicht unterstützt wird bleibt nur der Workaround via Infrarot.

                          1 Reply Last reply Reply Quote 0
                          • L
                            LaGra last edited by

                            Mir persönlich geht es mehr um eingänge von lg.0.input.

                            Eingeschalten wird der TV ohnehin per broadlink.

                            1 Reply Last reply Reply Quote 0
                            • L
                              LaGra last edited by

                              Hallo nochmals.

                              Ich habe die letzten beiden Tage damit verbracht ein wenig zu tüfteln. Nun ist es mir gelungen

                              lg.0.input per Script zu setzten und zu starten.

                              
                              on({id: 'javascript.0.scriptEnabled.Kanäle_TV.HDMI_Steamlink', change: "ne"}, function (obj) {
                                var value = obj.state.val;
                                var oldValue = obj.oldState.val;
                                if (getState("javascript.0.scriptEnabled.Kanäle_TV.HDMI_Steamlink").val === false) {
                                  setState( "lgtv.0.input"/*Select input source*/,'HDMI_1',on);
                                }
                              });
                              
                              

                              Allerdings ist dieser Code mangels meiner Kompetenz in Javascript doch recht unsauber und wirft eine Warnung in den Log

                              "javascript-0 2017-11-23 08:10:19.474 warn State "undefined" not found"

                              Kann mir hier jemand mit mehr Erfahrung bitte helfen?

                              1 Reply Last reply Reply Quote 0
                              • P
                                pix last edited by

                                Hallo,
                                @LaGra:

                                Hallo nochmals.

                                Ich habe die letzten beiden Tage damit verbracht ein wenig zu tüfteln. Nun ist es mir gelungen

                                lg.0.input per Script zu setzten und zu starten.

                                 
                                 
                                on({id: 'javascript.0.scriptEnabled.Kanäle_TV.HDMI_Steamlink', change: "ne"}, function (obj) {
                                  var value = obj.state.val;
                                  var oldValue = obj.oldState.val;
                                  if (getState("javascript.0.scriptEnabled.Kanäle_TV.HDMI_Steamlink").val === false) {
                                    setState( "lgtv.0.input"/*Select input source*/,'HDMI_1',on);
                                  }
                                });
                                
                                

                                Allerdings ist dieser Code mangels meiner Kompetenz in Javascript doch recht unsauber und wirft eine Warnung in den Log

                                "javascript-0 2017-11-23 08:10:19.474 warn State "undefined" not found"

                                Kann mir hier jemand mit mehr Erfahrung bitte helfen? `
                                mir ist nicht klar, wie du detektierst, ob der Fernseher eingeschaltet wurde.

                                Dein Skript reagiert auf die (De-)Aktivierung des Skriptes javascript.0.scriptEnabled.Kanäle_TV.HDMI_Steamlink, das hakt ziemlich.

                                Du musst dir klar machen, dass du die Skripte nicht aktivieren oder deaktivieren musst. Sie laufen immer. Innerhalb der Skripte gibt es Funktionion (on() oder schedule), die zB einzelne Datenpunkte überwachen und einen Code ausführen, sobald eine definierte Änderung eintritt oder eine Zeit erreicht wird (schedule()).

                                Ich schalte meinen TV per harmony-hub ein. So könnte ich dort auf einen Datenpunkt horchen und dann etwas zeitversetzt (bis der TV tatsächlich an ist) einen Befehl zum Kanalwechsel senden. Wie genau schaltest du deinen Fernseher ein?

                                Pix

                                1 Reply Last reply Reply Quote 0
                                • L
                                  LaGra last edited by

                                  Via Broadlink wird der TV eingeschalten.

                                  1 Reply Last reply Reply Quote 0
                                  • L
                                    LaGra last edited by

                                    Hallo Pix.

                                    Mir geht es nicht darum den LG Fernseher einzuschalten. Dies erledigt mein Broadlink via IR.

                                    Ich versuche im laufenden Betrieb des TV diesen auf zB.: HDMI 1 umzuschalten.

                                    on({id: 'javascript.0.scriptEnabled.Kanäle_TV.HDMI_Steamlink', change: "ne"}, function (obj) {
                                      var value = obj.state.val;
                                      var oldValue = obj.oldState.val;
                                      if (getState("javascript.0.scriptEnabled.Kanäle_TV.HDMI_Steamlink").val === false) {
                                        setState( "lgtv.0.input"/*Select input source*/,'HDMI_1',on);
                                      }
                                    });
                                    

                                    oder auch

                                    on({id: 'javascript.0.scriptEnabled.Kanäle_TV.HDMI_Steamlink', change: "ne"}, function (obj) {
                                      var value = obj.state.val;
                                      var oldValue = obj.oldState.val;  {
                                        setState( "lgtv.0.input",'HDMI_1' );
                                      }
                                    });
                                    

                                    Tun dies mit zB.: Alexa, schalte Steamlink ein.

                                    Der Script wird erkannt und der TV schaltet auch auf HDMI1 um.

                                    Nur leider etwas unsauber, da er eine Fehlermeldung in den Log schreibt.

                                    ` > javascript.0 2017-11-24 08:59:10.498 info Start javascript script.js.Kanäle_TV.HDMI_Steamlink

                                    javascript.0 2017-11-24 08:59:10.491 warn at Object. (script.js.Fernseher.Steamlink:4:5)

                                    javascript.0 2017-11-24 08:59:10.473 warn Wrong type of lgtv.0.input: "string". Please fix, while deprecated and will not work in next versions. `

                                    Ich wollte später auch HDMI2 und HDMI3 jeweils durch einen eigenen Script mit Alexa steuerbar machen. So das ich meine

                                    PS4 und Kodibox nutzen kann.

                                    Ich habe keine Erfahrung mit Javascript und bin daher froh, dass ich es bis hierher schon geschafft habe. Allerdings nervt mich diese Fehlermeldung.

                                    Wie kann ich die umgehen? Ein Scriptbeispiel wäre echt nett, da ich sonst wirklich nur Bahnhof verstehe, wenn die ITler mit

                                    ihren Texten um die Ecke kommen.

                                    MfG LaGra

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

                                      –> javascript.0 2017-11-24 08:59:10.473 warn Wrong type of lgtv.0.input: "string". Please fix, while deprecated and will not work in next versions.

                                      Hallo zusammen,

                                      ....hatte die gleiche Fehlermeldung auch mal.

                                      Bei mir lag die Ursache darin begründet, dass ich wegen des ganzen verzweifelten rumprobierens (beschäftige mich erst seit gestern mit dem Thema und habe nur grosse Augen, was hier alles geleistet wird...) in den "Objekten" unter "lgtv.0.input" den Typ des Wertes auf Zahl gesetzt hatte.

                                      Als ich dann dort den Typ auf "Zeichenkette" geändert hatte (also String) ging es.

                                      Aber darf ich bei der Gelegenheit noch eine Frage stellen ?

                                      Ich hatte auch ein wenig mit openHAB runprobiert.

                                      Dort gab es ein "Binding", welches es erlaubte die Lautstärke direkt einzutragen (also gleich den Wert 30 z.B.) und es gibt im Gegenzug die Möglichkeit eines ChannelDown und eines ChannelUp.

                                      Besteht hier in ioBroker ebenfalls dies Möglichkeit dies so zu nutzen ?

                                      https://github.com/sprehn/openhab2-addo … /README.md

                                      ..leider ist openHAB in meinen Augen für mich keine Alternative zu ioBroker.

                                      Und falls dies nicht geht, besteht hier irgendwie die Möglichkeit eines "Featurerequests" ?

                                      Nicht falsch verstehen, bitte, bitte. Das wäre nur das i-Tüpfelchen auf dem ganzen.

                                      Zur Not ist es für mich auch nicht zu viel verlangt, wenn ich versuche openHAB für den Fernseher zu verwenden und für den Rest ioBroker 🙂

                                      Herzlichen Dank und…... Ihr seid Klasse !!

                                      Grüße

                                      gBonfire

                                      1 Reply Last reply Reply Quote 0
                                      • L
                                        LaGra last edited by

                                        Hallo gBonfire.

                                        Hättest du eventuell mal ein Codebeispiel für mich?

                                        Edit.

                                        Hat sich erledigt….. hab's geschnallt. Im Objekt.

                                        Danke

                                        1 Reply Last reply Reply Quote 0
                                        • P
                                          pix last edited by

                                          @LaGra:

                                          Hallo Pix.

                                          Mir geht es nicht darum den LG Fernseher einzuschalten. Dies erledigt mein Broadlink via IR.

                                          Ich versuche im laufenden Betrieb des TV diesen auf zB.: HDMI 1 umzuschalten.

                                          on({id: 'javascript.0.scriptEnabled.Kanäle_TV.HDMI_Steamlink', change: "ne"}, function (obj) {
                                            var value = obj.state.val;
                                            var oldValue = obj.oldState.val;
                                            if (getState("javascript.0.scriptEnabled.Kanäle_TV.HDMI_Steamlink").val === false) {
                                              setState( "lgtv.0.input"/*Select input source*/,'HDMI_1',on);
                                            }
                                          });
                                          

                                          oder auch

                                          on({id: 'javascript.0.scriptEnabled.Kanäle_TV.HDMI_Steamlink', change: "ne"}, function (obj) {
                                            var value = obj.state.val;
                                            var oldValue = obj.oldState.val;  {
                                              setState( "lgtv.0.input",'HDMI_1' );
                                            }
                                          });
                                          

                                          Tun dies mit zB.: Alexa, schalte Steamlink ein.

                                          Der Script wird erkannt und der TV schaltet auch auf HDMI1 um.

                                          Nur leider etwas unsauber, da er eine Fehlermeldung in den Log schreibt.

                                          ` > javascript.0 2017-11-24 08:59:10.498 info Start javascript script.js.Kanäle_TV.HDMI_Steamlink

                                          javascript.0 2017-11-24 08:59:10.491 warn at Object. (script.js.Fernseher.Steamlink:4:5)

                                          javascript.0 2017-11-24 08:59:10.473 warn Wrong type of lgtv.0.input: "string". Please fix, while deprecated and will not work in next versions. `

                                          Ich wollte später auch HDMI2 und HDMI3 jeweils durch einen eigenen Script mit Alexa steuerbar machen. So das ich meine

                                          PS4 und Kodibox nutzen kann.

                                          Ich habe keine Erfahrung mit Javascript und bin daher froh, dass ich es bis hierher schon geschafft habe. Allerdings nervt mich diese Fehlermeldung.

                                          Wie kann ich die umgehen? Ein Scriptbeispiel wäre echt nett, da ich sonst wirklich nur Bahnhof verstehe, wenn die ITler mit

                                          ihren Texten um die Ecke kommen.

                                          MfG LaGra `

                                          Kannst du bitte das gesamte Skript posten, das den Fehler verursacht? Im Log steht, das Zeile 4 ab Zeichen 5 ein Problem macht.

                                          Die Zeile darunter sagt, dass der Datenpunkt mit einer Zeichenkette gefüllt wird. Das ist aber falsch. Ich vermute, es muss eine Zahl rein. Ich vermute 0 für HDMI1, 1 für HDMI 2 usw.

                                          Mit Steam Link kenne ich mich nicht aus. Gibt es einen Adapter, der das Signal schickt?

                                          Das zweite Code-Beispiel im zitierten Post hat ja auch einen Fehler: Da sind geschweifte Klammern, aber es gibt keine IF-Abfrage. Die davor stattfinden Zuweisung der Variablen ist auch nicht nötig, da diese Variablen nicht weiter verwendet werden.

                                          Sehe ich das richtig? Deine Alexa-Anbindung schaltet das ganze Skript javascript.0.scriptEnabled.Kanäle_TV.HDMI_Steamlink ein?

                                          Ich würde für jeden HDMI Kanal ein Boolean-Objekt anlegen und das als Smartobjekt mit Alexa verbinden

                                          const delay = 3; // Verzögerung in s bis zu Rückstellung der Objekte auf false
                                          
                                          const idHDMI1 = 'javascript.0.Kanäle_TV.HDMI1';
                                          const idHDMI2 = 'javascript.0.Kanäle_TV.HDMI2';
                                          const idHDMI3 = 'javascript.0.Kanäle_TV.HDMI3';
                                          const idKanal = "lgtv.0.input"/*Select input source*/;
                                          
                                          createStates(idHDMI1, false, {
                                             name: 'HDMI 1',
                                             type: boolean,
                                             role: 'switch',
                                             smartName:	{
                                                 de: 'Eingang eins'
                                              }
                                          };
                                          createStates(idHDMI2, false, {
                                             name: 'HDMI 2',
                                             type: boolean,
                                             role: 'switch',
                                             smartName:	{
                                                 de: 'Eingang zwei'
                                              }
                                          };
                                          createStates(idHDMI3, false, {
                                             name: 'HDMI 3',
                                             type: boolean,
                                             role: 'switch',
                                             smartName:	{
                                                 de: 'Eingang drei'
                                              }
                                          };
                                          
                                          on(idHDMI1, function(obj) {
                                              if (obj.state.val) setState(idKanal, 0);
                                              setStateDelayed(idHDMI1, false, delay * 1000);
                                          });
                                          on(idHDMI2, function(obj) {
                                              if (obj.state.val) setState(idKanal, 1);
                                              setStateDelayed(idHDMI2, false, delay * 1000);
                                          });
                                          on(idHDMI3, function(obj) {
                                              if (obj.state.val) setState(idKanal, 2);
                                              setStateDelayed(idHDMI3, false, delay * 1000);
                                          });
                                          
                                          

                                          Das Skript setzt voraus, dass lgtv.0.input auf Zahlen wartet. Das Skript legt automatisch Smartnames an. Also nur Alexa Smarthome Geräte aktualisieren. Danach sollte "Alexa, schalte Eingang eins ein" auf HDMI1 schalten, usw.

                                          Nach dem Aufruf durch Alexa wird das Objekt auf true gesetzt und dadurch im Skript die entsprechende Funktion ausgelöst (1,2 oder 3). Darin wird dann der passende Befehl zum Schalten des TV abgesetzt (setState()). Damit Alexa später mal wieder auf diesen Eingang schalten kann (true), muss dieser wieder auf false zurückgesetzt werden. Das passiert dann zweitversetzt nach delay Sekunden.

                                          Bitte um Feedback!

                                          Pix

                                          1 Reply Last reply Reply Quote 0
                                          • L
                                            LaGra last edited by

                                            Hallo Pix.

                                            Hat sich bereits erledigt. Funktioniert jetzt alles zu meiner Zufriedenheit.

                                            Ich habe jetzt wie von gBonfire empfohlen den Type im Reiter Objekte von "Logikwert" auf "Zeichenkette" geändert

                                            3319_objekt.png

                                            und anschießend diesen Blockly getüftelt.

                                            3319_script.png

                                            Jetzt kann ich nachdem ich im Cloud Adapter den Script ausgewählt habe und mit Namen versehen habe

                                            diesen auch mit Alexa steuern.

                                            zB.: Alexa, Steamlink an

                                            Schon schaltet der TV auf HDMI1 ohne Fehlermeldung in Log.

                                            Das ganze geht auch mit lg.0.launch oder lg.0.channel

                                            bei lg.0.launch

                                            3319_livetv.png

                                            und bei lg.0.channel

                                            3319_rtl.png

                                            allerdings muss man bei lg.0.channel im Reiter Objekte keine Änderung vornehmen.

                                            > Mit Steam Link kenne ich mich nicht aus. Gibt es einen Adapter, der das Signal schickt?

                                            Würde mich freuen wenn es dafür mal irgendwann einen Adapter geben würde.

                                            Der Steamlink ist eine Streamingbox von Value um Steam Spiele auf dem TV zu spielen.

                                            MfG LaGra

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            937
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            lgtv
                                            113
                                            861
                                            237505
                                            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