BSD Posté(e) le 4 août 2017 Signaler Posté(e) le 4 août 2017 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.
jojo Posté(e) le 4 août 2017 Signaler Posté(e) le 4 août 2017 avec une variable globale ou un label, qui doit avoir une cernaine valeur pour que le scénario puisse fonctionner
BSD Posté(e) le 4 août 2017 Auteur Signaler Posté(e) le 4 août 2017 (modifié) 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é le 4 août 2017 par BSD
jojo Posté(e) le 4 août 2017 Signaler Posté(e) le 4 août 2017 regarde ici, tu as toutes les fonctions possible fibaro en LUA
BSD Posté(e) le 4 août 2017 Auteur Signaler Posté(e) le 4 août 2017 (modifié) 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é le 4 août 2017 par BSD
jojo Posté(e) le 4 août 2017 Signaler Posté(e) le 4 août 2017 bonnes recherches. De tout façon n'ayant plus de box depuis janvier, je ne pourrai pas t'aider plus
BSD Posté(e) le 4 août 2017 Auteur Signaler Posté(e) le 4 août 2017 Pas de soucis et merci encore J'espère que d'autres bonnes âmes auront une idée de génie...
jojo Posté(e) le 4 août 2017 Signaler Posté(e) le 4 août 2017 n'espère pas trop, je suis le seul génie du forum sauf peut-être @... et @..., et encore ... j'ai des doutes ... 2
BSD Posté(e) le 4 août 2017 Auteur Signaler Posté(e) le 4 août 2017 (modifié) 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... Mais faute de génie... N'y aurait-il pas un Dieu du LUA qui entendrait ma prière ? Modifié le 4 août 2017 par BSD
Lazer Posté(e) le 4 août 2017 Signaler Posté(e) le 4 août 2017 > Dieu du LUA @Did ? Non mais sérieux, j'aurais proposé comme Jojo, de passer par une variable globale. Un test au début du code LUA du bouton permet de déterminer si on a la droit de continuer ou non. 1
Did Posté(e) le 4 août 2017 Signaler Posté(e) le 4 août 2017 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. 1
BSD Posté(e) le 4 août 2017 Auteur Signaler Posté(e) le 4 août 2017 (modifié) Merci Dieu Lazer et Génie Jojo 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... 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é le 5 août 2017 par BSD
pepite Posté(e) le 5 août 2017 Signaler Posté(e) le 5 août 2017 Bonjour, je n'avais jamais vu ces true ou false :-) Envoyé de mon Nexus 5X en utilisant Tapatalk
BSD Posté(e) le 5 août 2017 Auteur Signaler Posté(e) le 5 août 2017 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 !
jojo Posté(e) le 5 août 2017 Signaler Posté(e) le 5 août 2017 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.
BSD Posté(e) le 5 août 2017 Auteur Signaler Posté(e) le 5 août 2017 (modifié) 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é le 5 août 2017 par BSD
OJC Posté(e) le 17 novembre 2017 Signaler Posté(e) le 17 novembre 2017 Citation fibaro:get(UI.xxx."value, true, false...") Ce n'est pas parce que tu n'a pas d'erreur en debug que ça existe... Essaie avec fibaro:get(ID, "ui.slider.bonnesoupe") tu verras
BSD Posté(e) le 21 novembre 2017 Auteur Signaler Posté(e) le 21 novembre 2017 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.
Messages recommandés