From cbb627f55aad2d2ac68e3f15befabbf3770ba1f1 Mon Sep 17 00:00:00 2001 From: PatrickR <> Date: Fri, 21 Apr 2017 22:53:38 +0000 Subject: [PATCH] lepresenced: Updated to V0.81 lepresenced-0.81-1.deb: Added. git-svn-id: https://svn.fhem.de/fhem/trunk@14066 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/contrib/PRESENCE/deb/lepresenced-0.81-1.deb | Bin 0 -> 6656 bytes fhem/contrib/PRESENCE/lepresenced | 11 ++++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 fhem/contrib/PRESENCE/deb/lepresenced-0.81-1.deb diff --git a/fhem/contrib/PRESENCE/deb/lepresenced-0.81-1.deb b/fhem/contrib/PRESENCE/deb/lepresenced-0.81-1.deb new file mode 100644 index 0000000000000000000000000000000000000000..021434671f056d397a9f1bf4c1c610cc12019730 GIT binary patch literal 6656 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 Q{us7>f%{J#j-YSwKgZOl$^ZZW literal 0 HcmV?d00001 diff --git a/fhem/contrib/PRESENCE/lepresenced b/fhem/contrib/PRESENCE/lepresenced index 72bcc991f..e01692f0c 100755 --- a/fhem/contrib/PRESENCE/lepresenced +++ b/fhem/contrib/PRESENCE/lepresenced @@ -55,7 +55,7 @@ use constant DEFAULT_RSSI_THRESHOLD => 10; use constant RSSI_WINDOW => 10; use constant ME => 'lepresenced'; -use constant VERSION => '0.8'; +use constant VERSION => '0.81'; use constant PIDFILE => '/var/run/' . ME . '.pid'; @@ -150,6 +150,7 @@ sub update_device($$$) { } $devices{$mac}{'rssi'} = $rssi; $devices{$mac}{'reported_rssi'} = $rssi if (!defined($devices{$mac}{'reported_rssi'})); + $devices{$mac}{'prevtimestamp'} = $devices{$mac}{'timestamp'}; $devices{$mac}{'timestamp'} = time(); } #dump_devices(); @@ -408,8 +409,12 @@ for(;;) { # For performance reasons, a maximum of one task is performed per loop if (my @due_clients = grep { time() >= $_->{'next_check'} } @clients) { foreach my $client (@due_clients) { - if (defined($devices{$client->{'mac'}}) && time()-$devices{$client->{'mac'}}{timestamp} <= $client->{'interval'}) { - syslogw(LOG_DEBUG, "Sending update for mac address %s, age: %i, max age: %i, rssi: %i, result: present.", $client->{'mac'}, time()-$devices{$client->{'mac'}}{'timestamp'}, $client->{'interval'}, $devices{$client->{'mac'}}{'rssi'}); + if ( + defined($devices{$client->{'mac'}}) && + time()-$devices{$client->{'mac'}}{timestamp} <= $client->{'interval'} && + defined($devices{$client->{'mac'}}{prevtimestamp}) && time()-$devices{$client->{'mac'}}{prevtimestamp} <= $client->{'interval'} + ) { + syslogw(LOG_DEBUG, "Sending update for mac address %s, ages: %i/%i, max age: %i, rssi: %i, result: present.", $client->{'mac'}, time()-$devices{$client->{'mac'}}{'timestamp'}, time()-$devices{$client->{'mac'}}{'prevtimestamp'}, $client->{'interval'}, $devices{$client->{'mac'}}{'rssi'}); printf {$client->{'handle'}} "present;device_name=%s;rssi=%s;daemon=%s V%s\n", $devices{$client->{'mac'}}{name}, $devices{$client->{'mac'}}{'rssi'}, ME, VERSION; } else { syslogw(LOG_DEBUG, "Sending update for mac address %s, max age: %i, result: absence.", $client->{'mac'}, $client->{'interval'});