Hallo Markus,
Auf aktuellen Debian Systemen scheinen normale User keine Rechte mehr für /bin/ping zu haben.
Fehlermeldung:
ping: socket: Die Operation ist nicht erlaubt
Anbei ein kleiner Patch
--- Programmieren/Perl/Projekte/FHEM/fhem-code/FHEM/73_PRESENCE.pm 2021-02-14 21:23:55.942375247 +0100
+++ tmp/73_PRESENCE.pm 2021-11-20 07:14:58.193149227 +0100
@@ -51,6 +51,7 @@ PRESENCE_Initialize($)
"disabledForIntervals ".
"fritzboxCheckSpeed:0,1 ".
"pingCount:1,2,3,4,5,6,7,8,9,10 ".
+ "pingPerSUDO:0,1 ".
"bluetoothHciDevice ".
"absenceThreshold ".
"presenceThreshold ".
@@ -778,6 +779,7 @@ sub PRESENCE_DoLocalPingScan($)
my $retcode;
my $return;
my $temp;
+ my $pingCmd = (AttrVal($name,'pingPerSUDO',0) == 1 ? 'sudo ping' : 'ping');
$SIG{CHLD} = 'IGNORE';
@@ -814,7 +816,7 @@ sub PRESENCE_DoLocalPingScan($)
}
else
{
- $temp = qx(ping -c $count $device 2>&1);
+ $temp = qx($pingCmd -c $count $device 2>&1);
if(defined($temp) and $temp ne "")
{
Grüße
Marko
Bei mir hat:
sudo setcap 'cap_net_admin,cap_net_raw+ep' /bin/ping
geholfen...
Allerdings glaube ich kommt das ab und an bei irgendwelchen OS Updates "zurück"...
...also, dass "normale User" nicht mehr dürfen.
Gruß, Joachim
Das hätte auch geholfen, aber ich bin da eher für eine generelle Lösung.