Fonctionnement étrange des variables

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 <\>.
Nicoweb56
Messages : 42
Inscription : 14 janv. 2019, 19:57

Fonctionnement étrange des variables

Message par Nicoweb56 »

Bonjour à tous

Pour faire un essai que je vais appliquer à projet, j'ai réalisé ce script en blocky. Au départ l'ensemble des variables de mon tableau sont à 0 dès que je force la Variable 1 à "1", je passe bien ma Variable 2 à 1 puisque si Variable 1= 1 mettre Variable 2 = 1 mais cela s'arrêt là la variable 3 reste à 0 et forcément la variable 4 aussi. Si lorsque la variable 2 qui est passé automatiquement à 1 (lorsque la variable 1 a été forcé à 1) je viens juste la lire puis la réécrire dans le tableau la variable 3 passe bien à 1, et ainsi de suite pour le passage à 1 de la variable 4



Je ne comprend pas le fonctionnement de cette logique !!! A chaque fois seule la premiere opération fonctionne comme si une variable ne pouvait en piloter une autre sans l'intervention de l'utilisateur.


Je suis paramétré en "ALL" dans le focntionnement de mon blocky et bien actif

J'ai fais l'essai en Version 4.97 et aujourd'hui en 4.1060 beta et c'est pareil


Merci pour votre aide
Pièces jointes
variables.png
variables.png (40.77 Kio) Consulté 3311 fois
Chrominator
Messages : 1042
Inscription : 19 déc. 2015, 07:29
Localisation : France

Re: Fonctionnement étrange des variables

Message par Chrominator »

Je ne sais pas trop à quoi tu veux aboutir, mais la première condition (variable1=1) n'est jamais fausse, donc son else est exécuté systématiquement et variable2 est positionné à 1.
Ca n'ira pas plus loin tant que tu ne mettras pas variable1=0 par exemple quelque part dans ton blocky.
Un bon frein vaut mieux que deux sparadraps.

Ubuntu 24.04.3 LTS - Domoticz 2025.1 (build 16782)
Pentium G3220T 2.6GHz - 4Go DDR3
RFXtrx433 USB Ver Pro1/1043
Z-Stick GEN5 Version: 1.6-1136-g07ea22bb
Rtl433 RTL-SDR receiver
RFLink Gateway
Zigbee SLZB-06
Nicoweb56
Messages : 42
Inscription : 14 janv. 2019, 19:57

Re: Fonctionnement étrange des variables

Message par Nicoweb56 »

Bonsoir

merci pour ta réponse elle est du très grande aide. Je ne connais pas trop les langages de programmation mes je viens de me rendre compte que je ne comprends pas le principe de if else. Je pensais que c'était pour ajouter simplement une ligne de condition avec un résultat sans interaction avec la condition précédente.

Je suis entrain de créer une gestion de mon alarme avec un lecteur tag qui est dans une zone protégée. Il me faut des tempos d'activation et de désactivation donc des variables.

https://easydomoticz.com/forum/viewtopi ... =10&t=7839

Comment fait tu pour écrire un programme complet donc non séquentiel puisque que le blocky n'accepte qu'un seul bloc


merci
Nicoweb56
Messages : 42
Inscription : 14 janv. 2019, 19:57

Re: Fonctionnement étrange des variables

Message par Nicoweb56 »

Derniere petite chose si je fait le meme script avec des capteurs virtuels ca marche
mike913
Messages : 159
Inscription : 18 oct. 2014, 10:22
Localisation : Morsang / Orge - Essonne
Contact :

Re: Fonctionnement étrange des variables

Message par mike913 »

Le comportement de ton bloky est tout à fait logique:

Code : Tout sélectionner

si variable1 = 1
	fait variable2 = 1
autrement(else) si variable2 = 1
	fait variable3 = 1
donc quand le IF teste variable1 qui est à 1 il met variable2 à 1 puis sort du IF et la variable2 n'est pas testée.
DS718+ 2 x 3To(SHR) - Firmware: DSM 7.0.1-42218
DS712+ 2 x 4To (SHR) - Firmware: DSM 6.2.4-25556
Raspberry - RFXTRX433 - Aeon Labs ZStick V2 - Domoticz
FreeBox Delta
https://meteo.folcke.net
https://wiki.folcke.net
Nicoweb56
Messages : 42
Inscription : 14 janv. 2019, 19:57

Re: Fonctionnement étrange des variables

Message par Nicoweb56 »

Merci pour ta reponse comme est il possible en blocky de faire plusieurs if do sous le meme script merci d avance
Répondre