Erreur plug-in Modbus en RTU "Frame check failed, ignoring" & "Erreur MODBUS : 'ModbusIOException'"

Bonjour,

Je n’arrive pas à faire fonctionner le plug-in Modbus officiel en RTU

Quelque soit la config que je met j’obtient 0 ou rien dans Modbus Officiel

Alors qu’avec le plugin ModBus RTU j’obtiens la bonne valeur (avec se qu’il me semble être la même config)

Voila se que j’ai dans les Log

0480|[2022-06-03 11:06:24]DEBUG : {'nameCmd': 'test3', 'cmdId': '1348', 'format': 'floatformat', 'functioncode': 'fc03', 'nbregister': '2', 'startregister': '9008', 'wordorder': 'littleword', 'byteorder': 'littlebyte', 'offset': 0, 'decimal': '1', 'operation': 0}
0481|[2022-06-03 11:06:24]DEBUG : Current transaction state - TRANSACTION_COMPLETE
0482|[2022-06-03 11:06:24]DEBUG : Running transaction 2
0483|[2022-06-03 11:06:24]DEBUG : SEND: 0xb 0x3 0x23 0x30 0x0 0x2 0xcf 0x2a
0484|[2022-06-03 11:06:24]DEBUG : Changing state to IDLE - Last Frame End - None, Current Time stamp - 1654247184.254942
0485|[2022-06-03 11:06:24]DEBUG : New Transaction state 'SENDING'
0486|[2022-06-03 11:06:24]DEBUG : Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
0487|[2022-06-03 11:06:24]DEBUG : Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
0488|[2022-06-03 11:06:24]DEBUG : RECV: 0xff 0xff 0x1 0x10 0x23
0489|[2022-06-03 11:06:24]DEBUG : Frame check failed, ignoring!!
0490|[2022-06-03 11:06:24]DEBUG : Resetting frame - Current Frame in buffer - 0xff 0xff 0x1 0x10 0x23
0491|[2022-06-03 11:06:24]DEBUG : Getting transaction 11
0492|[2022-06-03 11:06:24]DEBUG : Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
0493|[2022-06-03 11:06:24]ERROR : Erreur MODBUS : 'ModbusIOException' object has no attribute 'registers'

ma configuration :
image
image

Apres avoir essayé Modbus-rtu (qui marche très bien mais il me manque des fonctionnalités comme la lecture écriture sur 2 registre pour un mot de 32 bits en float (avec swap words)). Et j’ai passé du temps avec my-modbus de Bebel27 (qui m’a bien aidé pour que ça fonctionne chez moi) mais il me manque encore l’écriture en 32 bits, float (swap words). J’aimerais bien essayer le plug-in officiel pour voir si par le plus grand des hasards il y a tous se dont j’ai besoin. Mais je n’arrive déjà pas à lire une simple valeurs donc il y a surement encore quelque chose que je n’ai pas compris en ModBus !
(Par exemple dans Unit ID je doit mettre l’adresse (Slave n° dans ModBus Doctor) de l’appareil sur lequel je veux lire et écrire ?
image
)

ça c’est ce qui fonctionne avec Modbus Docror et se que je n’arrive pas a faire avec les autres plugin

Je précise que je ne connais pas ModBus et que je n’ai pas de doc pour mon appareil à piloter (j’ai trouvé les config et registre avec Modbus Docror et beaucoup de patience !)

Voila, j’espère que j’ai donnée assez de détails pour que vous puissiez m’aider.
Merci d’avance

Perso, je suis passé sous node-red pour faire du modebus rtu sous jeedom. Je fais la communication entre node-red et jeedom par mqtt.

Cela dit, tu as la doc du dispositif rtu original question de bien comprendre la configuration.

Antoine

Salut Tonio16,

non je n’ai pas la doc de mon matériel (Mon protocol de test est basé sur 1-je fait un truc au hasard sur mon appareil 2- je croise les doigt pour ne pas tous défoncer 3-je cherche les registres qui ont changé :slight_smile: ! )
node-red je ne connaissais pas ( Il est encore en privé sur le store) je vais regarder de plus près merci pour l’info :slight_smile:

Mais je dois dire que je ne pensais pas que ce protocole pourtant bien rependu dans l’industrie (donc je le pensais très standardisé et fiable) était si compliqué (le principe de base semble simple mais il y a quand même plein de petites subtilité qui le rende pas si simple à implémenter visiblement).

Pour node-red, j’ai pas de plugin mais un vieux pi2 dédié.

Dommage pour la doc, car il y a beaucoup d’options possibles ici. C’est quoi ton appareil ?

Antoine

Je regarde node-red et c’est vrais que ça a l’aire trop bien :smiley: si je n’arrive toujours pas a faire ce que je veux avec Modbus officiel je vais tester node-red.

Mon appareil c’est un system d’aération/chauffage mydatec vraiment très bon matos mécaniquement, mais logiciellement c’est de la :poop: c’est pour ça que j’ai besoin de la piloter a distance et le constructeur m’a dit que je pouvais le piloter en modbus mais il n’a pas voulue m’envoyer la doc ni même la liste des registres utilisés.

1 « J'aime »

Alors pour information (et au cas ou ça aiderais quelqu’un ) tous fonctionne à présent. Je ne peux pas dire que j’ai compris comment ça marche mais en passent par une action de type message avec un message comme ça
« 16503!22.5&2 » (registre 16503, pour mettre 22.5 sur 2 registres). Pour simplifier les choses je passe par un objet virtuel et un scénario avec ça : 16503!#[Mydatec][Temperature Consigne Z2 - Virtuel][Température Z2]#&2

et hop, Je peux piloter la température de ma machine.
Bon, il y a beaucoup de loupés ou ça n’écrit pas ou alors ça n’écrit pas la bonne valeur. Du coup il soufi de refaire un scénario de vérification vue qu’on peux lire à la même adresse.
image

Par contre j’ai toujours dans les log cette erreur : « MODBUS : ‹ ModbusIOException › object has no attribute ‹ registers › » Je ne sais pas ce qu’elle veux dire mais visiblement ça marche malgré l’erreur.

1 « J'aime »

Bonjour, Moi aussi je suis passé avec node-red. Ca complexifie le système mais ça marche.

Cordialement

1 « J'aime »

Bonjour @mgaloseau ,
J’ai aussi une VMC Mydatec (Smart V 200) que j’aimerais piloter avec Jeedom.
Cependant pour commencer, je ne sais pas comment la relier via son bus (Modbus) avec Jeedom.
Utilises-tu un câble spécial du genre :


?
Merci d’avance pour ton aide et Bonne Année !
Dom.

Bonjour à tous,

Ayant moi même également une MyDatec, si l’un d’entre vous a avancé ça m’intéresse.

Ce qui m’inquiète c’est que l’écran de contrôle d’origine semble être le master modbus, j’imagine donc qu’il faut s’en passer si on veut prendre sa place ?

Merci,
Julien