Faire communiquer une carte Chinoise RTU

Bonsoir,
Je commence sur jeedom et j’ai lu bon nombre de sujet sur le plugins mymodbus (rtu pour ma part).
J’essaie depuis plusieurs jour de faire communiquer ma carte chinoise RTU 8 in/out , avec plus ou moins de succès.
Je m’explique, quand je crée l’équipement, tout se passe bien, 9600bauds, 8N1, ID 10, polling30s.
je passe ensuite aux commandes coil (4) et discrete input (4), lorsque je l’ai essaie lors de la création, les coils fonctionnent correctement, (un commande ON, une OFF et un retour info).
par contre pour les discrètes inputs, le bus se bloque dans la minute qui sui l’enregistrement.
J’ai voulu voir avec le plugins ModbusRTU, mais j’ai une erreur qui apparait:
File « /var/www/html/plugins/modbusrtu/resources/modbusrtud/modbusrtud.py », line 20, in
import paramiko
ImportError: No module named paramiko
Quelqu’un pourrait il m’aider pour finir d’installer ce plugins, Merci.

Bonjour,

si vous cherchez de l’aide pour le plugin ModbusRTU, vous avez utilisé le tag plugin-mymodbus au lieu du tag plugin-modbusrtu.
Ensuite, il semblerait que le module python paramiko soit manquant. Aucune idée pourquoi un plugin de communication Modbus a besoin d’une solution de communication ssh, mais pour l’installer :

pip install paramiko

ou

pip3 install paramiko

pour une version plus ressente de debian.

A+
Michel

Bonsoir,
Merci pour la commande pour installer paramiko.
avec les 2 commandes, il m’indique:

ERROR: Could not find a version that satisfies trhe requirement paramiko (from version: none)
ERROR: No matching distributionfound for paramiko.

Je pense qu’il va falloir faire évoluer soit mon systeme, soit mon RPI, voir les deux…

j’essaie de configurer mes cartes MODBUS référence:10IOA08 et 10IOA12 de chez Eletechsup. (malgré plusieurs demande, ils ne m’ont pas transmit de documentation)
je joint le fichier des commandes modbus que j’ai extrait de la video du fabricant sur youtube.
le liens youtube est sur le PDF.
10IOA04 Modbus RTU.pdf (106,4 Ko)
J’ai essayer depuis plusieurs jour différente solution pour le faire fonctionner,
que les entrées—> ok ca marche
que les sorties—> ok ca marche
mais l’interface modbus bloc a partir du moment que je met les deux ???
J’ai essayer avec un scenario de type bouton / lumiere, ca ne marche pas.
j’ai essayer les commande comme dans la video avec « modbus poll » tout fonctionne ensemble.
j’ai aussi essayer avec 3 interfaces usb/modbus, jeedom ca bloque, modbus poll OK.

y a t il des subtilités dans les renseignements des E/S que je ne fais pas correctement.
entrées: info binaire discret input 16bits (numéro d’entrée) et aucune options
sorties: action defaut coil N°coil 1 ou 0 (on/off)
sorties: info binaire coil N°coil
voir image jointe:

Lorsque j’appuie sur un bouton, l’info mais 20 secondes a remonté…
l’action sur les bouton des Coil du dashboard est quasi instantané…

Voila tout ce que je peux vous donner comme renseignement pour le moment.
Merci par avance
Franck

PS: y a t il une documentation qui donnerait le code MODBUS des différentes option lors de la configuration des E/S.

Je ne connais pas le plugin ModbusRTU et ne peux vous aider plus.

Par contre je connais le plugin MyModbus en version bêta puisque c’est moi qui l’ai réécrit.
Si ça vous dit d’essayer avec ce plugin…

Comment sont configurés les switch A0 à A5 pour l’adresse de l’esclave (slave ID) ?

edit
Sur votre présentation, on trouve ceci :

Version Jeedom Core utilisée: jeedom stable 4.4.0
OS utilisé: Rasbian 10 buster
Matériels Domotique: Rpi2b

La version stable est la 4.3.21. La version 4.4 est la version bêta qui ne fonctionne que sous Debian 11, me semble-t-il.

supposition à vérifier

J’ai vu passer des post qui parlent de debian12, mais tout n’est pas encore parfait.

Je vous conseille de rester en version stable. Cela dit, pour MyModbus version bêta, comme l’environnement python est installé dans un pyenv, cela ne change rien. Mais pour ModbusRTU, je ne sais pas.

Bonjour,
Merci pour votre réponse, ce matin j’installe JEEDOM sur un pc linux Debian 11, avec la dernière version de JEEDOM 4.3.21 et uniquement les plugins dont je vais avoir besoin.
Je part sur une bécane de test et quand j’aurais réussi à faire tourné mes plugins avec mon matériel, je les installerais sur ma bécane de prod (RPi4b-4Gb commander hier soir).
J’ai arrêter d’utiliser le plugin MODBUS RTU, pour me concentré sur le plugin Mymodbus.
Toutes les données que je vous ai transmise hier, concernait le plugin Mymodbus.
Je vous redis sur l’installation de ma bécane de test, quand j’aurai fais les premier test.
Merci de m’avoir répondu rapidement
Franck

Je me permets de vous conseiller MyModbus version bêta.

Une fois que ce sera fait, si vous n’arrivez pas à faire communiquer votre carte avec Jeedom, dites-moi comment sont configurés les switch A0 à A5 pour l’adresse de l’esclave (slave ID) et dites-moi comment sont configurés l’équipement et les commandes avec des screenshots.

bonjour,

Je viens de terminer l’installation de mon mini PC (z83f, 64GO emmc, 4Go ddr3) avec une debian 11.8.0 (avec gnome en interface graphique)
J’ai installer jeedom 4.3.21 ainsi que le plugins mymodbus (beta), rien de plus.

les dip switch 2 et 4, sont sur ON et le reste sur OFF

j’ai configurer le plugins 9600,8N1, avec le bon interface.
J’ai configuré les 8 entrées==> ok,
j’ai configuré 2 sorties ==> ok
et j’ai fait un sketch pour tester l’interaction, ça fonctionne sans bloquer, le seule souci, c’est la latence, de 2.3 secondes à 3.8 secondes entre le moment ou j’appuie (et je reste appuyé) et celui ou les relais colles.
voici la config de l’interface modbus


et voici pour les E/S

Est ce que le debit du bus peux influencer sur cette latence??

J’ai joint dans un de mes message les codes utilisé par cette carte
merci

D’après ce que j’ai vu, tout est bien configuré.

Ce qui peut jouer sur le délai n’est pas le débit : trop peu de données sont échangées pour que ça joue un rôle. Par contre vous pouvez essayer d’utiliser les plages de registres pour les lectures des entrées et des sorties. C’est expliqué dans la doc. Si vous n’y arrivez pas, je vous conseillerai.

edit

Il ne faut pas non plus s’attendre à ce que ça soit en temps réel.
Vous pouvez passer le « Timeout de vérification d’une nouvelle commande » à 0.5 seconde.

Juste pour être sûr que tout se passe bien, vous pouvez poster les logs en mode debug avec au moins 3 cycles de lecture et une écriture.
Attention à ne pas laisser en mode debug, ça génère très vite beaucoup de log…

edit:

Je ne m’y connais pas assez en scénario pour savoir si ce temps est lié au scénario ou au plugin. En tout cas, si le temps de rafraîchissement est de 3 secondes (par exemple), il se peut qu’une commande mette jusqu’à 6 secondes pour être exécutée. Le fait d’utiliser les plages de registres réduit le temps de rafraîchissement. Les plages de registres ne sont utilisables que pour les lectures (commandes info).