Dammed, j'ai laissé trop d'indices, j'ai été découvert :-p
Après de multiples essais hier tard dans la soirée (=> en tentant plus de trucs il finira bien par se passer quelque chose), on est arrivé à un truc de fonctionnel.
Au niveau des devices :

- Sélection_001.png (54.06 Kio) Consulté 841 fois
J'ai ajouté la ligne 4 afin d'avoir un monitoring de l'état du GPIO 32, qui commande le relais.
Et la ligne 5, pour créer une variable (il y a probablement plus simple, si qqn a la solution).
State = 1 indique pour les lignes 3 à 5 que les entrées/sorties ne sont pas actives.
Voici le code :
Code : Tout sélectionner
On System#Boot do
monitor,GPIO,32 // monitoring de la commande du relais
monitor,GPIO,35 // monitoring de l'entrée du switch
GPIO,32,1 // au cas ou, on eteint le relais
GPIO,27,1 // au cas ou, on eteint l'entrée servant de variable
endon
On bouton#State=0 Do // si le GPIO 35, sois le switch, est activé
if [tempo2#State]=1 // et que la tempo 2 de 5 secondes est terminée
GPIO,27,0 // l'entrée servant de variable est allumée
GPIO,32,0 // le relais est allumé
TimerSet,1,1 // lancement de la tempo 1, qui sert à laisser allumer le relais
TimerSet,2,5 // lancement de la tempo 2, qui empêche toute prise en compte d'une nouvelle activation du switch
Elseif [tempo2#State]=0 // si la tempo 2 de 5 secondes n'est pas terminée après activation du switch
GPIO,32,1 // le relais est eteint et c'est tout
endif
endon
On Rules#Timer=1 Do // lorsque la tempo 1 se termine
timerSet,1,0 // elle est remise à 0
GPIO,32,1 // on, eteint le relais
endon
On Rules#Timer=2 Do // lorsque la tempo 2 est terminée
timerSet,2,0 // elle est remise à 0
GPIO,27,1 // l'entrée servant de variable est eteinte (et autorise donc de nouveau la condition de la ligne if [tempo2#State]=1)
GPIO,35,1 // le switch est forcé à être teint
endon
Concernant l'avant dernière ligne, elle était nécessaire pour que le système fonctionne lorsque l'on laisse le switch enclenché.
Sans elle, il fallait relacher le switch et rappuyer de nouveau dessus.
Je souhaitais programmer ce truc afin de pouvoir par exemple connecter/déconnecter (à l'aide du relais) une sonde de température de type DHT22 dont l'ESP32 aurait perdu son signal.
Merci à Gaston pour le (gros) coup de main
