Ce Forum passera en lecture seule en janvier 2020
Image
Merci de vous rendre sur https://community.jeedom.com maintenant pour vos prochains postes ;)

Initialiser une variable avec une valeur

Réservé à la création de scénarios dans JEEDOM
Matt5918
Timide
Messages : 87
Inscription : 22 juil. 2018, 09:42

Initialiser une variable avec une valeur

Message par Matt5918 » 31 août 2019, 09:44

Bonjour,

J'ai créé un scénario ask afin d'armer ou non l'alarme quand il n'y a plus personne à la maison.
Avec un choix Oui, Non, Plus tard, jusque là pas de soucis.

Mais j'aimerais que ma valeur prenne par défaut la valeur "Nulle" qu'elle garde si pas de réponse, afin d'activer l'alarme mais ca ne marche pas :(
La variable "reponse_alarme" reste vide.

Voir scénario en pièce jointe.

Je peux peut être mettre Si variable(reponse_alarme)="Oui" OU variable(reponse_alarme)="" , ca marcherait ?

Merci
Pièces jointes
Capture d’écran 2019-08-31 à 09.41.02.png
Capture d’écran 2019-08-31 à 09.41.02.png (335.58 Kio) Consulté 157 fois

Mips2648
Actif
Messages : 932
Inscription : 08 sept. 2018, 17:09

Re: Initialiser une variable avec une valeur

Message par Mips2648 » 31 août 2019, 09:59

Salut,

1/ D'abord le "nulle" ici c'est pas le NULL c'est la chaine de caractère "nulle"...
2/ Tu n'as pas besoin d'initialiser ta variable au début;
3/ si le ask arrive au timeout (20s ici), la variable aura la valeur "Aucune réponse", donc c'est cette valeur que tu dois tester et faire ce que tu veux ensuite (relancer le scénario, appliquer un comportement par défaut, ...)
4/ moi j'aime supprimer les variables à la fin du scénario pour nettoyer, en terme de performance ca ne change rien (à la limite c'est pire car un accès variable en plus) mais je n'aime pas avoir plein de variables qui trainent quand je vais voir la liste.

ps: 20s pour que le message parte, arrive sur ton tel, sortir ton tel de ta poche et répondre, c'est très court à mon avis ;-)
Développeur et auteur des plugins suivants, (entre autre Arlo, Solaredge, Design Image, Gotify...) et aidant sur plein d'autres!

Si vous voulez contribuer, un don fait toujours plaisir : https://paypal.me/mips2648

Matt5918
Timide
Messages : 87
Inscription : 22 juil. 2018, 09:42

Re: Initialiser une variable avec une valeur

Message par Matt5918 » 31 août 2019, 10:11

Haaaa ca prend la valeur "Aucune réponse" !! Super merci, j'ai plus qu'à rajouter un cas avec cette valeur.

Pour le nettoyage, oui je préfère aussi faire ça mais quand je vais voir la liste des variables, celle-ci est vide en dehors du scénario (aucune idée pourquoi)

Matt5918
Timide
Messages : 87
Inscription : 22 juil. 2018, 09:42

Re: Initialiser une variable avec une valeur

Message par Matt5918 » 01 sept. 2019, 13:56

@mips2648 est ce que tu sais comment gérer la répétition d'une valeur avant de poursuivre le scénario ?

Les présences sont gérés par des distances icloud iphone-maison (absent si distance > 100m), sauf que ba en intérieur forcément des fois la géolocalisation décroche et me met dans le quartier voisin pendant quelques secondes.

J'aimerais déclencher le scénarion QUE si la présence est à 0 plus de 30 secondes par exemple

Mips2648
Actif
Messages : 932
Inscription : 08 sept. 2018, 17:09

Re: Initialiser une variable avec une valeur

Message par Mips2648 » 01 sept. 2019, 17:13

Je ne gère pas selon geoloc mais notamment présence sur le wifi, du coup même "combat" sur les décrochage:

Tu dois commencer par historiser la commande "source" et ensuite tu peux utiliser les fonctions de stats (cf doc scénario)
vu que moi la présence sur le wifi c'est binaire, un simple test suffit

Code : Tout sélectionner

Duration(#[Maison][PhoneMips][Statut]#,1,5min)>0
Si tu mesures une distance, soit tu met une info de virtuel à 0 (absent) dès que plus que 100m, que j'appelle "présence immédiate" pour l'exemple (comme tu as actuellement probablement) et une autre info de virtuel "présence réelle" avec une syntaxe comme ci-dessus =>
- si détecter à plus de 100m, ca met l'info "présence immédiate" à 0,
- si "présence immédiate" à 0 pendant plus de x min, tu mets "présence réelle" à 0 et tu te bases sur cette dernière dans les scénarios.

autre solution, utilisé la méthode

Code : Tout sélectionner

average(commande,période)
et mesurer si ta moyenne est de plus de x sur les x dernières minutes c'est que tu es parti.

plus de fonctions ici : https://jeedom.github.io/core/fr_FR/scenario
Développeur et auteur des plugins suivants, (entre autre Arlo, Solaredge, Design Image, Gotify...) et aidant sur plein d'autres!

Si vous voulez contribuer, un don fait toujours plaisir : https://paypal.me/mips2648

Répondre

Revenir vers « Scénarios »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité