NEWS
lgtv Adapter zur Steuerung von LG WebOS SmartTVs
-
bin gerade noch noch am Langzeit testen. Wenn der tv nur nen paar Stunden aus ist, fängt er sich wieder. Letztens hat er sich aber nicht mehr gefangen. Aber ich mal wireshark angeschmissen, der tv meldet sich sauber als upnp, wenn er wieder an ist. Ich denke, da könnte man sich ranhängen, um das websocket wieder zu conncten.
Ich teste das nochmal eine Weile und dann stelle ich den PR. -
Hat der Adapter nicht vorher mal die Werte, in states alle xx Minuten aktualisiert ?
Irgendwie macht der des nicht mehr. -
Er hat die Werte vorher alle Sekunden neu geschrieben. Jetzt macht er das nur noch, wenn sich was ändert. Der tv meldet sich nämlich, wenn etwas passiert. Stell den adapter mal auf debug und Spiele am tv rum, dann sieht man das
-
@dirkhe ok schade, weil ich lasse meine LED Strips danach einschalten, jetzt funktioniert das Skript nicht mehr
-
Warum sollte das jetzt nicht mehr gehen? Die stati werden doch noch auf true oder fade gesetzt, halt nur noch, wenn sich was ändert. Kannst du dein Log mal auf debug stellen und dann den tv ein und aus schalten?
Was hast du für eine Firmware? -
@dirkhe ja klar, ich lasse die LED Strips erst einschalten, wenn Astro Sonnenuntergang ist und wenn der Fernseher schon seit Nachmittags an ist, gibt es kein Trigger mehr, wo danach geprüft wird ob Sonnenuntergang ist.
Normalerweiser war immer das aktualisieren des States der Trigger -
Aber dann ist es doch sinnvoll, wenn du auf Änderungen sowohl vom tv als auch Astro reagierst. Wenn du es wieder genau so haben willst, Frage die beiden States per Intervall ab.
-
@dirkhe die Idee mit dem Intervall ist mir nicht gekommen, werde es so mal versuchen
-
@marcuskl ist aber sehr Ressourcen verschwenderisch. Man kann ja direkt auf state Änderungen reagieren
-
ich habe seit einem Sytsemupdate auch massive Probleme das der State "is on" aktualisiert wird.
webOS: 3.8.0-61312
Softwareversion: 05.80.50
Hier mal der Debug Log:2020-02-22 10:22:05.681 - debug: lgtv.0 (2822) Connecting to WebOS TV: ws://192.168.2.15:3000 2020-02-22 10:22:13.744 - debug: lgtv.0 (2822) Connecting to WebOS TV: ws://192.168.2.15:3000 2020-02-22 10:22:15.540 - debug: lgtv.0 (2822) WebOS TV Connected 2020-02-22 10:22:15.698 - debug: lgtv.0 (2822) DEBUGGING getForegroundAppInfo: {"appId":"com.webos.app.hdmi1","subscribed":true,"returnValue":true,"windowId":"","processId":""} 2020-02-22 10:22:15.705 - debug: lgtv.0 (2822) audio/getVolume: {"returnValue":true,"volumeMax":100,"muted":false,"scenario":"mastervolume_tv_speaker","subscribed":true,"volume":5,"action":"requested","active":false,"changed":["muted","volume"]} 2020-02-22 10:22:15.720 - debug: lgtv.0 (2822) Service list: {"returnValue":true,"services":[{"name":"api","version":1},{"name":"audio","version":1},{"name":"config","version":1},{"name":"media.controls","version":1},{"name":"media.viewer","version":1},{"name":"pairing","version":1},{"name":"settings","version":1},{"name":"system","version":1},{"name":"system.launcher","version":1},{"name":"system.notifications","version":1},{"name":"timer","version":1},{"name":"tv","version":1},{"name":"user","version":1},{"name":"webapp","version":2}]} 2020-02-22 10:22:15.722 - debug: lgtv.0 (2822) getCurrentSWInformation: {"returnValue":true,"product_name":"webOSTV 3.5","model_name":"HE_DTV_W17P_AFADABAA","sw_type":"FIRMWARE","major_ver":"05","minor_ver":"80.50","country":"AT","country_group":"EU","device_id":"78:5d:c8:98:3b:80","auth_flag":"N","ignore_disable":"N","eco_info":"01","config_key":"00","language_code":"de-AT"} 2020-02-22 10:22:15.746 - debug: lgtv.0 (2822) getSystemInfo: {"returnValue":true,"features":{"3d":false,"dvr":true},"receiverType":"dvb","modelName":"49UJ635V-ZF"} 2020-02-22 10:22:15.750 - debug: lgtv.0 (2822) audio/getSoundOutput: {"soundOutput":"tv_external_speaker","subscribed":true} 2020-02-22 10:22:15.757 - debug: lgtv.0 (2822) tv/getCurrentChannel: {"returnValue":false,"errorCode":-1000,"errorText":"internal error"} 2020-02-22 10:22:16.480 - debug: lgtv.0 (2822) audio/getVolume: {"changed":["volume"],"returnValue":true,"cause":"volumeUp","volumeMax":100,"scenario":"mastervolume_tv_speaker","muted":false,"volume":6,"action":"changed","active":false} 2020-02-22 10:22:16.774 - debug: lgtv.0 (2822) audio/getVolume: {"changed":["volume"],"returnValue":true,"cause":"volumeUp","volumeMax":100,"scenario":"mastervolume_tv_speaker","muted":false,"volume":7,"action":"changed","active":false} 2020-02-22 10:25:29.639 - debug: lgtv.0 (2822) system.adapter.admin.0: logging false 2020-02-22 10:26:30.497 - debug: lgtv.0 (2822) audio/getVolume: {"changed":["volume"],"returnValue":true,"cause":"volumeUp","volumeMax":100,"scenario":"mastervolume_tv_speaker","muted":false,"volume":8,"action":"changed","active":false} 2020-02-22 10:26:31.307 - debug: lgtv.0 (2822) audio/getVolume: {"changed":["volume"],"returnValue":true,"cause":"volumeUp","volumeMax":100,"scenario":"mastervolume_tv_speaker","muted":false,"volume":9,"action":"changed","active":false} 2020-02-22 10:26:31.778 - debug: lgtv.0 (2822) audio/getVolume: {"changed":["volume"],"returnValue":true,"cause":"volumeUp","volumeMax":100,"scenario":"mastervolume_tv_speaker","muted":false,"volume":10,"action":"changed","active":false} 2020-02-22 10:26:38.005 - debug: lgtv.0 (2822) audio/getVolume: {"changed":["muted"],"returnValue":true,"volumeMax":100,"scenario":"mastervolume_tv_speaker","muted":true,"volume":10,"action":"changed","active":false} 2020-02-22 10:26:41.014 - debug: lgtv.0 (2822) audio/getVolume: {"changed":["muted"],"returnValue":true,"volumeMax":100,"scenario":"mastervolume_tv_speaker","muted":false,"volume":10,"action":"changed","active":false} 2020-02-22 10:27:16.140 - debug: lgtv.0 (2822) system.adapter.admin.0: logging true 2020-02-22 10:27:50.796 - debug: lgtv.0 (2822) system.adapter.admin.0: logging false 2020-02-22 10:27:56.968 - debug: lgtv.0 (2822) system.adapter.admin.0: logging true 2020-02-22 10:29:15.326 - debug: lgtv.0 (2822) DEBUGGING getForegroundAppInfo: {"subscribed":true,"appId":"","returnValue":true,"windowId":"","processId":""} 2020-02-22 10:29:15.333 - debug: lgtv.0 (2822) DEBUGGING getForegroundAppInfo: {"subscribed":true,"appId":"com.webos.app.hdmi1","returnValue":true,"windowId":"","processId":""} 2020-02-22 10:29:15.340 - debug: lgtv.0 (2822) audio/getSoundOutput: {"soundOutput":"tv_external_speaker","subscribed":true}
Kann mir da wer weiterhelfen?
-
jedesmal, wenn diese Zeile im Log auftritt
@StefanMc sagte in lgtv Adapter zur Steuerung von LG WebOS SmartTVs:
DEBUGGING getForegroundAppInfo
werden folgende 3 states gesetzt:
adapter.setStateChanged('states.on', appId, true);
adapter.setStateChanged('states.power', appId, true);
adapter.setStateChanged('info.connection', appId, true);
wobei appId true ist, wenn vom tv eine übergeben wurde, sonst false.
Allerdings schreibt ioBroker den state nur neu, wenn er sich ändert.
Du kannst ja mal an einem der 3 Stati die history einschalten, dann solltest du das nachvollziehen können.Hast du den TV um 10:29:15 kurz ausgemacht und sofort wieder angemacht?
Hast du öfter 2mal so kurz hintereinander
DEBUGGING getForegroundAppInfo?
Wenn das nämlich so wäre, könnte es Probleme geben, dass sich das Setzten der beiden überholt. Dann müsste man eine Verzögeung reinbauen. -
@dirkhe Danke für deine Antwort,
ich habe jetzt mal nachgesehen, getForegroundAppInfo wird beim Einschalten des Fernsehrs geschrieben binnen 50ms zwei mallgtv.0 2020-02-22 17:34:51.268 debug (2822) DEBUGGING getForegroundAppInfo: {"subscribed":true,"appId":"com.webos.app.hdmi1","returnValue":true,"windowId":"","processId":""} lgtv.0 2020-02-22 17:34:51.219 debug (2822) DEBUGGING getForegroundAppInfo: {"subscribed":true,"appId":"","returnValue":true,"windowId":"","processId":""} lgtv.0 2020-02-22 17:13:05.838 debug (2822) DEBUGGING getForegroundAppInfo: {"subscribed":true,"appId":"com.webos.app.hdmi1","returnValue":true,"windowId":"","processId":""} lgtv.0 2020-02-22 17:13:05.790 debug (2822) DEBUGGING getForegroundAppInfo: {"subscribed":true,"appId":"","returnValue":true,"windowId":"","processId":""} lgtv.0 2020-02-22 10:29:15.333 debug (2822) DEBUGGING getForegroundAppInfo: {"subscribed":true,"appId":"com.webos.app.hdmi1","returnValue":true,"windowId":"","processId":""} lgtv.0 2020-02-22 10:29:15.326 debug (2822) DEBUGGING getForegroundAppInfo: {"subscribed":true,"appId":"","returnValue":true,"windowId":"","processId":""}
-
Ok, es sieht so aus, als wenn deine firmware das immer erst leer setzt und dann den neuen Wert sendet. Ich versuche das mal rauszufiltern
-
Ok,
ich habe hier mal eine neue Version hochgeladen, teste die mal bitte:
https://github.com/dirkhe/ioBroker.lgtv -
so, nachdem meine Frau nun endlich mit Ihrem Film fertig ist, hab ich testen können:
lgtv.0 2020-02-22 19:54:55.911 debug (1056) DEBUGGING getForegroundAppInfo: {"subscribed":true,"appId":"com.webos.app.hdmi1","returnValue":true,"windowId":"","processId":""} lgtv.0 2020-02-22 19:54:55.864 debug (1056) DEBUGGING getForegroundAppInfo: {"subscribed":true,"appId":"","returnValue":true,"windowId":"","processId":""} lgtv.0 2020-02-22 19:51:57.717 debug (1056) DEBUGGING getForegroundAppInfo: {"subscribed":true,"appId":"com.webos.app.hdmi1","returnValue":true,"windowId":"","processId":""} lgtv.0 2020-02-22 19:51:57.675 debug (1056) DEBUGGING getForegroundAppInfo: {"subscribed":true,"appId":"","returnValue":true,"windowId":"","processId":""}
hat sich nichts verändert.
Jedoch muss ich sagen das ich mehr das Problem habe das der ON State nicht auf false gesetzt wird, wenn der FS aus ist. Hängt das jetzt auch da mit dran? -
Hast du das Log jetzt gekürzt?
Diese logeinträge werden ja jedes mal geschrieben, wenn der tv die Applikationen wechselt. Was ist denn der letzte Eintrag, wenn du den tv aus machst? -
lgtv.0 2020-02-22 20:00:37.742 debug (1056) audio/getVolume: {"changed":["volume"],"returnValue":true,"cause":"volumeUp","volumeMax":100,"scenario":"mastervolume_tv_speaker","muted":false,"volume":8,"action":"changed","active":false} lgtv.0 2020-02-22 19:54:55.912 debug (1056) audio/getSoundOutput: {"soundOutput":"tv_external_speaker","subscribed":true} lgtv.0 2020-02-22 19:54:55.911 debug (1056) DEBUGGING getForegroundAppInfo: {"subscribed":true,"appId":"com.webos.app.hdmi1","returnValue":true,"windowId":"","processId":""} lgtv.0 2020-02-22 19:54:55.864 debug (1056) DEBUGGING getForegroundAppInfo: {"subscribed":true,"appId":"","returnValue":true,"windowId":"","processId":""} lgtv.0 2020-02-22 19:53:39.249 debug (1056) system.adapter.admin.0: logging true lgtv.0 2020-02-22 19:51:57.719 debug (1056) audio/getSoundOutput: {"soundOutput":"tv_external_speaker","subscribed":true} lgtv.0 2020-02-22 19:51:57.717 debug (1056) DEBUGGING getForegroundAppInfo: {"subscribed":true,"appId":"com.webos.app.hdmi1","returnValue":true,"windowId":"","processId":""} lgtv.0 2020-02-22 19:51:57.675 debug (1056) DEBUGGING getForegroundAppInfo: {"subscribed":true,"appId":"","returnValue":true,"windowId":"","processId":""} lgtv.0 2020-02-22 19:12:02.289 debug (1056) system.adapter.admin.0: logging false lgtv.0 2020-02-22 18:53:10.311 debug (1056) system.adapter.admin.0: logging true lgtv.0 2020-02-22 18:42:27.559 debug (1056) system.adapter.admin.0: logging false lgtv.0 2020-02-22 18:41:54.164 debug (1056) tv/getCurrentChannel: {"returnValue":false,"errorCode":-1000,"errorText":"internal error"} lgtv.0 2020-02-22 18:41:54.161 debug (1056) audio/getSoundOutput: {"soundOutput":"tv_external_speaker","subscribed":true} lgtv.0 2020-02-22 18:41:54.158 debug (1056) getSystemInfo: {"returnValue":true,"features":{"3d":false,"dvr":true},"receiverType":"dvb","modelName":"49UJ635V-ZF"} lgtv.0 2020-02-22 18:41:54.128 debug (1056) getCurrentSWInformation: {"returnValue":true,"product_name":"webOSTV 3.5","model_name":"HE_DTV_W17P_AFADABAA","sw_type":"FIRMWARE","major_ver":"05","minor_ver":"80.50","country":"AT","country_ lgtv.0 2020-02-22 18:41:54.126 debug (1056) Service list: {"returnValue":true,"services":[{"name":"api","version":1},{"name":"audio","version":1},{"name":"config","version":1},{"name":"media.controls","version":1},{"name":"media.viewer" lgtv.0 2020-02-22 18:41:54.084 debug (1056) DEBUGGING getForegroundAppInfo: {"appId":"amazon","subscribed":true,"returnValue":true,"windowId":"","processId":""} lgtv.0 2020-02-22 18:41:53.976 debug (1056) audio/getVolume: {"returnValue":true,"volumeMax":100,"muted":false,"scenario":"mastervolume_tv_speaker","subscribed":true,"volume":7,"action":"requested","active":false,"changed":["muted","vol lgtv.0 2020-02-22 18:41:53.920 debug (1056) WebOS TV Connected lgtv.0 2020-02-22 18:41:53.715 debug (1056) Connecting to WebOS TV: ws://192.168.2.15:3000 lgtv.0 2020-02-22 18:41:53.679 debug (1056) adapter.config = {"ip":"192.168.2.15","mac":"","timeout":"5000","power":true} lgtv.0 2020-02-22 18:41:53.677 info (1056) Ready. Configured WebOS TV IP: 192.168.2.15 lgtv.0 2020-02-22 18:41:53.632 info (1056) starting. Version 1.1.5 in /opt/iobroker/node_modules/iobroker.lgtv, node: v10.19.0 lgtv.0 2020-02-22 18:41:49.072 debug (1056) statesDB connected lgtv.0 2020-02-22 18:41:49.071 debug (1056) States connected to redis: 127.0.0.1:9000 lgtv.0 2020-02-22 18:41:49.014 debug (1056) States create System PubSub Client lgtv.0 2020-02-22 18:41:49.009 debug (1056) States create User PubSub Client lgtv.0 2020-02-22 18:41:48.978 debug (1056) Redis States: Use Redis connection: 127.0.0.1:9000 lgtv.0 2020-02-22 18:41:48.975 debug (1056) objectDB connected lgtv.0 2020-02-22 18:41:48.959 debug (1056) Objects connected to redis: 127.0.0.1:9001 lgtv.0 2020-02-22 18:41:48.901 debug (1056) Objects client initialize lua scripts lgtv.0 2020-02-22 18:41:48.900 debug (1056) Objects create User PubSub Client lgtv.0 2020-02-22 18:41:48.899 debug (1056) Objects create System PubSub Client lgtv.0 2020-02-22 18:41:48.892 debug (1056) Objects client ready ... initialize now lgtv.0 2020-02-22 18:41:48.805 debug (1056) Redis Objects: Use Redis connection: 127.0.0.1:9001 lgtv.0 2020-02-22 18:40:14.138 info (2822) Terminated (START_IMMEDIATELY_AFTER_STOP): Without reason lgtv.0 2020-02-22 18:40:14.136 info (2822) terminating lgtv.0 2020-02-22 18:40:14.134 info (2822) Got terminate signal TERMINATE_YOURSELF
das sind die letzten Einträge seit der neuen Version, um 19:51und um 19:54 hab ich kurz aus und wieder ein geschalten.
ich sehe da aber keine Meldung wenn ich aus schalte -
Irgendwie kann ich das Schalten nicht nachvollziehen. Da heisst, wenn du ausschaltest, wird nichts ins log geschrieben?
Schaltest du den tv über die Fernbedienung aus oder machst du den direkt stromlos? -
Genau das mein ich ja.
Ich schalte ihn ganz normal über die Fernbedienung.
Das einzige das ich in den Einstellungen aktiviert habe ist das QuickStart+, das aber auch erst seit heute. -
@StefanMc ok, ich mache mir mal Gedanken, ob wir optional doch noch Polling einbauen, so lange der tv läuft.
Vlt. Gibt es ja noch andere ws, die das ausschalten melden.
Hast du zufällig das aufwecken über WiFi ausgeschaltet?