blockly - fonction set for ne fonctionne pas ...

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
didier02
Messages : 225
Inscription : 19 juin 2021, 11:17
Localisation : saint quentin 02100

blockly - fonction set for ne fonctionne pas ...

Message par didier02 »

bonjour, je n'arrive pas a comprendre comment fonctionne la fonction "set variable for x min" :
.
a.jpg
a.jpg (62.18 Kio) Consulté 1095 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... :|
Dernière modification par didier02 le 01 juin 2022, 18:00, modifié 1 fois.
Mon instal PI 3b+/disk SSD 128Go / envoie sms / linky en usb USBTICLC / zigate V2+ / sonoff powR2 / sonoff SNZB01 - SNZB 02 - Xiaomi Aqara - 1wire ds18b20 - détection présence Bluetooth -
denis_brasseur
Messages : 898
Inscription : 24 déc. 2018, 17:05
Localisation : (26)

Re: blockly - fonction set for ne fonctionne pas ...

Message 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
Pi3 + DD PiDrive - RFXtrx433 - AEON Labs ZW090
didier02
Messages : 225
Inscription : 19 juin 2021, 11:17
Localisation : saint quentin 02100

Re: blockly - fonction set for ne fonctionne pas ...

Message par didier02 »

merci de ton aide, denis_brasseur ,
mais c'est la fonction for qui ne fonctionne pas , ..., dans aucune condition ... :o
c'est pour çà que je me demande à quoi elle sert ? :shock:
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 .. :shock:
Mon instal PI 3b+/disk SSD 128Go / envoie sms / linky en usb USBTICLC / zigate V2+ / sonoff powR2 / sonoff SNZB01 - SNZB 02 - Xiaomi Aqara - 1wire ds18b20 - détection présence Bluetooth -
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: blockly - fonction set for ne fonctionne pas ...

Message 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.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
didier02
Messages : 225
Inscription : 19 juin 2021, 11:17
Localisation : saint quentin 02100

Re: blockly - fonction set for ne fonctionne pas ...

Message 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
bb.jpg (34.72 Kio) Consulté 1002 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 ...
Mon instal PI 3b+/disk SSD 128Go / envoie sms / linky en usb USBTICLC / zigate V2+ / sonoff powR2 / sonoff SNZB01 - SNZB 02 - Xiaomi Aqara - 1wire ds18b20 - détection présence Bluetooth -
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: blockly - fonction set for ne fonctionne pas ...

Message 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.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
didier02
Messages : 225
Inscription : 19 juin 2021, 11:17
Localisation : saint quentin 02100

Re: blockly - fonction set for ne fonctionne pas ...

Message 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 ...
Mon instal PI 3b+/disk SSD 128Go / envoie sms / linky en usb USBTICLC / zigate V2+ / sonoff powR2 / sonoff SNZB01 - SNZB 02 - Xiaomi Aqara - 1wire ds18b20 - détection présence Bluetooth -
Répondre