NEWS
lgtv Adapter zur Steuerung von LG WebOS SmartTVs
-
@Nashra aahhh - die gute alte sigi view
-
Guten Tag zusammen, ich habe jetzt nicht alle 717 Post gelesen, daher frag ich gleich. Wie kann ich über den Adapter Netflix und Amzaon Video starten? Beide haben eine Taste auf meiner FB, wenns nicht geht kann ich das über Sonoff machen, aber über Lan wäre mir lieber. Nur das ich nicht das eine per Lan und das ander per IR habe, das wird verwirrend. Es geht nicht über die Datenpunkte Launch und currentApp, oder ich steuere falsch an.
Danke. -
ich benutze den Adapter schon vor einer Weile. Noch als dort gepollt wurde...
Nun kriege ich es aber leider nicht hin, den aktuellen Status des Fernsehers korrekt abzufragen.Hintergrund: mein Receiver ist dumm (nicht smart) und hängt deshalb zusammen mit dem Subwoofer an einer smarten Steckdose. Die Steckdose möchte ich in Abhängigkeit von dem TV schalten. TV an: Receiver+Subwoofer an.
Ich bekomme aber bisher keinen Zuverlässigen Status von TV aus --> TV an hin. Somit ist der Receiver oft aus und TV somit stumm.
Ich habe die Beiträge hier durchgelesen, das Problem hatte schon einige. Aber eine Lösung habe ich anscheinend überlesen?Mit dem Blockly steuere ich eine Variable und somit die Receiver-Steckdose:
Hier ist der Status der DP (um 21:55 aufgenommen), der Fernseher läuft seit mind. 1 Stunde und LG Adapter ist grün:
Was kann ich anders machen?
-
@sevenup ich hab das grade mal bei mir gecheckt, das läuft ohne Probleme, wenn TV an ist, dann ist der DP lgtv.0.states.on auf true, sonst auf false. Ich würd den Adapter mal neu installieren und den TV neu "anlernen". Ist die Firmware auf dem LG aktuell?
Frage: Warum setzt du im Blockly eine Variable "Fernseher_Status" ein? Den Status hast du doch schon im Datenpunkt des lgtv Adapters (?)
Anregung: Wenn du es mit deinem Fernseher absolut nicht hinkriegst, weil das Modell nicht unterstützt wird oder was weiss ich sonst noch, dann könntest du den Fernseher auch an einen Zwischenstecker wie Gosund SP111 oder ähnlich hängen. Die Teile messen den Strom und wenn da mehr als z.B. 3 Watt angezeigt werden weißt du, dass der TV an ist und könntest dann den Receiver schalten.
-
@amg_666 Hallo Andreas,
danke für die Tipps!
Den Adapter habe ich schon mal neu installiert, hat leider nichts gebracht.Den Status setze ich zusätzlich in eine Variable, weil ich in der Vergangenheit die von dir vorgeschlagene Lösung mit der Verbrauchsmessung des TVs ausprobiert habe. Bei sehr dunklen Bildern sinkt der Verbrauch schon extrem. Im Standby dagegen mach der TV manchmal seine PixelRefresh Funktion und der Verbrauch steigt wieder. War dann nicht so eindeutig.
Mit viel herumprobieren würde man das über die Leistungsmessung sicherlich hinbekommen. Über den Adapter wäre es mir aber lieber. -
@sevenup said in lgtv Adapter zur Steuerung von LG WebOS SmartTVs:
. War dann nicht so eindeutig.
Dann bleibt nur noch die Firmware übrig, hab grad mal geschaut, mein 55UM71007LB hat die 05.00.10 und damit läufts
-
Ggf mal den adapter auf debug stellen und dsnn hier Posten. Vlt kann man was sehen, aber wenn die Firmware nicht mitmacht...
-
@sevenup Wenn alles nicht funzt- ShellyPM dazwischen. Dann kannst du ja aufgrund des Stromverbrauchs feststellen ob der Fernseher läuft.
-
@oberfragger Geht nicht, siehe oben, Das hat er wohl auch schon probiert.
-
@dirkhe
Bei mir läuft der Adapter wunderbar, aber ich würde gerne wissen wollen, ob webOS im JSON auch einen Datenpunkt zur Verfügung stellt, der angibt, ob auf einem HDMI Eingang auch ein Signal anliegt?
Wenn ich auf HDMI1 schalte, sehe ich den Eingang als state. Ist das Endgerät aber nicht eingeschaltet, zeigt der TV einen Bildschirmschoner und eine Infobox "kein Signal". Ist es möglich das auch auszuwerten?WebOS Version 5.2.0-2508
-
@blackeagle998 ich weiss es zwar nicht zu 100%, aber ich glaube nicht. Dann müssten die die API erweitert haben.
-
@dirkhe ich hatte heute wieder den Fall, dass der Verstärker nicht eingeschaltet wurde, obwohl der TV lief.
Firmware ist die neuste, 05.30.10 vom 19. Januar 2021
Erstmal zu meiner "Logik":
In einem Blockly triggere ich auf den DP "TV is on. Bei true wird ein DP "Fernseher_Status" sofort auf true gesetzt. bei false wird es verzögert nach 5 Sek auf false gesetzt.
Abhängig von dem DP "Fernseher_Status" wird dann der Verstärker ein/ausgeschaltet (ist eine einfache schaltbare Steckdose, der Verstärker ist nicht smart).
Das alles hat heute erstmal funktioniert und es lief alles. Danach wurde im Zimmer keine Bewegung erkannt und daraufhin wurde der TV automatisch ausgeschaltet (DP Remote key power auf true gesetzt). und 5 Sek später auch der Verstärker.
Bis hier also alles richtig.Kurz darauf wurde der TV mit der Fernbedienung manuell wieder eingeschaltet, der Verstärker blieb aber weiterhin aus.
Im Log sehe ich zwar "check TV connection: ok", aber kein Trigger auf "Is TV is ON - true"2021-02-07 13:16:15.025 - [34mdebug[39m: lgtv.0 (2823) ERROR! Response from TV: Error: timeout 2021-02-07 13:16:15.026 - [34mdebug[39m: lgtv.0 (2823) check TV connection: Error: timeout 2021-02-07 13:16:15.026 - [34mdebug[39m: lgtv.0 (2823) TV is off 2021-02-07 13:16:15.037 - [32minfo[39m: javascript.0 (1265) script.js.Sonstiges.Fernseher: Is TV is ON - false 2021-02-07 13:16:15.051 - [32minfo[39m: javascript.0 (1265) script.js.Sonstiges.Fernseher: Is TV is ON - false 2021-02-07 13:16:15.064 - [32minfo[39m: javascript.0 (1265) script.js.Sonstiges.Fernseher: Is TV is ON - false 2021-02-07 13:16:15.078 - [32minfo[39m: javascript.0 (1265) script.js.Sonstiges.Fernseher: Is TV is ON - false 2021-02-07 13:16:15.142 - [32minfo[39m: javascript.0 (1265) script.js.Sonstiges.Fernseher: Is TV is ON - false 2021-02-07 13:16:15.149 - [32minfo[39m: javascript.0 (1265) script.js.Sonstiges.Fernseher: Is TV is ON - false 2021-02-07 13:16:15.156 - [32minfo[39m: javascript.0 (1265) script.js.Sonstiges.Fernseher: Is TV is ON - false 2021-02-07 13:16:15.171 - [32minfo[39m: javascript.0 (1265) script.js.Sonstiges.Fernseher: Is TV is ON - false 2021-02-07 13:16:15.184 - [32minfo[39m: javascript.0 (1265) script.js.Sonstiges.Fernseher: Is TV is ON - false 2021-02-07 13:16:15.211 - [32minfo[39m: javascript.0 (1265) script.js.Sonstiges.Fernseher: Is TV is ON - false 2021-02-07 13:16:15.966 - [34mdebug[39m: lgtv.0 (2823) ERROR! Response from TV: Error: timeout 2021-02-07 13:16:15.966 - [34mdebug[39m: lgtv.0 (2823) check TV connection: Error: timeout 2021-02-07 13:16:15.966 - [34mdebug[39m: lgtv.0 (2823) TV is off 2021-02-07 13:16:15.967 - [34mdebug[39m: lgtv.0 (2823) ERROR! Response from TV: Error: timeout 2021-02-07 13:16:15.967 - [34mdebug[39m: lgtv.0 (2823) check TV connection: Error: timeout 2021-02-07 13:16:15.967 - [34mdebug[39m: lgtv.0 (2823) TV is off 2021-02-07 13:16:15.967 - [34mdebug[39m: lgtv.0 (2823) ERROR! Response from TV: Error: timeout 2021-02-07 13:16:15.968 - [34mdebug[39m: lgtv.0 (2823) check TV connection: Error: timeout ....................... 2021-02-07 13:16:17.026 - [34mdebug[39m: lgtv.0 (2823) ERROR! Response from TV: Error: timeout 2021-02-07 13:16:17.027 - [34mdebug[39m: lgtv.0 (2823) check TV connection: Error: timeout 2021-02-07 13:16:17.027 - [34mdebug[39m: lgtv.0 (2823) TV is off 2021-02-07 13:16:17.328 - [34mdebug[39m: lgtv.0 (2823) check TV connection: ok 2021-02-07 13:16:17.330 - [34mdebug[39m: lgtv.0 (2823) check TV connection: ok ....................... 2021-02-07 13:16:20.008 - [34mdebug[39m: lgtv.0 (2823) check TV connection: ok 2021-02-07 13:16:20.034 - [34mdebug[39m: lgtv.0 (2823) check TV connection: ok 2021-02-07 13:16:20.271 - [32minfo[39m: javascript.0 (1265) script.js.Sonstiges.Verstaerker: Fernseher_Status - false 2021-02-07 13:16:20.975 - [34mdebug[39m: lgtv.0 (2823) check TV connection: ok 2021-02-07 13:16:20.982 - [34mdebug[39m: lgtv.0 (2823) check TV connection: ok
und hier der vollständige Log für die gesamte Laufzeit:
-
und nun, im laufenden TV Betrieb, wurde der TV mehrmals als Aus gemeldet. Auszug aus dem Log für ein Fall:
-
@sevenup also folgendermassen ist der Code
let isTVon= !!curApp; adapter.log.debug(curApp ? "cur app is " + curApp : "TV is off") adapter.setStateChanged('states.currentApp', curApp, true); let inp = curApp.split(".").pop() if (inp.indexOf('hdmi') == 0){ adapter.setStateChanged('states.input', "HDMI_" + inp[4], true); adapter.setStateChanged('states.launch', "", true); } else { adapter.setStateChanged('states.input', "", true); adapter.setStateChanged('states.launch', inp, true); } adapter.setStateChanged('states.power', isTVon, true); adapter.setStateChanged('states.on', isTVon, tr
Da wird nie ein Trigger tv is on gesendet. Immer wenn App geändert wird, werden auch die stati entsprechend gesetzt.
Ich kenne mich mit blocky nicht aus, aber wenn du auf state changed bei Status.on abfragt, sollte es gehen.
-
@dirkhe aber genau das mache ich aktuell eigentlich schon. Nur prüfe ich nicht auf eine Änderung, sondern allgemein auf eine Aktualisierung des Wertes states.on (Javascript Code im Spoiler).
Mein Problem scheint aber nicht der Trigger zu sein, sondern dass der Adapter die Verbindung zum TV verliert und danach wieder aufbaut, obwohl der TV durchgehend lief. Zumind. verstehe ich den Log aus meinem vorherigen Post.
Oder?
-
@sevenup dann habe ich das falsch verstanden, sorry. Das Problem ist dann hier wohl eher ein Netzwerk Problem? Wie hoch hast du denn dein Polling/abfrageintervall gestellt? Der wert muss in ms angegeben werden.
-
Timeout: 5000
Abfrageintervall: 1000
Reconnect: 5000 -
@sevenup mach den healtintervall doch mal auf 2000, vlt ist das alles zu oft, sonst
-
Hallo,
habe seit heute einen Lg TV mit Smart tv und bin kurz vorm verzweifeln...Ich habe in den Einstellungen aktiviert das über Wlan der Fernseher eingeschalten werden kann, leider ist es aber nicht möglich ich kann über Alexa nur den Fernseher ausschalten danach verliert er die wlan Verbindung
Kann mir jemand bitte helfen ...
-
@rasen1992 wo her weist du das er die Verbindung verliert? Hast du mal mit der LG App getestet ob er sich damit noch einschalten lässt.
Schau auch mal die anderen Einstellungen durch die mit Energiesparen zu tun haben.