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

Begonnen von CoolTux, 02 Februar 2022, 12:54:52

Vorheriges Thema - Nächstes Thema

drhirn

Wir können ja mit dem Modul "play" und "pause" setzen. Wäre es technisch auch möglich, den aktuellen Zustand als state-Reading auszugeben (und dafür "on" und "off" in ein eigenes Reading zu verschieben)? Wird über ssap://media.controls/pause irgendwas geliefert?

lewej

Hi,

wir haben einen LG 55UP78.
Ich kann mich connecten und auch steuern, funktioniert soweit gut. Was nicht funktionert ist der Status wenn man den LG ausschaltet.


Internals:
   CFGFN     
   DEF        xxxxxxxxxxxxxx
   FD         26
   FUUID      628f6bb2-f33f-daf7-9837-7ee2085b372d3989
   FVERSION   82_LGTV_WebOS.pm:v3.6.5-s25900/2022-03-31
   HOST       xxxxxxxxxxxxxxxxxxx
   NAME       LgTV
   NR         1254
   PARTIAL   
   STATE      on
   TYPE       LGTV_WebOS
   VERSION    v3.6.5
   READINGS:
     2022-05-26 14:04:00   channel         19
     2022-05-26 13:59:46   channelCurrentEndTime -
     2022-05-26 13:59:46   channelCurrentStartTime -
     2022-05-26 13:59:46   channelCurrentTitle -
     2022-05-26 14:04:00   channelMedia    Satellite Digital TV
     2022-05-26 14:04:00   channelName     DMAX
     2022-05-26 13:59:46   channelNextEndTime -
     2022-05-26 13:59:46   channelNextStartTime -
     2022-05-26 13:59:46   channelNextTitle -
     2022-05-26 14:03:56   extInput_HDMI_1 connect_0
     2022-05-26 14:03:56   extInput_HDMI_2 connect_0
     2022-05-26 14:03:52   input           -
     2022-05-26 14:16:39   lastResponse    error - 500 Application error
     2022-05-26 14:03:52   launchApp       TV
     2022-05-26 14:03:43   lgKey           ########################
     2022-05-26 14:03:49   mute            off
     2022-05-26 14:03:38   pairing         paired
     2022-05-26 14:03:38   state           on
     2022-05-26 14:03:49   volume          10
   helper:
     lastResponse 1653567399
     wsKey      xxxxxxxxxxxxxxxxxxxxx==

     device:
       registered 1
       runsetcmd  0
       channelguide:
         counter    103
       inputapps:
         com.webos.app.hdmi1 HDMI_1
         com.webos.app.hdmi2 HDMI_2
       inputs:
         HDMI_1     com.webos.app.hdmi1
         HDMI_2     com.webos.app.hdmi2
   hmccu:
Attributes:
   devStateIcon on:10px-kreis-gruen:off off:10px-kreis-rot:on
   room       LGTV
   verbose    5



ReadFn started
2022.05.26 14:18:59.471 4: LGTV_WebOS (LgTV) - received correct JSON string, start response processing: {
"type": "error",
"id": "request_1653567539.46202",
"error": "500 Application error",
"payload": {
"returnValue": false,
"errorCode": -1000,
"errorText": "com.webos.service.utp/bind returns invalid result(response error)",
"response": {
"subscribed": false,
"errorCode": -101,
"returnValue": false,
"errorText": "There is no active broadcast to bind"
}
}
}
2022.05.26 14:18:59.471 4: LGTV_WebOS (LgTV) - JSON detected, run LGTV_WebOS_WriteReadings
2022.05.26 14:18:59.471 4: LGTV_WebOS (LgTV) - Corrected JSON String:
{"type":"error","id":"request_1653567539.46202","error":"500 Application error","payload":{"returnValue":false,"errorCode":-1000,"errorText":"com.webos.service.utp/bind returns invalid result(response error)","response":{"subscribed":false,"errorCode":-101,"returnValue":false,"errorText":"There is no active broadcast to bind"}}


Helfen die Logs?

gr

Ganglion

Hi zusammen,
seit dem FHEM "update" heute bekomme ich beim Start den Fehler "Cannot load module LGTV_WebOS".
Selber Fehler wenn ich versuche "define" neu auszuführen.

Vor dem Update lief alles problemlos.

Noch jemand das Phänomen und ggf. eine Lösungsidee?

Gruß Christoph

CoolTux

Bitte FHEM Log schauen und genauere Fehlerausgabe Posten.
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

Ganglion

#109
Zitat von: CoolTux am 11 Juni 2022, 18:45:26
Bitte FHEM Log schauen und genauere Fehlerausgabe Posten.

Danke für die schnelle Rückmeldung.
Folger Eintrag dazu im FHEM-log

EDIT:
Die Lösung war es in der Tat das Fehlende Perl Modul zu installieren mit:
"sudo apt install libtry-tiny-perl"

Zitatreload: Error:Modul 82_LGTV_WebOS deactivated:
Can't locate Try/Tiny.pm in @INC (you may need to install the Try::Tiny module) (@INC contains: ./lib ./FHEM . /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/x86_64-linux-gnu/perl5/5.24 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base ./FHEM/lib) at lib/FHEM/Devices/LGTV/LGTVWebOS.pm line 38, <$fh> line 3835.
BEGIN failed--compilation aborted at lib/FHEM/Devices/LGTV/LGTVWebOS.pm line 38, <$fh> line 3835.
Compilation failed in require at ./FHEM/82_LGTV_WebOS.pm line 36, <$fh> line 3835.

matzke

Hallo,
wäre es möglich dem Modul die Funktion: Reading für Status "Play, Pause, ..." bei eines der Apps (Netflix, Amazon..) hinzuzufügen?

Hintergrund ist, dass dann folgende Automatisierungen werden dann möglich:
- Abspielung "Start", Raumbeleuchtung wird angepasst.
- Abspielung auf "Pause", Licht geht an
- Bewegungsmelder im Raum + anschließend Bewegung im Flur => Abspielung stopp, umgekehr Abspielung weiter.

Oder ist dies bereits irgendwie möglich?

Vielen Dank.




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

Homatrix

Hi,

ich habe das Problem, dass mein FHEM für rund 7 Minuten komplett nicht mehr ansprechbar ist (weder über die WebUi, noch per fhem.pl), sobald ich den TV aus mache.  :(
Hat ewig gedauert, rauszufinden, dass die Aussetzer mit dem Fernseher zu tun haben.
Der sieht wie folgt aus (jetzt grad disabled):
Internals:
   DEF        192.168.2.104
   FUUID      5cd535fc-f33f-a63b-79c2-4ea46fde99a7dfb1
   FVERSION   82_LGTV_WebOS.pm:v3.6.5-s25900/2022-03-31
   HOST       192.168.2.104
   NAME       WZ_TV
   NR         346
   PARTIAL   
   STATE      disabled
   TYPE       LGTV_WebOS
   VERSION    v3.6.5
   eventCount 10
   Helper:
     DBLOG:
       state:
         DbLog_Geraete:
           TIME       1661846245.00492
           VALUE      disabled
   READINGS:
     2022-08-07 10:34:01   3D              off
     2022-08-07 10:34:01   3DMode          2d
     2022-08-07 10:32:55   channel         -
     2022-08-07 10:32:55   channelCurrentEndTime -
     2022-08-07 10:32:55   channelCurrentStartTime -
     2022-08-07 10:32:55   channelCurrentTitle -
     2022-08-07 10:32:55   channelMedia    -
     2022-08-07 10:32:55   channelName     -
     2022-08-07 10:32:55   channelNextEndTime -
     2022-08-07 10:32:55   channelNextStartTime -
     2022-08-07 10:32:55   channelNextTitle -
     2022-08-07 10:34:03   extInput_HDMI_4 connect_0
     2022-08-07 10:34:03   extInput_PC     connect_1
     2022-08-28 20:35:50   extInput_Spielkonsole connect_0
     2022-08-07 10:34:03   extInput_hdmi2  connect_0
     2022-08-30 09:39:00   input           -
     2022-08-29 06:53:26   lastResponse    ok
     2022-08-30 09:39:00   launchApp       Netflix
     2022-08-07 10:33:53   lgKey           23b52b4d0292b0e3a177460071b34337
     2022-08-20 20:00:15   mute            off
     2022-08-29 06:53:26   pairing         paired
     2022-08-30 09:57:24   state           disabled
     2022-08-30 09:38:57   volume          13
   helper:
     lastResponse 1661845144
     wsKey      MTY2MTg0NTEyNi4zMDgxNQ==

     device:
       registered 1
       runsetcmd  0
       channelguide:
         counter    85
       inputapps:
         com.webos.app.hdmi1 PC
         com.webos.app.hdmi2 hdmi2
         com.webos.app.hdmi3 Spielkonsole
         com.webos.app.hdmi4 HDMI_4
       inputs:
         HDMI_4     com.webos.app.hdmi4
         PC         com.webos.app.hdmi1
         Spielkonsole com.webos.app.hdmi3
         hdmi2      com.webos.app.hdmi2
   hmccu:
Attributes:
   devStateIcon on:10px-kreis-gruen:off off:10px-kreis-rot:on
   disable    1
   event-on-change-reading .*
   eventMap   /on:An/off:Aus/
   group      Geräte
   icon       it_television
   room       Geräte,WZ
   verbose    5

Meine Logs sind der Meinung, dass das seit Anfang Mai so ist. Wann ich die Lib geupdated habe, kann ich leider nicht sagen.

Ich hab den TV jetzt nochmal angemacht, Netflix gestartet und wieder aus. Das Log läßt sich auf Grund von vielen nicht anzeigbaren Zeichen nicht vollständig kopieren, daher hier nur Auschnitte:

2022.08.30 09:36:34 3: LGTV_WebOS (WZ_TV) - enabled
2022.08.30 09:36:39 1: RMDIR: ./restoreDir/save/2022-08-26
2022.08.30 09:36:43 5: LGTV_WebOS (WZ_TV) - Sending command: {"client-key":"23b52b4d0292b0e3a177460071b34337","type":"request","id":"request_1661845003.8989","uri":["ssap://system/turnOn"],"payload":{}}
2022.08.30 09:36:43 4: LGTV_WebOS (WZ_TV) - WriteFn called
2022.08.30 09:36:43 4: LGTV_WebOS (WZ_TV) - socket not connected
2022.08.30 09:36:45 4: LGTV_WebOS (WZ_TV) - Baue Socket Verbindung auf
2022.08.30 09:36:45 4: LGTV_WebOS (WZ_TV) Couldn't connect to 192.168.2.104:3000
2022.08.30 09:36:55 4: LGTV_WebOS (WZ_TV) - Baue Socket Verbindung auf
2022.08.30 09:36:55 4: LGTV_WebOS (WZ_TV) Couldn't connect to 192.168.2.104:3000
2022.08.30 09:37:05 4: LGTV_WebOS (WZ_TV) - Baue Socket Verbindung auf
2022.08.30 09:37:05 4: LGTV_WebOS (WZ_TV) Couldn't connect to 192.168.2.104:3000
2022.08.30 09:37:15 4: LGTV_WebOS (WZ_TV) - Baue Socket Verbindung auf
2022.08.30 09:37:15 4: LGTV_WebOS (WZ_TV) Couldn't connect to 192.168.2.104:3000
2022.08.30 09:37:18 5: LGTV_WebOS (WZ_TV) - Sending command: {"uri":["ssap://system/turnOn"],"payload":{},"type":"request","client-key":"23b52b4d0292b0e3a177460071b34337","id":"request_1661845038.472"}
2022.08.30 09:37:18 4: LGTV_WebOS (WZ_TV) - WriteFn called
2022.08.30 09:37:18 4: LGTV_WebOS (WZ_TV) - socket not connected
2022.08.30 09:37:25 4: LGTV_WebOS (WZ_TV) - Baue Socket Verbindung auf
2022.08.30 09:37:25 4: LGTV_WebOS (WZ_TV) Couldn't connect to 192.168.2.104:3000
2022.08.30 09:37:35 4: LGTV_WebOS (WZ_TV) - Baue Socket Verbindung auf
2022.08.30 09:37:35 4: LGTV_WebOS (WZ_TV) Couldn't connect to 192.168.2.104:3000
2022.08.30 09:37:45 4: LGTV_WebOS (WZ_TV) - Baue Socket Verbindung auf
2022.08.30 09:37:45 4: LGTV_WebOS (WZ_TV) Couldn't connect to 192.168.2.104:3000
2022.08.30 09:37:55 4: LGTV_WebOS (WZ_TV) - Baue Socket Verbindung auf
2022.08.30 09:37:56 4: LGTV_WebOS (WZ_TV) Couldn't connect to 192.168.2.104:3000
2022.08.30 09:38:06 4: LGTV_WebOS (WZ_TV) - Baue Socket Verbindung auf
2022.08.30 09:38:06 4: LGTV_WebOS (WZ_TV) Couldn't connect to 192.168.2.104:3000
2022.08.30 09:38:16 4: LGTV_WebOS (WZ_TV) - Baue Socket Verbindung auf
2022.08.30 09:38:16 4: LGTV_WebOS (WZ_TV) Couldn't connect to 192.168.2.104:3000
2022.08.30 09:38:26 4: LGTV_WebOS (WZ_TV) - Baue Socket Verbindung auf
2022.08.30 09:38:26 4: LGTV_WebOS (WZ_TV) Couldn't connect to 192.168.2.104:3000
2022.08.30 09:38:36 4: LGTV_WebOS (WZ_TV) - Baue Socket Verbindung auf
2022.08.30 09:38:36 4: LGTV_WebOS (WZ_TV) Couldn't connect to 192.168.2.104:3000
2022.08.30 09:38:46 4: LGTV_WebOS (WZ_TV) - Baue Socket Verbindung auf
2022.08.30 09:38:46 4: LGTV_WebOS (WZ_TV) - Socket Connected
2022.08.30 09:38:46 4: LGTV_WebOS (WZ_TV) - WriteFn called
2022.08.30 09:38:46 4: LGTV_WebOS (WZ_TV) - GET / HTTP/1.1
Host: 192.168.2.104
User-Agent: FHEM
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Version: 13
Sec-WebSocket-Key: MTY2MTg0NTEyNi4zMDgxNQ==


2022.08.30 09:38:46 4: LGTV_WebOS (WZ_TV) - send Handshake to WriteFn
2022.08.30 09:38:46 4: LGTV_WebOS (WZ_TV) - start timer status request
2022.08.30 09:38:46 4: LGTV_WebOS (WZ_TV) - HASH handshakePayload
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Sending command: {"type":"register","id":"register_1661845126.32761","payload":{"client-key":"23b52b4d0292b0e3a177460071b34337","manifest":{"manifestVersion":1,"signatures":[{"signatureVersion":1,"signature":"eyJhbGdvcml0aG0iOiJSU0EtU0hBMjU2Iiwia2V5SWQiOiJ0ZXN0LXNpZ25pbmctY2VydCIsInNpZ25hdHVyZVZlcnNpb24iOjF9.hrVRgjCwXVvE2OOSpDZ58hR+59aFNwYDyjQgKk3auukd7pcegmE2CzPCa0bJ0ZsRAcKkCTJrWo5iDzNhMBWRyaMOv5zWSrthlf7G128qvIlpMT0YNY+n/FaOHE73uLrS/g7swl3/qH/BGFG2Hu4RlL48eb3lLKqTt2xKHdCs6Cd4RMfJPYnzgvI4BNrFUKsjkcu+WD4OO2A27Pq1n50cMchmcaXadJhGrOqH5YmHdOCj5NSHzJYrsW0HPlpuAx/ECMeIZYDh6RMqaFM2DXzdKX9NmmyqzJ3o/0lkk/N97gfVRLW5hA29yeAwaCViZNCP8iC9aO0q9fQojoa7NQnAtw=="}],"permissions":["LAUNCH","LAUNCH_WEBAPP","APP_TO_APP","CLOSE","TEST_OPEN","TEST_PROTECTED","CONTROL_AUDIO","CONTROL_DISPLAY","CONTROL_INPUT_JOYSTICK","CONTROL_INPUT_MEDIA_RECORDING","CONTROL_INPUT_MEDIA_PLAYBACK","CONTROL_INPUT_TV","CONTROL_POWER","READ_APP_STATUS","READ_CURRENT_CHANNEL","READ_INPUT_DEVICE_LIST","READ_NETWORK_STATE","READ_RUNNING_APPS","READ_TV_CHANNEL_LIST","WRITE_NOTIFICATION_TOAST","READ_POWER_STATE","READ_COUNTRY_INFO"],"signed":{"localizedVendorNames":{"":"LG Electronics"},"vendorId":"com.lge","created":"20161123","permissions":["TEST_SECURE","CONTROL_INPUT_TEXT","CONTROL_MOUSE_AND_KEYBOARD","READ_INSTALLED_APPS","READ_LGE_SDX","READ_NOTIFICATIONS","SEARCH","WRITE_SETTINGS","WRITE_NOTIFICATION_ALERT","CONTROL_POWER","READ_CURRENT_CHANNEL","READ_RUNNING_APPS","READ_UPDATE_INFO","UPDATE_FROM_REMOTE_APP","READ_LGE_TV_INPUT_EVENTS","READ_TV_CURRENT_TIME"],"appId":"com.lge.test","localizedAppNames":{"":"FHEM LG Remote","de-DE":"FHEM LG Fernbedienung"},"serial":"2f930e2d2cfe083771f68e4fe7bb07"},"appVersion":"1.1"},"pairingType":"PROMPT"}}
2022.08.30 09:38:46 4: LGTV_WebOS (WZ_TV) - WriteFn called
2022.08.30 09:38:46 4: LGTV_WebOS (WZ_TV) - þ®     [+++++ hier mehr garbage ++++++]
2022.08.30 09:38:46 4: LGTV_WebOS (WZ_TV) - Send pairing informations
2022.08.30 09:38:46 4: LGTV_WebOS (WZ_TV) - start pairing routine
2022.08.30 09:38:46 4: LGTV_WebOS (WZ_TV) - start Handshake
2022.08.30 09:38:46 4: LGTV_WebOS (WZ_TV) - ReadFn started
2022.08.30 09:38:46 4: LGTV_WebOS (WZ_TV) - coruppted data found, run LGTV_WebOS_ProcessRead: HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: QYMH5LP7Qebv5ZYfb3z1d2ioJJA=


2022.08.30 09:38:46 4: LGTV_WebOS (WZ_TV) - process read
2022.08.30 09:38:46 4: LGTV_WebOS (WZ_TV) - No PARTIAL buffer
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Incoming data: HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: QYMH5LP7Qebv5ZYfb3z1d2ioJJA=


2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Current processing buffer (PARTIAL + incoming data): HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: QYMH5LP7Qebv5ZYfb3z1d2ioJJA=


2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: H
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: T
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: T
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: P
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: /
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: 1
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: .
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: 1
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: 
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: 1
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: 0
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: 1
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: 
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: S
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: w
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: i
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: t
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: c
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: h
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: i
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: n
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: g
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: 
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: P
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: r
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: o
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: t
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: o
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: c
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: o
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: l
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: s
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message:
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message:

2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: U
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: p
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: g
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: r
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: a
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: d
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: e
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: :
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: 
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: w
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: e
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: b
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: s
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: o
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: c
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: k
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: e
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: t
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message:
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message:

2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: C
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: o
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: n
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: n
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: e
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: c
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: t
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: i
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: o
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: n
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: :
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: 
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: U
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: p
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: g
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: r
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: a
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: d
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: e
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message:
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message:

2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: S
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: e
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: c
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: -
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: W
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: e
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: b
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: S
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: o
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: c
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: k
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: e
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: t
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: -
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: A
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: c
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: c
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: e
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: p
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: t
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: :
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: 
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: Q
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: Y
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: M
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: H
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: 5
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: L
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: P
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: 7
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: Q
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: e
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: b
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: v
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: 5
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: Z
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: Y
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: f
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: b
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: 3
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: z
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: 1
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: d
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: 2
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: i
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: o
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: J
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: J
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: A
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message: =
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message:
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message:

2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message:
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Garbage character before message:

2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - return msg:  and tail:
2022.08.30 09:38:46 4: LGTV_WebOS (WZ_TV) - PARTIAL lenght: 0
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - Tail:
2022.08.30 09:38:46 5: LGTV_WebOS (WZ_TV) - PARTIAL:
2022.08.30 09:38:46 4: LGTV_WebOS (WZ_TV) - ReadFn started
2022.08.30 09:38:46 4: LGTV_WebOS (WZ_TV) - received correct JSON string, start response processing: {"type":"registered","id":"register_1661845126.32761","payload":{"client-key":"23b52b4d0292b0e3a177460071b34337"}}
2022.08.30 09:38:46 4: LGTV_WebOS (WZ_TV) - JSON detected, run LGTV_WebOS_WriteReadings
2022.08.30 09:38:46 4: LGTV_WebOS (WZ_TV) - Corrected JSON String: {"type":"registered","id":"register_1661845126.32761","payload":{"client-key":"23b52b4d0292b0e3a177460071b34337"}}
2022.08.30 09:38:46 4: LGTV_WebOS (WZ_TV) - Beginn Readings writing
2022.08.30 09:38:56 4: LGTV_WebOS (WZ_TV) - run get functions
2022.08.30 09:38:56 4: LGTV_WebOS (WZ_TV) - LGTV_WebOS_GetAudioStatus: 0
2022.08.30 09:38:56 5: LGTV_WebOS (WZ_TV) - Sending command: {"uri":["ssap://audio/getStatus"],"client-key":"23b52b4d0292b0e3a177460071b34337","type":"request","id":"request_1661845136.33123"}
2022.08.30 09:38:56 4: LGTV_WebOS (WZ_TV) - WriteFn called
2022.08.30 09:38:56 4: LGTV_WebOS (WZ_TV) - þ           [++++++++++++++hier wieder garbage++++++++++++]
2022.08.30 09:38:57 4: LGTV_WebOS (WZ_TV) - ReadFn started
2022.08.30 09:38:57 4: LGTV_WebOS (WZ_TV) - received correct JSON string, start response processing: {"type":"response","id":"request_1661845136.33123","payload":{"returnValue":true,"scenario":"mastervolume_tv_speaker","volume":13,"mute":false}}
2022.08.30 09:38:57 4: LGTV_WebOS (WZ_TV) - JSON detected, run LGTV_WebOS_WriteReadings
2022.08.30 09:38:57 4: LGTV_WebOS (WZ_TV) - Corrected JSON String: {"type":"response","id":"request_1661845136.33123","payload":{"returnValue":true,"scenario":"mastervolume_tv_speaker","volume":13,"mute":false}}
2022.08.30 09:38:57 4: LGTV_WebOS (WZ_TV) - Beginn Readings writing
2022.08.30 09:39:00 4: LGTV_WebOS (WZ_TV) - LGTV_WebOS_GetForgroundAppInfo: 0
2022.08.30 09:39:00 5: LGTV_WebOS (WZ_TV) - Sending command: {"uri":["ssap://com.webos.applicationManager/getForegroundAppInfo"],"id":"request_1661845140.3371","type":"request","client-key":"23b52b4d0292b0e3a177460071b34337"}
2022.08.30 09:39:00 4: LGTV_WebOS (WZ_TV) - WriteFn called

[ +++++++++++ das wiederholt sich häufig +++++++++++++]

2022.08.30 09:48:26 4: LGTV_WebOS (WZ_TV) - run get functions
2022.08.30 09:48:26 4: LGTV_WebOS (WZ_TV) - LGTV_WebOS_GetAudioStatus: 0
2022.08.30 09:48:26 5: LGTV_WebOS (WZ_TV) - Sending command: {"id":"request_1661845706.70509","type":"request","client-key":"23b52b4d0292b0e3a177460071b34337","uri":["ssap://audio/getStatus"]}
2022.08.30 09:48:26 4: LGTV_WebOS (WZ_TV) - WriteFn called
2022.08.30 09:48:26 4: LGTV_WebOS (WZ_TV) - þ  [+++++++++++ wieder garbage hier ++++++++++++]

[+++++++ hier keine Zeilen rausgeschnitten ! ++++++++]

2022.08.30 09:55:10 4: LGTV_WebOS (WZ_TV) - can't write to socket, autodie exception: Can't syswrite(IO::Socket::INET=GLOB(0x937b5e8), <BUFFER>): No route to host at lib/FHEM/Devices/LGTV/LGTVWebOS.pm line 709

2022.08.30 09:55:10 4: LGTV_WebOS (WZ_TV) - Socket Disconnected
2022.08.30 09:55:10 4: LGTV_WebOS (WZ_TV) - Baue Socket Verbindung auf
2022.08.30 09:55:11 4: LGTV_WebOS (WZ_TV) Couldn't connect to 192.168.2.104:3000

Log hängt hier dran.

Am Ende sieht man die Pause, in der FHEM auf nichts reagiert.

Nach dem Ausschalten, wird der TV auch noch als 'An' angezeigt, die 10 Minuten bis fhem komplett weg ist. Ein Ping meint aber auch, dass der aus ist.

Nun, die Fragen:
Muss das Log so seltsam aussehen? (Mein Netz ist in Ordnung und würd ich als Fehler ausschließen.)
Fehlen mir vielleicht Attribute oder habe ich falsche gesetzt, dass das so passiert?
Wieso steht meine ganze fhem Installation?
Wie kann ich den wieder aktivieren, ohne dass das passiert?

Homatrix

CoolTux

Setz mal bitte das Attribut keepAliveCheckTime mit Wert 2.


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

Homatrix

Ähm, ja, das funktioniert.  :D
Dank dir!

Wenn ich aber an all die anderen FHEM User denke, frag ich mich doch, wie es zu einem kompletten Stillstand von fhem kommen kann. Das darf m.M. nicht passieren, egal, was ich eingestellt habe.
Meine Meinung.

Danke CoolTux, läuft bei mir erstmal wieder!

Homatrix

AnBad

Hi,
wäre super, wenn man über das Modul nicht nur dass App setzen könnte, sondern auch gleich eine Playlist in z.B. YouTube.

Nach dem Motto: Bewegungsmelder im Raum startet TV, YouTube und dann ein Playlist. Oder bei Raumbetreten fragt Alexa, was das TV machen soll: Einschalten TV, YouTube, Playlist xyz

orioooo

Hallo,

besteht die Möglichkeit Tasten/Buttons ins Modul zu integrieren? Dadurch wären dann auch Befehle wie UP, DOWN, BACK, MENU usw. möglich.

Der API-Endpunkt dafür müsste über ssap://com.webos.service.networkinput/getPointerInputSocket erreichbar sein.

Grüße Frank

CoolTux

Zitat von: ferio898 am 27 Dezember 2022, 17:48:42
Hallo,

besteht die Möglichkeit Tasten/Buttons ins Modul zu integrieren? Dadurch wären dann auch Befehle wie UP, DOWN, BACK, MENU usw. möglich.

Der API-Endpunkt dafür müsste über ssap://com.webos.service.networkinput/getPointerInputSocket erreichbar sein.

Grüße Frank

Wenn Du mir genau sagen kannst was da gemacht werden muss. Also entpoint plus value kann ich das machen.
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

mumpitzstuff

https://github.com/SaschaWessel/lgtv

Hier steht irgendwas in der Richtung. Auf github findet man dazu bestimmt aber noch mehr an anderer Stelle...

orioooo

Zitat von: CoolTux am 27 Dezember 2022, 17:58:01
Wenn Du mir genau sagen kannst was da gemacht werden muss. Also entpoint plus value kann ich das machen.

Ich hab mir das anhand eines Homebridge Moduls angeschaut: https://github.com/merdok/homebridge-webos-tv/blob/master/lib/LgTvController.js
Im Grunde genommen werden hier einfach alle Tasten auf der Fernbedienung simuliert.

Der endpoint wird in Zeile 60 definiert:
const WEBOS_URI_REMOTE_POINTER_SOCKET_INPUT = 'ssap://com.webos.service.networkinput/getPointerInputSocket';

Die Values in Zeile 63:
const REMOTE_COMMANDS = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "LIST", "AD", "DASH", "MUTE", "VOLUMEUP", "VOLUMEDOWN", "CHANNELUP", "CHANNELDOWN", "HOME", "MENU", "UP", "DOWN", "LEFT", "RIGHT", "CLICK", "BACK", "EXIT", "PROGRAM", "ENTER", "INFO", "RED", "GREEN", "YELLOW", "BLUE", "LIVE_ZOOM", "CC", "PLAY", "PAUSE", "REWIND", "FASTFORWARD", "POWER", "FAVORITES", "RECORD", "FLASHBACK", "QMENU", "GOTOPREV", "GOTONEXT", "3D_MODE", "SAP", "ASPECT_RATIO", "EJECT", "MYAPPS", "RECENT", "BS", "BS_NUM_1", "BS_NUM_2", "BS_NUM_3", "BS_NUM_4", "BS_NUM_5", "BS_NUM_6", "BS_NUM_7", "BS_NUM_8", "BS_NUM_9", "BS_NUM_10", "BS_NUM_11", "BS_NUM_12", "CS1", "CS1_NUM_1", "CS1_NUM_2", "CS1_NUM_3", "CS1_NUM_4", "CS1_NUM_5", "CS1_NUM_6", "CS1_NUM_7", "CS1_NUM_8", "CS1_NUM_9", "CS1_NUM_10", "CS1_NUM_11", "CS1_NUM_12", "CS2", "CS2_NUM_1", "CS2_NUM_2", "CS2_NUM_3", "CS2_NUM_4", "CS2_NUM_5", "CS2_NUM_6", "CS2_NUM_7", "CS2_NUM_8", "CS2_NUM_9", "CS2_NUM_10", "CS2_NUM_11", "CS2_NUM_12", "TER", "TER_NUM_1", "TER_NUM_2", "TER_NUM_3", "TER_NUM_4", "TER_NUM_5", "TER_NUM_6", "TER_NUM_7", "TER_NUM_8", "TER_NUM_9", "TER_NUM_10", "TER_NUM_11", "TER_NUM_12", "3DIGIT_INPUT", "BML_DATA", "JAPAN_DISPLAY", "TELETEXT", "TEXTOPTION", "MAGNIFIER_ZOOM", "SCREEN_REMOT"];

Ab Zeile 1296 werden die Befehle gesendet.

if (REMOTE_COMMANDS.includes(cmd)) {
  this.logDebug(`Remote input socket - sending command: ${cmd}`);
  if (cmd === 'CLICK') {
    this.pointerInputSocket.send('click');
  } else {
    this.pointerInputSocket.send('button', {
      name: cmd
    });
  }
}


Der endpoint erwartet einen der beiden commands 'click' oder 'button'. Button wird ein normaler Tastendruck sein, click kommt von der Maus.
Im Gegensatz zum 'click', hat der command 'button' einen Payload:
{name: cmd }

Das habe ich auch in anderen LGTV-Modulen so gefunden. cmd steht hier natürlich für einen Wert aus const REMOTE_COMMANDS
Ob man nun unbedingt auch den command 'click' braucht, mag ich bezweifeln, da der click am Ende ja nur ein enter ist, welches man wider rum auch als Button ausführen kann. Ist aber nur eine Vermutung von mir.

Kannst du damit etwas anfangen?