protocole Modbus

Forum pour tous les autres protocoles : Enocean, X10, les cartes piface.razberry ...
Pour les questions concernant le choix de protocoles, merci d'utiliser le forum Les autres objets.
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: protocole Modbus

Message par papoo »

je suppose que ton script ne contient pas que cela?
poste nous ton script complet, histoire que l'on puisse t'aider
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
bonebuster
Messages : 22
Inscription : 12 nov. 2017, 08:54

Re: protocole Modbus

Message par bonebuster »

voici mon script

Code : Tout sélectionner

#!/usr/bin/python
# -*- coding: utf-8 -*-

# cde_modbus.py arg:adresse arg:valeur
# adresse = adresse modbus 
# valeur = 0 forcé le coil à 0 / 1 forcé le coil à 1 / 2 inversé le coil apres lecture de l'état

import sys
from pymodbus.client.sync import ModbusTcpClient as ModbusClient

#ouverture de la communication Modbus
#l'adresse de l'automate Serveur Modbus TCP 
client = ModbusClient('192.168.1.251')

#si le nombre d'argument est supérieur à 2 prise en compte de la commande via Modbus TCP
if len(sys.argv) > 2:
	# argument 1 -> l'adresse du coil sur le serveur
	adresse = int(sys.argv[1])
	# argument 2 -> Etat du coil souhaité
	valeur = int(sys.argv[2])
	
	#en mode bouton enOcean
	if (valeur == 2):
		#lecture de l'état avant inversion de la commande
		rr = client.read_coils(adresse, 1)
		# inversion en fonction de l'état	
		if (rr.bits[0] == 1):
			rq = client.write_coil(adresse, 0)
		else:
			rq = client.write_coil(adresse, 1)
			
	#en mode bouton Domoticz , ecriture de l'état souhaité
	else:
		rq = client.write_coil(adresse,valeur)

#fermeture de la connexion Modbus TCP
client.close()
chaque appel genère la même erreur
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: protocole Modbus

Message par papoo »

ajoute un "&" a la fin de ta ligne de commande afin de retourner à Domoticz sans attendre

Code : Tout sélectionner

script:///usr/bin/python /home/pi/domoticz/scripts/python/cde_modbus_v350.py 237 1 &
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
bonebuster
Messages : 22
Inscription : 12 nov. 2017, 08:54

Re: protocole Modbus

Message par bonebuster »

@papoo

Merci beaucoup
effectivement plus d'erreur

c'est nickel
Répondre