Bug Domoticz ? GPIO OUT qui change d'état tout seul

Posez ici vos questions d'utilisation, de configuration de Domoticz, de bugs, de conseils sur le logiciel lui même dans son utilisation et son paramètrage Concernant le Raspberry ou les scripts de toute nature des forums spécifiques sont ouverts
js-martin
Messages : 367
Inscription : 22 mars 2015, 22:08
Contact :

Bug Domoticz ? GPIO OUT qui change d'état tout seul

Messagepar js-martin » 10 avr. 2015, 22:50

Bonjour,

Je suis en phase d'expérimentation Domoticz et j'ai une anomalie que je ne comprends pas avec les ports GPIO OUT de mon Pi2 :

j'ai crée un interrupteur basé sur le gpio 25. J'ai bien entendu fait les exports nécessaire :

Code : Tout sélectionner

$ gpio exports
GPIO Pins exported:
  22: out  0  none
  23: out  0  none
  24: out  0  none
  25: out  0  none
  27: in   0  both


Lorsque je clique sur allumer et bien, ca allume ma LED (normal pour le moment). Et lorsque j'attends entre 10 secondes et 3 minutes, elle s'éteint toute seule !

Je pense que domoticz y est pour rien : j'arrête domoticz,

Code : Tout sélectionner

$ sudo service domoticz.sh stop


je tape un :

Code : Tout sélectionner

gpio -g write 25 1


et ma led s'allume quelques secondes avant de s'éteindre encore... :oops:

Je fais un script en python rapide sur la même pin :

Code : Tout sélectionner

#!/usr/bin/env python
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM) 
GPIO.setup(25,GPIO.OUT) 
GPIO.output(25,GPIO.HIGH)


Code : Tout sélectionner

~/domoticz/scripts/python $ sudo ./on_gpio25.py
./on_gpio25.py:10: RuntimeWarning: This channel is already in use, continuing anyway.  Use GPIO.setwarnings(False) to disable warnings.
  GPIO.setup(25,GPIO.OUT)


la LED s'allume et...s’éteint toute seule.

Je refais les mêmes tests sur le GPIO 22 : tout pareil.

Je teste d'utiliser un GPIO vierge (non exporté : GPIO 21 sur la pin 40) :

Je lance mon script python :

Code : Tout sélectionner

#!/usr/bin/env python
import RPi.GPIO as GPIO 
GPIO.setmode(GPIO.BCM)   
GPIO.setup(21,GPIO.OUT) 
GPIO.output(21,GPIO.HIGH) 


et là ca marche : elle reste bien allumée.

Avez-vous une piste ?

(note : mon GPIO 27 surveille l'état de ma porte de garage, il est sur IN et fonctionne normalement)
Dernière édition par js-martin le 11 avr. 2015, 00:02, édité 4 fois.
Domotisation de : mes compteurs EDF, solaire, eau / mon alarme / ma Chaudière Viessamnn / mon congel / ma sonnette. Matériels : Pi2 - RFXTrx433e - Zwave+ Aeotec, ampoules Hue - Détecteur et prises Fibaro - Capteurs Oregon - présentation installation => lien

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


patrice
Messages : 1552
Inscription : 22 sept. 2014, 21:51

Re: GPIO IN qui change d'état tout seul

Messagepar patrice » 10 avr. 2015, 23:06

Bonsoir
Un truc dans crontab ?
La piste a suivre je pense est ce message' channel already in use' il y a qq chose qui verrouille ce GPIO
Pas d' autre idée pour l' instant
Raspberry Pi model B+, RFXComm,8 interrupteurs Chacon, 5 ds180b 1-Wire, 3 douilles Chacon, 1 contact de porte Chacon, 1 module variateur,module emetteur 54700, Aeon Stick Z-wave, 1 MultiSensor Aeon, accés à distance.
aka thegritche@domoticz forum

js-martin
Messages : 367
Inscription : 22 mars 2015, 22:08
Contact :

Re: GPIO OUT qui change d'état tout seul

Messagepar js-martin » 10 avr. 2015, 23:15

Merci Patrice de m'aider !

Dans la crontab, je n'ai que cela :

Code : Tout sélectionner

*/1 * * * * ./verif_domoticz.sh


qui fait cela :

Code : Tout sélectionner

#!/bin/bash
# Script qui vérifie l'état de domoticz et qui relance si off

now=$(date) #récupération de la date et heure pour les logs

#Récupération du retour de la commande de status
domoticz=$(sudo service domoticz.sh status)

if [ "$domoticz" == "domoticz is not running ... failed!" ] # Si le service n'e$
then
 relance=$(sudo service domoticz.sh start) #On le lance
 echo "$now >> relance : $relance" #On log la lancement
else
 echo "$now >> Domoticz lancé" #On log l'état normal
fi
exit 0



Pour tester, j'ai supprimé cette entrée dans la crontab et ca fonctionne !

Mais alors, je ne comprends pas... en plus, j'ai parfois des offline et ce script de vérification est utile...

Avez-vous une idée du conflit créé ?

EDIT : j'ai trouvé le coupable !
C'est :

Code : Tout sélectionner

sudo service domoticz.sh status


=> Une vidéo (verticale :? ) de démonstration (la led verte est gérée par domoticz et la orange par un script python) :
https://www.youtube.com/watch?v=nZQWQnTchtg&app=desktop

du coup, il faut modifier le script de vérification pour voir si domoticz tourne ou pas sans utiliser ce "status" qui fait bugger Domoticz (à base d'un pgrep domoticz par exemple...).

Nouveau script de vérification pour contourner mon problème :

Code : Tout sélectionner

#!/bin/bash
# Script qui vérifie l'état de domoticz et qui le relance si offline

if pgrep domoticz ; then
 echo "Domoticz is running"
else
 sudo service domoticz.sh start
fi
Domotisation de : mes compteurs EDF, solaire, eau / mon alarme / ma Chaudière Viessamnn / mon congel / ma sonnette. Matériels : Pi2 - RFXTrx433e - Zwave+ Aeotec, ampoules Hue - Détecteur et prises Fibaro - Capteurs Oregon - présentation installation => lien

js-martin
Messages : 367
Inscription : 22 mars 2015, 22:08
Contact :

Re: Bug Domoticz ? GPIO OUT qui change d'état tout seul

Messagepar js-martin » 29 mai 2015, 11:00

Ce matin, je viens de rencontrer un nouveau problème : un GPIO out a changé d'état tout seul cette nuit !!!

J'ai acheté un petit relais commandé par le GPIO 24 de mon Pi2. Comme il est en logique inversé, le GPIO 24 est à 3,3V en permanence. Ce GPIO commande un appareil par une impulsion : je le passe pendant une seconde à 0V et je le remets à 3,3V.

A 3h32 du matin, Domoticz a planté. Le script ci-dessus a fait son travail. La ligne

Code : Tout sélectionner

sudo service domoticz.sh start


a remis à zéro tous les GPIO OUT. Mon GPIO 24 est passé à 0V, mon appareil a changé d'état.

Je ne pourrais pas empêcher Domoticz de planter de temps en temps (et j'ai pu voir que d'autres ont ces plantages).

J'ai la solution (enfin je crois) : je pourrais changer l'état par défaut de mon GPIO pour le 0V implique que le relais est inactif. En cas de plantage, l'état ne serait pas changé.

Avez-vous une idée pour le schéma électronique ?
Domotisation de : mes compteurs EDF, solaire, eau / mon alarme / ma Chaudière Viessamnn / mon congel / ma sonnette. Matériels : Pi2 - RFXTrx433e - Zwave+ Aeotec, ampoules Hue - Détecteur et prises Fibaro - Capteurs Oregon - présentation installation => lien

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


js-martin
Messages : 367
Inscription : 22 mars 2015, 22:08
Contact :

Re: Bug Domoticz ? GPIO OUT qui change d'état tout seul

Messagepar js-martin » 08 sept. 2015, 16:08

Au fait, j'ai trouvé une solution qui me convient parfaitement : un petit composant à 1€ fait cette inversion bien utile pour ma carte relais : le ULN2003.

Cela permet d'inverser l'état de 8 sorties.

On le trouve sur eBay avec le schéma de montage.
Domotisation de : mes compteurs EDF, solaire, eau / mon alarme / ma Chaudière Viessamnn / mon congel / ma sonnette. Matériels : Pi2 - RFXTrx433e - Zwave+ Aeotec, ampoules Hue - Détecteur et prises Fibaro - Capteurs Oregon - présentation installation => lien

Michel13
Messages : 4
Inscription : 06 janv. 2016, 07:54

Re: Bug Domoticz ? GPIO OUT qui change d'état tout seul

Messagepar Michel13 » 07 août 2016, 09:21

Salut js-martin,

J'ai essayé votre script et il ne fonctionnait pas chez moi car en fait j'ai un autre processus domoticz qui reste actif :

Code : Tout sélectionner

pi        6221  0.0  0.1   3560  1832 pts/0    S+   08:28   0:00 grep --color=auto domoticz


Du coup le script me disait que Domoticz était en service même s'il était offline. Il ne pouvait jamais redémarrer.

J'ai remplacé pgrep par pidof et là ça fonctionne.

Le script devient :

Code : Tout sélectionner

if pidof domoticz ; then
 echo "Domoticz is running"
else
 echo "Redémarrage de Domoticz"
 sudo service domoticz.sh start
fi
exit 0


Je vais vérifier sur le long terme

js-martin
Messages : 367
Inscription : 22 mars 2015, 22:08
Contact :

Re: Bug Domoticz ? GPIO OUT qui change d'état tout seul

Messagepar js-martin » 08 août 2016, 09:41

C'est étrange cet autre processus : grep --color=auto domoticz

En tout cas, ta solution semble très bien et du coup plus précise.
Domotisation de : mes compteurs EDF, solaire, eau / mon alarme / ma Chaudière Viessamnn / mon congel / ma sonnette. Matériels : Pi2 - RFXTrx433e - Zwave+ Aeotec, ampoules Hue - Détecteur et prises Fibaro - Capteurs Oregon - présentation installation => lien

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.



Revenir vers « Domoticz : Question et réponses »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 5 invités