NEWS
LGTV Adapter gelb und wird rot beim Einschalten des TV
-
Hallo,
habe versucht meinen neuen LG 86UN85006LA mit dem LGTV Adapter an ioBroker anzuschließen. Leider mit wenig Erfolg. Ich benutze js controler 3.1.4 und Node.js 12.16.2 auf einem Raspi 4.
Wenn der TV aus ist, ist der Adapter gelb. Wenn ich den TV einschalte, wird er rot (möglicherweise ganz kurz grün). Hier ein Ausschnitt aus dem Debug Log mit den errors:lgtv.0 2020-06-13 18:14:01.262 debug (10511) Connection closed: 1000 lgtv.0 2020-06-13 18:14:01.242 info (10511) Terminated (NO_ERROR): Without reason lgtv.0 2020-06-13 18:14:01.241 info (10511) terminating lgtv.0 2020-06-13 18:14:01.231 debug (10511) TV is off lgtv.0 2020-06-13 18:14:01.228 error (10511) TypeError: Cannot read property 'indexOf' of undefined at Object.831362df0001 (/opt/iobroker/node_modules/iobroker.lgtv/lgtv.js:387:30) at WebSocketConnection.<anonymous> (/opt/iobroke lgtv.0 2020-06-13 18:14:01.227 error (10511) uncaught exception: Cannot read property 'indexOf' of undefined lgtv.0 2020-06-13 18:14:01.225 debug (10511) audio/getVolume: {"volumeStatus":{"activeStatus":true,"adjustVolume":false,"maxVolume":100,"muteStatus":false,"volume":10,"soundOutput":"external_optical"},"returnValue":true,"callerId":"secon lgtv.0 2020-06-13 18:14:01.193 debug (10511) renew connection in one minute for stable subscriptions... lgtv.0 2020-06-13 18:14:01.180 debug (10511) cur app is com.webos.app.livetv lgtv.0 2020-06-13 18:14:01.179 debug (10511) DEBUGGING getForegroundAppInfo: {"appId":"com.webos.app.livetv","subscribed":true,"returnValue":true,"windowId":"","processId":""} lgtv.0 2020-06-13 18:14:00.087 debug (10511) WebOS TV Connected lgtv.0 2020-06-13 18:13:54.134 debug (10511) TV is off lgtv.0 2020-06-13 18:13:47.894 debug (10511) TV is off lgtv.0 2020-06-13 18:13:44.132 debug (10511) Connecting to WebOS TV: ws://192.168.178.82:3000 lgtv.0 2020-06-13 18:13:41.654 debug (10511) TV is off lgtv.0 2020-06-13 18:13:37.892 debug (10511) Connecting to WebOS TV: ws://192.168.178.82:300
Was soll ich zur Fehlerbehebung tun? Bitte um Hilfe.
Danke und Grüße -
Ich erinnere mich daran, dass man bei der Einrichtung des Adapters auf dem TV den Zugriff des Adapters erlauben musste. Ich weiß allerdings nicht mehr, wie man das händisch auslösen kann. Mein Adapter ist gelb wenn TV aus und grün dann bei TV an.
Vielleicht hilft es, den Adapter bei eingeschaltetem TV neu zu installieren. -
@hukio
Welche Version? -
@XxJooO sagte in LGTV Adapter gelb und wird rot beim Einschalten des TV:
Ich weiß allerdings nicht mehr, wie man das händisch auslösen kann.
Achtung: man muss wieder ALLES anlernen.
-
Scheint so, als wenn dein os eine andere API hat. Der adapter sucht nach der Eigenschaft changed, was es da aber nicht gibt. Aber du scheinst auch nicht die aktuelle Version zu haben, da die Zeilenangabe nicht passt. Installiere mal die aktuellste Version, dann ist es einfacher, Fehler zu finden.
Ich vermute mal, dass es noch andere Änderungen gibt?
Er scheint sich ja zumindest zu connecten -
@dirkhe
Ich habe folgende Informationen gefunden:
Software Version 03.01.15
WebOS 5.0.0 - 14735 (jhericurl - jamestowne)
Es werden keine neueren Version über update angeboten.
Adapter Version 1.1.6
Ich denke auch, daß kurzfristig eine Verbindung entsteht, da der Adapter kurz grün wird nach Neustart. -
Ich hatte gestern nicht genau geschaut, die neuere Version ist noch nicht offiziell, ich hatte mich halt nur gewundert, weil die Zeilennummer nicht passt.
Gehe bei dir in der Datei iobroker/node_modules/iobroker.lgtv/lgtv.js ungefähr an Zeile 400 und suche mal folgendes:if (~res.changed.indexOf('volume')){ volume = parseInt(res.volume); adapter.setState('states.volume', volume, true); } if (~res.changed.indexOf('muted')){ adapter.setState('states.mute', res.muted, true); }
mache daraus mal folgendes:
if (res && res.changed){ if (~res.changed.indexOf('volume')){ volume = parseInt(res.volume); adapter.setState('states.volume', volume, true); } if (~res.changed.indexOf('muted')){ adapter.setState('states.mute', res.muted, true); } }
Wenn das hilft, können wir das in den Adapter übernehmen, allerdings vermute ich mal dass es da noch mehr solcher Änderungen gibt, dass muss dann ggf. alles angepasst werden
-
@dirkhe
Erfolg! Es hat geholfen.
Danke und Grüße -
Beobachte den Adapter, bzw. log jetzt bitte mal eine Zeit lang und spiele mal mit deinem TV. Wenn dann noch mehr Fehler auftauchen, versuchen wir die zu beheben und dann mache ich ein pull request
-
@dirkhe
Auf einmal (ich weiß nicht wieso oder wann) hat der Adapter nicht mehr funktioniert. Einträge im Log enthielten Informationen, daß PIDs nicht übereinstimmen. Details habe ich vergessen. Habe dann die Instanz gelöscht und wieder installiert. Jetzt verbindet sich der Adapter nicht mehr mit dem LG. Hier der Logauszug:lgtv.0 2020-06-18 21:24:34.051 debug (15641) Connecting to WebOS TV: ws://192.168.178.82:3000 lgtv.0 2020-06-18 21:24:27.738 debug (15641) TV is off lgtv.0 2020-06-18 21:24:25.892 debug (15641) Connecting to WebOS TV: ws://192.168.178.82:3000 lgtv.0 2020-06-18 21:24:19.630 debug (15641) TV is off lgtv.0 2020-06-18 21:24:17.734 debug (15641) Connecting to WebOS TV: ws://192.168.178.82:3000 lgtv.0 2020-06-18 21:24:12.732 debug (15641) Error on connecting or sending command to WebOS TV: Error: connect EHOSTUNREACH 192.168.178.82:3000 lgtv.0 2020-06-18 21:24:09.625 debug (15641) Connecting to WebOS TV: ws://192.168.178.82:3000 lgtv.0 2020-06-18 21:24:09.568 debug (15641) adapter.config = {"ip":"192.168.178.82","mac":"","timeout":"5000","reconnect":"5000","power":false,"healthIntervall":""} lgtv.0 2020-06-18 21:24:09.565 info (15641) Ready. Configured WebOS TV IP: 192.168.178.82 lgtv.0 2020-06-18 21:24:09.503 info (15641) starting. Version 1.1.6 in /opt/iobroker/node_modules/iobroker.lgtv, node: v12.16.2, js-controller: 3.1.4
Hoffentlich kannst Du etwas damit anfangen.
Grüße -
Steht doch da ganz deutlich:
Error on connecting or sending command to WebOS TV: Error: connect EHOSTUNREACH 192.168.178.82:3000 -
@dirkhe
Habe nicht nachgedacht. Ethernet hat sich gelockert.
Sorry und Danke -
@dirkhe
Jetzt habe ich doch noch ein (echtes) Problem. Wenn ich es richtig verstehe, kann man über die ID power (unter states) den LG aus- und einschalten. Ausschalten geht aber im Moment nicht (ich meine es wäre schon mal gegangen). Hier der debug Auszug:2020-06-21 00:07:17.011 - debug: lgtv.0 (13852) State change "states.power" - VALUE: true 2020-06-21 00:07:17.016 - debug: lgtv.0 (13852) GetState mac: {"val":"64:95:6c:cd:90:8a","ack":true,"ts":1592690576976,"q":0,"from":"system.adapter.lgtv.0","user":"system.user.admin","lc":1592047258900} 2020-06-21 00:07:17.042 - debug: lgtv.0 (13852) Send WOL to MAC: {64:95:6c:cd:90:8a} OK 2020-06-21 00:07:21.285 - debug: lgtv.0 (13852) check TV connection: ok 2020-06-21 00:07:26.285 - debug: lgtv.0 (13852) check TV connection: ok 2020-06-21 00:07:27.959 - info: javascript.0 (7566) script.js.TV.TV: LG manual schalter: false 2020-06-21 00:07:27.960 - debug: lgtv.0 (13852) State change "states.power" - VALUE: false 2020-06-21 00:07:27.961 - debug: lgtv.0 (13852) Sending turn OFF command to WebOS TV: 192.168.178.82 2020-06-21 00:07:31.286 - debug: lgtv.0 (13852) check TV connection: ok 2020-06-21 00:07:36.287 - debug: lgtv.0 (13852) check TV connection: ok 2020-06-21 00:07:40.866 - debug: lgtv.0 (13852) system.adapter.admin.0: logging true 2020-06-21 00:07:41.287 - debug: lgtv.0 (13852) check TV connection: ok
Es scheint nichts zu passieren.
Beim Einschalten kommt es häufig vor, daß in Kanal 1 geschaltet wird und nicht in den letzten benutzten. Hab die richtige Debug Sequenz noch nicht erwischt,
Grüße -
@dirkhe
Version 1.1.8 produces the same error (no connection yellow but not green) see above (https://forum.iobroker.net/post/451809). See also issue on github. How can I correct it?
Thanks and regards -
@hukio auf github hat Sebastian dir ja bereits geantwortet, du scheinst ein Netzwerk Problem zu haben
-
@dirkhe
The connector on the TV was loose. What a coincidence!
Sorry for the bother. Thanks and regards. -
Ich schalte den LG immer in standby (lowest power mode) ohne Netzverbindung um Energie zu sparen. Nach dem Wiederanschalten erkennt der Adapter nicht, daß es wieder eine Netzverbindung zum LG gibt. Ich habe nichts gefunden, wie ich dies anregen könnte über ioBroker. Ich behelfe mir mit einem Neustart des Adapters. Es wäre schön, wenn es ein Kommando im Adapter gäbe, das einen Scan auslöst.
-
@hukio wenn er die Connection verliert, versucht er die ganze zeit in bestimmten Abständen, die du konfigurieren kannst, den tv zu erreichen. Du kannst natürlich nicht erwarten, dass der Adapter dann sofort da ist, wenn du den tv einschaltet, da musst du warten, bis zum nächsten Intervall. Über so einen Trigger von aussen könnte man sogar nachdenken. Hadt dh mal versucht, eine Aktion über den adapter auszulösen?
-
@dirkhe Soweit ich das sehe, sprichst Du von einem der Intervalle, die man in den Einstellungen einstellen kann, typischerweise einige Sekunden. Ich habe bei allen drei 5000 msec eingestellt. Es dauert in der Größenordnung Minuten bevor der LG wiedererkannt wird. Dies auch nicht zuverlässig. Was ich gerne erreichen möchte: wenn die Netzverbindung da ist (ping), soll der Lgtv Adapter die Verbindung herstellen. Im Moment erreiche ich dies verläßlich indem ich den Adapter neu starte. Geht das irgendwie anders?
-
Der sollte eigentlich in regelmäßigen Abständen versuchen, die Connection aufzubauen. Kannst den Adapter mal auf debug stellen und den tv ausschalten, mal 10 Minuten mutloggen und dann den tv wieder einschalten und noch mal min 2 Minuten mitloggen