EU REX KA
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 :
@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 ?