Scènes : condition de déclenchement multiple (ET/OU)

J’aimerais pouvoir activer une scène en fonction de plusieurs critères obligatoires.

Par exemple :

  1. Si il est entre 23:00 et 00:30 et que ma porte d’entrée s’ouvre,
  2. Alors allumer la lumière de l’entrée en cas de mouvement.

Autre exemple :

  1. Si capteur X et capteur Y
  2. Alors action Z

Pour le moment les déclencheurs sont en parallèle, en mode “ou”. On ne peut pas les cumuler pour continuer.

La fonction ‘continuer seulement si’, combinée avec ‘récupérer le dernier état de l’appareil’ permet de le faire…
Voir ici: Récupérer le dernier état | Gladys Assistant

C’est vrai, on peut se débrouiller avec. Mais je trouve que ça rajoute de la complexité et ça manque de flexibilité.

Par exemple, si tu veux rajouter une condition à une scène déjà un peu longue, tu dois tout supprimer et réécrire.

Avec une option “et”, tu peux rajouter une condition au tout début.
Et ce cas m’est déjà arrivé plusieurs fois.

Et dans le cas suivant ça ne fonctionne pas :

  1. Si la porte d’entrée s’ouvre
  2. S’il est entre 23 :00 et 01 :00
1 « J'aime »

Tout à fait d’accord, ce n’est pas extrêmement intuitif

Il faut ajouter un device factice, comme pour le chauffage (pas de gestion des intervalles de temps) :

  1. Si la porte s’ouvre
  2. Récupérer le dernier état ‹ device factice ›
  3. Continuer seulement si ‹ device factice › =1
  4. La porte s’ouvre

En parallèle, ton ‹ device factice › change d’état en fonction de l’heure, grâce à deux scènes

  1. S’il est 23h, ‹ device factice › =1
  2. S’il est 1h, ‹ device factice › =0

C’est bien vu, j’avais pas pensé à faire ça. Comment tu fait le device factice ?

Quoi qu’il en soit, cette feature request à donc de l’intérêt :sweat_smile:

Effectivement je pense que ça va passer par un “continuer seulement si”, mais je pense que cette feature a de l’intérêt car il n’est pas possible de faire des comparaisons sur l’heure pour l’instant :slight_smile:

L’histoire des device factice me parait un peu hacky, ça devrait être possible de faire ça nativement facilement !

J’ai vu la PR avec la désactivation des scènes, on peut la modifier avec une activation sur un créneau horaire sinon ?

Tu ajoutes simplement un device MQTT.
Cette idée a été proposée par M. Scènes, @Terdious, et expliquée ici: Gestion chauffage - #19 par Terdious

2 « J'aime »

Pour moi qui ai plusieurs scènes qui font la même chose mais a des horaires différentes (allumage/extinctions de prises), ça pourrait aussi être intéressant d’avoir la fonction OU. Ça me permettrais d’éviter de dédoubler mes scènes.

Après si vous dîtes qu’il y a moyen de contourner la chose via des devices factices je vais me pencher dessus

Je te rejoins la dessus !
À partir du moment où on parle de “contourner” c’est bien qu’il faut faire quelque chose dans Gladys :joy:

1 « J'aime »

Je suis d’accord aussi. Il faut ajouter ça en natif :slight_smile:

Bonsoir,
Super idée d’ajouter le “et” dans le déclencheur.
Je propose pour aller un peu plus loin des parenthèses pour optimiser le nombre de scènes. Par exemple:
Trigger = (capteurA OU capteurB) ET (capteurC OU capteurD)

En fait c’est déjà possible dans les conditions :

  • Plusieurs conditions dans une seule étape, c’est équivalent au “ET” (fonctionnement pas défaut)
  • Une condition dans laquelle on clique sur le bouton explicite “OU”, alors c’est bien “OU”.

Mais je te rejoins sur le fait que c’est pas assez compréhensible dans l’UI. Il faudrait une description ou un “tooltip”.

1 « J'aime »

Oui exact, mais ça revient à programmer le “déclencheur” dans une “action”, ce qui est déroutant.
Si la philosophie de Gladys est que n’importe qui puisse automatiser, n’importe quelle variable combinatoire doit pouvoir se composer dans le déclencheur!

Je pense qu’on peut fermer cette demande de fonctionnalité, tous les exemples que tu donnais dans la demande sont maintenant possible :slight_smile:

Bon pour toi pour que je ferme cette demande ?

Oui je pense qu’on peut clôturer, je peux enfin allumer la lumière de ma cuisine quand je rentre de la promenade de mon chien :wink:

Là où certains peuvent ne pas comprendre, c’est que la condition “ET” pour déclencher une scène se fera dans un test dédié et non pas sur les conditions de lancement de la scène.

  • Exemple : pour dire “si mouvement” et “ouverture de porte”, il faudra configurer ces deux événements au début de la scène puis utiliser “continuer seulement si” ensuite pour savoir si la scène s’exécute ou non.

Ok je ferme le sujet.