Plugin MyModbus

Dans la trace, je vois donc bien la session qui s’établit, le plugin fait son query mais ne reçoit pas de réponse. Il cloture la session après 3s.

Le plugin stable fait la même chose mais coupe la session 30 secondes plus tard.

Je ne vois pas d’autres tentatives?

D’accord je vais vérifier ce point.

1 « J'aime »

Bonjour à tous. J’utilise un logo 230RCEo pour remplacer mes télérupteurs, avec mymodbus. Jeedom voit bien l’état des sorties. L’envoi de données vers le logo fonctionne aléatoirement, en fonction de la durée de polling :

  • de 1s à 10s → aucun envoi possible
  • de 10s à 15s → rarement
  • 15s → environ 60% de bon

Quand ça fonctionne bien, en regardant le log, je vois que ça s’arrête juste après la lecture. Si le polling est assez long, ça refonctionne au bout d’une dizaine de secondes…
Les sorties du log sont identiques que le logo reçoive ou pas.
J’ai essayé sur V3 (PC) et V4 (pi), idem.

Il ne me reste plus beaucoup de cheveux à force de me les arracher!
Avez-vous des pistes ou des idées de recherche ?
D’avance merci

Sur le logo ne coche pas garder la connection active.

Merci Bebel27 mais je n’ai pas trouvé cette case à décocher. J’ai le plugin stable 2020-05-02 01:01:14 et Jeedom 3.3. J’ai cherché dans l’équipement et dans la configuration du plugin mais rien!

En me basant sur la réponse à ce post, j’ai modifié le fichier /mymodbus_demond.py et remplacé ça:

rr = client.read_holding_registers(hreg_first),i)

par

rr = client.read_holding_registers(32064, 0x02)

Et là, ça ne plante plus même si je n’arrive pas encore à récupérer la bonne valeur (le deuxième octet).

[2020-10-11 14:46:11][INFO] : Lancement du démon mymodbus : nice -n 19 /usr/bin/python3 /var/www/html/plugins/mymodbus/ressources/mymodbus_demond.py -h 192.168.10.35 -p 502 --unit_id=0 --polling=10 --keepopen=1 --protocol=tcpip --eqid=90 --hrs=32016
[2020-10-11 14:46:13][DEBUG] : Evenement : add=>192.168.10.35 unit=>0 eqid=>90 type=>holding_registers sortie=>1 inputs=>32016 values=>[0, 1251]
[2020-10-11 14:46:24][DEBUG] : Evenement : add=>192.168.10.35 unit=>0 eqid=>90 type=>holding_registers sortie=>1 inputs=>32016 values=>[0, 1483]

Bonjour @Bebel27, je n’ai pas trouvé où décocher « garder la connection active ». Pourrais-tu me dire où c’est stp ?

Dans la configuration de l’équipement, en bas
image

Ben rien !!!
J’aime le voodoo!!!

Cette option n’est disponible que sur la version bêta.
Pour la version stable faut que je regarde mais normalement tu ferme automatique la connexion. Sinon j’avais fais un mode de connection pour le logo.

Merci de ta réponse. J’ai réinstallé la V4 puis ton plugin en beta en sélectionnant logo. Tout à l’air de marcher même avec un polling à 1s.

Bravo et merci pour ton travail et ton aide

2 messages ont été scindés en un nouveau sujet : Est ce que Modbus peut être utilisé comme bus de terrain

2 messages ont été scindés en un nouveau sujet : Que puis-je faire pour extraire ces états

Bonjour à tous,

J’ai un petit soucis sur une config Jeedom avec le plugin MyModbus, voici les équipements :

image

J’ai 1 premier module d’entrées qui fait également office de passerelle Modbus IP/RTU.

Je ne sais pas pourquoi mais parfois le plugin « oublie » d’interroger un des module RS485. C’est aléatoire ça peut-être l’adresse 02, 03, 04 ou la 10. Je poll toutes les 5 secondes. Ca se produit au bout d’1 ou 2 jours.

J’ai mis les logs en Débug mais je ne remonte pas assez loin pour voir ce qui se passe.

Première question, peut-on augmenter la taille des logs ?

[2020-11-10 11:26:41][DEBUG] : Evenement : add=>192.168.1.6 unit=>3 eqid=>24 type=>holding_registers sortie=>2 inputs=>[16, 17] values=>[0, 0] 
[2020-11-10 11:26:41][DEBUG] : Evenement : add=>192.168.1.6 unit=>1 eqid=>5 type=>holding_registers sortie=>3 inputs=>[11] values=>[54111] 
[2020-11-10 11:26:41][DEBUG] : Evenement : add=>192.168.1.6 unit=>1 eqid=>5 type=>holding_registers sortie=>1 inputs=>15 values=>[80] 
[2020-11-10 11:26:41][DEBUG] : Evenement : add=>192.168.1.6 unit=>1 eqid=>5 type=>holding_registers sortie=>4 inputs=>[15] values=>[80] 
[2020-11-10 11:26:41][DEBUG] : Evenement : add=>192.168.1.6 unit=>1 eqid=>5 type=>holding_registers sortie=>1 inputs=>15 values=>[80] 
[2020-11-10 11:26:42][DEBUG] : Evenement : add=>192.168.1.6 unit=>1 eqid=>5 type=>holding_registers sortie=>1 inputs=>15 values=>[80] 
[2020-11-10 11:26:42][DEBUG] : Evenement : add=>192.168.1.6 unit=>1 eqid=>5 type=>holding_registers sortie=>1 inputs=>15 values=>[80] 
[2020-11-10 11:26:42][DEBUG] : Evenement : add=>192.168.1.6 unit=>1 eqid=>5 type=>holding_registers sortie=>1 inputs=>15 values=>[80] 
[2020-11-10 11:26:42][DEBUG] : Evenement : add=>192.168.1.6 unit=>1 eqid=>5 type=>holding_registers sortie=>1 inputs=>15 values=>[80] 
[2020-11-10 11:26:42][DEBUG] : Evenement : add=>192.168.1.6 unit=>1 eqid=>5 type=>holding_registers sortie=>1 inputs=>15 values=>[80] 
[2020-11-10 11:26:42][INFO] : mise à jour :  Add =>192.168.1.6 Unit => 1 holding_registers=> 11 -> old value:54106 new value:54111
[2020-11-10 11:26:44][DEBUG] : Evenement : add=>192.168.1.6 unit=>4 eqid=>47 type=>holding_registers sortie=>3 inputs=>[11] values=>[45461] 
[2020-11-10 11:26:44][DEBUG] : Evenement : add=>192.168.1.6 unit=>4 eqid=>47 type=>holding_registers sortie=>2 inputs=>[16, 17] values=>[0, 1] 
[2020-11-10 11:26:44][DEBUG] : Evenement : add=>192.168.1.6 unit=>4 eqid=>47 type=>holding_registers sortie=>3 inputs=>[14] values=>[0] 
[2020-11-10 11:26:45][INFO] : mise à jour :  Add =>192.168.1.6 Unit => 4 holding_registers=> 11 -> old value:45456 new value:45461
[2020-11-10 11:26:46][DEBUG] : Evenement : add=>192.168.1.6 unit=>10 eqid=>9 type=>holding_registers sortie=>3 inputs=>[11] values=>[54114] 
[2020-11-10 11:26:46][INFO] : mise à jour :  Add =>192.168.1.6 Unit => 10 holding_registers=> 11 -> old value:54109 new value:54114
[2020-11-10 11:26:46][DEBUG] : Evenement : add=>192.168.1.6 unit=>10 eqid=>9 type=>holding_registers sortie=>3 inputs=>[14] values=>[0] 
[2020-11-10 11:26:46][DEBUG] : Evenement : add=>192.168.1.6 unit=>3 eqid=>24 type=>holding_registers sortie=>3 inputs=>[11] values=>[54116] 
[2020-11-10 11:26:46][DEBUG] : Evenement : add=>192.168.1.6 unit=>10 eqid=>9 type=>holding_registers sortie=>2 inputs=>[16, 17] values=>[0, 0] 
[2020-11-10 11:26:46][DEBUG] : Evenement : add=>192.168.1.6 unit=>1 eqid=>5 type=>holding_registers sortie=>3 inputs=>[11] values=>[54116] 
[2020-11-10 11:26:46][DEBUG] : Evenement : add=>192.168.1.6 unit=>3 eqid=>24 type=>holding_registers sortie=>2 inputs=>[16, 17] values=>[0, 0] 
[2020-11-10 11:26:46][DEBUG] : Evenement : add=>192.168.1.6 unit=>3 eqid=>24 type=>holding_registers sortie=>3 inputs=>[14] values=>[0] 
[2020-11-10 11:26:46][DEBUG] : Evenement : add=>192.168.1.6 unit=>1 eqid=>5 type=>holding_registers sortie=>4 inputs=>[15] values=>[80] 
[2020-11-10 11:26:47][INFO] : mise à jour :  Add =>192.168.1.6 Unit => 3 holding_registers=> 11 -> old value:54110 new value:54116
[2020-11-10 11:26:47][DEBUG] : Evenement : add=>192.168.1.6 unit=>1 eqid=>5 type=>holding_registers sortie=>1 inputs=>15 values=>[80] 
[2020-11-10 11:26:47][INFO] : mise à jour :  Add =>192.168.1.6 Unit => 1 holding_registers=> 11 -> old value:54111 new value:54116
[2020-11-10 11:26:47][DEBUG] : Evenement : add=>192.168.1.6 unit=>1 eqid=>5 type=>holding_registers sortie=>1 inputs=>15 values=>[80] 
[2020-11-10 11:26:47][DEBUG] : Evenement : add=>192.168.1.6 unit=>1 eqid=>5 type=>holding_registers sortie=>1 inputs=>15 values=>[80] 
[2020-11-10 11:26:47][DEBUG] : Evenement : add=>192.168.1.6 unit=>1 eqid=>5 type=>holding_registers sortie=>1 inputs=>15 values=>[80] 
[2020-11-10 11:26:47][DEBUG] : Evenement : add=>192.168.1.6 unit=>1 eqid=>5 type=>holding_registers sortie=>1 inputs=>15 values=>[80] 
[2020-11-10 11:26:47][DEBUG] : Evenement : add=>192.168.1.6 unit=>1 eqid=>5 type=>holding_registers sortie=>1 inputs=>15 values=>[80] 
[2020-11-10 11:26:47][DEBUG] : Evenement : add=>192.168.1.6 unit=>1 eqid=>5 type=>holding_registers sortie=>1 inputs=>15 values=>[80] 
[2020-11-10 11:26:49][INFO] : Arret des daemons
[2020-11-10 11:26:49][DEBUG] : Evenement : add=>192.168.1.6 unit=>4 eqid=>47 type=>holding_registers sortie=>3 inputs=>[14] values=>[0] 
[2020-11-10 11:26:50][DEBUG] : Evenement : add=>192.168.1.6 unit=>4 eqid=>47 type=>holding_registers sortie=>3 inputs=>[11] values=>[45466] 
[2020-11-10 11:26:50][DEBUG] : Evenement : add=>192.168.1.6 unit=>4 eqid=>47 type=>holding_registers sortie=>2 inputs=>[16, 17] values=>[0, 1] 
[2020-11-10 11:26:50][INFO] : mise à jour :  Add =>192.168.1.6 Unit => 4 holding_registers=> 11 -> old value:45461 new value:45466
[2020-11-10 11:26:51][INFO] : holding_registers trouvées :15
[2020-11-10 11:26:51][INFO] : holding_registers trouvées :15
[2020-11-10 11:26:51][INFO] : holding_registers trouvées :15
[2020-11-10 11:26:51][INFO] : holding_registers trouvées :15
[2020-11-10 11:26:51][INFO] : holding_registers trouvées :15
[2020-11-10 11:26:51][INFO] : holding_registers trouvées :15
[2020-11-10 11:26:51][INFO] : holding_registers trouvées :15
[2020-11-10 11:26:51][INFO] : holding_registers trouvées :15
[2020-11-10 11:26:51][INFO] : holding_registers trouvées :11
[2020-11-10 11:26:52][INFO] : Lancement du démon mymodbus : nice -n 19 /usr/bin/python3 /var/www/html/plugins/mymodbus/ressources/mymodbus_demond.py -h 192.168.1.6 -p 502 --unit_id=1 --polling=5 --keepopen=0 --protocol=tcpip --eqid=5 --hrs=15,15,15,15,15,15,15,15,11
[2020-11-10 11:26:52][DEBUG] : Evenement : add=>192.168.1.6 unit=>1 eqid=>5 type=>holding_registers sortie=>1 inputs=>15 values=>[80] 
[2020-11-10 11:26:53][DEBUG] : Evenement : add=>192.168.1.6 unit=>1 eqid=>5 type=>holding_registers sortie=>1 inputs=>15 values=>[80] 
[2020-11-10 11:26:53][DEBUG] : Evenement : add=>192.168.1.6 unit=>1 eqid=>5 type=>holding_registers sortie=>4 inputs=>[15] values=>[80] 
[2020-11-10 11:26:53][DEBUG] : Evenement : add=>192.168.1.6 unit=>1 eqid=>5 type=>holding_registers sortie=>1 inputs=>15 values=>[80] 
[2020-11-10 11:26:53][DEBUG] : Evenement : add=>192.168.1.6 unit=>1 eqid=>5 type=>holding_registers sortie=>1 inputs=>15 values=>[80] 
[2020-11-10 11:26:53][DEBUG] : Evenement : add=>192.168.1.6 unit=>1 eqid=>5 type=>holding_registers sortie=>3 inputs=>[11] values=>[54123] 
[2020-11-10 11:26:53][DEBUG] : Evenement : add=>192.168.1.6 unit=>1 eqid=>5 type=>holding_registers sortie=>1 inputs=>15 values=>[80] 
[2020-11-10 11:26:53][DEBUG] : Evenement : add=>192.168.1.6 unit=>1 eqid=>5 type=>holding_registers sortie=>1 inputs=>15 values=>[80] 
[2020-11-10 11:26:53][DEBUG] : Evenement : add=>192.168.1.6 unit=>1 eqid=>5 type=>holding_registers sortie=>1 inputs=>15 values=>[80] 
[2020-11-10 11:26:53][INFO] : mise à jour :  Add =>192.168.1.6 Unit => 1 holding_registers=> 11 -> old value:54116 new value:54123
[2020-11-10 11:26:54][INFO] : holding_registers trouvées :14
[2020-11-10 11:26:54][INFO] : holding_registers trouvées :17
[2020-11-10 11:26:54][INFO] : holding_registers trouvées :17
[2020-11-10 11:26:54][INFO] : holding_registers trouvées :17
[2020-11-10 11:26:54][INFO] : holding_registers trouvées :17
[2020-11-10 11:26:54][INFO] : holding_registers trouvées :17
[2020-11-10 11:26:54][INFO] : holding_registers trouvées :16
[2020-11-10 11:26:54][INFO] : holding_registers trouvées :16
[2020-11-10 11:26:54][INFO] : holding_registers trouvées :16
[2020-11-10 11:26:54][INFO] : holding_registers trouvées :16
[2020-11-10 11:26:54][INFO] : holding_registers trouvées :11
[2020-11-10 11:26:54][INFO] : Lancement du démon mymodbus : nice -n 19 /usr/bin/python3 /var/www/html/plugins/mymodbus/ressources/mymodbus_demond.py -h 192.168.1.6 -p 502 --unit_id=4 --polling=5 --keepopen=0 --protocol=tcpip --eqid=47 --hrs=14,17,17,17,17,17,16,16,16,16,11
[2020-11-10 11:26:54][DEBUG] : Evenement : add=>192.168.1.6 unit=>4 eqid=>47 type=>holding_registers sortie=>3 inputs=>[11] values=>[45471] 
[2020-11-10 11:26:54][DEBUG] : Evenement : add=>192.168.1.6 unit=>4 eqid=>47 type=>holding_registers sortie=>2 inputs=>[16, 17] values=>[0, 1] 
[2020-11-10 11:26:54][DEBUG] : Evenement : add=>192.168.1.6 unit=>4 eqid=>47 type=>holding_registers sortie=>3 inputs=>[14] values=>[0] 
[2020-11-10 11:26:54][INFO] : mise à jour :  Add =>192.168.1.6 Unit => 4 holding_registers=> 11 -> old value:45466 new value:45471
[2020-11-10 11:26:56][INFO] : holding_registers trouvées :14
[2020-11-10 11:26:56][INFO] : holding_registers trouvées :17
[2020-11-10 11:26:56][INFO] : holding_registers trouvées :17
[2020-11-10 11:26:56][INFO] : holding_registers trouvées :17
[2020-11-10 11:26:56][INFO] : holding_registers trouvées :17
[2020-11-10 11:26:56][INFO] : holding_registers trouvées :17
[2020-11-10 11:26:56][INFO] : holding_registers trouvées :16
[2020-11-10 11:26:56][INFO] : holding_registers trouvées :16
[2020-11-10 11:26:56][INFO] : holding_registers trouvées :16
[2020-11-10 11:26:56][INFO] : holding_registers trouvées :16
[2020-11-10 11:26:56][INFO] : holding_registers trouvées :11
[2020-11-10 11:26:56][INFO] : Lancement du démon mymodbus : nice -n 19 /usr/bin/python3 /var/www/html/plugins/mymodbus/ressources/mymodbus_demond.py -h 192.168.1.6 -p 502 --unit_id=2 --polling=5 --keepopen=0 --protocol=tcpip --eqid=25 --hrs=14,17,17,17,17,17,16,16,16,16,11
[2020-11-10 11:26:56][DEBUG] : Evenement : add=>192.168.1.6 unit=>2 eqid=>25 type=>holding_registers sortie=>2 inputs=>[16, 17] values=>[0, 4] 
[2020-11-10 11:26:56][DEBUG] : Evenement : add=>192.168.1.6 unit=>2 eqid=>25 type=>holding_registers sortie=>3 inputs=>[11] values=>[54126] 
[2020-11-10 11:26:56][DEBUG] : Evenement : add=>192.168.1.6 unit=>2 eqid=>25 type=>holding_registers sortie=>3 inputs=>[14] values=>[0] 
[2020-11-10 11:26:56][INFO] : mise à jour :  Add =>192.168.1.6 Unit => 2 holding_registers=> 17 -> old value:12 new value:4
[2020-11-10 11:26:56][INFO] : mise à jour :  Add =>192.168.1.6 Unit => 2 holding_registers=> 11 -> old value:44745 new value:54126
[2020-11-10 11:26:57][INFO] : mise à jour :  Add =>192.168.1.6 Unit => 2 holding_registers=> 17 -> old value:8 new value:0
[2020-11-10 11:26:58][INFO] : holding_registers trouvées :14
[2020-11-10 11:26:58][INFO] : holding_registers trouvées :17
[2020-11-10 11:26:58][INFO] : holding_registers trouvées :17
[2020-11-10 11:26:58][INFO] : holding_registers trouvées :17
[2020-11-10 11:26:58][INFO] : holding_registers trouvées :17
[2020-11-10 11:26:58][INFO] : holding_registers trouvées :17
[2020-11-10 11:26:58][INFO] : holding_registers trouvées :16
[2020-11-10 11:26:58][INFO] : holding_registers trouvées :16
[2020-11-10 11:26:58][INFO] : holding_registers trouvées :16
[2020-11-10 11:26:58][INFO] : holding_registers trouvées :16
[2020-11-10 11:26:58][INFO] : holding_registers trouvées :11
[2020-11-10 11:26:58][INFO] : Lancement du démon mymodbus : nice -n 19 /usr/bin/python3 /var/www/html/plugins/mymodbus/ressources/mymodbus_demond.py -h 192.168.1.6 -p 502 --unit_id=3 --polling=5 --keepopen=0 --protocol=tcpip --eqid=24 --hrs=14,17,17,17,17,17,16,16,16,16,11
[2020-11-10 11:26:58][DEBUG] : Evenement : add=>192.168.1.6 unit=>1 eqid=>5 type=>holding_registers sortie=>4 inputs=>[15] values=>[80] 
[2020-11-10 11:26:58][DEBUG] : Evenement : add=>192.168.1.6 unit=>1 eqid=>5 type=>holding_registers sortie=>1 inputs=>15 values=>[80] 
[2020-11-10 11:26:58][DEBUG] : Evenement : add=>192.168.1.6 unit=>1 eqid=>5 type=>holding_registers sortie=>1 inputs=>15 values=>[80] 
[2020-11-10 11:26:58][DEBUG] : Evenement : add=>192.168.1.6 unit=>1 eqid=>5 type=>holding_registers sortie=>1 inputs=>15 values=>[80] 
[2020-11-10 11:26:58][DEBUG] : Evenement : add=>192.168.1.6 unit=>1 eqid=>5 type=>holding_registers sortie=>3 inputs=>[11] values=>[54128] 
[2020-11-10 11:26:58][DEBUG] : Evenement : add=>192.168.1.6 unit=>1 eqid=>5 type=>holding_registers sortie=>1 inputs=>15 values=>[80] 
[2020-11-10 11:26:58][DEBUG] : Evenement : add=>192.168.1.6 unit=>1 eqid=>5 type=>holding_registers sortie=>1 inputs=>15 values=>[80] 
[2020-11-10 11:26:58][DEBUG] : Evenement : add=>192.168.1.6 unit=>1 eqid=>5 type=>holding_registers sortie=>1 inputs=>15 values=>[80] 
[2020-11-10 11:26:58][DEBUG] : Evenement : add=>192.168.1.6 unit=>1 eqid=>5 type=>holding_registers sortie=>1 inputs=>15 values=>[80] 
[2020-11-10 11:26:58][INFO] : mise à jour :  Add =>192.168.1.6 Unit => 1 holding_registers=> 11 -> old value:54123 new value:54128

J’ai remarqué qu’en allant dans commandes sur l’équipement en question ici l’adresse 02 le fait de sauvegarder, sans même modifier quelque chose le module revenait. Mais d’après ce que j’ai vu dans les logs c’est que le daemon redémarre.

Voici la configuration RS485 de la passerelle :

Quelle solution peut-on trouver pour contourner ce problème ?

  • diminuer le polling, je ne suis pas sûr que ça change quelque chose
  • cocher garder la connexion active ? @Bebel27
  • utiliser image mais je ne sais pas comment sinon sur chaque module j’ai une variable uptime, ce que je pensais faire éventuellement c’est contrôler que la variable évolue dans un scénario. Si ce n’est pas le cas c’est que j’ai un problème de com. Dans ce cas je redémarrerais le daemon MyModus. Cependant je ne sais pas comment redémarrer le daemon, d’après ce que j’ai vu il faut utiliser du code dans le scénario…

Si vous avez des idées je suis preneur. Merci.

Edit :

Voici ce qui c’est passé cette nuit (suite à la mise en place de l’alerte communication) :

et je confirme en redémarrant le daemon je récupère tout.

Bonsoir

Merci pour ce plugin qui est super utile

Apres avoir lu le sujet, j ai réussi a faire quelques bricoles mais j ai tjr des soucis

J ai de bonne connaissance en programmation avec logo soft Comfort.
J utilise un logo8 FS4 et jeedom avec le plugin mymodbus en beta.

Je souhaiterais récupérer :

  • entrée I
  • sortie Q
  • entree réseau
  • sortie réseau

J ai donc créé mon programme avec les connection ethernet Modbus en acceptant toutes les Ip sur les port 503 a 508

Le soucis c est que ca fonctionne un jour et le lendemain plus rien fonctionne.

Je suis oblige sous jeedom de créé plusieurs équipement sous le même port pour avoir toute mes valeurs.

Pour récupérer les numéro de VM j avais trouvé sur siemens un tableau avec les valeur a mettre en -1.

Personne n a essayé de faire un tableau de correspondance JEEDOM ==> Logo8

Comment savez vous sur quel port se trouve les entrées les sorties etc etc, même sur logo soft Comfort on ne peux pas le voir.

je veux juste lire des infos depuis l automate et envoyer quelques commande de jeedom vers l automate

Merci d avance de votre aide.

Bonsoir @julienlio,

Si tu es intéressé donne moi tes coordonnées Mail en MP et je t’envoie le fichier complet
Chez moi j’utilise le port 510

1 « J'aime »

Bon… J’ai essayé avec un boitier Moxa pour voir si c’était mieux mais non… Toujours des « None »…

Et voici la configuration :


Tiens… J’ai remis l’autre boitier… J’ai juste changé le port (20108 à 502) sur le boitier et sur Jeedom et là j’ai des remontées de nouveau… :thinking:

Chouette, à confirmer

Bonjour les pro du modbus j’ai ouvert un sujet un peu spécifiques ici Pilotage wago 750-849 (noyau calaos) à partir du plugin mymodbus mais qui est dans vos cordes je pense, sur le pilotage d’un automate wago à partir de ce plugin. Un peu d’aide et d’éclaircissement serait la bienvenue, je n’y comprends pas grand chose entre les Q% le I% les M% etc…