Plugin MyModbus

Voui…

Change le protocole en bas à gauche.
Si ça veut pas repassé ensuite sur le port 501.

Je passe en MP pour ne pas polluer.

Je test le plugin en rtu en remplacement de l’ancien modbusrtu.
mais le deamon ne démarre pas j’ai cela dans le log :

Version de python ok
Traceback (most recent call last):
File « /var/www/html/plugins/mymodbus/ressources/mymodbus_demond.py », line 270, in
time.sleep(polling)
NameError: name ‹ polling › is not defined

une idée,s’il vous plait ?

Bonjour,

En utilisant le mode « rtuovertcp » j’arrive bien à commander les 8 relais de ma carte I/O. Mais pas à lire mes 8 entrées.
Cette carte est en RTU et j’utilise un convertisseur TCP/RTU (ZLAN5143D).
Actuellement la doc n’explique pas comment configurer ce mode rtuovertcp.

J’ai donc coché le mode « Debug » dans la config du plugin mais je n’arrive pas à voir les trames TCP sortant de mon RPI4.
Quelqu’un sait il où je pourrais trouver ces trames ? Ou me dire comment faire un mode espion/ monitor ?

Bonjour à tous. Tout d’abord un grand merci à @Bebel27 pour ce plugin bien pratique. Après quelques errements j’ai réussi à comprendre à mon modeste niveau comment exploiter ce plugin avec un onduleur solaire Sofarsolar Hyd 6000 via son port RS485 et associé à un petit boitier bien sympa le HF2221 acheté pas trop cher et qui permet de créer un serveur tcp avec 2 entrées au choix RS485 ou RS232:

Avec la doc du protocole que sofarsolar a bien voulu m’envoyer je réussi bien à récupérer tout ce qui m’intéresse mais je bute sur la gestion des nombre négatif. Quand j’utilise le logiciel Modbus doctor les données recueillies sont bien affichées en négatif alors que dans le plugin cela me donne des chiffres énormes. En cherchant un peu, modbus doctor considère un nombre comme négatif lorsque le bit 7 de l’octet 0 passe à 1 (= 8000h)
image

image

image

image

Serait il possible d’intégrer cela dans le plugin avec par exemple une case à cocher qui indiquerait que les données recueillies sur cette adresse peuvent être négatives? Comme ça si ce bit est à 1 alors => chiffre négatif

Une autre question, dans la doc de l’onduleur il y a au moins 23 de ce qu’ils appellent des « functions code » qui semblent correspondre pour 4 d’entre elles au type d’entrée sortie du plugin. Par exemple la function code x03 correspond au type « holding register », l’unique type dont je me sers actuellement

Je n’ai pas l’intention de les utiliser toutes ces fonctions mais quelques unes pourraient quand même être intéressantes. Savez vous comment y accéder avec le plugin?

Une dernière pour la route :slight_smile: , le protocole RS485, si j’ai bien tout compris, permet de faire en une seule demande l’interrogation d’une plage d’adresse. Par exemple, je souhaiterai obtenir à partir de l’adresse 518 les 20 adresses qui suivent. Un exemple ci dessous le résultat et les trames échangées visibles grâce au logiciel Modbus master:

Cela limiterai les transactions sur le bus car par exemple sur mon onduleur voici toutes les infos que je rapatrie (certaines ne vont jamais me servir mais c’est au cas où…) :

Bonjour @Noyax37 ,

Pour les nombres négatifs je passe par un scénario et une variable.

Sur la version bêta du plugin tu devrais trouver ton bonheur avec les registers int :wink:.
Sinon je trouve ton convertisseur génial👍

Merci @Patrick57

Je tente de faire ce calcul dans les configurations de la commande mais je ne sais pas si la condition #value# doit faire référence à celle calculée dans « calcul et arrondi » qui est celle divisée par 100 ou à la valeur relevée. Comme je n’ai pas de valeur négative en ce moment je verrai bien :wink:

Bonjour et merci @Bebel27, je suis depuis ce matin en version béta et je t’avoue que je ne vois pas de différence. Qu’entends tu par register int? Juste pour te situer, je n’y connais absolument rien au protocole RS485 j’ai juste bidouiller pour obtenir ce que je cherchais.

Oui moi aussi je trouve ce convertisseur génial. Il a en plus 2 port ethernet sur RJ45 ce qui permet de raccorder un raspberry par exemple sans investir dans du wifi car le convertisseur fait soit bridge soit routeur

image

J’ai juste un petit souci qui doit être lié à l’éloignement de ma box car de temps en temps il se bloque, il faut éteindre et rallumer. Je vais voir si en le rapprochant de la box ça fait pareil.

Bonjour @Noyax37,

La conf complète de ma mesure de température

Re merci @Patrick57, oui c’est ce que j’ai fait de base mais tu as aussi une « Action sur la valeur » où tu peux définir des critères et là j’y ai mis #value# - 65536 lorsque la valeur est supérieure à 38000 presque comme dans ton scénario :wink:

J’attends de voir si ça fonctionne lorsque j’aurai vraiment des chiffres négatifs

J’ai la réponse, ça ne fonctionne pas. Il faudrait pouvoir faire des calculs sous conditions dans « calcul et arrondi ».

Bonjour,
Je reviens avec mon SOFREL S500 afin de récupérer mes infos sur une fosse de récupération d’eau de pluie.
Après quelques essais, je n’ai toujours pas réussi à récupérer mes valeurs…J’avais laissé un peu de côté mais je reprends çà!!!
Je me connecte via Modbus doctor (ça fonctionne impeccable pour faire les tests de com et je vous en remercie).
Les valeurs que je souhaite récupérer dans mymodbus sont :
n° registre 54001 , sous modbus doctor je fais ma lecture en « mots 32 bits-Inv. mots » et je lis en réel 32 bits, la valeur que je souhaite…
Comment paramétrer dans mymodbus afin d’avoir cette bonne valeur.
J’ai essayé en "« info numérique-Holding register » mais impossible…
Merci à l’avance pour votre aide.
Bonne après midi

Essaye avec la beta ce qui a été appelé « Eastron Imput » en 32bits.
C’est ce que Bebel avait mis en place suite à mon besoin et de mémoire c’était du mot inversé.

bonsoir, avez vous bien mis en 32 bits et cocher inverser?

Laisse en 16 la fonction 32 n’est pas opérationnelle.

C’est marrant j’ai pas cette fonction « inversé » sur mon plugin.
Tu es en stable ou bêta, je pige pas ?

Il faut être en bêta pour avoir les fonctions citées plus haut, pour le inverser c’est lié au type d’info (disponible sur type binaire l permet d’inverser la valeur,il a du mettre en binaire puis repasser en numérique pour sur capture d’écran avant de sauvegarder.

Bonjour @Bebel27, en effet j’ai testé pour 32 bits et ça ne fonctionne pas, j’allais justement te poser la question :wink:

Je suis repassé en stable car j’avais des messages d’erreur par rapport au demon que ton plugin devait relancer souvent.

Si ce n’est pas trop demandé, serait il possible d’ajouter dans ton plugin les fonctions dans le menu déroulant 16 ou 32 bits avec chiffres négatifs ?

Merci d’avance même si ta réponse est négative, encore merci aussi pour ton boulot qui nous simplifie bien le modbus sous jeedom :+1: