Comment connaitre les états des plugins actifs?

EU REX KA :slight_smile:

Je suis parti de celui-ci : [TUTO] Une autre stratégie pour la surveillance des démons - Plugins / Monitoring - Communauté Jeedom
Je préfère le code que l’exécution de bash/shell, ce qui m’a emmené ici : [TUTO] Recevoir une notification Telegram regroupant les états des démons - Utilisation du core de Jeedom / Scénarios - Communauté Jeedom
J’ai repris ceci juste pour les icônes:

J’ai surtout recup ceci : [TUTO] Recevoir une notification Telegram regroupant les états des démons - #40 par Thibaut_T

Soit un scénario qui se lance tout les jours à 7h :

Ceci:

// On efface la variable message
$message='Dependances : ';
// on ajoute une ligne dans le log
$scenario->setLog('Début Monitoring des Dependance');

$tags = $scenario->getTags();
$valeurOK=$tags['#IconOK#'];
$valeurNOK=$tags['#IconKO#'];

// pour chaque plugin activé de votre jeedom
foreach (plugin::listPlugin(true) as $plugin)
	{
  	if ($plugin->getHasDependency())
    	{
    	$dependency_info = $plugin->dependancy_info();
    	if ($dependency_info['state'] == 'ok')
        	{
      		$valEtat = $valeurOK.'  ';
    		}
      	elseif ($dependency_info['state'] == 'in_progress')
        	{
      		$valEtat = 'In prog';
    		}
      	else
        	{
      		$valEtat = $valeurNOK.'  ';
    		}
   		$message .='|'.$valEtat.$plugin->getName().' ('.$plugin->getId().')';
  		}
	}

$message=str_replace("|","\n",$message);
// on selectionne la commande telegram correspondante au destinataire du message
$cmd=cmd::byString('#[Telegram][Telegram][Eric - xxxx]#');
// on envoie le contenu de la variable message via telegram
$cmd->execCmd($options=array('title'=>'Jeedom', 'message'=> "$message"), $cache=0);
// on log la fin de la verification des démons
$scenario->setLog('Fin monitoring des Dependances');

et ceci

 // On efface la variable message
$message='Deamon :';
// on ajoute une ligne dans le log
$scenario->setLog('Début Monitoring des Demons');

$tags = $scenario->getTags();
$valeurOK=$tags['#IconOK#'];
$valeurNOK=$tags['#IconKO#'];

$valEtat='toto';
foreach (plugin::listPlugin(true) as $plugin)
	{
  	if ($plugin->getHasOwnDeamon())// && config::byKey('deamonAutoMode', $plugin->getId(), 1) == 1)
    	{
    	$deamon_info = $plugin->deamon_info();
    	if ($deamon_info['state'] == 'ok')
        	{
      		$valEtat = $valeurOK;
    		}
      	else
        	{
      		$valEtat = $valeurNOK;
    		}
 		$message .='|'.$valEtat.$plugin->getName().' ('.$plugin->getId().')';
		}
	}

$message=str_replace("|","\n",$message);
// on selectionne la commande telegram correspondante au destinataire du message
$cmd=cmd::byString('#[Telegram][Telegram][Eric - xxx]#');
// on envoie le contenu de la variable message via telegram
$cmd->execCmd($options=array('title'=>'Jeedom', 'message'=> "$message"), $cache=0);

// on log la fin de la verification des démons
$scenario->setLog('Fin monitoring des démons');

Ce qui me donne un Daemon NOK pour le plugin zigbee si je stop le daemon ainsi:

Résultat :
image

@Foulek57 pour eWeJee l’arrêt du premier daemon CLOUD est détecté mais pas le second (LAN) :

as-tu une fonction pour recup le second, comparable à celle-ci ?

$plugin->getHasOwnDeamon()

@Mips STP :
PHP Core : Y a-t-il un endroit (Doc, .h) où recup la liste et signification des methods (functions) ?
La doc Jeedom pour les dev me parait très light à priori…j’ai du raté qq chose ?