From e5411b00d864521f6017faad663da1597130b6f6 Mon Sep 17 00:00:00 2001 From: Marko Oldenburg Date: Mon, 9 Oct 2017 09:09:08 +0200 Subject: [PATCH] Socket Close presence is absent separate function --- 82_LGTV_WebOS.pm | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/82_LGTV_WebOS.pm b/82_LGTV_WebOS.pm index 839f893..1b3377c 100644 --- a/82_LGTV_WebOS.pm +++ b/82_LGTV_WebOS.pm @@ -1403,9 +1403,7 @@ sub LGTV_WebOS_PresenceDone($) { readingsSingleUpdate($hash, 'presence', $response, 1); - LGTV_WebOS_Close($hash) - if( $response eq 'absent' and not IsDisabled($name) and $hash->{CD} ); # https://forum.fhem.de/index.php/topic,66671.msg694578.html#msg694578 - # Sobald pingPresence absent meldet und der Socket noch steht soll er geschlossen werden, da sonst FHEM nach 4-6 min für 10 min blockiert + LGTV_WebOS_SocketClosePresenceAbsent($hash,$response); Log3 $name, 4, "Sub LGTV_WebOS_PresenceDone ($name) - presence done"; } @@ -1422,6 +1420,18 @@ sub LGTV_WebOS_PresenceAborted($) { Log3 $name, 4, "Sub LGTV_WebOS_PresenceAborted ($name) - The BlockingCall Process terminated unexpectedly. Timedout!"; } +sub LGTV_WebOS_SocketClosePresenceAbsent($$) { + + my ($hash,$presence) = @_; + + my $name = $hash->{NAME}; + + + LGTV_WebOS_Close($hash) + if( $presence eq 'absent' and not IsDisabled($name) and $hash->{CD} ); # https://forum.fhem.de/index.php/topic,66671.msg694578.html#msg694578 + # Sobald pingPresence absent meldet und der Socket noch steht soll er geschlossen werden, da sonst FHEM nach 4-6 min für 10 min blockiert +} + sub LGTV_WebOS_WakeUp_Udp($@) { my ($hash,$mac_addr,$host,$port) = @_;