Check démon via code scénario KO

Bonjour @tomitomas ,

Excuse moi de te déranger, je suis sur :

Jeedom Core : 4.2.21
Version JC : 1.4.2 beta
DNS Jeedom : oui
Statut Démon : Stoppé - ()

Equipements :
  Jconnect Aurélie : v1.2.1 sur android
  Jconnect PC : v1.4.2 (1108) beta sur android [os : 25]
  Jconnect Tablette : v1.3.3 sur android [os : 24]
  Jconnect Tel Sebastien : v1.4.2 (1108) beta sur android [os : 28]

Le souci que je rencontre actuellement j’ai un scénario code qui teste les daemons et quand il y en as un qui bug j’ai une alerte sur mon tel, mais depuis la dernier mise à jour vue que le deamon et désactiver à la base tant qu’on utilise pas le Websocket que j’utilise pas du tous.

Ma question pourquoi utiliser cela vue quand terme de sécurité celui-ci n’est pas top, pour cela que je l’utilise pas du tous. et il y a t-il une solution à cela?? je dois modifier mon Code PHP je pense

Peut-tu m’aider à cela, je voudrais comprendre. Merci à toi.
Cordialement.

Bonjour Sebastien,

Merci pour ton message.
Désolé je n ai pas pu te repondre hier et allais justement te demander de creer un sujet « public » plutot que de passer par MP, pour que ca profite a tout le monde.

Cette info est indiquée a quelle endroit ? Parce qu elle est fausse…
A moins que tu dises ca pcq tu utilises les dns jeedom ?

Certainement.
Il te suffit d exclure JeedomConnect de la liste des plugins que tu check puisque tu ne te sers pas de la connexion websocket et donc du demon.

Tu precisais dans ton MP que tu ne savais pas forcement comment t y prendre pour modifier. Si c est tjs le cas, partages ton code (sans oublier d utiliser le bouton </> !) et on essaiera de l adapter.

Pour la Sécurité, le websockets utilise les mêmes vulnérabilités du protocole HTTP.

Autorisation et Contrôle de l’authentification fonctionne avec Cookies, ou authentification HTTP(Basic/digest). Tu peux récupérer les données via un sniffing.

Après je suis rouiller de ce coté la tellement habituer à utiliser le HTTPS et le certificat.
Faut que je trouve des docs dessus(ws, wss, tls, etc…) pour m’instruire, j’aime bien comprendre.

Utiliser dans un Scénario, il y a peu être mieux maintenant :
Celui des Daemons :

// 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('#[Discord][Discord Daemon - Dépenances][Envoi 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 des 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('#[Discord][Discord Daemon - Dépenances][Envoi 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');

Merci bien.

Rajoutes la ligne qui suit pour skipper le check du démon sur JeedomConnect

foreach (plugin::listPlugin(true) as $plugin) {
  if ($plugin->getId() == 'JeedomConnect') continue;
  ....
}

sur la partie sécurité … je ne suis pas totalement aligné, mais chacun voit midi à sa porte et l’objectif n’est pas de créer un débat :slight_smile:

Bonjour,

Sympa de dire « bonjour » mais vous êtes sur une forum communautaire, pas sur une aide perso pour vous que vous adressez à tomitomas en directe (encore moins en message privé) :wink:

Je vous invite à lire ce post, en particulier le point 16: Comment nous aider à vous aider - ou Comment poser une bonne question?

D’autant plus que votre question n’a pas vraiment de lien avec le plugin donc ce n’est pas justifié de tag plugin-jeedomconnect;
c’est juste une question générique sur un scénario bloc code

1 « J'aime »

Merci bien, je vais regarder tester cela.

Merci, de l’information.

Je suis pas très d’accord avec toi sur

D’autant plus que votre question n’a pas vraiment de lien avec le plugin donc ce n’est pas justifié de tag plugin-jeedomconnect;
c’est juste une question générique sur un scénario bloc code

Car à la base c’est la mise à jour de plugin en version Beta qui nous incite et oblige maintenant d’utiliser le websocket pour la mise en route du daemon alors que le DNS jeedom fonctionner bien sur ce plugin, et donc certain code scénario en php sont à refaire ou modifier pour cela. Donc l’idée était de demander pourquoi nous obliger à cela sachant que cela fonctionner bien de mon coté le plugin avec le DNS jeedom, et que je dois maintenant modifier mais code scénario pour cela.

En plus le problème sera aussi sur le plugin Discord link car on as la possibilité de Vérification Démons Et les dépendances(je l’ais et cela fait pareille).

Mais bon, cela est comme ça, on fait avec maintenant.
Merci bien de l’aide.

Cela peu être clôturé du coup.

Cordialement.

obliger à quoi je ne comprends pas bien …?

est ce que tu peux m’expliquer pourquoi est ce que tu veux que le démon soit démarré et tourne si tu ne t’en sers pas ? la réponse m’intéresse !

quel lien entre le DNS Jeedom et le démon/websocket jeedom Connect ?

Bas je vérifier si j’ai un problème sur mais deamon et dépendance qui m’envoie une notification sur mon tel pour savoir si tel ou plugin HS. Mais si sert a rien il faut le désactiver dans les autre plugin comme le Discord_link

Mais actuellement je suis passer en plugin discord_link que je trouve mieux que telegram(plus de possibilité) et celui-ci me propose directement cela en coche :

et qui me donne sur mon tel cela :

image

Mais c’est en dure sur dans le plugin (fichier php)

Pour le Dns me trompe sans doute, j’utilise l’application jeedomConnect sur mon téléphone mais j’ai aucun problème du coup, pourquoi utiliser le websocket je comprend pas cela.

désolé Sébastien, mais ca ne répond à aucune de mes 2 questions précédentes :

  1. en quoi on t’oblige ?
  2. pourquoi est ce que tu veux que le démon soit démarré et tourne si tu ne t’en sers pas ?

la seule chose qui t’embête c’est que tu as copié un bout de code que tu as trouvé qlq part sur le forum pour faire un check sans savoir ce qu’il fait réellement et que tu reçois une infos qui t’ennuie → ca OK je « comprends »

mais de là à dire qu’on t’oblige à quoi que ce soit … je ne comprends pas.


du coup là aussi ta remarque mélange 2 choses qui n’ont rien à voir !?
et si tout fonctionne bien avec le DNS, reste avec le DNS jeedom. mais donc ca confirme une fois de plus que tu n’as pas besoin du démon et qu’il n’a donc pas besoin d’etre démarré.


d’autres parts, pour te donner quelques éléments en plus et t’expliquer un peu ton bout de code :

plutôt que d’ajouter la ligne que j’ai donné plus haut, on voit dans ton code que le check est fait sur les plugins qui ont un démon en gestion « automatique ».
donc la façon simple de ne pas avoir d’alerte est simplement de retirer cette gestion automatique du démon, puisqu’encore une fois tu ne t’en sers pas.
Il suffit donc de cliquer sur Désactiver sur la page de configuration du plugin JeedomConnect :
image


Pour ce qui est des contrôles fait sur Discord, j’imagine que @Thibaut_T doit également faire le même (ie : check uniquement sur les démon en auto) ?

2 « J'aime »

Oui tu as raison, c’est les retour qui m’ennuie, par contre je pensais que deamonAutoMode était l’activation ou non du deamon et non la gestion automatique, je savais pas.

Oui c’est un code trouver sur le forum, malheureusement on c’est pas toujours comment il sont fait mais il remonte l’information demander et sans doute obsolète aussi maintenant. Et celui-ci en l’occurrence il est aussi utiliser dans le plugin discord_link je pense.

je voudrais juste à la base c’était remonter les plugins en défaut de Jeedom, mais celui-ci m’en mais 1 actuellement et c’est celui de jeedomConnect et du coup j’ai l’information de notification sur mon tel via le code et ou le plugin car les deux remonte la même information.

image

Il y a personne ou cela remonte comme c’a???

une fois encore, désactive la gestion automatique du démon et tout sera vert sur la page santé

Hello,

Alors je valide que discord lien gère bien ce type d’options.
Il le laissera apparaître s’il est demandé à la main.
Mais si c’est le système automatique qui déclenche alors il ne sera pas pris en compte comme incident de production.

Je confirme également que juste désactive la gestion automatique et arrêter le démon suffit à tout repasser en vert dans jeedom.

Juste il faut être sûr qu’il te sert à rien. Et de ce qu’a l’air de dire @tomitomas tu en aurais pas besoin.

Cordialement
Thibaut

1 « J'aime »

Merci à vous c’est ce que je vais faire je pense.

merci pour ta confirmation @Thibaut_T !
(faudrait que je finisse par le tester ce « petit » plugin aussi :slight_smile: )

Penses a cloturer le post stp => Check démon via code scénario KO - #12 par tomitomas

A zut, désoler. Je fait ça de suite.

Merci,
Par contre sur le bon message solution (cf lien au dessus) ca serait mieux :slight_smile:

Tjs pas …

Voila ce que les autres utilisateurs voient comme solution :

Pas sur que ca les aide bcp !? :sweat_smile:

A zut, :yum::yum::yum: ou tu prefere dit moi pas trop sur.