ESPEASY Rules

Je comprend plutôt de cette façon

on SR04#Distance > 10 do //Si distance >10cm ...
 if [Etat_timer#state]=0 //Si le timer n'est pas lancé
  taskvalueset,6,1,1  //Remplacer le 6 par le numero de ton dummy
  timerset,1,180 //... lance un timer de 3min
 logentry,'Timer1 starts'
 endif
endon

on SR04#Distance < 10 do //Si la distance repasse sous <10cm ...
  taskvalueset,6,1,0 //Remplacer le 6 par le numero de ton dummy
  timerset,1,0 // ... Désactive le timer 1
  logentry,'Timer1 stops'
endon

on Rules#Timer=1 do
LongPulse,4,0,20  //Impuslion de 20s à l'état 0 du GPIO4
logentry,'Timer1 trig'
endon

Edit: Effectivement, comme sous entendu par @rol-rider , chaque fois que la distance varie au dessus de 10, ça relance le timer de 3min. Donc, il faut créer un dummy device:

Bonsoir,

Merci à vous pour votre aide.

j’ai créer le Dummy

J’ai modifier le code au lieu d’attendre à chaque fois 3 min et le numéro du Dummy
Etat_timer reste toujours à 0 malgré la distance à + 10 cm

on SR04#Distance > 10 do //Si distance >10cm …
if [Etat_timer#State]=0 //Si le timer n’est pas lancé
taskvalueset,3,1,1 //Remplacer le 6 par le numero de ton dummy
timerset,1,20 //… lance un timer de 3min
endif
endon

on SR04#Distance < 10 do //Si la distance repasse sous <10cm …
taskvalueset,3,1,0 //Remplacer le 6 par le numero de ton dummy
timerset,1,0 // … Désactive le timer 1
endon

on Rules#Timer=1 do
LongPulse,4,0,20 //Impuslion de 20s à l’état 0 du GPIO4
endon

Faut peut être rafraîchir le navigateur pour voir le dummy passer a 1. ( Si tu es directement sur l’esp sans passer par Jeedom)
Et
Tu dois pouvoir supprimer le chiffre après la virgule sur le dummy

Déjà est ce que le GPIO4 change d’état.
Ensuite il ne faut pas mettre les décimales sur le dummy (cf mon post précédent et celui de @rol-rider ).
Tu as bien laissé l’interval du Dummy à 0 ?

J’ai updaté mon code avec des logentry. Tu devrais les voir apparaitre dans Tool->Log lors du changement de Distance à 10.

Par contre ? Tu es sur Jeedom ?
Je vois que tu n’as pas défini de Ctr ?
Dans tes device
Si tu n’as pas de contrôleur de défini, rien ne sera envoyé sous Jeedom.

Bonjour,

Pour répondre à toutes vos questions :

le GPIO 4 ne bascule pas …
interval du Dummy à 0
je ne suis pas sur Jeedom… je regarde les log dans une 2éme fenêtres

voici les log :

mon Dummy

ma config

j’ai modifier le code , au lieu de 3mn j’ai 20 secondes

on SR04#Distance > 10 do //Si distance >10cm …
if [Etat_timer#State]=0 //Si le timer n’est pas lancé
taskvalueset,3,1,1 //Remplacer le 6 par le numero de ton dummy
timerset,1,20 //… lance un timer de 3min
logentry,‹ Timer1 starts ›
endif
endon

on SR04#Distance < 10 do //Si la distance repasse sous <10cm …
taskvalueset,3,1,0 //Remplacer le 6 par le numero de ton dummy
timerset,1,0 // … Désactive le timer 1
logentry,‹ Timer1 stops ›
endon

on Rules#Timer=1 do
LongPulse,4,0,20 //Impuslion de 20s à l’état 0 du GPIO4
logentry,‹ Timer1 trig ›
endon

Capture d’écran avec Antoine

de plus quand je lance un GPIO,4,0 ou 1 cela fonctionne dans command

Version du Firmware

Et si tu fais comme ça.
A chaque mesure ( 5sc) la rule devrait se lancer et faire les deux test ( peut être mettre la distance en premier)

on SR04#Distance do
if [Etat_timer#State]=0 and [SSR#Distance]>10
taskvalueset,3,1,1 //Remplacer le 6 par le numero de ton dummy
timerset,1,20 //… lance un timer de 3min
endif
endon

Avec la suite…

Bonjour,

J’essaye le code .

Merci a vous .

Bonsoir,

désoler pour l’attente de réponse , j’ai attrapé le COVID et mon état
ne me permet pas d’essayer …Je me soigne et je vous recontacte .

Merci encore à vous.

Bon rétablissement.
Je crois que ça devrait fonctionner.
J’ai testé sur un esp, et j’avais bien le lancement de la rule sur mon module et on le voyait dans les logs

Bonjour,

Après le COVID, la bronchite… je n’ai vraiment pas de chance.
En tout cas, j’ai testé et ça fonctionne. Mais j’ai vraiment du mal avec les rules.
Merci à tous pour l’aide apportée.
Amicalement.