Avant toute chose merci de (re)prendre connaissance de la charte et de la respecter.
Pour résumer :
- Avant de poser une question, je cherche si la réponse existe
- Je suis poli, courtois et je respecte tout un chacun sur le forum
- Si un post m'agace : je m'en éloigne plutôt que de répondre d'une façon qui pourrait être mal interprétée


Il n'est jamais du luxe que de rappeler des choses simples :
Courtoisie, amabilité, politesse et bonne humeur sont les maîtres mots pour un forum sympathique, bienveillant et accueillant :)

Toute la communauté vous remercie

Scénario et variable

Réservé à la création de scénarios dans JEEDOM
valentinf
Timide
Messages : 66
Inscription : 13 avr. 2017, 14:16

Scénario et variable

Message par valentinf » 21 mai 2018, 11:54

Bonjour,

Je vais sûrement me faire taper sur les doigts mais j'ai un soucis avec l'utilisation des variables.

J'ai un wireless bouton Xiaomi qui peut:
- simple clique
- double clique
- clique plus long

j'ai fais le scénario suivant:
Capture d’écran 2018-05-21 à 11.47.22.png
Capture d’écran 2018-05-21 à 11.47.22.png (158.3 Kio) Consulté 242 fois
Tout fonctionne bien, en simple clique ça m'allume le projo, le décodeur, le home cinéma et va sur France 2.
En double clique ça éteints le projo, le décodeur le home cinéma.

Maintenant, je veux lui dire que SI "clique long" je veux qu'il aille sur Netflix (en suivant un chemin sur la livebox). Jusque là tout fonctionne.

OR voici ce que je veux faire:

Si jamais j'ai été sur netflix j'aimerais l'indiquer dans une variable (que j'appellerais Netflix) comme ça, si Netflix = 1 et que je reclique sur "simple click" il puisse quitter netflix et retourner sur France 2. Or j'ai beau essayé, à chaque fois il reprendre le scénario actuel du simple clique et donc il ne prends pas en compte la variable. Voici un screenshot de mes scénarios.
Capture d’écran 2018-05-21 à 11.53.10.png
Capture d’écran 2018-05-21 à 11.53.10.png (152.89 Kio) Consulté 242 fois
et maintenant voici le dernier scénario que j'essai d'activer en utilisant Netflix = 1 (pour le moment j'essai juste d'allumer une lampe ...)
Capture d’écran 2018-05-21 à 11.53.52.png
Capture d’écran 2018-05-21 à 11.53.52.png (34.35 Kio) Consulté 242 fois
Une idée de ce que je fais mal?

Merci beaucoup par avance pour votre aide.

Avatar de l’utilisateur
Jeandhom
Timide
Messages : 499
Inscription : 20 oct. 2015, 17:32

Re: Scénario et variable

Message par Jeandhom » 21 mai 2018, 12:03

Regarde les logs de tes scénarios, suivant les déclencheurs, plusieurs scénarios doivent démarrer en même temps et l'un d'entre eux doit avoir le dernier mot.

valentinf
Timide
Messages : 66
Inscription : 13 avr. 2017, 14:16

Re: Scénario et variable

Message par valentinf » 21 mai 2018, 15:03

Merci pour ta réponse,

Je ne suis pas chez moi donc je ne peux pas tester (et donc voir les logs) mais en revanche je crois comprendre ce que tu me dis (j'ai toujours accès à Jeedom en revanche).
Capture d’écran 2018-05-21 à 15.04.15.png
Capture d’écran 2018-05-21 à 15.04.15.png (79.81 Kio) Consulté 224 fois
Et ici le déclencheur était uniquement "clic" du coup j'imagine qu'il avait priorité sur le scénario?
En revanche je voudrais rajouter un déclencheur sauf que comme tu peux le voir:
Capture d’écran 2018-05-21 à 15.01.34.png
Capture d’écran 2018-05-21 à 15.01.34.png (24.6 Kio) Consulté 224 fois
je n'ai que "clic" comme déclencheur je n'ai pas "double_click" ni "long_click_press". As-tu une idée pourquoi?

Avatar de l’utilisateur
tomdom
Actif
Messages : 505
Inscription : 14 nov. 2016, 05:46

Re: Scénario et variable

Message par tomdom » 21 mai 2018, 18:16

Bonjour,

Ton déclencheur est la commande "Clic" qui peut avoir pour valeur "click", "double_click" et "long_click_press". Tu peux dans ton déclencheur
écrire :

Code : Tout sélectionner

[XXX][XXXX][Clic]=="click"
si tu veux que ton scénario ne se déclenche que sur une valeur précise mais ce n'est pas ton besoin dans ce cas précis.

Dans ton premier post tu dis :
Si jamais j'ai été sur netflix j'aimerais l'indiquer dans une variable (que j'appellerais Netflix) comme ça, si Netflix = 1 et que je reclique sur "simple click" il puisse quitter netflix et retourner sur France 2
alors que tu fais le test avec "long_click_press".

Tes copies d'écrans correspondent bien à 1 seul scénario ?
Il y a 10 catégories de personnes, celles qui connaissent le binaire et les autres
.

valentinf
Timide
Messages : 66
Inscription : 13 avr. 2017, 14:16

Re: Scénario et variable

Message par valentinf » 22 mai 2018, 22:12

Voici les logs de mon scénario, cela ne fonctionne toujours pas.


Voici donc le premier log, lorsque je clique sur le bouton avec un simple "click" alors ça allumé le projecteur, hc, décodeur et va sur France 2.
La variable Netflix est initialisé à 0.

Code : Tout sélectionner

------------------------------------
[2018-05-22 08:53:05][SCENARIO] Start : 'Scenario execute automatiquement sur evenement venant de : [Salon][Bouton clic 158d00013f6bfd][Clic]'.
[2018-05-22 08:53:05][SCENARIO] Exécution du sous-élément de type [action] : action
[2018-05-22 08:53:06][SCENARIO] Affectation de la variable netflix => 0 = 0
[2018-05-22 08:53:06][SCENARIO] Exécution du sous-élément de type [condition] : if
[2018-05-22 08:53:06][SCENARIO] Evaluation de la condition : ["click" == "click"  ] = Vrai
[2018-05-22 08:53:06][SCENARIO] Exécution du sous-élément de type [action] : then
[2018-05-22 08:53:06][SCENARIO] Exécution de la commande [Salon][Décodeur TV][ON-OFF] avec comme option(s) :
Array
(
[background] => 0
)
[2018-05-22 08:53:09][SCENARIO] Exécution de la commande [Salon][Home Cinéma][TV] avec comme option(s) :
Array
(
[background] => 0
)
[2018-05-22 08:53:09][SCENARIO] Exécution de la commande [Salon][Projecteur][ON] avec comme option(s) :
Array
(
[background] => 0
)
[2018-05-22 08:53:09][SCENARIO] Pause de 7 seconde(s)
[2018-05-22 08:53:16][SCENARIO] Exécution de la commande [Salon][Décodeur TV][2] avec comme option(s) :
Array
(
[background] => 0
)
[2018-05-22 08:53:19][SCENARIO] Exécution du sous-élément de type [condition] : if
[2018-05-22 08:53:19][SCENARIO] Evaluation de la condition : ["click" == "double_click"  ] = Faux
[2018-05-22 08:53:19][SCENARIO] Exécution du sous-élément de type [action] : else
[2018-05-22 08:53:19][SCENARIO] Exécution du sous-élément de type [condition] : if
[2018-05-22 08:53:19][SCENARIO] Evaluation de la condition : ["click" == "long_click_press" ET 0 == 0] = Faux
[2018-05-22 08:53:19][SCENARIO] Exécution du sous-élément de type [action] : else
[2018-05-22 08:53:19][SCENARIO] Fin correcte du scénario


Maintenant, voici le log qui, lorsque je clique "long_click_press" le même bouton, ça actionne les commandes pour aller sur Netflix et ça mets la variable "netflix" à 1.

Code : Tout sélectionner

------------------------------------
[2018-05-22 08:53:47][SCENARIO] Start : 'Scenario execute automatiquement sur evenement venant de : [Salon][Bouton clic 158d00013f6bfd][Clic]'.
[2018-05-22 08:53:47][SCENARIO] Exécution du sous-élément de type [action] : action
[2018-05-22 08:53:47][SCENARIO] Affectation de la variable netflix => 0 = 0
[2018-05-22 08:53:47][SCENARIO] Exécution du sous-élément de type [condition] : if
[2018-05-22 08:53:47][SCENARIO] Evaluation de la condition : ["long_click_press" == "click"  ] = Faux
[2018-05-22 08:53:47][SCENARIO] Exécution du sous-élément de type [action] : else
[2018-05-22 08:53:47][SCENARIO] Exécution du sous-élément de type [condition] : if
[2018-05-22 08:53:47][SCENARIO] Evaluation de la condition : ["long_click_press" == "double_click"  ] = Faux
[2018-05-22 08:53:47][SCENARIO] Exécution du sous-élément de type [action] : else
[2018-05-22 08:53:47][SCENARIO] Exécution du sous-élément de type [condition] : if
[2018-05-22 08:53:47][SCENARIO] Evaluation de la condition : ["long_click_press" == "long_click_press" ET 0 == 0] = Vrai
[2018-05-22 08:53:47][SCENARIO] Exécution du sous-élément de type [action] : then
[2018-05-22 08:53:47][SCENARIO] Exécution de la commande [Salon][Décodeur TV][MENU] avec comme option(s) :
Array
(
[background] => 0
)
[2018-05-22 08:53:50][SCENARIO] Pause de 1 seconde(s)
[2018-05-22 08:53:51][SCENARIO] Exécution de la commande [Salon][Décodeur TV][DOWN] avec comme option(s) :
Array
(
[background] => 0
)
[2018-05-22 08:53:54][SCENARIO] Pause de 1 seconde(s)
[2018-05-22 08:53:55][SCENARIO] Exécution de la commande [Salon][Décodeur TV][RIGHT] avec comme option(s) :
Array
(
[background] => 0
)
[2018-05-22 08:53:59][SCENARIO] Pause de 1 seconde(s)
[2018-05-22 08:54:00][SCENARIO] Exécution de la commande [Salon][Décodeur TV][OK] avec comme option(s) :
Array
(
[background] => 0
)
[2018-05-22 08:54:03][SCENARIO] Pause de 1 seconde(s)
[2018-05-22 08:54:04][SCENARIO] Exécution de la commande [Salon][Décodeur TV][OK] avec comme option(s) :
Array
(
[background] => 0
)
[2018-05-22 08:54:07][SCENARIO] Pause de 16 seconde(s)
[2018-05-22 08:54:23][SCENARIO] Exécution de la commande [Salon][Décodeur TV][OK] avec comme option(s) :
Array
(
[background] => 0
)
[2018-05-22 08:54:26][SCENARIO] Affectation de la variable netflix => 1 = 1
[2018-05-22 08:54:26][SCENARIO] Exécution de la commande [Salon][Immersit][On] avec comme option(s) :
Array
(
[background] => 0
)
[2018-05-22 08:54:26][SCENARIO] Pause de 1 seconde(s)
[2018-05-22 08:54:27][SCENARIO] Exécution de la commande [Salon][Immersit][OFF] avec comme option(s) :
Array
(
[background] => 0
)
[2018-05-22 08:54:27][SCENARIO] Fin correcte du scénario
Enfin, voici le fameux log qui me pose soucis ... je souhaite cliquer sur simple "click" pour quitter Netflix et revenir donc sur France 2, pour celà je veux m'assurer que la variable netflix est bien égale à 1 pour ne pas relancer le premier scénario (premier log).

Mais comme vous pouvez le voir, si je clique sur simple "click" et que Netflix = 1 voici le log:

Code : Tout sélectionner

------------------------------------
[2018-05-22 08:54:40][SCENARIO] Start : 'Scenario execute automatiquement sur evenement venant de : [Salon][Bouton clic 158d00013f6bfd][Clic]'.
[2018-05-22 08:54:40][SCENARIO] Exécution du sous-élément de type [action] : action
[2018-05-22 08:54:40][SCENARIO] Affectation de la variable netflix => 0 = 0
[2018-05-22 08:54:40][SCENARIO] Exécution du sous-élément de type [condition] : if
[2018-05-22 08:54:40][SCENARIO] Evaluation de la condition : ["click" == "click"  ] = Vrai
[2018-05-22 08:54:40][SCENARIO] Exécution du sous-élément de type [action] : then
[2018-05-22 08:54:40][SCENARIO] Exécution de la commande [Salon][Décodeur TV][ON-OFF] avec comme option(s) :
Array
(
[background] => 0
)
[2018-05-22 08:55:02][SCENARIO] Exécution de la commande [Salon][Home Cinéma][TV] avec comme option(s) :
Array
(
[background] => 0
)
[2018-05-22 08:55:02][SCENARIO] Exécution de la commande [Salon][Projecteur][ON] avec comme option(s) :
Array
(
[background] => 0
)
[2018-05-22 08:55:02][SCENARIO] Pause de 7 seconde(s)
[2018-05-22 08:55:09][SCENARIO] Exécution de la commande [Salon][Décodeur TV][2] avec comme option(s) :
Array
(
[background] => 0
)
[2018-05-22 08:55:32][SCENARIO] Exécution du sous-élément de type [condition] : if
[2018-05-22 08:55:32][SCENARIO] Evaluation de la condition : ["click" == "double_click"  ] = Faux
[2018-05-22 08:55:32][SCENARIO] Exécution du sous-élément de type [action] : else
[2018-05-22 08:55:32][SCENARIO] Exécution du sous-élément de type [condition] : if
[2018-05-22 08:55:32][SCENARIO] Evaluation de la condition : ["click" == "long_click_press" ET 0 == 0] = Faux
[2018-05-22 08:55:32][SCENARIO] Exécution du sous-élément de type [action] : else
[2018-05-22 08:55:32][SCENARIO] Fin correcte du scénario
Comme vous pouvez le voir la variable netflix se réinialise à 0 pourtant elle devrait être à 1, j'ai l'impression qu'il rejoue le premier scénario lié au déclencheur. Une idée de ce que je fais mal?

Revoici un screenshot de mon scénario... pour le dernier j'ai juste demandé d'allumer la lumière car ça me permet de voir plus rapidement si le scénario fonctionne.
Capture d’écran 2018-05-22 à 22.11.25.png
Capture d’écran 2018-05-22 à 22.11.25.png (143.82 Kio) Consulté 158 fois
Merci par avance

Avatar de l’utilisateur
tomdom
Actif
Messages : 505
Inscription : 14 nov. 2016, 05:46

Re: Scénario et variable

Message par tomdom » 22 mai 2018, 22:29

Bonjour,

Déjà, il ne rejoue pas le premier scénario puisque tu en as qu'un (c'est ce que tu as dis dans un précédent post). Ensuite ton scénario fait exactement ce que tu lui dis de faire (il exécute les actions et les tests de haut en bas) . Dans un premier temps dans ton premier "SI" tu ajoutes "et variable(netflix)==0" et tu déplaces ton dernier "SI" tout en haut de ton scénario avant l'endroit où tu mets la variable netflix à 0.
Il y a 10 catégories de personnes, celles qui connaissent le binaire et les autres
.

Avatar de l’utilisateur
noodom
Timide
Messages : 406
Inscription : 13 juil. 2014, 17:25
Contact :

Re: Scénario et variable

Message par noodom » 23 mai 2018, 08:27

comme dit tomdom, il faut ajouter le test sur la variable Netflix avec le click.
Mais à mon avis, il faudrait supprimer la ligne d'affectation de la variable netflix à 0 car elle fausse la logique en l'affectant en début de scénario
(elle sera toujours à 0) et la positionner dans le(s) IF nécessaire(s).

sinon, indépendamment du contenu du scénario, je vois que le dernier SI est décoché. C'est normal ?
Ca signifie qu'il est désactivé. Apparemment, tu ne remontes pas de problème mais c'est peut être mieux de le cocher quand même je pense ;)

valentinf
Timide
Messages : 66
Inscription : 13 avr. 2017, 14:16

Re: Scénario et variable

Message par valentinf » 24 mai 2018, 10:20

Tout fonctionne, c'est parfait, merci pour vos explications. Je commence à comprendre la puissance d'un scénario bien ficelé et surtout l'interêt des variables.

Merci pour votre patience et vos explications

Avatar de l’utilisateur
noodom
Timide
Messages : 406
Inscription : 13 juil. 2014, 17:25
Contact :

Re: Scénario et variable

Message par noodom » 24 mai 2018, 11:20

Parfait, bon courage pour la suite de tes scénarios


Envoyé en utilisant Tapatalk

Répondre

Revenir vers « Scénarios »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités