Page 1 sur 3

protocole Modbus

Publié : 26 juil. 2015, 12:17
par nicofly974
Bonjour,

je me présente, je débute dans la domotique, je bidouille sur arduino et j'attends ma première pi pour les jours à venir...

Je voulais savoir si l'on pouvait intégrer à domoticz des données (température, etat, etc) venant d'arduinos satellites communiquant avec la raspberry en MODBUS ?????

Je m'explique: n'aimant pas trop les ondes et pour une question de fiabilité,
je voulais un réseau FILAIRE, et je suis parti sur le protocole MODBUS RTU via rs485 (car c'est eprouvé dans l'industrie)

- le MAITRE parle ( l'arduino(que je voudrais remplacer par la raspberry et domoticz) interroge les esclaves ou ordonnent aux esclaves)
- les ESCLAVES écoutent et s’exécutent en cas de demande ( les arduinos sont en serie sur un câble, ils ont chacun leur propre adresse)

Au début je voulais tout faire avec des arduinos (pas cher, petite taille, DIY), ça fonctionne d'ailleurs bien,
mais l'interface graphique était pauvre, un ecran 20x4 :( et quelques boutons pour les actions. Et surtout ça devient vite compliquer à faire évoluer.

Alors plutôt que de réinventer la roue pour faire une interface graphique le me suis penché sur Domoticz qui a l'air génial, mais je n'ai rien trouvé de clair sur le protocole MODBUS.

Avez vous des idées???

PS: Je tiens à rester en filaire et à utiliser des esclaves à base d'arduinos car j'ai besoin de capteurs fait sur mesure pour mon installation, mais si vous avez des idées je suis preneur

Re: protocole Modbus

Publié : 26 juil. 2015, 15:49
par mulot35
salut,
tu as l'air deja bien documenté.
De mon niveau je peut juste te diriger vers le :
-1 wire pour les température et l'humidité. http://easydomoticz.com/du-1-wire-dans- ... ephonique/
-le téléinfo http://easydomoticz.com/raspberry-et-teleinfo/

après pour les actionneurs je laisse ma place.

Re: protocole Modbus

Publié : 26 juil. 2015, 21:00
par nicofly974
Alors je désire rester en rs485 (liaison serie) car j'ai de grandes distances à parcourir (env 40m de cable) et que je me méfie du sans fil dans un environnement perturbé.

Le modbus (rtu) est un protocole d'échange entre un maitre qui parle/interroge DES esclaves qui repondent/s'executent

Mon idée est d'avoir une raspberry en maitre avec domoticz en interface
et des arduinos dispersés chez moi:
- pour les pieces: capteur de temperature/hygro, luminosité et des actionneurs relais, emetteur 433mhz pour piloter les volets roulant (je ne suis pas contre une utilisation ponctuelle des ondes ;) )
- pour le jardin idem relais qui pilotent des electrovannes d'irrigation, capteur d'humidité du sol etc

En fait un arduino equipé selon les besoins de chaque lieu


Ma question pour être plus clair

peut on a partir de donnees, stockees dans les registres du raspberry, les afficher dans domoticz???

Re: protocole Modbus

Publié : 27 juil. 2015, 03:35
par vil1driver
Salut,


Domoticz permet d'exécuter tout type de script.
Domoticz peut fournir/recevoir des données et exécuter des ordres par de simples requêtes http (json).

Re: protocole Modbus

Publié : 03 août 2015, 23:16
par asem
Bonjours,

je travail également avec MODBUS rtu à mon travail,
c'est vraiment dommage que cela ne soit pas intégrer à Domoticz!

pour le moment le seul truc que j'ai trouver c'est phpmodbus, fait une petite recherche sur Google

j'ai mis tout mes esclave dans un array avec les différents paramètres (adresse, mots, unite, etc....)
je parcours mon array en lisons chaque ligne et met à jour les capteurs virtuel crée dans domoticz avec le résultat
pour le moment c'est que en lecture, mais tu à la possibilité d’écrire avec phpmodbus

PS: pour info il y a également pymodbus

Re: protocole Modbus

Publié : 30 sept. 2016, 15:44
par deennoo
Le sujet a plus d'un an mais je pense que ceci va vous interesser : http://myrfx.fr/modbus/

Il y a quelques articles supplementaires qui donne une belle solution.

Re: protocole Modbus

Publié : 30 sept. 2016, 18:49
par papoo
j'utilise depuis mars un peu de python pour lire une valeur sur du modbus TCP
http://pymodbus.readthedocs.org/en/late ... lient.html

pour l'installer

Code : Tout sélectionner

sudo apt-get update && sudo apt-get -y upgrade
sudo apt-get install python-pymodbus python-twisted-conch 

Pour lancer le script modbus.py

Code : Tout sélectionner

sudo python /home/pi/domoticz/scripts/python/modbus.py

mon fichier modbus.py

Code : Tout sélectionner

from pymodbus.client.sync import ModbusTcpClient

client = ModbusTcpClient('192.168.xx.xxx')
client.connect()
result = client.read_input_registers(200,24) # Lire 24 compteurs 16 bits  adresse adresse de debut 200 (16 Least et 16 Most)
rr = client.read_coils(201,1)
for compteurs in enumerate(result.registers):
    print compteurs
	print rr.bits[0]
client.close()

Re: protocole Modbus

Publié : 12 févr. 2017, 22:30
par vinz276
Bonjour a tous,

J'arrive sous Domoticz à écrire des bits sur un automate en modbus via un script pyton mais je ne vois pas comment lire les entrée et à les écrire sur un capteur virtuel sou s Domoticz. Si quelqu'un à une idée, je suis preneur.

Merci

Re: protocole Modbus

Publié : 10 déc. 2017, 16:40
par bonebuster
Bonjour a tous

j'utilise Domoticz depuis quelques temps et il m'a pris l'envie d'utiliser des entrées/sorties en Modbus TCP

après installation de python, pymodbus et du script cde_modbus.py dont le tuto se situe ici :

http://myrfx.fr/modbus-domoticz/

le scripts est lancé avec un interrupteur virtuel :
script:///home/pi/domoticz/scripts/python/cde_modbus.py 0 1

adresse 0 a mettre a ON
dans le log j'ai l'erreur suivante
2017-12-10 16:36:06.936 Executing script: /home/pi/domoticz/scripts/python/cde_modbus.py
2017-12-10 16:36:06.958 Error: Error executing script command (/home/pi/domoticz/scripts/python/cde_modbus.py). returned: 512

si en SSH je lance la commande python cde_modbus.py 0 1
ça fonctionne impeccable

j'ai bien rescepter le changment de mod d'acces au fichier cde_modbus.py en 775, 777 et même +x

ren a faire Domoticz ne veut pas executer le script

quelqu'un voit ce qu j'aurai pu louper ?

Re: protocole Modbus

Publié : 10 déc. 2017, 18:59
par patrice