Aller au contenu

Simple, Double, Triple Click Avec Fgk


Alexandru

Messages recommandés

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
Lien vers le commentaire
Partager sur d’autres sites


[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

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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]()
  • Upvote 2
Lien vers le commentaire
Partager sur d’autres sites

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
Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...