Page 1 sur 1
blockly - fonction set for ne fonctionne pas ...
Publié : 30 mai 2022, 09:00
par didier02
bonjour, je n'arrive pas a comprendre comment fonctionne la fonction
"set variable for x min" :
.

- a.jpg (62.18 Kio) Consulté 1089 fois
.
quand j active la condition
"gpio 12 alarme on " ou que je l'éteind, seule la fonction fonction after fonctionne, la fonction for ne change rien a ma variable 1...

Re: blockly - fonction set for ne fonctionne pas ...
Publié : 01 juin 2022, 11:03
par denis_brasseur
Tu peux tester également ceci :
if gpio alarm = Open
Set variable1 = 1
Set variable1 = 0 after 60 sec
Set variable2 = 1 after 60 sec
Re: blockly - fonction set for ne fonctionne pas ...
Publié : 01 juin 2022, 18:07
par didier02
merci de ton aide, denis_brasseur ,
mais c'est la fonction
for qui ne fonctionne pas , ..., dans aucune condition ...
c'est pour çà que je me demande à quoi elle sert ?

en principe elle devrait me tenir ma variable 1 à l'état 1
pendant 60 secondes et la mattre à 0 passer ce délais,...
la variable 2, elle , elle repasse bien à 0 60 secondes ,
après la fermeture de mon contact ..
c'est le fonctionnement de la condition
for qui m'interroge ..
suivant ton exemple
if gpio alarm = Open
Set variable1 = 1
Set variable2 = 1
Set variable1 = 0
after 60 sec
Set variable2 = 0
for 60 sec
seulement la variable 1 change d'"état ..

Re: blockly - fonction set for ne fonctionne pas ...
Publié : 01 juin 2022, 18:29
par Keros
didier02 a écrit : 01 juin 2022, 18:07
Set variable2 = 1
Set variable2 = 0
for 60 sec
Là, tu appliques deux valeurs en même temps à la même variable.
Tu as essayé de commande un inter-virtuel au lieu d'une uservariable ?
Avec la commande After, tu dis à DomoticZ quoi mettre dans la variable. Avec la commande For, je ne sais pas si DomoticZ sait quelle doit être la valeur après le délai. D'où peut-être l'explication pourquoi ça ne fonctionne pas.
Re: blockly - fonction set for ne fonctionne pas ...
Publié : 01 juin 2022, 18:40
par didier02
bonjour, keros, effectivement , j'ai résolut mon problème avec un inter virtuel ... mais je change la valeur de 2 variable distinctes :
variable 1
et
variable 2
je me suis trompé en modifiant l'exemple de denis_brasseur ...
je le refais autrement ...
.

- bb.jpg (34.72 Kio) Consulté 996 fois
.
j'ai 2 variables , ...
after , fonctionne mais pas le
for ...
.
c'est juste une question perso , pour comprendre le fonctionnement ... comme j'ai dis , j'ai réussi a faire ce que je voulais au bout de 2 jours , en passant par un inter virtuel , mais c'est un peu lourd ...
Re: blockly - fonction set for ne fonctionne pas ...
Publié : 01 juin 2022, 18:47
par Keros
Mon explication est que DomoticZ n'est pas capable de gérer la fonction For sur une uservariable car il ne sait pas quelle valeur lui attribuer à la fin du délai. Avec un switch On/Off, c'est du booléan.
La fonction After fonctionne, car tu indiques la valeur que doit prendre la variable.
Re: blockly - fonction set for ne fonctionne pas ...
Publié : 01 juin 2022, 20:13
par didier02
Et le fait peut être, qu il ne peut pas m'être de côté la valeur , pour la remettre au bout du temps passer ...
Mettre une valeur pendant un temps et la remettre à l état initiale après , alors que after il change l état au bout du temps et c est tout .. ..
OK pour l explication ,....
Merci, j en tiendrais compte à l avenir ...