if ($deamon_info['state'] == 'ok')
{
$valEtat = $valeurOK;
// Cas spécial eWeJee avec 2 deamon
if ($plugin->getName()=='eWeJee')
{
// Fonction spécifique de @Foulek57
if ($plugin->deamon_LAN_info() != 'ok')
{
$valEtat = $valeurNOK;
}
}
}
public static function cron()
{
// Check the LAN deamon
$deamon_LAN_info = ewejee::deamon_LAN_info();
$deamon_MDNS_info = ewejee::deamon_MDNS_info();
$deamon_POW_info = ewejee::deamon_POW_info();
if ($deamon_LAN_info['state'] == 'ok') {
if ($deamon_MDNS_info['state'] != 'ok') {
ewejee::deamon_MDNS_start();
reste à caster en ewejee j’imagine. J’ai fait plusieurs tentatives sans success. Je suis bloqué !! tant pis pour ce soir…
Pourquoi ne pas renvoyer deux lignes dans l’array de getdaemon_info (la fonction du core, plus certain du nom); cela ne permet pas d’afficher l’info dans le cadre géré par le core ?
C’est toujours un débat la documentation…
Faut documenter mais quand on change le code on oublie la doc et du coup la doc est fausse ce qui est pire que pas de doc à mon avis.
La seule documentation qui ne ment pas c’est le code directement
Pas besoin de cast en Php, au runtime si la fonction existe elle sera appelée sinon il y aura une erreur.
C’est pas dingue mais c’est le problème des languages pas compilé.
Je m’en doutais. Le debug au log quelle poisse c’est très long. Une précompil/compil élimine un tas d’erreur. Il faudrait lié VS Code qui fait une partie du boulot mais je vois pas comment?
Pas mieux. Les fonctions statiques existent aussi en PHP.
@Mips VSC sait se connecter en SSH. Ce soft est génialissime (CPU du RPI3 à 80° quand même !!). Sais-tu on est le(s) ‹ code › d’un scénario (Fichier ou db ou??) ?
Portnawak mon code, à faire 4 choses à la fois!!!
Cette fois ça marche Testé avec les 4 conditions 1+1, 0+1, 1+0, 0+0. Voici le code complet :
// 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#']; // Creer un tag IconOK avec la valeur « 🆗 #127383 » (Ajouter un '&' devant le #) en amont dans le scénario
$valeurNOK=$tags['#IconKO#']; // Creer un tag IconKO avec la valeur « 🆘 #127384 » (Ajouter un '&' devant le #)en amont dans le scénario
// 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 - 911444820]#');
// 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');
// 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#']; // Creer un tag IconOK avec la valeur « 🆗 #127383 » (Ajouter un '&' devant le #) en amont dans le scénario
$valeurNOK=$tags['#IconKO#']; // Creer un tag IconKO avec la valeur « 🆘 #127384 » (Ajouter un '&' devant le #)en amont dans le scénario
$valEtat='';
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;
// Cas spécial eWeJee avec 2 deamon
if ($plugin->getName()=='eWeJee')
{
// Recup de public static function cron() de @Foulek57
$deamon_LAN_info = ewejee::deamon_LAN_info();
// Fonction spécifique de @Foulek57
if ($deamon_LAN_info['state'] != 'ok')
{
$valEtat = $valeurNOK;
}
}
}
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 - 911444820]#');
// 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');
Petit détail, quand j’arrête le LAN la fenêtre de config se ferme toute seule, ce n’est pas le cas pour le WAN