Version Jeedom : 4.0.61
Version plugin : 2020-05-12 15:26:51
Bonjour,
Le widget du plugin n’affiche pas l’adresse IP.
En regardant le code, l’adresse est cherchée dans les logs du plugin (fonction getIp):
$result = shell_exec('grep "/sbin/ip addr add dev " ' . log::getPathToLog($log_name) . ' | tail -n 1');
$result = trim(substr($result, strpos($result, 'local') + 5));
return trim(substr($result, 0, strpos($result, 'peer')));
on cherche local et peer. Cela n’est pas présent dans les logs :
Fri Oct 30 07:36:31 2020 /sbin/ip addr add dev tun0 10.8.0.2/24 broadcast 10.8.0.255
J’ai modifié la fonction pour que l’ip s’affiche
public function getIp() {
$log_name = ('openvpn_' . self::cleanVpnName($this->getName()));
if (!file_exists(log::getPathToLog($log_name))) {
return false;
}
$result = shell_exec('grep "/sbin/ip addr add dev " ' . log::getPathToLog($log_name) . ' | tail -n 1');
$ip=[];
/*$result = trim(substr($result, strpos($result, 'local') + 5));
return trim(substr($result, 0, strpos($result, 'peer')));*/
if (preg_match('/\d*\.\d*\.\d*\.\d*/',$result,$ip)) {
return $ip[0];
}
return "";
}