Parlons de Gladys V4

Merci pour vos retours! J’y réfléchis :slight_smile:

Premier essai, vous pensez quoi de ce genre de chose?

(Oui, c’est vide :p, faut juste penser au concept)

Tous les triggers seront dans le premier “if” ? Si c’est le cas, est-ce un AND ou un OR entre les différents triggers du bloc ?

J’aurai plutôt imaginé une vue supplémentaire pour les triggers.
En gros sur une page d’accueil, avoir une carte par scénario (logo, nom) avec deux boutons qui amènent chacun sur des vues différentes : la vue de configuration des triggers et celle de configuration de la scène. Dans la configuration des triggers ou pourrait jouer avec des AND et et OR.

Tous les triggers sont dans le premiers bloc « if » oui! C’est plutôt des OR, mais ça n’a pas de sens de parler de AND ou de OR, chaque trigger est complètement décoréllé des autres car un trigger = un évenement.

Je suis d’accord, là dans les screens que j’ai posté, rien n’indique dans l’UI que c’est des triggers indépendant. Je vais essayer de trouver un tricks d’UI pour montrer cette nuance :slight_smile:

Tu veux plutôt parler de conditions ici plus que de triggers.

Un trigger c’est un évenement se passant à un instant t précis, par exemple:

  • « Mouvement dans la cuisine »
  • « Madame est rentrée à la maison »
  • « Alarme de la maison armée »
  • « Intru détécté dans le garage »
  • etc…

Les événements n’ont aucuns liens entre eux, car ils se passent à un instant t précis.

Une condition, ce n’est pas une réaction à un évenement, c’est une comparaison d’un état actuel avec une valeur.

Un « scénario » complet, c’est un trigger (événement) suivi d’un ensemble d’actions / pouvant être exécutée conditionnellement (avec là effectivement du ET/OU).

Ce qui permet de faire:

  1. Trigger: SI un mouvement est détecté dans le garage
  2. Condition: ET qu’il n’y a personne à la maison
  3. Action: ALORS envoyer une alerte à l’utilisateur XX

Si tu n’as jamais testé https://zapier.com/, je t’invite à te créer un compte et à tester rapidement, c’est vraiment bien fait leur système et c’est vers quoi j’essaie de faire tendre l’éditeur de scénario de Gladys 4.

Oui ca me semble clair comme tu l’expliques, j’ai fais l’amalgame entre deux choses différentes. Et en regardant de nouveau l’image, ce qui m’a induit dans ce raisonnement c’est le “if” du premier bloc. Ce devrait plutôt être un “when” non ?

Je regarde de suite.

On est d’accord du coup :smiley:

A la place du « IF » du peux mettre un truc du style : « When someting in the list ». Et le « if » serait gardé pour le bloc « condition » qui arrivera plus tard j’imagine. Le dernier bloc, dédié aux actions, tu pourrais mettre « Do » en titre.

1 « J'aime »

Est-ce que les définitions suivantes vous conviennent ?

Une Scène est un ensemble d’action en parallèle ou en série. Peut contenir une autre scène ?
Un Trigger ou déclencheur en Français, est un changement d’état d’un objet, qui active une Scène ou un Scénartio
Un Scénario est activé par un et un seul Trigger et contient des actions ou des Scènes
qui peuvent être Conditionnés par n Conditions

Ce qui donne :

  • Trigger: QUAND un mouvement est détecté dans le garage
  • Condition: SI il n’y a personne à la maison
  • Action: ALORS envoyer une alerte à l’utilisateur XX

Trigger + Scène = Scénario

Ainsi, on sépare bien la Scène du Scénario
Qu’en pensez-vous ?

Si j’ai bien compris, les triggers fonctionnent avec les scènes, mais il peut y avoir des scènes sans triggers. Mais il ne peux pas y avoir des triggers sans scène ce qui est logique.

La box trigger ne devrait pas être une option?

  • diminuer l’affichage
  • la rajouter à la demande de l’utilisateur

Non! Après il pourra y avoir une action « lancer scène XX », mais bon ce n’est pas vraiment une scène dans une scène

Non! Plusieurs triggers peuvent activer une scène comme je disais plus haut.

Par défaut il y a un placeholder, mais je suis d’accord il faudrait rendre la box trigger plus « effacée » par défaut vu qu’elle n’est pas obligatoire

Exemple de trigger:

1 « J'aime »

J’aime bien la présentation.

Est-ce que les “états” (On / Off dans ce cas) sont dynamiques en fonction du feature type (light dans ce cas) ?

Oui c’est dynamique! A la sélection, le sélecteur d’état change!

1 « J'aime »

Tiens ça me fait penser à un truc sympa sur l’application hue, quand tu sélectionne une lampe elle s’allume temporairement et ossile ( luminairement parlant :grin:) un feedback visuel de la sélection. Ça peut être sympa à rajouter pour les lampes ( dans l’édition des scènes)

Faut juste pas mettre en place les scénarios quand quelqu’un fait la sieste :joy:.
Ormis la boutade, je trouve ça sympa comme comportement, en Nice to have bien entendu :innocent:

3 « J'aime »

Salut à tous,
Je donne mon avis un peu tard, mais sait-on jamais, il est peut être encore temps :smiley:
Je partage l’avis de @VonOx sur la séparation scène scénario et je pense d’ailleurs que l’implémentation des scènes chez les constructeurs est similaire à cette vision :
Une scène = un ensemble d’état. Sur Gladys, ce serait donc un ensemble de DeviceFeature.state.
D’un point de vue utilisateur, je veux juste activer la scène “Regarder un film”:

  • Lumières de salon éteintes,
  • TV allumée,
  • volume de l’ampli sur 32.

(On pourrait ajouter des tempos / délais) sur les états éventuellement

La notion même d’actions me semble inadéquate. C’est au système de savoir quelle action il doit mener pour changer les états des deviceFeatures. Si la lumière est déjà éteinte, pourquoi l’éteindre à nouveau ?
Quant aux triggers, s’ils sont présents dans les scénarios, pourquoi figurent-ils aussi dans les scènes ?
De ce que j’imagine, et pour reprendre les définitions de @peb :
Une Scène est un ensemble d’état de devices
Un Trigger ou déclencheur en Français est une (ou un ensemble de) condition. Celà peut être l’'état d’un (ou plusieurs) device ou tout type d’événement (réception d’un message, heure, date, délai, arrivée/départ d’un user…)
Un Scénario est l’activation d’une ou plusieurs actions soumise à un Trigger.
Reste à définir les actions… Ca pourrait prendre plusieurs formes:

  • Modifier l’état d’un device,
  • Activer une scène,
  • Activer / Désactiver un service

Voilà ma vision. Ceci étant, c’est déjà très avancé, et je vois que PG est très actif sur cette question en ce moment. Il est peut peut-être trop tard pour discuter de cette feature ^ ^

1 « J'aime »

C’est le même écran. L’utilisateur doit comprendre le flow.

  1. Un event est trigger 2) Gladys réagit!

Petite screenshot de l’avancement de cette vue trigger:

Je passe pas mal de temps sur des petits détails d’UI pour que l’expérience soit la meilleure possible.

Exemple ici, la select box affiche la liste des périphériques par pièce, et derrière l’affichage du trigger s’adapte au type de périphérique sélectionné.

Exemple dans le cas d’un périphérique binaire On/Off:

Le tout en étant compatible mobile:

5 « J'aime »

Yapa à dire… Ça a de la gueule! Beau boulot!
Le flow est compréhensible et visiblement facile à appréhender.
J’en reste pas moins convaincu que c’est un scénario et pas une scène :sweat_smile:

Je commence par une petite question à ce sujet :

Etant donné que plusieurs devices peuvent avoir la même device feature, ne serait-ce pas intéressant d’avoir le couple : « Device / Device feature » d’affiché dans la liste déroulante ?
→ J’imagine que tu as déjà pensé à ça et que tu as prévu le cas :smiley:

Sinon Je trouve que ça rend vraiment bien, super d’avoir classé par pièce, c’est pas grand chose mais ca fait vraiment propre !!! Est-ce que la branche « scene » du git est assez avancé pour faire un peu mumuse avec…? :innocent: EDIT : J’ai ma réponse.

Merci pour vos messages ça fait plaisir! :smiley:

Oui pour tester l’UI, non pour faire des scénarios qui fonctionnent vraiment :smiley: Tout n’est pas encore fini d’être cablé

1 « J'aime »