[Résolu] EspEasy Rules

Bonjour à tous,
Le we étant très gris dans le Poitou, j’en ai profité pour testé les esp8266 en NodeMcu avec EspEasy. J’ai donc mis un contact de porte sur un gpio et une led sur un autre. Avec le plugin espeasy et un scénario, j’ai bien l’allumage de la led lorsque la porte s’ouvre.
Mais je souhaite me passer du scénario et pour cela mettre un bout de programme dans la fonction « rules » de espeasy et c’est là que je bloque. Je vous mets en image ma configuration dans l’espeasy et le code que j’ai mis.
Merci d’avance aux connaisseurs de me dire où je me plante !
code :

on system#boot do
gpio,0,0
  timerSet,1,1
endon

on rules#timer=1 do
 if [Porte#Switch]=1
 gpio,0,1 //Action if door is closed
 else
gpio,0,0  //Action if door is opened
 endif
timerSet,1,1
endon

Tu utilises un timer qui se répète en permanence toutes les secondes, je ne pense pas que ça va marcher.

Il vaut mieux que tu mettes quelque chose qui réagit sur l’état :

on Porte#Switch do 
 if [Porte#Switch]=1
 gpio,0,1 //Action if door is closed
 else
gpio,0,0  //Action if door is opened
 endif
endon

Par contre, il va exécuter régulièrement si tu as mis une valeur à Interval dans Data Acquisition pour ton switch. Ce n’est pas forcément gênant si l’action peut-être répétée, ce qui semble être le cas ici.

Et attention aussi, il vaut mieux éviter d’utiliser gpio 0 parce qu’il peut bloquer le boot.

Merci Seb pour tes conseils. J’ai pris le gpio 14 au lieu du 0. j’ai également pris ton code proposé en le modifiant avec le gpio14. Il n’y a pas de valeur dans l’interval du switch de la porte.
Et pourtant il ne se passe rien quand la porte s’ouvre ou se ferme…

Utilise Porte#Porte plutôt que Porte#Switch, je n’avais pas vu que t’avais changé le nom de la commande.

Et regarde dans Tools > Log ce que ça raconte.

Merci Seb, ça marche nickel !
Bonne fin de we !

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.