[82_LGTV_WebOS.pm] Modul für LG TV's mit WebOS

Begonnen von CoolTux, 08 Februar 2017, 00:02:58

Vorheriges Thema - Nächstes Thema

Tina

Nachtrag: Noch ein Bild von den Reading, wenn der TV ordnungsgemäß off ist.

Tina

Hallo CulTux,

So, ich habe getestet...
Ich interpretiere das Ergebnis wie folgt: Mein TV geht aus ohne sich zu verabschieden - wie unhöflich  >:(
Der TV hört einfach auf Nachrichten zu senden, d.h. es kommt niemals ein Paket mit der Länge null.
Dementsprechend ist das Abbruchkriterium niemals erfüllt.

Bin ich richtig in meiner Annahme?

Viele Grüße
Tina


Anbei mein Log


2017.10.06 16:34:27 3: Action 3: Ansosnten setze TV auf aus.
2017.10.06 16:34:28 3: Hash wird geprueft...
2017.10.06 16:34:28 3: Action 3: Ansosnten setze TV auf aus.
2017.10.06 16:34:28 3: Tina-Buffer (LGTV) - data received: HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: BQn03y+rng08cUiPozBqVdF6aTI=


2017.10.06 16:34:28 3: Tina-Laenge (LGTV) - data received: 129
2017.10.06 16:34:28 3: LGTV_WebOS (LGTV) - Sucessfull WS connection to 192.168.178.38
2017.10.06 16:34:28 3: Tina-Buffer (LGTV) - data received: r{"type":"registered","id":"register_1507300468.04445","payload":{"client-key":"2c30322a2308526b05effe212f1096d2"}}
2017.10.06 16:34:28 3: Tina-Laenge (LGTV) - data received: 116
2017.10.06 16:34:38 3: Hash wird geprueft...
2017.10.06 16:34:38 3: Action 1: FD und helper,device,regisrtierung ist erfolgreich
2017.10.06 16:34:38 3: Tina-Buffer (LGTV) - data received: ~  {"type":"response","id":"request_1507300478.04837","payload":{"returnValue":true,"scenario":"mastervolume_tv_speaker","volume":10,"volumeMax":100,"mute":false}}
2017.10.06 16:34:38 3: Tina-Laenge (LGTV) - data received: 164
...
2017.10.06 16:36:18 3: Action 1: FD und helper,device,regisrtierung ist erfolgreich
2017.10.06 16:36:18 3: Tina-Buffer (LGTV) - data received: ~  {"type":"response","id":"request_1507300578.31968","payload":{"returnValue":true,"scenario":"mastervolume_tv_speaker","volume":10,"volumeMax":100,"mute":false}}
2017.10.06 16:36:18 3: Tina-Laenge (LGTV) - data received: 164
2017.10.06 16:36:20 3: Tina-Buffer (LGTV) - data received: ~†{"type":"response","id":"request_1507300580.32429","payload":{"returnValue":true,"channelId":"3_23_31_31_561_56105_9999","physicalNumber":23,"isScrambled":false,"channelTypeName":"Cable Digital TV","isLocked":false,"dualChannel":{"dualChannelId":null,"dualChannelTypeName":null,"dualChannelTypeId":null,"dualChannelNumber":null},"isChannelChanged":false,"channelModeName":"Cable","channelNumber":"31","isFineTuned":false,"channelTypeId":4,"isDescrambled":true,"isSkipped":false,"isHEVCChannel":false,"hybridtvType":null,"isInvisible":false,"favoriteGroup":"A","channelName":"hr-fernsehen HD","channelModeId":1,"signalChannelId":"561_56105_9999"}}
2017.10.06 16:36:20 3: Tina-Laenge (LGTV) - data received: 650
2017.10.06 16:36:22 3: Tina-Buffer (LGTV) - data received: ~ Ž{"type":"response","id":"request_1507300582.32451","payload":{"appId":"com.webos.app.livetv","returnValue":true,"windowId":"","processId":""}}
2017.10.06 16:36:22 3: Tina-Laenge (LGTV) - data received: 146
2017.10.06 16:36:28 3: Hash wird geprueft...
2017.10.06 16:36:28 3: Action 1: FD und helper,device,regisrtierung ist erfolgreich
2017.10.06 16:36:38 3: Hash wird geprueft...
2017.10.06 16:36:38 3: Action 1: FD und helper,device,regisrtierung ist erfolgreich
2017.10.06 16:36:48 3: Hash wird geprueft...
...
2017.10.06 16:42:09 3: Action 1: FD und helper,device,regisrtierung ist erfolgreich
2017.10.06 16:42:19 3: Hash wird geprueft...
2017.10.06 16:42:19 3: Action 1: FD und helper,device,regisrtierung ist erfolgreich
2017.10.06 16:52:41 1: 192.168.178.24:1000 disconnected, waiting to reappear (HMLAN)
2017.10.06 16:52:41 1: HMLAN_Parse: HMLAN new condition disconnected
2017.10.06 16:52:41 1: Perfmon: possible freeze starting at 16:42:26, delay is 615.433
2017.10.06 16:52:41 3: Hash wird geprueft...
2017.10.06 16:52:41 3: Action 3: Ansosnten setze TV auf aus.
2017.10.06 16:52:42 1: HMLAN_Parse: HMLAN new condition init
2017.10.06 16:52:42 1: 192.168.178.24:1000 reappeared (HMLAN)
2017.10.06 16:52:42 1: HMLAN_Parse: HMLAN new condition ok
2017.10.06 16:52:51 3: Hash wird geprueft...
2017.10.06 16:52:51 3: Action 3: Ansosnten setze TV auf aus.

CoolTux

Sieht in der Tat so aus.
Ich muss Mal schauen ob ich eine Möglichkeit finde heraus zu finden ob ein write über den Socket erfolgreich war oder nicht. Eventuell kann man da auch was mache.
Wie verhält sich eigentlich ein preaencePing. Zeigt er immer present an nach dem ausschalten?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

Zitat von: GrandJury am 06 Oktober 2017, 00:45:15
Sorry  :-[

2017.10.06 00:33:52 3: LGTV_WebOS (Fernseher) - Corrected JSON String: {"type":"registered","id":"register_1507242832.58107","payload":{"client-key":"361f14a4bd4ac5570c9c738232bd43a8"}}
2017.10.06 00:34:02 3: LGTV_WebOS (Fernseher) - Corrected JSON String: {"type":"response","id":"request_1507242842.58653","payload":{"returnValue":true,"scenario":"mastervolume_ext_speaker_arc","volume":0,"mute":false}}
2017.10.06 00:34:06 3: LGTV_WebOS (Fernseher) - Corrected JSON String: {"type":"response","id":"request_1507242846.59116","payload":{"appId":"com.webos.app.livetv","returnValue":true,"windowId":"","processId":""}}
2017.10.06 00:34:07 3: LGTV_WebOS (Fernseher) - Corrected JSON String: {"type":"response","id":"request_1507242846.62862","payload":{"returnValue":true}}
2017.10.06 00:34:53 3: LGTV_WebOS (Fernseher) - Sucessfull WS connection to 192.168.178.112
2017.10.06 00:34:53 3: LGTV_WebOS (Fernseher) - Corrected JSON String: {"type":"registered","id":"register_1507242893.71808","payload":{"client-key":"361f14a4bd4ac5570c9c738232bd43a8"}}
2017.10.06 00:35:34 3: LGTV_WebOS (Fernseher) - Sucessfull WS connection to 192.168.178.112
2017.10.06 00:35:34 3: LGTV_WebOS (Fernseher) - Corrected JSON String: {"type":"registered","id":"register_1507242934.42627","payload":{"client-key":"361f14a4bd4ac5570c9c738232bd43a8"}}
2017.10.06 00:36:15 3: LGTV_WebOS (Fernseher) - Sucessfull WS connection to 192.168.178.112
2017.10.06 00:36:15 3: LGTV_WebOS (Fernseher) - Corrected JSON String: {"type":"registered","id":"register_1507242975.12783","payload":{"client-key":"361f14a4bd4ac5570c9c738232bd43a8"}}
2017.10.06 00:36:56 3: LGTV_WebOS (Fernseher) - Sucessfull WS connection to 192.168.178.112
2017.10.06 00:36:56 3: LGTV_WebOS (Fernseher) - Corrected JSON String: {"type":"registered","id":"register_1507243016.23972","payload":{"client-key":"361f14a4bd4ac5570c9c738232bd43a8"}}
2017.10.06 00:37:36 3: LGTV_WebOS (Fernseher) - Sucessfull WS connection to 192.168.178.112
2017.10.06 00:37:37 3: LGTV_WebOS (Fernseher) - Corrected JSON String: {"type":"registered","id":"register_1507243056.96062","payload":{"client-key":"361f14a4bd4ac5570c9c738232bd43a8"}}


Internals:
   DEF        192.168.178.112
   FD         42
   HOST       192.168.178.112
   NAME       Fernseher
   NR         234
   PARTIAL
   STATE      on
   TYPE       LGTV_WebOS
   VERSION    1.0.1
   READINGS:
     2017-10-03 11:50:04   3DMode          2d
     2017-10-06 00:43:42   channel         -
     2017-10-06 00:43:42   channelCurrentEndTime -
     2017-10-06 00:43:42   channelCurrentStartTime -
     2017-10-06 00:43:42   channelCurrentTitle -
     2017-10-06 00:43:42   channelMedia    -
     2017-10-06 00:43:42   channelName     -
     2017-10-06 00:43:42   channelNextEndTime -
     2017-10-06 00:43:42   channelNextStartTime -
     2017-10-06 00:43:42   channelNextTitle -
     2017-10-03 11:50:06   extInput_AV     connect_0
     2017-10-03 11:50:06   extInput_HDMI-2 connect_0
     2017-10-03 11:50:06   extInput_Komponente connect_0
     2017-10-03 11:50:06   extInput_PS4    connect_0
     2017-10-03 11:50:06   extInput_Recalbox connect_0
     2017-10-06 00:34:06   input           -
     2017-10-05 23:19:06   lastResponse    error - 500 Application error
     2017-10-06 00:34:06   launchApp       TV
     2017-10-06 00:43:43   lgKey           361f14a4bd4ac5570c9c738232bd43a8
     2017-10-03 07:50:30   pairing         unpaired
     2017-10-05 23:22:51   service_api     v.1
     2017-10-05 23:22:51   service_audio   v.1
     2017-10-05 23:22:51   service_config  v.1
     2017-10-05 23:22:51   service_media.controls v.1
     2017-10-05 23:22:51   service_media.viewer v.1
     2017-10-05 23:22:51   service_pairing v.1
     2017-10-05 23:22:51   service_settings v.1
     2017-10-05 23:22:51   service_system  v.1
     2017-10-05 23:22:51   service_system.launcher v.1
     2017-10-05 23:22:51   service_system.notifications v.1
     2017-10-05 23:22:51   service_timer   v.1
     2017-10-05 23:22:51   service_tv      v.1
     2017-10-05 23:22:51   service_user    v.1
     2017-10-05 23:22:51   service_webapp  v.2
     2017-10-06 00:44:03   state           on
     2017-10-06 00:34:02   volume          0
   helper:
     wsKey      MTUwNzI0MzQyMy4xNzE0

     device:
       registered 1
       runsetcmd  1
       channelguide:
         counter    92
Attributes:
   devStateIcon on:10px-kreis-gruen:off off:10px-kreis-rot:on
   room       LGTV


Es kommen in der Tat keine Daten mehr bezüglich Sender oder Input oder App. Kommt nur noch Client ID information. Ich schaue mir das am WE genauer an.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Tina

Hallo CulTux,

Das Presence-Reading ist bei mir echt schnell und hat bisher immer zum Zustand gepasst.
Ich hatte auch schon in diese Richtung überlegt...

Viele Grüße
Tina

CoolTux

Dann setzen wir da erstmal an. Ich werde mir am WE Gedanken machen wie wir das umsetzen können.



Grüße
Leon
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

#561
Hallo Tina,

Kannst Du bitte einmal folgende Version testen.
Danke


Leon
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

Ach so, fast vergessen. Ganz wichtig das Du pingPresence aktivierst.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Tina

Hallo Leon,

der TV hat seinen state in fhem sofort auf off gesetzt  :D
Ich habe jetzt mal nicht darauf gewartet, dass irgendetwas blockiert.

Erster Test ist erfolgreich. Ich gehe auch davon aus, dass die nächsten x min nix passiert.

Was hast Du gemacht? Zusätzlich Presence verwendet?

Vielen, vielen Dank schon einmal.
Tina

CoolTux

Wenn Presence absent ist und die Socketverbindung noch steht soll er sie schließen.
Freue mich sehr das es auf den ersten Blick klappt. Hoffe nur das die Umsetzung keine Nebenwirkungen zeigt.


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Tina

Ich habe noch ein wenig rumgespielt (soweit dies möglich war, weil Mann TV schaut).
Es läuft nach wie vor einwandfrei.
Sogar der "MAF" wurde erhöht, als ich zeigen konnte wie elegant ich zwischen Netflix und TV umschalten kann  :D

Hast Du vor, das neue Feature in das normale fhem-Repository einzuchecken?

CoolTux

Ich werde das ganze bei mir ne Woche laufen lassen und hoffe das noch ein zwei weitere testen können.

@Otto
Magst uns unterstützen  ;D

Wenn es keine Probleme im Laufe von 2 Wochen gibt dann machen wir es stable ins SVN.

Die aktuelle Änderung schicke ich in einer Stunde in den devel branch meines git's
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Tina

Das klingt super.
Gib einfach Bescheid, wenn ich noch was spezielles machen kann.

Ich werde das Modul auf jeden Fall die nächste Zeit intensiv testen.

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

https://github.com/LeonGaultier/fhem-LGTV_WebOS/tree/devel

Hier findet Ihr eine aktuelle Devel Version. Zum jetzigen Zeitpunkt wäre es super wenn ein zwei Leute sich die mal installieren würden und berichten um sie so läuft wie die momentan stabile Version.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net