Page 2 sur 7
Re: GPIOs inputs & Domoticz
Publié : 08 févr. 2015, 00:00
par Jihem
J'ai bien lu tes posts, mais les Gpio ne fonctionnent pas de la même façon en mode in et en mode out.
En mode out c'est Domoticz qui change l'état du Gpio; pas besoin de pull-up c'est 0 ou 1.
En mode in c'est le contacteur qui change l'état et Domoticz vient lire de temps en temps cet état. Si pas de pull-up, quand le contact est ouvert le gpio ne change pas toujours d'état donc Domoticz ne voit rien. C'est aussi pour ça que le test ne peux pas marcher puis qu'il envoit un ordre sur un gpio en mode out et pas une lecture.
Si la commande "gpio read" indique bien un changement d'état,
Si t'es "gpio export" sont fait comme il faut,
Si ton gpio est bien en mode in dans la liste des gpio de ton widget contact,
Regarde dans les logs de Domoticz si le gpio est bien interrogé.
Le temps entre 2 lectures peut être long, dans ce cas essaye avec ce script
Code : Tout sélectionner
!/bin/bash
while :; do
while [ `gpio read 1 ` = 1 ]; do
curl "http://192.168.1.27:8080/json.htm?type=command¶m=switchlight&idx=10&switchcmd=On&level=0"
sleep 3 #Pour ne pas surcharger le CPU
done
curl "http://192.168.1.27:8080/json.htm?type=command¶m=switchlight&idx=10&switchcmd=Off&level=0"
sleep 3
done
Avec l'adresse de ton Raspberry ,l'idx de ton widget et le n° du gpio(Wpi).
Re: GPIOs inputs & Domoticz
Publié : 09 févr. 2015, 11:40
par Dr No
@Jihem
Un grand merci pour tes infos
Quand je te disais de relire mes posts c'est parce que j'y indique que tous les points que tu mentionnes sont OK y compris mes exports. Dans la liste des GPIOs proposée par Domoticz je trouve bien mes entrées mais si j'essaie de configurer une entrée (switchtype=contact) lors du test Domoticz me dit qu'il y a une erreur car le port n'est pas configuré en sortie ce qui est aberrant comme réponse.
Au sujet de ton script:
Cela fonctionne très bien, il me reste à l'adapter à mon besoin. C'est super j'ai fait un grand pas grâce à toi !!!
On peut fonctionner par interruptions ce qui est très peu consommateur de temps CPU, je vais regarder cela et te dirai si je trouve quelque chose d'intéressant.
Re: GPIOs inputs & Domoticz
Publié : 09 févr. 2015, 23:09
par Jihem
Bonsoir
Content que ça marche.
Pour le test la réponse est aberrante car le test n'est pas fait pour tester une entrée.
Je pense d'ailleurs que Domoticz ne gère pas bien les entrées sur les Gpio mais c'est quand même un très beau logiciel!
A suivre
Re: GPIOs inputs & Domoticz
Publié : 26 févr. 2015, 18:27
par Yoann
Bonsoir,
J'ai exactement le même problème que Dr No!
En examinant de plus près dans les logs on dirait que le programme tourne en boucle et ralenti domoticz.
Ca affiche en boucle :
GPIO: Interrupt for GPIO 17 already queued. Ignoring...
Est-ce qu'il y a un problème de version non compatibles entre wiringpi (v.2.25) et domoticz (v.2284)? En tout cas j'ai essayé une l'ancienne version de domoticz et ça fait pareil.
Sinon avez-vous trouvé un script qui utilise une entrée sur interruption du coup?
Effectivement, je pense que ça utiliserait moins de ressources.
Re: GPIOs inputs & Domoticz
Publié : 26 févr. 2015, 19:24
par Dr No
J'ai résolu mon problème, je n'utilise pas WiringPi.
Dans Python (installé de base sur la SD Domoticz) il y a une bibliothèque RPi-GPIO qui est très bien, elle permet de gèrer les entrées par interruption ce qui ne charge pas le CPU. Je gère 5 entrées comme ça et ça se passe très bien.
Essaie ça (pour l'entrée 5) :
Code : Tout sélectionner
#!/usr/bin/python
import RPi.GPIO as GPIO
import time
import urllib
GPIO.setmode(GPIO.BCM)
GPIO.setup(5, GPIO.IN, pull_up_down=GPIO.PUD_UP)
def Loop1(channel):
if GPIO.input(5):
urllib.urlopen("http://127.0.0.1:8080/json.htm?type=command¶m=switchlight&idx=28&switchcmd=On&level=0")
else:
urllib.urlopen("http://127.0.0.1:8080/json.htm?type=command¶m=switchlight&idx=28&switchcmd=Off&level=0")
GPIO.add_event_detect(5, GPIO.BOTH, callback=Loop1, bouncetime=200)
while True:
time.sleep(100)
Pour une information plus complète voir :
http://sourceforge.net/p/raspberry-gpio ... ki/Inputs/
Re: GPIOs inputs & Domoticz
Publié : 26 févr. 2015, 20:37
par Yoann
Ah oui, c'est vraiment très bien ça!!
J'ai essayé, ça marche en temps réel sur un relais... sans aucune 1/2 seconde de délais!
Merci Dr No !
Par contre est-ce que tu sais si c'est normal, dans mes logs j'ai tout le temps:
Hardware Monitor: Fetching data (System sensors)
Ça apparait exactement toutes les 30 secondes... Ça n'a pas l'air de ralentir le système en tout cas.
Re: GPIOs inputs & Domoticz
Publié : 26 févr. 2015, 20:52
par patrice
@Dr No merci du tuyau ca va servir
@Yoann oui c' est normal et ce n' est pas lié au GPIO c' est la remontee de la Ram des températures ds Domoticz
Re: GPIOs inputs & Domoticz
Publié : 26 févr. 2015, 21:06
par Yoann
Ah d'accord,
Très bien, merci @patrice !
Re: GPIOs inputs & Domoticz
Publié : 26 avr. 2015, 14:46
par titimimi
bonjour a tous j essaie d installer votre script il fonctionne en commande mais je n ai aucun retour dans domoticz qui pourrait me donner la procedure pile poil a faire car j ai dut zaaper quelque chose
d avance merci beaucoup

Re: GPIOs inputs & Domoticz
Publié : 26 avr. 2015, 14:56
par patrice
Le script plus haut bascule l' interrupteur dont l idx est 28 a on/off
Il faut donc que tu y mettes ton idx de ton switch virtuel a toi