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

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    lgtv Adapter zur Steuerung von LG WebOS SmartTVs

    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      dirkhe Developer last edited by

      Ich habe jetzt gerade mal in den code geschaut:

      
                          case 'states.power':
                              if (!state.val){
                                  adapter.log.debug('Sending turn OFF command to WebOS TV: ' + adapter.config.ip);
                                  if (adapter.config.power){
                                      sendCommand('button', {name: 'power'}, (err, val) => {
                                          if (!err) adapter.setState('states.power', state.val, true);
                                      });
                                  } else {
                                      sendCommand('ssap://system/turnOff', {message: state.val}, (err, val) => {
                                          if (!err) adapter.setState('states.power', state.val, true);
                                      });
                                  }
                              } 
      

      Also so wie ich den code verstehe, wird bei angehakter checkbox ein key-command zum TV geschickt, also quasi, als wenn du auf die Fernbedienung clickst. Sonst wird halt expliziet das Ausschaltkommando geschickt

      Was mich wundert ist, wie du den state setzt? Der reagiert nämlich nur, wenn du den ack nicht setzt. Und zumindest über die admin konsole bekomme ich das erbeute setzten, wenn der bereits auf false ist, gar nicht hin. Also ich bekomme deine Zeile 7 gar nicht reproduziert. Ich denke, es macht auch kein Sinn, abzufragen ob der TV aus ist, denn vlt. ist aus irgendeinem Grund ein Schiefstand im System, dann hätte man die Möglichkeit, darüber nochmal extra zu schalten.

      1 Reply Last reply Reply Quote 0
      • K
        killroy2 last edited by

        Ich setzte den State entweder per NodeRed oder in Objekte, Checkbox weg und dann auf den Haken.

        Wenn ich den Fernseher lange aus habe (> 1 Minute) reagiert er wie ich erwarten würde mit Timeout:

        } else {
            sendCommand('ssap://system/turnOff', {message: state.val}, (err, val) => {
            adaptetr.log.error('yyy err' + err);
            if (!err) adapter.setState('states.power', state.val, true);                                                                                                                                                                                                            });
        
        lgtv.0	2020-06-07 16:53:31.679	debug	(18117) yyy err Error: timeout
        lgtv.0	2020-06-07 16:53:31.677	debug	(18117) ERROR! Response from TV: Error: timeout
        

        Sieht für mich so aus als interpretiert der Ferseher das zweite Kommando falsch.

        1 Reply Last reply Reply Quote 0
        • D
          dirkhe Developer last edited by

          Wieso den Haken weg? Der ist doch schon weg wenn du das erste mal auf false setzt oder nicht?

          Wie sieht denn das log aus, wenn du das 1. mal auf false setzt, steht denn dann da "yyy err" ohne fehler?

          K 1 Reply Last reply Reply Quote -1
          • K
            killroy2 @dirkhe last edited by

            @dirkhe genau, checkbox weg (lassen)

            Wenn ich den State das erste mal auf false setze kommt kein Fehler

            lgtv.0	2020-06-07 18:43:35.963	debug	(20017) TV is off
            lgtv.0	2020-06-07 18:43:34.462	debug	(20017) DEBUGGING getForegroundAppInfo: {"subscribed":true,"appId":"","returnValue":true,"windowId":"","processId":""}
            lgtv.0	2020-06-07 18:43:34.294	debug	(20017) yyy err null
            lgtv.0	2020-06-07 18:43:34.174	debug	(20017) Sending turn OFF command to WebOS TV: 192.168.0.14 Power:false
            lgtv.0	2020-06-07 18:43:34.172	debug	(20017) State change "states.power" - VALUE: false
            
            1 Reply Last reply Reply Quote 0
            • D
              dirkhe Developer last edited by

              Dann hat er power doch auf false gesetzt, also ist die checkbox doch gar nicht mehr gesetzt. Dann kannst du die über die Objekte doch gar nicht mehr auf false setzen?

              1 Reply Last reply Reply Quote 0
              • K
                killroy2 last edited by

                screen-capture.webm Ich mache mal ein Video, ich hoffe das klappt.

                Anyway, ich habe jetzt einen Filter eingebaut der power zurückliest und keine gleichen Werte schreibt. Somit kann ich den Fernseher über verschiedene Bedienstellen (Vis, Fernbedienung, App) synchron halten.

                1 Reply Last reply Reply Quote 0
                • D
                  dirkhe Developer last edited by

                  Das ist echt interressant, das habe ich eben auch so gemacht, bei mir passiert da nichts im log. Iregndwie komisch...

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

                    Hi Zusammen,

                    bin auch fleißig am Testen des Adapters und bislang sehr zufrieden. Leider lassen sich mit meinem Modell keine Sender anwählen, das Thema wurde ja schon ausführlich diskutiert - kann damit aber gut leben.

                    Woran ich aktuell scheiter: Ich möchte gerne direkt die Amazon Prime Video App starten.

                    • Sofern der TV bereits an ist und der Adapter verbunden funktioniert der Start der App über Javascript und "LaunchApp" problemlos.
                    • Sofern der TV jedoch noch aus ist, muss ich diesen zunächst per WOL wecken, auch das klappt soweit einwandfrei. Leider scheitere ich gerade daran, ein Script zu bauen, das nun abwartet bis der Adapter verbunden ist, um DANN die korrekte Amazon Prime Video App zu triggern. Ich habe schon verschiedene Varianten ausprobiert, hier ein Beispiel:
                      amazon.GIF

                    Habt ihr dafür eine schlauere Lösung oder einen "Trick", den ich übersehe?

                    Danke und Grüße
                    schmax

                    D 1 Reply Last reply Reply Quote 0
                    • D
                      dirkhe Developer @schmax last edited by

                      @schmax Entweder du macht es über einen timer, der dann dann den Wert nach einer bestimmten Zeit, die du mal beobachten müsstest oder du subscrbst dich an den online datenpunkt und setzt dann den prime app DP und unsubscribst dich anschliessed.
                      https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#unsubscribe

                      S 1 Reply Last reply Reply Quote 0
                      • S
                        schmax @dirkhe last edited by schmax

                        @dirkhe

                        EDIT Besten Dank für die schnelle Antwort! Ich dachte, der innere "Falls"-Block sei eine Art Subscription? Im Code ist das eingerückte "Falls" ja ein "on({id: 'lgtv.0.states.on' ...". Die Änderung wird aber ignoriert, weil das Script den Falls-Block zunächst als nicht erfüllt wertet und dann das Script zu Ende bringt.

                        Ich habe mir jetzt so beholfen, dass ich einen Timer eingebaut habe, der erst einige Sekunden verzögert prüft und dann einen zyklischen Retry, der die innere "Falls"-Prüfung jede Sekunde wiederholt, bis der TV an ist. Nicht besonders schön, aber es scheint zu funktionieren.

                        Spannend wäre trotzdem dazuzulernen, wie genau ich das mit der Subscription richtig hätte lösen können. Ich werde aus der Doku an der Stelle nur bedingt schlau - laut Dokumentation ist das ja deckungsgleich mit "On change".

                        Nochmals: DANKE!

                        1 Reply Last reply Reply Quote 0
                        • D
                          dirkhe Developer last edited by

                          Das Problem ist, dass ich aus blocky nicht schlau werde, ist mir zu kompliziert...
                          Das Problem ist, wenn du dich an ein DP dranhängt, gilt das immer. Aber du willst ja WOL senden und dann einmalig auf das online lauschen, um dann umzuschalten. Daher merkt man sich das Subscribe (on...) und wenn das dann ausgeführt wird, löscht man das lauschen wieder (unsubscribe)

                          1 Reply Last reply Reply Quote 0
                          • liv-in-sky
                            liv-in-sky last edited by

                            ich rufe hin und wieder youtube über den adapter auf (dafür gibt es einen datenpunkt). seit einiger zeit funktioniert das nicht mehr- das youtube video wird zwar aufgerufen, aber ich kann es nicht stoppen oder anders fernsteuern. zusätzlich ist das bild sehr klein - es braucht nur 1/6 des bildschirms

                            wenn ich mit der fernbedienung youtube direkt als app öffne, funktioniert die app

                            kennt jemand von euch dieses problem auch ?

                            S 1 Reply Last reply Reply Quote 0
                            • S
                              SchuetzeSchulz @liv-in-sky last edited by

                              @liv-in-sky sagte in lgtv Adapter zur Steuerung von LG WebOS SmartTVs:

                              ich rufe hin und wieder youtube über den adapter auf (dafür gibt es einen datenpunkt). seit einiger zeit funktioniert das nicht mehr- das youtube video wird zwar aufgerufen, aber ich kann es nicht stoppen oder anders fernsteuern. zusätzlich ist das bild sehr klein - es braucht nur 1/6 des bildschirms

                              wenn ich mit der fernbedienung youtube direkt als app öffne, funktioniert die app

                              kennt jemand von euch dieses problem auch ?

                              Was steht denn unter "states.currentApp", wenn Du die Youtube App über die Fernbedienung öffnest?

                              liv-in-sky 1 Reply Last reply Reply Quote 0
                              • liv-in-sky
                                liv-in-sky @SchuetzeSchulz last edited by

                                @SchuetzeSchulz

                                es steht das:

                                youtube.leanback.v4

                                S 1 Reply Last reply Reply Quote 0
                                • S
                                  SchuetzeSchulz @liv-in-sky last edited by

                                  @liv-in-sky
                                  Aber genau mit dem Befehl wird im Quellcode die Youtube App geöffnet:

                                   sendCommand('ssap://system.launcher/launch', {id: "youtube.leanback.v4"}, (err, val) => {
                                                                      if (!err) adapter.setState('states.launch', state.val, true);
                                  

                                  Scheint also eher ein Bug im LG WebOS zu sein 😞

                                  liv-in-sky 2 Replies Last reply Reply Quote 0
                                  • liv-in-sky
                                    liv-in-sky @SchuetzeSchulz last edited by

                                    @SchuetzeSchulz

                                    das wäre doof - den eine anfrage bei lg würde nix bringen, da wir ja eine fremdsoftware (adapter) nutzen

                                    sonst funktioniert die app - gestern gab es ein web-os update - hat nix geändert

                                    1 Reply Last reply Reply Quote 0
                                    • liv-in-sky
                                      liv-in-sky @SchuetzeSchulz last edited by

                                      @SchuetzeSchulz

                                      habe mal node red instaliert - selber fehler - liegt wohl wirklich am web-os

                                      1 Reply Last reply Reply Quote 0
                                      • T
                                        toschi last edited by

                                        Hi,
                                        ich habe einen OLED65CX9LA die Verbindung zum TV funktioniert nicht.
                                        Bei der ersten Verbindung kam die Meldung am TV. Nun bleibt der Adapter rot. Hat da schon jemand Erfahrung?

                                        D 1 Reply Last reply Reply Quote 0
                                        • D
                                          dirkhe Developer @toschi last edited by

                                          @toschi vor 5 Minuten hätte ich dir helfen können, aber leider ist mir gerade die glaskugel runter gefallen.
                                          Scherz beiseite, ohne debug Log kann dir keiner helfen

                                          1 Reply Last reply Reply Quote 0
                                          • T
                                            toschi last edited by

                                            Ich habe den Adapter auf Debug gestellt und dieses aus dem Log kopiert. Oder wie macht man das?

                                            host.IO-Broker 2020-07-08 22:07:15.181 info instance system.adapter.lgtv.0 started with pid 15621
                                            host.IO-Broker 2020-07-08 22:06:45.173 info Restart adapter system.adapter.lgtv.0 because enabled
                                            host.IO-Broker 2020-07-08 22:06:45.173 info instance system.adapter.lgtv.0 terminated with code 0 (NO_ERROR)
                                            lgtv.0 2020-07-08 22:06:44.671 debug (15576) Connection closed: 1000
                                            lgtv.0 2020-07-08 22:06:44.661 info (15576) Terminated (NO_ERROR): Without reason
                                            lgtv.0 2020-07-08 22:06:44.660 info (15576) terminating
                                            lgtv.0 2020-07-08 22:06:44.656 debug (15576) TV is off
                                            lgtv.0 2020-07-08 22:06:44.654 error at processTicksAndRejections (internal/process/task_queues.js:79:11)
                                            lgtv.0 2020-07-08 22:06:44.654 error at /opt/iobroker/node_modules/websocket/lib/WebSocketConnection.js:323:40
                                            lgtv.0 2020-07-08 22:06:44.654 error at WebSocketConnection.processFrame (/opt/iobroker/node_modules/websocket/lib/WebSocketConnection.js:554:26)
                                            lgtv.0 2020-07-08 22:06:44.654 error at WebSocketConnection.emit (events.js:315:20)
                                            lgtv.0 2020-07-08 22:06:44.654 error at WebSocketConnection.<anonymous> (/opt/iobroker/node_modules/lgtv2/index.js:146:48)
                                            lgtv.0 2020-07-08 22:06:44.654 error at Object.42c660520001 (/opt/iobroker/node_modules/iobroker.lgtv/lgtv.js:387:30)
                                            lgtv.0 2020-07-08 22:06:44.654 error (15576) TypeError: Cannot read property 'indexOf' of undefined
                                            lgtv.0 2020-07-08 22:06:44.654 error (15576) uncaught exception: Cannot read property 'indexOf' of undefined
                                            lgtv.0 2020-07-08 22:06:44.653 debug (15576) audio/getVolume: {"volumeStatus":{"activeStatus":true,"adjustVolume":true,"maxVolume":100,"muteStatus":false,"volume":12,"soundOutput":"tv_external_speaker"},"returnValue":true,"callerId":"se
                                            lgtv.0 2020-07-08 22:06:44.634 debug (15576) WebOS TV Connected
                                            lgtv.0 2020-07-08 22:06:44.582 debug (15576) Connecting to WebOS TV: ws://192.168.10.94:3000
                                            lgtv.0 2020-07-08 22:06:44.575 debug (15576) adapter.config = {"ip":"192.168.10.94","mac":"","timeout":"5000","reconnect":"5000","power":true,"healthIntervall":""}
                                            lgtv.0 2020-07-08 22:06:44.574 info (15576) Ready. Configured WebOS TV IP: 192.168.10.94
                                            lgtv.0 2020-07-08 22:06:44.564 info (15576) starting. Version 1.1.6 in /opt/iobroker/node_modules/iobroker.lgtv, node: v12.17.0, js-controller: 3.1.6
                                            lgtv.0 2020-07-08 22:06:41.633 debug (15576) statesDB connected
                                            lgtv.0 2020-07-08 22:06:41.633 debug (15576) States connected to redis: 127.0.0.1:9000
                                            lgtv.0 2020-07-08 22:06:41.628 debug (15576) States create System PubSub Client
                                            lgtv.0 2020-07-08 22:06:41.627 debug (15576) States create User PubSub Client
                                            lgtv.0 2020-07-08 22:06:41.624 debug (15576) Redis States: Use Redis connection: 127.0.0.1:9000
                                            lgtv.0 2020-07-08 22:06:41.623 debug (15576) objectDB connected
                                            lgtv.0 2020-07-08 22:06:41.621 debug (15576) Objects connected to redis: 127.0.0.1:9001
                                            lgtv.0 2020-07-08 22:06:41.612 debug (15576) Objects client initialize lua scripts
                                            lgtv.0 2020-07-08 22:06:41.611 debug (15576) Objects create User PubSub Client
                                            lgtv.0 2020-07-08 22:06:41.611 debug (15576) Objects create System PubSub Client
                                            lgtv.0 2020-07-08 22:06:41.610 debug (15576) Objects client ready ... initialize now
                                            lgtv.0 2020-07-08 22:06:41.591 debug (15576) Redis Objects: Use Redis connection: 127.0.0.1:9001
                                            host.IO-Broker 2020-07-08 22:06:41.314 info instance system.adapter.lgtv.0 started with pid 15576
                                            host.IO-Broker 2020-07-08 22:06:11.304 info Restart adapter system.adapter.lgtv.0 because enabled

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            965
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

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