Philips Hue Daemon - Double Daemon

Bonjour à la communauté,

Depuis très longtemps j’ai remarqué que mon plugin PhilipsHue perdait parfois les retour d’état notamment lors que la box / routeur redémarrage et qu’il y a une perte de connexion temporaire entre le pont Hue (forcément relié en RJ45) et la Jeedom.

J’ai cherché à comprendre et j’ai regardé de plus près le fonctionnement du plugin et découvert un peu plus en détail le fonctionnement du plugin via un daemon basé sur Node JS.

Bien que le plugin fonctionne très bien (merci à l’investissement de @Loïc), je pense avoir identifié ce qui peut parfois arriver : un fichier « /tmp/jeedom/philipsHue/deamon.pid » qui est existe mais qui est vide :
-rw-r--r-- 1 root root 0 Aug 12 21:15 deamon.pid

Normalement il y une fonction deamon_info() qui retourne l’état du daemon à deamon_start() ;

Cependant le bout de code suivant de la fonction deamon_info(), retour ‹ ok › alors que la fichier daemon.pid est vide

$return['state'] = 'nok';
$pid_file = jeedom::getTmpFolder('philipsHue') . '/deamon.pid';
if (file_exists($pid_file)) {
	if (@posix_getsid((int) trim(file_get_contents($pid_file)))) {
		$return['state'] = 'ok';
         } else {
		if (trim(file_get_contents($pid_file)) != '') {
		shell_exec(system::getCmdSudo() . 'rm -rf ' . $pid_file . ' 2>&1 > /dev/null');
         	}
          }
}
$return['launchable'] = 'ok';
return $return;

Cela est dû à cette partie qui semble retourner true, et du coup il ne se passe rien d’anormal selon Jeedom alors qu’il y a un petit souci :wink:
(@posix_getsid((int) ''))

Je suppose qu’ajouter un simple test (!= ‹  ›) permettrait de corriger la chose.

Des avis ?

3 « J'aime »

Bonjour,
Merci pour le retour je viens de pousser la correction (beta et stable).

2 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.