[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

the ratman

#870
servus

ich hab ein kleines Problem mit dem Timing ... z.b.:[Freezemon] freezemon: possible freeze starting at 09:10:01, delay is 64.398 possibly caused by: tmr-LGTV_WebOS_TimerStatusRequest(schlazibotter)
das Problem dabei: der tv (über wlan angeschlossen) is aus und dein modul weiß das auch. könnte in so nem fall vielleicht was gemacht werden? mit 2 lg-tv's in fhem regt sich mein hmlan gern öfters am tag auf.

z.b. wird auch permanent die channelguide abgefragtchannel
-
2018-06-27 09:29:59
channelCurrentEndTime
-
2018-06-27 09:29:59
channelCurrentStartTime
-
2018-06-27 09:29:59
channelCurrentTitle
-
2018-06-27 09:29:59
channelMedia
-
2018-06-27 09:29:59
channelName
-
2018-06-27 09:29:59
channelNextEndTime
-
2018-06-27 09:29:59
channelNextStartTime
-
2018-06-27 09:29:59
channelNextTitle
-
2018-06-27 09:29:59
obwohl channelguide aus is (das attr gelöscht, auf 0 kann mans bei dir ja ned setzen). die readings hab ich nur noch von früheren versuchen, ob die guide was kann.


NACHTRAG:
ich sehe gerade, dass die channelguid-readings nach dem löschen sofort wieder kommen, obwohl - wie gesagt - das attr. channelguide gar nicht exisitert, also - wenn ich mich recht erinnere - auch aus sein sollte. du sagtest ja mal, dass kein attr = 0 ist?
→do↑p!dnʇs↓shit←

CoolTux

schaue ich mir an. sollte eigentlich nicht so sein.
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

the ratman

#872
suppi
hier noch ein list, falls es hilft:Internals:
   DEF        192.168.178.9
   HOST       192.168.178.9
   NAME       schlazibotter
   NR         53
   STATE      off
   TYPE       LGTV_WebOS
   VERSION    2.0.4
   READINGS:
     2018-06-27 00:16:05   3D              off
     2018-06-27 00:16:05   3DMode          2d
     2018-06-27 09:50:54   channel         -
     2018-06-27 09:50:54   channelCurrentEndTime -
     2018-06-27 09:50:54   channelCurrentStartTime -
     2018-06-27 09:50:54   channelCurrentTitle -
     2018-06-27 09:50:54   channelMedia    -
     2018-06-27 09:50:54   channelName     -
     2018-06-27 09:50:54   channelNextEndTime -
     2018-06-27 09:50:54   channelNextStartTime -
     2018-06-27 09:50:54   channelNextTitle -
     2018-06-27 00:15:57   extInput_AV     connect_0
     2018-06-27 00:15:57   extInput_HDMI-1 connect_0
     2018-06-27 00:15:57   extInput_HDMI-2 connect_0
     2018-06-27 00:15:57   extInput_HDMI-3 connect_0
     2018-06-27 00:15:57   extInput_Komponente connect_0
     2018-06-27 00:16:03   input           -
     2018-06-27 00:16:05   lastResponse    ok
     2018-06-27 00:16:03   launchApp       TV
     2018-06-26 23:24:31   lgKey           62e2c895392cb333b8ee48f40b850403
     2018-06-27 00:15:59   mute            off
     2018-06-27 00:16:05   pairing         paired
     2018-03-26 21:24:44   presence        absent
     2017-12-06 23:02:40   service_api     v.1
     2017-12-06 23:02:40   service_audio   v.1
     2017-12-06 23:02:40   service_config  v.1
     2017-12-06 23:02:40   service_media.controls v.1
     2017-12-06 23:02:40   service_media.viewer v.1
     2017-12-06 23:02:40   service_pairing v.1
     2017-12-06 23:02:40   service_settings v.1
     2017-12-06 23:02:40   service_system  v.1
     2017-12-06 23:02:40   service_system.launcher v.1
     2017-12-06 23:02:40   service_system.notifications v.1
     2017-12-06 23:02:40   service_timer   v.1
     2017-12-06 23:02:40   service_tv      v.1
     2017-12-06 23:02:40   service_user    v.1
     2017-12-06 23:02:40   service_webapp  v.2
     2018-06-27 00:31:58   state           off
     2018-06-27 00:15:59   volume          10
   helper:
     device:
       registered 0
       runsetcmd  0
       channelguide:
         counter    254
Attributes:
   cmdIcon    channelUp:control_arrow_up channelDown:control_arrow_down
   devStateIcon on:it_television@green:off off:it_television@red:on
   group      tv
   icon       it_television
   room       multimedia
   webCmd     channelUp:launchApp:channelDown
ist - wie gesagt - per wlan an der fritzbox, die derzeit das gerät gar nicht im listing (also als offline wlan-gerät) hat.
ich seh auch grad, dass auch der tv am lan eine nicht vorhanden channelguide abrufen will. auch der tv is off und hat das attr. gar ned gesetzt. auch da lassen sich die readings nur kurz löschen und kommen wieder.
→do↑p!dnʇs↓shit←

CoolTux

Gerade geschaut. Das passt schon so. Alles was er macht ist die Readings mit - zu besetzen. Aber ich werde das mal so machen das er nur bei Änderung was schreibt.
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

the ratman

thx

bin eig. grad auf der suche nach nem defekten lan-kabel (warscheinlich hatte meine katze wieder mal appetit auf ummantelungen und nu spinnt mir mein netz manchesmal), da bin ich über die immer roten readings gestolpert.
→do↑p!dnʇs↓shit←

the ratman

sorry, dass ich nochmal nerve. ich such ja grad den "bösen" verursacher für meine freezes.

leider schreibt mir der freezemon zu rd. 80% immer das lgtv modul als verursacher z.b.:=========================================================

[Freezemon] freezemon: possible freeze starting at 15:15:11, delay is 23.561 possibly caused by: tmr-LGTV_WebOS_GetForgroundAppInfo(fembotter)

2018.06.30 15:15:10.131 4: LGTV_WebOS (fembotter) - LGTV_WebOS_GetForgroundAppInfo: 0

2018.06.30 15:15:10.131 5: LGTV_WebOS (fembotter) - Sending command: {"client-key":"1f96777f0cd7f56c4c6226f2be4d4ff8","uri":["ssap://com.webos.applicationManager/getForegroundAppInfo"],"type":"request","id":"request_1530364510.13186"}

2018.06.30 15:15:10.132 4: LGTV_WebOS (fembotter) - WriteFn called

2018.06.30 15:15:10.132 4: LGTV_WebOS (fembotter) - ���2K{;Q'i|\?-rW2"#zf |7.T{c}-5/Qc/y6)e-Vf

i,;G9i;"jA*p#dcv_ew|P$s7S;pu[(am[$nTS%a~W9/~W?Fv@.gk]>n}s;pP\-o;og"mK;e;ir|C>ejFi,;[/"#9ehG.smmz5*x6-z07x1!i}

2018.06.30 15:15:10.148 4: LGTV_WebOS (fembotter) - ReadFn started

2018.06.30 15:15:10.148 4: LGTV_WebOS (fembotter) - received correct JSON string, start response processing: {"type":"response","id":"request_1530364510.13186","payload":{"appId":"com.webos.app.livetv","returnValue":true,"windowId":"","processId":"n-1069"}}

2018.06.30 15:15:10.148 4: LGTV_WebOS (fembotter) - JSON detected, run LGTV_WebOS_WriteReadings

2018.06.30 15:15:10.148 4: LGTV_WebOS (fembotter) - Corrected JSON String: {"type":"response","id":"request_1530364510.13186","payload":{"appId":"com.webos.app.livetv","returnValue":true,"windowId":"","processId":"n-1069"}}

2018.06.30 15:15:10.149 4: LGTV_WebOS (fembotter) - Beginn Readings writing

2018.06.30 15:15:10.149 5: rain_notify: devname=fembotter rainname=regenmenge_wetterstation, dev=fembotter, dev_regex=wetterstation rain_name=rain israining_name=isRaining

2018.06.30 15:15:10.149 4: Attribut matchs TimeCode DayChangeTime='00:00'

2018.06.30 15:15:10.151 4: DbLog logdb -> ################################################################

2018.06.30 15:15:10.151 4: DbLog logdb -> ###              start of new Logcycle                       ###

2018.06.30 15:15:10.151 4: DbLog logdb -> ################################################################

2018.06.30 15:15:10.151 4: DbLog logdb -> number of events received: 4 for device: fembotter

2018.06.30 15:15:10.151 4: DbLog logdb -> check Device: fembotter , Event: launchApp: TV

2018.06.30 15:15:10.151 4: DbLog logdb -> check Device: fembotter , Event: input: -

2018.06.30 15:15:10.151 4: DbLog logdb -> check Device: fembotter , Event: pairing: paired

2018.06.30 15:15:10.151 4: DbLog logdb -> check Device: fembotter , Event: lastResponse: ok

2018.06.30 15:15:10.152 5: rg_info_batteriewaechter: not on any display, ignoring notify

2018.06.30 15:15:10.152 5: rg_multimedia_tv: not on any display, ignoring notify

2018.06.30 15:15:10.153 5: rain_notify: devname=rg_schalten_wz rainname=regenmenge_wetterstation, dev=rg_schalten_wz, dev_regex=wetterstation rain_name=rain israining_name=isRaining

2018.06.30 15:15:10.153 4: Attribut matchs TimeCode DayChangeTime='00:00'

2018.06.30 15:15:10.153 4: DbLog logdb -> ################################################################

2018.06.30 15:15:10.153 4: DbLog logdb -> ###              start of new Logcycle                       ###

2018.06.30 15:15:10.153 4: DbLog logdb -> ################################################################

2018.06.30 15:15:10.153 4: DbLog logdb -> number of events received: 1 for device: rg_schalten_wz

2018.06.30 15:15:10.153 4: DbLog logdb -> check Device: rg_schalten_wz , Event: fembotter.launchApp: TV

2018.06.30 15:15:10.154 5: End notify loop for rg_schalten_wz

2018.06.30 15:15:10.154 5: End notify loop for fembotter

--- log skips    24.407 secs.

2018.06.30 15:15:34.561 5: [Freezemon] freezemon: ----------- Starting Freeze handling at 2018.06.30 15:15:34.561 ---------------------

[Freezemon] freezemon: possible freeze starting at 15:15:11, delay is 23.561 possibly caused by: tmr-LGTV_WebOS_GetForgroundAppInfo(fembotter)



saudumme frage: ich geh bei dir zwar von aus, aber sicherheitshalber: du arbeitest eh nonblocking, oder?
und noch ne frage: verwendest du irgendwelche anderen mods oder linux-tools, die dein nonblocking aushebeln könnten?
→do↑p!dnʇs↓shit←

CoolTux

Bei mir ist immer alles nonBlocking. Und der ganze Prozess um den es hier geht läuft genau 80ms wenn ich das korrekt sehe.

2018.06.30 15:15:10.131 4: LGTV_WebOS (fembotter) - LGTV_WebOS_GetForgroundAppInfo: 0

2018.06.30 15:15:10.131 5: LGTV_WebOS (fembotter) - Sending command: {"client-key":"1f96777f0cd7f56c4c6226f2be4d4ff8","uri":["ssap://com.webos.applicationManager/getForegroundAppInfo"],"type":"request","id":"request_1530364510.13186"}

2018.06.30 15:15:10.132 4: LGTV_WebOS (fembotter) - WriteFn called

2018.06.30 15:15:10.132 4: LGTV_WebOS (fembotter) - ���2K{;Q'i|\?-rW2"#zf |7.T{c}-5/Qc/y6)e-Vf

i,;G9i;"jA*p#dcv_ew|P$s7S;pu[(am[$nTS%a~W9/~W?Fv@.gk]>n}s;pP\-o;og"mK;e;ir|C>ejFi,;[/"#9ehG.smmz5*x6-z07x1!i}

2018.06.30 15:15:10.148 4: LGTV_WebOS (fembotter) - ReadFn started

2018.06.30 15:15:10.148 4: LGTV_WebOS (fembotter) - received correct JSON string, start response processing: {"type":"response","id":"request_1530364510.13186","payload":{"appId":"com.webos.app.livetv","returnValue":true,"windowId":"","processId":"n-1069"}}

2018.06.30 15:15:10.148 4: LGTV_WebOS (fembotter) - JSON detected, run LGTV_WebOS_WriteReadings

2018.06.30 15:15:10.148 4: LGTV_WebOS (fembotter) - Corrected JSON String: {"type":"response","id":"request_1530364510.13186","payload":{"appId":"com.webos.app.livetv","returnValue":true,"windowId":"","processId":"n-1069"}}

2018.06.30 15:15:10.149 4: LGTV_WebOS (fembotter) - Beginn Readings writing



Ich kann wirklich nicht mal erahnen wo das Blocking her kommen soll.
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

the ratman

war auch nur ne hoffnung *g*.

thx für die info
→do↑p!dnʇs↓shit←

neumann

Hi!
Ich habe auch Probleme mit dem Blockieren, hier der Log. Quickstart ist aus. Was kann ich tun? Danke!

2018.07.20 18:04:46 4: BlockingCall (LGTV_WebOS_PresenceRun): created child (21575), uses telnetForBlockingFn_1532102421 to connect back
2018.07.20 18:04:46 4: LGTV_WebOS (szFernseher) - Baue Socket Verbindung auf
2018.07.20 18:04:46 4: LGTV_WebOS (szFernseher) Couldn't connect to 192.168.0.65:3000
2018.07.20 18:04:46 4: Connection accepted from telnetForBlockingFn_1532102421_127.0.0.1_45716
2018.07.20 18:04:49 1: Perfmon: possible freeze starting at 18:04:44, delay is 5.16
Modulentwickler
- Spotify #72490
- Nello #75127

CoolTux

Dieses "Blockieren" bemerkt Ihr weil Lampen verzögert schalten oder die Weboberfläche länger zum laden braucht?
Vom Code her kann ich mir das nicht erklären, ping presence läuft komplett nonBlocking
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

neumann

Genau, meine Lampen schalten dann sehr verzögert.
Der Presence Run ist doch Blocking oder?
$hash->{helper}{RUNNING_PID} = BlockingCall("LGTV_WebOS_PresenceRun", $name.'|'.$hash->{HOST}, "LGTV_WebOS_PresenceDone", 5, "LGTV_WebOS_PresenceAborted", $hash) unless(exists($hash->{helper}{RUNNING_PID}) );
Modulentwickler
- Spotify #72490
- Nello #75127

CoolTux

Zitat von: neumann am 20 Juli 2018, 18:57:17
Genau, meine Lampen schalten dann sehr verzögert.
Der Presence Run ist doch Blocking oder?
$hash->{helper}{RUNNING_PID} = BlockingCall("LGTV_WebOS_PresenceRun", $name.'|'.$hash->{HOST}, "LGTV_WebOS_PresenceDone", 5, "LGTV_WebOS_PresenceAborted", $hash) unless(exists($hash->{helper}{RUNNING_PID}) );

Ja ist er, deswegen Wunder ich mich ja. Was ist denn wenn Du das Attribut entfernst und mal ohne presence testest.
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

neumann

Ich werde mir das mal genauer anschauen - LGTV_WebOS_GetCurrentChannel wird aber blockierend ausgeführt, oder?
Modulentwickler
- Spotify #72490
- Nello #75127

CoolTux

Ich habe das pingPresence gestern mal bei mir aktiviert. Das geht ja bei mir nicht wegen meiner Subnetze, dennoch hat es nicht blockiert.

Das GetCurrentChannel wird an den Fernsehr gesendet aber nicht etwa auf die Antwort gewartet. Diese kommt dann über den Socket und wird durch die select Schleife von FHEM abgerufen. Um es Mal ganz einfach zu sagen. Da dürfte meines Wissens nichts blockieren. Könnte mir nur vorstellen daß das abarbeiten des Datenpuffers länger dauert da viele Daten kommen. Das muss ich mir noch mal anschauen.
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

Ich habe gerade einen fix fertig gemacht der die sporadisch falsche current program list zeigt. Ab sofort sollten die Reading für channelCurrent und channelNext korrekt sein.
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