Scènes : Continuer seulement si ... SINON / SINON SI

Feature description
C’est encore moi avec une autre idée géniale ( :innocent:) : améliorer le « continuer seulement si ».

Exemple concret : je veux que mon interrupteur sans fil puisse allumer et éteindre ma prise avec un simple clic.

Actuellement, je dois faire 2 scènes :

  1. Si clic et si la prise est éteinte → Allumer la prise
  2. Si clic et si la prise est allumée → Éteindre la prise

Avec le sinon / sinon si je pourrais utiliser une seule scène :

  1. Si clic et si la prise est éteinte → Allumer la prise, → sinon éteindre la prise.

Le sinon si permettrait d’être encore plus performant en vérifiant l’état d’un ou plusieurs périphériques dans une seule scène et agir en conséquence.

Dans l’idée je suis plutôt d’accord que ça serait bien, dans la pratique je me demande si on veut faire ça exactement comme ça :grinning_face_with_smiling_eyes:

En gros tu veux pouvoir créer tout un programme, avec des blocs de codes qui s’exécutent conditionnellement. Je pense qu’il y a une grosse réflexion à avoir sur comment on pourrait faire pour que ce soit en même temps puissant mais en même temps simple d’utilisation et que ça s’apparente pas à de la programmation déguisée visuelle (a la blockly, ce qu’on veut absolument éviter dans Gladys 4)

Si tu as une idée d’implémentation et que tu as une maquette en tête je suis preneur !

Je sais que Zapier fait ça, ça pourrait être une source d’inspiration :slight_smile:

Je pense que ce qui fait penser à de la programmation c’est surtout le “sinon si …”. Cette partie peut en effet être rediscutée.

Par contre le “sinon” est vraiment super utile et naturel à utiliser dans une scène je trouve.
Mon exemple précédent pour allumer ou éteindre une prise est faisable avec le “sinon”, mais compliqué sans.

Bonjour, j’ai fais une petite maquette pour une proposition de mise en page
Mais ça me semble pas très adapté au mobile.

Sympa pour la proposition @Pasdesushi, après j’ai du mal à comprendre la logique, parce qu’en soit dans un bloc d’action tu peux mettre autant d’action que tu veux, donc si tu as 10 actions dans ton bloc, comment ça s’affiche ? ça sera pas logique non ?

Ou le Sinon lance une autre Scène

Bonsoir,

Ce serait plutôt la fonctionnalite « inverser la prise ou la lampe », non ?

Il y a déjà une demande de ce type @Romuald_Pochet

Oui, mais dans cette demande la « Feature description » est plus proche du toggle en effet. Et elle a tout de même 12 votes :wink:

Je reviens sur cette demande de fonctionnalité pour avoir un Si/Alors/Sinon dans les scènes.

Mon cas d’emploi: J’ai un chargeur pour mon vélo électrique. Il consomme un peu, même quand il est à vide (sans vélo branché), et je veux éviter cette conso. Je veux aussi que la charge se déclenche à partir de 22h quand mon électricité devient moins cher, mais sans devoir redescendre au sous-sol à cette heure-là. Donc j’ai ajouté une prise domotisée avec mesure de conso, pour optimiser ça. Et je détecte si le vélo est branché en vérifiant si le chargeur consomme beaucoup, ou pas :wink:

Ma scène, j’aimerais que ce soit :

  • chaque jour à 22h,
  • allume la prise, et vérifie la conso quelques secondes après
  • si la conso est <1W, alors éteint la prise
  • sinon, attend 5h, puis éteint la prise

Aujourd’hui, j’ai fait deux scènes pour ça, et c’est dommage :wink:

  • chaque jour à 22h,
  • allume la prise, et vérifie la conso quelques secondes après
  • continue seulement si la conso est <1W,
  • éteint la prise

et

  • chaque jour à 22h,
  • allume la prise, et vérifie la conso quelques secondes après
  • continue seulement si la conso est >1W
  • attend 5h, puis éteint la prise

J’ai voté, et la demande de fonctionnalité se retrouve en 3ème position, si j’ai bien vu :wink:

1 « J'aime »

Et en pratique, graphiquement, une façon simple de rajouter cette fonction ça pourrait être un bloc du style « Si [condition], alors [aller à l’étape n°__] sinon [aller à l’étape n°__] ».

Mais pour que ça marche, il faudrait peut-être empêcher qu’il y a d’autres actions dans ce bloc (pour que le moteur de scènes reste ‹ linéaire ›). Et il faudrait ajouter une action « mettre fin à la scène ». Ainsi on pourrait avoir par exemple :

  1. déclencheur
  2. si [condition] alors [étape2] sinon [étape5]
  3. action… (on vient là si condition remplie)
  4. action…
  5. mettre fin à la scène
  6. action… (on vient là si condition non remplie)
  7. action…

C’est juste une idée, si ça peut aider à penser la faisabilité…

1 « J'aime »

Salut à tous :slight_smile:

Petite proposition :

Qu’en pensez-vous ?

3 « J'aime »

Salut,

l’idée peut paraître bonne et pratique mais j’ai l’impression que ça va devenir le bordel au niveau du nombre de scène…

Perso cest deja le bordel chez moi 64 scènes…
Vivement les tags

Et je gere le cas justement du si sinon comme ca
Une scene avec le trigger quelques action generique et ensuite jappel deux scene qui nont pas de trigger et que des actions avec des if en premier cas

Un jour on pourra peut etre appeler des scenes avec des variables :smiley:

Perso je trouve ça plutot interessant, ça permet de conserver le layout actuel et de rendre la fameux SINON tant attendu fonctionnel !

Le fait d’avoir beaucoup de scènes est une éventualité qui va être facilitée par l’apparition des tags, donc je serai plutôt pour un truc comme ça.

Disons que là ça permet de ne pas avoir à TOUT refondre au niveau des scènes, donc je prends :wink:

Je pense que certain seront ravi mais personnellement je ne trouve pas cette proposition d’un grand intérêt.
Ta proposition avec le SINON va lancer une autre scène donc il faut créer 2 scènes.
Une pour l’allumage et une autre pour l’extinction du chauffage si on reprends ton exemple.
Sauf que actuellement avec 2 scènes une allumage et une extinction il suffit juste d’adapter le déclencheur ou l’action Continuer seulement si

Tout a fait d’accord ! J’en ai plus d’une cinquantaine aussi !

:+1: Ce serait bien aussi si on pouvait avoir

avec au lieu de « Dernière valeur de l’appareil »
avoir « Dernière valeur de l"exécution de la scène »

cela permettrait d’avoir

Déclencheur : utilisateur quitte la maison

Action 1 : Si la maison est vide

Action 2 : Démarrer la scène « Tous les detecteurs sont fermés ? »

ta proposition Action 3 : Continuer seulement si
(« Dernière valeur de l"exécution de la scène » « Tous les detecteurs sont fermés ? » « egal » « true »)
Sinon
Démarrer la scène "Envoi msg :Activation Alarme impossible "

Action 4 : Démarrer la scène « Activation de l’alarme »

Cela implique d’avoir un flag de réalisation de la scène qui serait à false lors du lancement de la scène et true si elle se termine, est-ce réalisable ?

(cela peut servir dans un cas pour l’alarme
1er scène « Détection d’un capteur ouvert »
début des de la scène flag = false
Déclencheur : détecteur 1 off OU détecteur 2 off OU détecteur 3 off
Action : passer la scène à True

2ème scène « Tous les detecteurs sont fermés ? »
début de la scène flag = false
Déclencheur : détecteur 1 on
Action : continuer seulement si
détecteur 2 on
Action : continuer seulement si
détecteur 3 on
fin des actions flag = true

Je réagis un peu tard à la proposition de @pierre-gilles mais ça me plaît bien. Ça apportera de la souplesse, et la crainte d’avoir trop de scènes n’est plus un souci maintenant qu’il y a les tags.

Et c’est vrai que pour l’instant je fais également une duplication de scène avec les deux variantes de ‹ Continuer seulement si… › mais c’est un peu agaçant de penser à changer les actions communes quand je fais des ajustements…

Donc +1 pour la proposition de Pierre-Gilles.

1 « J'aime »

Après je ne dit pas que je suis contre et même si cela peut aider certaines personnes alors il faut le faire.
Mais comme cela ne réduira pas le nombre de scènes cela n’est pas une priorité pour moi.