Scenes en mode nodeRED?

Bonjour à tous,

cela faisait plusieurs mois que je n’ai pas pu toucher à Gladys.
Je me relance quelques jours dessus (je profite de quelques repos).
Et ce qui me saute au visage c’est la lourdeur du fonctionnement des scènes.
En effet, le système des blocs est vraiment lourde et peu lisible.

Le top serait d’avoir un système à la node RED (que je ne maîtrise pas du tout), c’est très visuel et très intuitif…
L’idée serait de conserver les blocs existants actuellement (déclencheurs, actions, condition, test…) mais de les visualiser comme de petits blocs sur le canvas.
On pourrait peut etre utiliser React Flow vue que Gladys est en prereact de ce que j’ai vu sur la doc.
Après je ne sais pas du tout le travail que cela nécessiterait…

Mais je suis convaincu par cette approche qui est vraiment user friendly.

Exemple avec un bouton qui gère un ventilateur via une prise connectée.
1 clic sur le bouton : Allume la prise connectée
2 clics sur le bouton : Éteint la prise connectée
1 clic long sur le bouton : Allume la prise puis l’éteint au bout de 2h.

Il est possible de créer 3 scènes différentes mais on se retrouve avec quantités de scènes…

Créer une scène qui gère tout, ce qui me plaît bien mieux.

Mais on se retrouve avec un truc assez lourd du genre :


Si on pouvait utiliser un système de canvas, on pourrait être bien plus simple et lisible avec un truc du genre :

Quels sont vos avis ?
Que ce soit les dev ou les utilisateurs.

Merci à vous et bonne fin de week end :slight_smile:

2 « J'aime »

C’est un très bon retour, même si ça représente un sacré chantier :wink:

Je suis d’accord qu’il y a quelques points de friction dans l’interface actuelle de création de scènes. En revanche, je ne suis pas sûr que tout refaire soit la bonne approche, c’est quand même des années de travail :grinning_face_with_smiling_eyes:

À mon avis, corriger progressivement ces points de friction est déjà une excellente première étape.

De mon côté, une réécriture complète des scènes n’est pas prévue dans la roadmap :slightly_smiling_face:

Je comprends que ça représente beaucoup de travail mais je pense vraiment que ça serait un vrai avantage par rapport aux autres applications et c’est tellement user friendly :slight_smile:

Et du coup, si à long terme c’est ce qui risque d’arriver, tout dev supplémentaire du système actuel risque d’être perdu au final.

Claude conseille de le faire en 3 étapes :

  1. Juste en affichage en se basant sur les scènes actuelles en plus du système actuel

  2. En mode édition compatible avec le système actuel

  3. Remplacement du système actuel

Mais bon, c’est facile à dire pour lui XD

L’espoir fait vivre :slight_smile:

1 « J'aime »

Une des points particulièrement lourd par les scènes c’est l’imbrication des « Si … Alors … Sinon ». En plus d’être long à faire, c’est difficile à relire car on il est très difficile d’avoir une vision globale.

J’avais besoin d’enchainer 5 ou 6 conditions pour traduire en « Texte clair » les valeurs possibles d’un code erreur dans l’API PALLAZZETTI, j’ai hésité à me faire un NodeRED pour pouvoir utiliser un noeud « Change »

1 « J'aime »

Je suis d’accord !

Dans ton cas, tu n’as probablement pas besoin d’imbriquer : tu peux simplement enchaîner 6 conditions de manière linéaire. Ça évite d’avoir une structure trop large horizontalement et trop “compressée” à lire.

Je pense qu’il y a quelques améliorations UI à apporter pour rendre le bloc “Si… Alors… Sinon” moins massif. Par exemple, permettre de passer en plein écran en un clic, un peu comme le fait Notion :slightly_smiling_face:

Perso c’est ce que je fais, j’enchaîne des IF les uns après les autres (pas imbriqués) mais on se retrouve avec des scènes à rallonge.

J’ai modifié le css pour être pratiquement plein écran, ça améliore un peu mais sans plus.

1 « J'aime »

Après plusieurs jours d’échanges avec Claude, voici à quoi j’en suis arrivé :

En partant du système actuel

Cela donne :

PS : les liens verts et rouges des sous blocs sont maintenant gris.

En partant du nouveau système :

Cela donne dans le système actuel :

Cela semble bien fonctionner mais il faudrait vraiment tester toutes les actions possibles.

Une petite vidéo d’utilisation :

Franchement, je trouve que ça rend vraiment pas mal même s’il reste des choses à gérer.

Container test : Package gladys · GitHub

Le code : Comparing GladysAssistant:master...Hizoka76:feat/canvas_style · GladysAssistant/Gladys · GitHub
Attention, il gère pas mal de nouveaux types de blocs non existants actuellement dans Gladys

5 « J'aime »

C’est très sympa, cette bascule entre la vue en « étapes linéaires » comme aujourd’hui, et la vue en « blocs visuels » !

4 « J'aime »

Effectivement ça me parle plus aussi :eyes:

Jolie taf avec Claude

Si quelqu’un veut tester : Package gladys · GitHub

J’ai utilisé ma base de données gladys pour regarder les scènes et c’est franchement propre, pas parfait, j’ai demandé quelques corrections et j’ai repoussé un container.

Je testerai que ça fonctionne bien dans les jours qui viennent.

Très sympa, c’est hyper propre :heart_eyes:

Et excellente idée d’avoir une bascule entre les deux modes !

Je me demande sur mobile comment ça rend la vue graphique ?

J’avais pas testé sur téléphone.

Le visuel est correct :

Par contre la mise en place des blocs doit rendre fou XD

Quand tu veux déplacer un bloc, tu as la fenêtre des propriétés qui s’ouvre et te cache la vue.
Ça on doit pouvoir dire lors du relâchement du clic et non au clic.

Quand tu veux tracer un lien, tu ne vois ou tu le déposes vu que ton doigt le cache.

1 « J'aime »

Bravo pour le travail, il y a pas mal de choses intéressantes. La bascule entre les 2 est vraiment bien faite