Alexandru Posté(e) le 29 août 2016 Signaler Posté(e) le 29 août 2016 Bonsoir a vous tous , J'utilise cette scène pour avoir trois fonctions sur la même touche ,avec le capteur FGK du FIBARO, mais sur "appui long" j'aime bien d'avoir le volume de VD Sonos , autant que on "appui long" le volume monte légèrement , des que on "relâche " le volume s'arrête . J'ai essayé de cette manière , mais sans résultats ... Je vous remercie pour votre conseils Un grand merci --[[ %% properties 125 sceneActivation %% globals --]] local magicswitch = 125 -- a mettre ID sensors if (tonumber (fibaro:getValue(magicswitch, "sceneActivation")) == 11) then fibaro:debug('You click 11 = Single click') fibaro:call(60, "turnOff"); fibaro:call(76, "pressButton", "8"); elseif (tonumber (fibaro:getValue(magicswitch, "sceneActivation")) == 12) then fibaro:debug('You click 12 = Long click') fibaro:call(76, "setSlider", "15", "8") fibaro:call(76, "setSlider", "15", "10") fibaro:call(76, "setSlider", "15", "12") fibaro:call(76, "setSlider", "15", "14") elseif (tonumber (fibaro:getValue(magicswitch, "sceneActivation")) == 13) then fibaro:debug('You click 13 = Return Long click') elseif (tonumber (fibaro:getValue(magicswitch, "sceneActivation")) == 14) then fibaro:debug('You click 14 = Double click') fibaro:startScene(47); elseif (tonumber (fibaro:getValue(magicswitch, "sceneActivation")) == 15) then fibaro:debug('You click 15 = Triple click') fibaro:call(60, "turnOn"); end
Alexandru Posté(e) le 29 août 2016 Auteur Signaler Posté(e) le 29 août 2016 [DEBUG] 20:10:51: You click 14 = Double click [DEBUG] 20:11:01: You click 15 = Triple click [DEBUG] 20:11:14: You click 11 = Single click [DEBUG] 20:11:30: You click 12 = Long click [DEBUG] 20:11:30: You click 13 = Return Long click
jojo Posté(e) le 29 août 2016 Signaler Posté(e) le 29 août 2016 ton debug semble bien fonctionner, et bien détecter les actions. Mais cette scène ne tient pas compte de la durée de l'appui long. En fait, lorsque tu appuies long, tu devrais lancer une autre scène qui appuie toute les 1/2 sec (par exemple) sur le bouton d'augmentation du volume, jusqu'à ce le Return long click vienne interrompre la boucle. Pour la scène qui tourne en boucle, je mettrais l'action dans un while true do ... end et puis le return, viendrait killer cette scène.
pepite Posté(e) le 30 août 2016 Signaler Posté(e) le 30 août 2016 ou alors tu mets un break, tu recuperes la valeur du volume du slider et tu refais un +5 ou +10 a chaque fois
Alexandru Posté(e) le 30 août 2016 Auteur Signaler Posté(e) le 30 août 2016 Merci beaucoup, de vos réponses , mai il est possible d'avoir quelques lignes de code pour quelques idées , Bien a vous ,
pepite Posté(e) le 30 août 2016 Signaler Posté(e) le 30 août 2016 Essaie ceci --[[ %% properties 125 sceneActivation %% globals --]] local magicswitch = 125 -- a mettre ID sensors local volume = fibaro:get(76,"ui.Slider1.value") -- Recuperer le bon nom du Slider dans le VD local actions = { [10] = function() fibaro:debug("appui simple B1") end, [11] = function() fibaro:debug('You click 11 = Single click') fibaro:call(60, "turnOff") fibaro:call(76, "pressButton", "8") end, [12] = function() fibaro:debug('You click 12 = Long click') -- Augmenter le volume volume = math.min(100, volume +10) fibaro:debug("Volume : " ..volume) fibaro:call(76, "setSlider", "15", volume) end, [13] = function() fibaro:debug('You click 13 = Return Long click') -- Diminuer le volume volume = math.max(0, volume -10) fibaro:debug("Volume : " ..volume) fibaro:call(76, "setSlider", "15", volume) end, [14] = function() fibaro:debug('You click 14 = Double click') fibaro:startScene(47) end, [15] = function() fibaro:debug('You click 15 = Triple click') fibaro:call(60, "turnOn") end, } local action = tonumber(fibaro:getValue(magicswitch, "sceneActivation")) actions[action]() 2
Alexandru Posté(e) le 30 août 2016 Auteur Signaler Posté(e) le 30 août 2016 Wow, Wow , Wow le volume augmenter (+10) sur appui long et diminuer (-10) ,, je vais jouer un peu avec ces valeurs ... [DEBUG] 17:48:36: You click 13 = Return Long click [DEBUG] 17:48:36: Volume : 16 [DEBUG] 17:48:44: You click 12 = Long click [DEBUG] 17:48:44: Volume : 26 [DEBUG] 17:48:45: You click 13 = Return Long click [DEBUG] 17:48:45: Volume : 16 [DEBUG] 17:59:15: You click 12 = Long click [DEBUG] 17:59:15: Volume : 26 [DEBUG] 17:59:15: You click 13 = Return Long click [DEBUG] 17:59:15: Volume : 16
Alexandru Posté(e) le 30 août 2016 Auteur Signaler Posté(e) le 30 août 2016 Superbe travail et assez rapide , chapeau
Alexandru Posté(e) le 30 août 2016 Auteur Signaler Posté(e) le 30 août 2016 Vous tous depuis ce Forum , vous êtes une source inépuisable d'énergie et de nouvelles idées pour nous les débutants en domotique , Merci a vous ,
pepite Posté(e) le 31 août 2016 Signaler Posté(e) le 31 août 2016 Messieurs, Le code au départ n'est pas de moi, je m'inspire des experts. La fonction est de @steven et le math.min doit etre de @Berale dans un code que l'on avait fait pour un forumeur.
Messages recommandés