Paramètres " Nombre de tentatives en cas d'erreur" et "Temps d'attente après une erreur de lecture (s)"

Bonjour @Michel_F,

J’ai juste une question sur ces 2 nouveaux paramètres pour en comprendre le fonctionnement et afin de bien ajuster leurs valeurs:

-Nombre de tentatives en cas d’erreur (que j’appel paramètre T)
-Temps d’attente après une erreur de lecture (s) (que j’appel paramètre A)

Je suppose qu’en cas d’erreur de lecture d’un équipement (perte de connexion TCP par exemple), il va attendre le temps A avant de réessayer ? Et quand il a essayé le nombre de fois du paramètre T, que fait-il? Juste un message d’erreur dans les logs et il re-essaye, ou il s’arrête définitivement?

Dans mon cas, mes onduleurs Solaredge font une réinitialisation des com tous les 24h après le coucher du soleil (cela dure moins de 2 minutes), cela me génère chaque jour de nombreuses erreurs dans les logs. Ces paramètres pourraient m’intéresser pour laisser en cas d’erreur une attente de 60s, un nombre maxi d’essais de 3, comme cela j’aurais une erreur dans les logs que pour des cas « inhabituelles ».
Merci pour tes infos,

Pascal

Bonjour,

Pour l’implémentation du modbus, MyModbus utilise le module pymodbus. C’est ce module (bibliothèque) qui gère les requêtes et l’ensemble de la communication. MyModbus demande l’ouverture de la communication et envoie les requêtes en fonction des commande de Jeedom.

Nombre de tentatives en cas d’erreur

C’est le paramètre retries du client pymodbus. En cas d’erreur (pas de réponse au bout du timeout ou autre), pymodbus essaie ce nombre de fois-là. Je ne sais pas s’il y a une pause entre. Il me semble que pour les connexions série, une pause de 30ms est systématiquement faite entre les requêtes.

Temps d’attente après une erreur de lecture

C’est le temps que MyModbus attend après qu’une commande info n’ait pas pu être lue par pymodbus.

Je te suggère de faire un scénario qui désactive les équipements impactés en fonction de l’info « cycle OK ». Ce bit est mis à 0 si au moins une commande a retourné une erreur de lecture.
Ou alors tu peux passer le Timeout à une valeur plus élevée et le nombre de tentatives aussi ainsi que le temps après une erreur pour n’avoir qu’une ou deux commandes en erreur, mais ça va te recalculer un nouveau temps de polling qui sera actif à partir de ce moment.
Le polling ne s’ajuste que vers le haut, il ne reviens pas en arrière.

Peut-être qu’un jour je modifierai l’ajustement du polling en fonction de l’apparition d’une erreur et de la disparition de cette erreur, mais on n’en est pas encore là

A+
Michel

Merci pour les infos, je vais tester cela.

1 « J'aime »