[TUTO] Recevoir une notification Telegram regroupant les états des démons

Voila pour les dépendances :

// On efface la variable message
$message='Dependance : ';
// on ajoute une ligne dans le log
$scenario->setLog('Début Monitoring des Demons');
// 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') {
      $message .='|:white_check_mark: '.$plugin->getName().' ('.$plugin->getId().')';
    } elseif ($dependency_info['state'] == 'in_progress') {
      $message .='|:arrows_counterclockwise:  '.$plugin->getName().' ('.$plugin->getId().')';
    } else {
      $message .='|:x: '.$plugin->getName().' ('.$plugin->getId().')';
    }
  }
}

$message=str_replace("|","\n",$message);
// on selectionne la commande telegram correspondante au destinataire du message
$cmd=cmd::byString('#[Dev][Dev 2][Send message]#');
// 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');

Et voila pour les deamon :

// On efface la variable message
$message='Deamon :';
// on ajoute une ligne dans le log
$scenario->setLog('Début Monitoring des Demons');
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') {
      $message .='|:x: '.$plugin->getName().' ('.$plugin->getId().')';
    } else {
      $message .='|:white_check_mark: '.$plugin->getName().' ('.$plugin->getId().')';
    }

  }
}

$message=str_replace("|","\n",$message);
// on selectionne la commande telegram correspondante au destinataire du message
$cmd=cmd::byString('#[Dev][Dev 2][Send message]#');
// 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');

Ps : le code a les emojy au format de discord donc il sont peux être a remplacer. (Pour les utilisateur de celui ci une commande automatique est en cours de test sur la beta)

Cordialement
Thibaut

1 « J'aime »