Créer et utiliser des variables entre les scènes

Feature description
Ce serait intéressant de pouvoir transmettre des infos entre les scènes, avec des variables créées par l’utilisateur.

Actuellement je triche avec des devices factices, mais c’est pas l’idéal :joy:

Tu as des exemples de cas où tu as besoin de ça ? :slight_smile: pour pouvoir se projeter :slight_smile:

Je veux allumer l’entrée lorsque je rentre de balade avec mon chien le soir (~23h).

Pour cela j’utilise actuellement 3 scènes :

  1. S’il est entre 22h et 1h du matin → (variable) périphérique MQTT factice (switch) = 1

  2. Si la porte s’ouvre et qu’il est bien entre 22h et 1h du matin (variable précédente) → (variable) périphérique MQTT factice (switch) = 1

  3. Si la porte s’ouvre et que les deux variables précédentes sont à 1, j’allume l’entrée.

De cette manière, je m’assure que la lumière de l’entrée ne s’allume automatiquement qu’entre 22h et 1h du matin, seulement lorsque je rentre de balade.
Il y a une double détection : la porte doit s’ouvrir 2x sur une période d’une heure max.

En fait il manque juste la condition ET au niveau des triggers.

On gère que le OU actuellement.

Avec un ET tu n’aurai même pas besoin de tes devices factices

C’est tout à fait vrai :

  1. Il manque le ET
  2. Il manque la possibilité de déclencher une autre scène depuis une première

ça permet de faire propre comme ça je pense :slight_smile:

Pour tout ce qui est gestion des lumières ça va devenir indispensable ( Combinatoire entre capteur de présence et Heure de coucher du soleil etc… )

On gère déjà le ET !

Il suffit de faire 2 box condition différente dans un meme bloc d’action c’est un ET.

Non ce qui manque ici c’est plutôt les conditions basées sur le temps, ça je suis d’accord on gère pas :slight_smile:

Oo ? Alors là faut que tu m’explique parce que je me suis refait la doc sur les scenes y’a rien là dessus et je ne peux pas rajouter de conditions dans une actions ( ce qui fait sens en soit )

Si tu mets 2 boxs “continuer seulement si”, ça fait un ET vu qu’il faut passer par l’une et par l’autre pour que ça passe au bloc d’actions suivant:

Ok sur une variable, mais pas les triggers

1 Like

Effectivement! :slight_smile:

Après tu peux toujours faire les deux en attendant qu’on gère ça dans les triggers (pas très pratique c’est vrai)

Nouvel exemple ! :wink:

Besoin : éteindre une prise, sauf si l’ordinateur fixe est allumé, mais permettre de “forcer” l’arrêt.
Matériel : pour contrôler la multiprise de mon bureau, j’ai une prise connectée et un interrupteur sans fil.

Côté scène :

  1. Si la prise est allumée et la consommation instantané < 15 W, j’éteins la prise.
  2. Si la consommation > 15 W, c’est que ma tour est allumée, je n’éteins pas la prise mais j’envoie un message d’alerte sur Telegram (faute d’enceinte connectée).

Mais avec l’usage, je me rend compte qu’il y a un délai parfois entre la consommation instantané réelle et ce que “voit” Gladys.
Donc je souhaite avoir la possibilité d’outre-passer le point 2) en forçant quand même l’extinction.


Et là, je verrais bien :

  1. Si je demande l’extinction une 2e fois en 10 secondes, alors je force l’extinction.

Ce mode doit reposer au choix : sur une variable ou encore mieux, sur l’accès aux données des 10 dernières secondes.

Voilà :smiley:

1 Like

Bonjour,

Je suis aussi intéressé par la possibilité de définir des variables “globales” accessibles entre les scènes. Dans mon cas, c’est pour un système d’alarme où je souhaite sauvegarder l’état du système lorsqu’un détecteur de porte détecte une ouverture. Si l’alarme est activée alors je fais sonner la sirène.

Tu peux essayer ceci:
Tu crées une scène avec comme déclencheur le changement d’état de la porte. Tu récupères ensuite l’état d’activation de l’alarme et tu mets un ‘continuer seulement si’ celle-ci est activée, activer la sirène.
Pour le stockage d’une variable pour plus tard, tu peux passer par un ‘fake device’ en MQTT…

@ArMour85 dans ton cas, je pense que le cas de l’état de la maison “armée/désarmée”, c’est quelque chose de générique qu’on veut dans Gladys nativement :slight_smile:

J’y avais déjà un peu réfléchi au début de la v4, mais vu que ce n’était pas trop demandée la fonctionnalité n’a pas été développée.

J’ai fais une carte “demande de fonctionnalité” pour cette feature, tu peux mettre un vote si tu veux :

Après en attendant, tu peux utiliser la solution de @GBoulvin c’est bien aussi :slight_smile:

Il y a effectivement d’autres solutions comme l’évoque pierre-gilles à l’utilisation de variables qui risquent de compliquer les scènes pour les non-techniques !

La gestion de l’état de l’alarme de la maison est une solution, l’autre étant l’accès aux valeurs d’un périphérique dans le temps (proposé ici :Accès à toutes les valeurs d'un capteur dans le temps).

Comme je suis plus un profile technique, l’utilisation de variables globales ma parait plus logique mais la possibilité de lire les valeurs d’un appareil dans le temps ou tous simplement la dernière est une solution.

J’ai tout mon système sous Jeedom et je voudrais passer sous Gladys pour ça simplicité car Jeedom permet de faire beaucoup de choses et ça devient vite le bazar.

Tu es au bon endroit, c’est justement l’idée de Gladys et la vision de @pierre-gilles !

1 Like

C’est pour ça qu’avant de partir dans des fonctionnalités très “générique”, on pense au besoin dans Gladys pour faire une implémentation qui fait sens, plutôt que de faire un produit fourre-tout qui gère tout mais qui gère tout mal :slight_smile: Tu es au bon endroit!