Aller au contenu

Désactiver un bouton dans un VD


BSD

Messages recommandés

Bonjour le forum.

Une petite question sur les modules virtuels :

 

Pensez-vous qu'il soit possible, en LUA, de désactiver ponctuellement un bouton ou un slider de module virtuel pendant qu'une boucle 'while true do' ou un 'fibaro:sleep' ou même un autre delai quelconque ne soit atteint ?

 

Je m'explique :

J'ai créé un VD avec deux boutons (Avant - Arrière), et un Slider.

Un clic sur 'Avant' ou sur 'Arrière' lance une action pendant un temps déterminé. 

 

Je souhaite interdire toute nouvelle action tant que le delai n'est pas terminé.

Pour cela, j'aimerai pouvoir 'griser' et interdire les actions des deux boutons et du slider jusqu'à la fin du delai.

 

Qu'en pensez-vous ?

Je ne trouve rien sur ce sujet.

Par avance, merci de vos retours et reflexions en espérant vivement que celà soit possible.

Lien vers le commentaire
Partager sur d’autres sites

Merci jojo de ta réponse.

N'y aurait-il pas plus simple avec une fonction du style :

fibaro:get(ID_VD,"ui.Slider.true")

ou

fibaro:get(ID_VD,"ui.Slider.false")

 

Ce serait idéal, non !

Modifié par BSD
Lien vers le commentaire
Partager sur d’autres sites

J'ai bien regardé mais rien !

Ce n'est pas complet car la fonction :

'fibaro:get(ID_VD,"ui.Slider.true")'

par exemple est correcte et ne retourne pas d'erreur dans le debug mais n'est pas documentée...

 

Je pense que dans fibaro:get(ID_VD,"ui.Slider.xxx")

"ui" = user interface

"Slider" = le bouton ou slider

"value", "true", "false" = l'action à réaliser mais ce sont toutes ces actions que je ne trouve pas...

Je cherche encore.

Dans tous les cas, merci de ton aide

 

 

Modifié par BSD
Lien vers le commentaire
Partager sur d’autres sites

Lol

Dans tous les cas, tu sembles le seul genie à ne pas être en vacances...

Attends un peu, je vais quand même essayer de frotter ma HC2 pour voir ce qui en sort...

:60:   :93:

 

Mais faute de génie...

N'y aurait-il pas un Dieu du LUA qui entendrait ma prière ?

:13:

Modifié par BSD
Lien vers le commentaire
Partager sur d’autres sites

 Non, moi c'est Dieu du forum (en vacances de Lua) ou Quiche du Lua, tu saisies la nuance? :)

En ce moment, je patauge plutôt dans mes conditions de scénario Jeedom que dans Lua.

 

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

Merci Dieu Lazer et Génie Jojo

:74:

Et tant pis pour moi Did si Jeedom l'emporte... lol

Dans tous les cas, vos conclusions recoupent les miennes sur le fonctionnement des boutons.

Sur le fond la solution fonctionne bien pour les boutons uniquement...

Sur la forme c'est moins fun !

J'espérais pouvoir désactiver (griser) les boutons pour ne pas qu'ils puissent être utilisés et qu'il soit bien visible qu'une action est en cours de traitement.

Pour ce qui est du Slider, cliquer dessus revient à déplacer le curseur ce que je ne voudrais pas lorsqu'une boucle est lancée. C'est pourquoi je cherche à l'inhiber.

En d'autres termes, lorsque un bouton est pressé il ne doit plus être actif et je souhaiterais que le Slider ne devienne plus qu'un simple 'bargraph'  (inactif donc) jusqu'à la fin d'exécution du code...

Oui je sais... Je suis exigeant !

C'est bien pour celà que je m'adresse aux meilleurs pour ce cas d'école. 

D'ailleur et sauf erreur, ils ne se sont pas tous encore manifesté !

Ok... :98: aussi !

 

Une question me taraude quand même :

A quoi servent les "true" et "false" dans :

fibaro:get(ID_VD,"ui.Slider.true") et

fibaro:get(ID_VD,"ui.Slider.false") ?

et 

Où puis-je trouver toutes les actions possible à cette fonction

fibaro:get(UI.xxx."value, true, false...") ?

 

Merci de vos réflexions et recherches acharnées...

Modifié par BSD
Lien vers le commentaire
Partager sur d’autres sites

Merci Pepite.

Moi non plus je n'avais jamais vu "true" et "false"

J'ai trouvé ça bêtement en testant ces commandes.

C'est comme ça que je me suis aperçu qu'il n'y avait pas d'erreur remontée dans le debug et que ce sont donc des fonctions valides.

Peut-être qu'il en existe d'autre, mais comment le savoir, et où trouver ces fonctions documentées ?

C'est un mystère...

Je cherche donc toujours une solution pour inhiber un 'Bouton' ou 'Slider' dans un VD !

Lien vers le commentaire
Partager sur d’autres sites

pour empêcher ton slider, même solution que la variable qui dit qu'une action est en cours.

tu stocke la valeur du slider dans une variable (ou label). et si on le bouge alors qu'une action est en cours, tu le remets à sa position définie par la valeur précédemment stockée dans la variable.

Lien vers le commentaire
Partager sur d’autres sites

C'est ce que j'ai fait !

Mais faut avouer que ce n'est pas très 'classieux', non ?

J'ai aussi modifier un Label pendant une action en cours avec des "..."

C'est du bricolage qui ne me satisfait qu'à moitié...

Je fouille encore...

Modifié par BSD
Lien vers le commentaire
Partager sur d’autres sites

  • 3 mois après...

:13: En effet...

Je n'ai plus qu'a arrêter d'inventer et me contenter d'espérer que tout ce que je veux faire peut se faire avec Fibaro. Lol

J'ai encore beaucoup à apprendre. 

Merci de l'info.

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...