Incohérence entre le statut donné par le plugin et un PING

Bonjour @lunarok

Petit soucis, certains équipements sont vus comme NON ‹ Présent › et OFFLINE par le plugin alors qu’ils sont présent sur le réseau.
Dans mon cas je suis donc amené à faire systématiquement un ping des équipements vus comme non ‹ Présent › par le plugin pour confirmer leurs absences ou non.

Cela se produit régulièrement avec 2-3 équipements sur 30 (wifi et ethernet), celà à l’air plus ou moins proportionnel à leurs trafic réseau

C’est possible et ca correspond à ce que je vois.
Vu que j’ai que du arp, ip neighboor etc, si un device « dort » au niveau réseau mais est joignable, je le vois pas
Tu peux essayer d’attraper un de ces cas et valider que côté interface asus il voit par contre up le device ? La map des clients, je la trouve pas sur asuswrt, je sais pas comment il l’a constitue et je suis pas le seul à chercher.
Si je dois tester un ping pour les devices vu off pour valider, ca peut largement affecter le temps de scan si on a par exemple 30 devices off …

Oui, le routeur Asus à des comportements étrange …

Pour répondre à ta question, les équipements vu OFFLINE par le plugin sont décorrélés de ceux visible dans l’interface asus.

1 - Certains équipements sont vu en ligne sur l’asus, offline par le plugin et joignable par ping
2 - D’autres ne sont pas vu par l’asus mais visible dans le plugin comme présent et joignable par ping

En regardant le trafic des équipements posant problème on voit nettement que ce sont uniquement ceux qui ont des périodes sans aucun trafic.

Le fait de les ‹ pinger › régulièrement permet de les ‹ perdre › BEAUCOUP moins souvent dans le plugin sans pour autant les refaire apparaître dans l’interface asus.

Autre contradiction, si un équipement change d’IP, le changement apparaît bien dans le plugin (merci @lunarok :slight_smile: ) mais PAS dans l’interface de l’asus ! …

C’est sur que faire un ping systématique par le plugin serait plus négatif qu’autre chose.

J’ai pris ce routeur asus pour sa richesse fonctionnelle (via merlin entre autre et ton plugin) mais je ne m’attendais pas à ces « étrangetés » de leur firmware :(.

Tu dois bien t’amuser à ratisser tous les cas de figures et exceptions …

Y a un fichier supplémentaire qui correspondrait à l’interface Asus que je vais ajouter : /tmp/clientlist.json
En plus il y a déjà le noeud AIMesh qu’on peut y récupérer et le RSSI (donc potentiellement, pas besoin de me connecter sur les AP en plus du routeur principal)

Voilà j’ai ajouté le fichier, là déjà il m’a trouvé un nouvel équipement que j’avais pas attraper avant (qui est en ip fixe)
Ca à l’air ok pour moi, tu me diras

Bonjour @lunarok,

Pour l’instant je n’ai remarqué aucune différence de comportement sur la nouvelle version, y compris :

Par contre, petite suggestion de modif, chez moi j’ai systématiquement chaque minute une vingtaine de cette ligne d’erreur

PHP Notice:  Undefined index: hostname in /var/www/html/plugins/asuswrt/core/class/asuswrt.class.php on line 417

CORRECTION SUGGEREE LIGNE 417 :

    if (array_key_exists('hostname', $array) && ((strpos($array['hostname'],'?') !== false) || (strpos($array['hostname'],'*') !== false))) {


Corrigé

Bizarre, car vu que c’est le fichier source de l’affichage du Asuswrt, ca aurait du rendre online ce que Asus voit et que le plugin ne voyait pas.
On est pas sur un décalage de quelques secondes restant ? Car le plugin est en cron, donc ne se met à jour qu’à la minute.

Là moi j’ai bien un état similaire des 2 côtés, le peu de devices offlines sont vraiment offlne (tablette des enfants sans batterie, appareil débranché …)

Allez un petit dernier pour la route, ligne 81 :slight_smile:

      if (array_key_exists('hostname', $asuswrt) && (($eqlogic->getConfiguration('hostname') !=  $asuswrt['hostname']) || (isset($asuswrt['ip']) && $eqlogic->getConfiguration('ip') !=  $asuswrt['ip']))) {     

Pour les soucis d’incohérences d’état, il ne semble rester que les équipements joignables via ping mais absent dans asus ET dans le plugin.

Cela semble ne se produire que pour les équipements ETHERNET (mon serveur ESXI ou l’antenne BLEA (sur ESXI) par exemple alors que Jeedom (sur ESXI) lui ne pose pas de problème.

J’ai trouvé effectivement 1 cas chez moi, il est en ethernet derrière le switch et en IP fixe, c’est mon serveur Loxone.
Jeedom ou l’ecocompteur sont dans la même configuration (derrière le meme switch avec IP fixe) et eux sont vus online. Pourtant l’ecocompteur doit etre appelé une fois par heure et Loxone génère de l’activité continue …

Bon, si c’est « que » les ethernet en mode offline, ca se fait de les pinger à la limite. J’essaye de voir ca.