mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-07 19:04:20 +00:00
collectord: fixing RSSI readings (Forum: #54482)
git-svn-id: https://svn.fhem.de/fhem/trunk@14798 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
8b3bd4abed
commit
0162f7d80b
@ -863,6 +863,7 @@ sub aggregateRooms
|
|||||||
|
|
||||||
my $previous = "absence";
|
my $previous = "absence";
|
||||||
my %rssi_results = ();
|
my %rssi_results = ();
|
||||||
|
my $hroom;
|
||||||
my @rooms;
|
my @rooms;
|
||||||
my $key;
|
my $key;
|
||||||
|
|
||||||
@ -922,7 +923,7 @@ sub aggregateRooms
|
|||||||
$highest_key = $key;
|
$highest_key = $key;
|
||||||
}
|
}
|
||||||
|
|
||||||
$rssi_results{$key} = $h->{$rssi_addon_data_key};
|
$rssi_results{$key} = $h->{$rssi_addon_data_key};
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -939,20 +940,22 @@ sub aggregateRooms
|
|||||||
if($rssi_available and defined($highest_key))
|
if($rssi_available and defined($highest_key))
|
||||||
{
|
{
|
||||||
Log 2, "successful RSSI comparisation (highest $rssi_addon_data_key value $highest_value found in room $highest_key" if(@rooms > 1);
|
Log 2, "successful RSSI comparisation (highest $rssi_addon_data_key value $highest_value found in room $highest_key" if(@rooms > 1);
|
||||||
@rooms = ($highest_key);
|
$hroom = $highest_key;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(@rooms > 0)
|
if(@rooms > 0)
|
||||||
{
|
{
|
||||||
my $rssi_data = join(";", map { "rssi_".$_."='".$rssi_results{$_}."'" } map { s/\s+/_/g } grep {$rssi_results{$_}} keys %rssi_results);
|
my $rssi_data = join(";", map("rssi_".$_."='".$rssi_results{$_}."'", map {s/\s+/_/rg } keys %rssi_results)));
|
||||||
return "present;room='".join(",",sort @rooms).
|
my $ret = "present".
|
||||||
(defined($hash->{$rooms[0]}{data}) ? "';".$hash->{$rooms[0]}{data} : "").
|
(defined($hroom) ? ";room='".$hroom."'" : "").
|
||||||
|
"rooms='".join(",",sort @rooms)."'".
|
||||||
|
(defined($hroom) ? ";".$hash->{$hroom}{data} : (defined($hash->{$rooms[0]}{data}) ? "';".$hash->{$rooms[0]}{data} : "")).
|
||||||
(defined($rssi_data) ? ";".$rssi_data : "");
|
(defined($rssi_data) ? ";".$rssi_data : "");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return "absence";
|
return "absence;room=;rooms=;rssi=;";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user